t_wの輪郭

Feedlyでフォローするボタン

WGSL

2023/7/11 21:12:00

巨大WGSLシェーダー

2023/7/17 16:14:00
@group(0)
@binding(0)
var<storage, read_write> v_indices: array<u32>; // this is used as both input and output for convenience

fn huge_program(n_base: u32) -> u32{
    var n: u32 = n_base;
    switch(n) {
        case 0u { return 0u; }
        case 1u { return 1u; }
        case 2u { return 2u; }
        case 3u { return 3u; }
        case 4u { return 4u; }
        case 5u { return 5u; }
        case 6u { return 6u; }
        case 7u { return 7u; }
        case 8u { return 8u; }
        case 9u { return 9u; }
        case 10u { return 10u; }
        case 11u { return 11u; }
        case 12u { return 12u; }
        case 13u { return 13u; }
        case 14u { return 14u; }
        case 15u { return 15u; }
        case 16u { return 16u; }
        case 17u { return 17u; }
        case 18u { return 18u; }
        case 19u { return 19u; }
        case 20u { return 20u; }
        case 21u { return 21u; }
        case 22u { return 22u; }
        case 23u { return 23u; }
        case 24u { return 24u; }
        case 25u { return 25u; }
        case 26u { return 26u; }
        case 27u { return 27u; }
        case 28u { return 28u; }
        case 29u { return 29u; }
        case 30u { return 30u; }
        case 31u { return 31u; }
        case 32u { return 32u; }
        case 33u { return 33u; }
        case 34u { return 34u; }
        case 35u { return 35u; }
        case 36u { return 36u; }
        case 37u { return 37u; }
        case 38u { return 38u; }
        case 39u { return 39u; }
        case 40u { return 40u; }
        case 41u { return 41u; }
        case 42u { return 42u; }
        case 43u { return 43u; }
        case 44u { return 44u; }
        case 45u { return 45u; }
        case 46u { return 46u; }
        case 47u { return 47u; }
        case 48u { return 48u; }
        case 49u { return 49u; }
        case 50u { return 50u; }
        case 51u { return 51u; }
        case 52u { return 52u; }
        case 53u { return 53u; }
        case 54u { return 54u; }
        case 55u { return 55u; }
        case 56u { return 56u; }
        case 57u { return 57u; }
        case 58u { return 58u; }
        case 59u { return 59u; }
        case 60u { return 60u; }
        case 61u { return 61u; }
        case 62u { return 62u; }
        case 63u { return 63u; }
        case 64u { return 64u; }
        case 65u { return 65u; }
        case 66u { return 66u; }
        case 67u { return 67u; }
        case 68u { return 68u; }
        case 69u { return 69u; }
        case 70u { return 70u; }
        case 71u { return 71u; }
        case 72u { return 72u; }
        case 73u { return 73u; }
        case 74u { return 74u; }
        case 75u { return 75u; }
        case 76u { return 76u; }
        case 77u { return 77u; }
        case 78u { return 78u; }
        case 79u { return 79u; }
        case 80u { return 80u; }
        case 81u { return 81u; }
        case 82u { return 82u; }
        case 83u { return 83u; }
        case 84u { return 84u; }
        case 85u { return 85u; }
        case 86u { return 86u; }
        case 87u { return 87u; }
        case 88u { return 88u; }
        case 89u { return 89u; }
        case 90u { return 90u; }
        case 91u { return 91u; }
        case 92u { return 92u; }
        case 93u { return 93u; }
        case 94u { return 94u; }
        case 95u { return 95u; }
        case 96u { return 96u; }
        case 97u { return 97u; }
        case 98u { return 98u; }
        case 99u { return 99u; }
        case 100u { return 100u; }
        case 101u { return 101u; }
        case 102u { return 102u; }
        case 103u { return 103u; }
        case 104u { return 104u; }
        case 105u { return 105u; }
        case 106u { return 106u; }
        case 107u { return 107u; }
        case 108u { return 108u; }
        case 109u { return 109u; }
        case 110u { return 110u; }
        case 111u { return 111u; }
        case 112u { return 112u; }
        case 113u { return 113u; }
        case 114u { return 114u; }
        case 115u { return 115u; }
        case 116u { return 116u; }
        case 117u { return 117u; }
        case 118u { return 118u; }
        case 119u { return 119u; }
        case 120u { return 120u; }
        case 121u { return 121u; }
        case 122u { return 122u; }
        case 123u { return 123u; }
        case 124u { return 124u; }
        case 125u { return 125u; }
        case 126u { return 126u; }
        case 127u { return 127u; }
        case 128u { return 128u; }
        case 129u { return 129u; }
        case 130u { return 130u; }
        case 131u { return 131u; }
        case 132u { return 132u; }
        case 133u { return 133u; }
        case 134u { return 134u; }
        case 135u { return 135u; }
        case 136u { return 136u; }
        case 137u { return 137u; }
        case 138u { return 138u; }
        case 139u { return 139u; }
        case 140u { return 140u; }
        case 141u { return 141u; }
        case 142u { return 142u; }
        case 143u { return 143u; }
        case 144u { return 144u; }
        case 145u { return 145u; }
        case 146u { return 146u; }
        case 147u { return 147u; }
        case 148u { return 148u; }
        case 149u { return 149u; }
        case 150u { return 150u; }
        case 151u { return 151u; }
        case 152u { return 152u; }
        case 153u { return 153u; }
        case 154u { return 154u; }
        case 155u { return 155u; }
        case 156u { return 156u; }
        case 157u { return 157u; }
        case 158u { return 158u; }
        case 159u { return 159u; }
        case 160u { return 160u; }
        case 161u { return 161u; }
        case 162u { return 162u; }
        case 163u { return 163u; }
        case 164u { return 164u; }
        case 165u { return 165u; }
        case 166u { return 166u; }
        case 167u { return 167u; }
        case 168u { return 168u; }
        case 169u { return 169u; }
        case 170u { return 170u; }
        case 171u { return 171u; }
        case 172u { return 172u; }
        case 173u { return 173u; }
        case 174u { return 174u; }
        case 175u { return 175u; }
        case 176u { return 176u; }
        case 177u { return 177u; }
        case 178u { return 178u; }
        case 179u { return 179u; }
        case 180u { return 180u; }
        case 181u { return 181u; }
        case 182u { return 182u; }
        case 183u { return 183u; }
        case 184u { return 184u; }
        case 185u { return 185u; }
        case 186u { return 186u; }
        case 187u { return 187u; }
        case 188u { return 188u; }
        case 189u { return 189u; }
        case 190u { return 190u; }
        case 191u { return 191u; }
        case 192u { return 192u; }
        case 193u { return 193u; }
        case 194u { return 194u; }
        case 195u { return 195u; }
        case 196u { return 196u; }
        case 197u { return 197u; }
        case 198u { return 198u; }
        case 199u { return 199u; }
        case 200u { return 200u; }
        case 201u { return 201u; }
        case 202u { return 202u; }
        case 203u { return 203u; }
        case 204u { return 204u; }
        case 205u { return 205u; }
        case 206u { return 206u; }
        case 207u { return 207u; }
        case 208u { return 208u; }
        case 209u { return 209u; }
        case 210u { return 210u; }
        case 211u { return 211u; }
        case 212u { return 212u; }
        case 213u { return 213u; }
        case 214u { return 214u; }
        case 215u { return 215u; }
        case 216u { return 216u; }
        case 217u { return 217u; }
        case 218u { return 218u; }
        case 219u { return 219u; }
        case 220u { return 220u; }
        case 221u { return 221u; }
        case 222u { return 222u; }
        case 223u { return 223u; }
        case 224u { return 224u; }
        case 225u { return 225u; }
        case 226u { return 226u; }
        case 227u { return 227u; }
        case 228u { return 228u; }
        case 229u { return 229u; }
        case 230u { return 230u; }
        case 231u { return 231u; }
        case 232u { return 232u; }
        case 233u { return 233u; }
        case 234u { return 234u; }
        case 235u { return 235u; }
        case 236u { return 236u; }
        case 237u { return 237u; }
        case 238u { return 238u; }
        case 239u { return 239u; }
        case 240u { return 240u; }
        case 241u { return 241u; }
        case 242u { return 242u; }
        case 243u { return 243u; }
        case 244u { return 244u; }
        case 245u { return 245u; }
        case 246u { return 246u; }
        case 247u { return 247u; }
        case 248u { return 248u; }
        case 249u { return 249u; }
        case 250u { return 250u; }
        case 251u { return 251u; }
        case 252u { return 252u; }
        case 253u { return 253u; }
        case 254u { return 254u; }
        case 255u { return 255u; }
        case 256u { return 256u; }
        case 257u { return 257u; }
        case 258u { return 258u; }
        case 259u { return 259u; }
        case 260u { return 260u; }
        case 261u { return 261u; }
        case 262u { return 262u; }
        case 263u { return 263u; }
        case 264u { return 264u; }
        case 265u { return 265u; }
        case 266u { return 266u; }
        case 267u { return 267u; }
        case 268u { return 268u; }
        case 269u { return 269u; }
        case 270u { return 270u; }
        case 271u { return 271u; }
        case 272u { return 272u; }
        case 273u { return 273u; }
        case 274u { return 274u; }
        case 275u { return 275u; }
        case 276u { return 276u; }
        case 277u { return 277u; }
        case 278u { return 278u; }
        case 279u { return 279u; }
        case 280u { return 280u; }
        case 281u { return 281u; }
        case 282u { return 282u; }
        case 283u { return 283u; }
        case 284u { return 284u; }
        case 285u { return 285u; }
        case 286u { return 286u; }
        case 287u { return 287u; }
        case 288u { return 288u; }
        case 289u { return 289u; }
        case 290u { return 290u; }
        case 291u { return 291u; }
        case 292u { return 292u; }
        case 293u { return 293u; }
        case 294u { return 294u; }
        case 295u { return 295u; }
        case 296u { return 296u; }
        case 297u { return 297u; }
        case 298u { return 298u; }
        case 299u { return 299u; }
        case 300u { return 300u; }
        case 301u { return 301u; }
        case 302u { return 302u; }
        case 303u { return 303u; }
        case 304u { return 304u; }
        case 305u { return 305u; }
        case 306u { return 306u; }
        case 307u { return 307u; }
        case 308u { return 308u; }
        case 309u { return 309u; }
        case 310u { return 310u; }
        case 311u { return 311u; }
        case 312u { return 312u; }
        case 313u { return 313u; }
        case 314u { return 314u; }
        case 315u { return 315u; }
        case 316u { return 316u; }
        case 317u { return 317u; }
        case 318u { return 318u; }
        case 319u { return 319u; }
        case 320u { return 320u; }
        case 321u { return 321u; }
        case 322u { return 322u; }
        case 323u { return 323u; }
        case 324u { return 324u; }
        case 325u { return 325u; }
        case 326u { return 326u; }
        case 327u { return 327u; }
        case 328u { return 328u; }
        case 329u { return 329u; }
        case 330u { return 330u; }
        case 331u { return 331u; }
        case 332u { return 332u; }
        case 333u { return 333u; }
        case 334u { return 334u; }
        case 335u { return 335u; }
        case 336u { return 336u; }
        case 337u { return 337u; }
        case 338u { return 338u; }
        case 339u { return 339u; }
        case 340u { return 340u; }
        case 341u { return 341u; }
        case 342u { return 342u; }
        case 343u { return 343u; }
        case 344u { return 344u; }
        case 345u { return 345u; }
        case 346u { return 346u; }
        case 347u { return 347u; }
        case 348u { return 348u; }
        case 349u { return 349u; }
        case 350u { return 350u; }
        case 351u { return 351u; }
        case 352u { return 352u; }
        case 353u { return 353u; }
        case 354u { return 354u; }
        case 355u { return 355u; }
        case 356u { return 356u; }
        case 357u { return 357u; }
        case 358u { return 358u; }
        case 359u { return 359u; }
        case 360u { return 360u; }
        case 361u { return 361u; }
        case 362u { return 362u; }
        case 363u { return 363u; }
        case 364u { return 364u; }
        case 365u { return 365u; }
        case 366u { return 366u; }
        case 367u { return 367u; }
        case 368u { return 368u; }
        case 369u { return 369u; }
        case 370u { return 370u; }
        case 371u { return 371u; }
        case 372u { return 372u; }
        case 373u { return 373u; }
        case 374u { return 374u; }
        case 375u { return 375u; }
        case 376u { return 376u; }
        case 377u { return 377u; }
        case 378u { return 378u; }
        case 379u { return 379u; }
        case 380u { return 380u; }
        case 381u { return 381u; }
        case 382u { return 382u; }
        case 383u { return 383u; }
        case 384u { return 384u; }
        case 385u { return 385u; }
        case 386u { return 386u; }
        case 387u { return 387u; }
        case 388u { return 388u; }
        case 389u { return 389u; }
        case 390u { return 390u; }
        case 391u { return 391u; }
        case 392u { return 392u; }
        case 393u { return 393u; }
        case 394u { return 394u; }
        case 395u { return 395u; }
        case 396u { return 396u; }
        case 397u { return 397u; }
        case 398u { return 398u; }
        case 399u { return 399u; }
        case 400u { return 400u; }
        case 401u { return 401u; }
        case 402u { return 402u; }
        case 403u { return 403u; }
        case 404u { return 404u; }
        case 405u { return 405u; }
        case 406u { return 406u; }
        case 407u { return 407u; }
        case 408u { return 408u; }
        case 409u { return 409u; }
        case 410u { return 410u; }
        case 411u { return 411u; }
        case 412u { return 412u; }
        case 413u { return 413u; }
        case 414u { return 414u; }
        case 415u { return 415u; }
        case 416u { return 416u; }
        case 417u { return 417u; }
        case 418u { return 418u; }
        case 419u { return 419u; }
        case 420u { return 420u; }
        case 421u { return 421u; }
        case 422u { return 422u; }
        case 423u { return 423u; }
        case 424u { return 424u; }
        case 425u { return 425u; }
        case 426u { return 426u; }
        case 427u { return 427u; }
        case 428u { return 428u; }
        case 429u { return 429u; }
        case 430u { return 430u; }
        case 431u { return 431u; }
        case 432u { return 432u; }
        case 433u { return 433u; }
        case 434u { return 434u; }
        case 435u { return 435u; }
        case 436u { return 436u; }
        case 437u { return 437u; }
        case 438u { return 438u; }
        case 439u { return 439u; }
        case 440u { return 440u; }
        case 441u { return 441u; }
        case 442u { return 442u; }
        case 443u { return 443u; }
        case 444u { return 444u; }
        case 445u { return 445u; }
        case 446u { return 446u; }
        case 447u { return 447u; }
        case 448u { return 448u; }
        case 449u { return 449u; }
        case 450u { return 450u; }
        case 451u { return 451u; }
        case 452u { return 452u; }
        case 453u { return 453u; }
        case 454u { return 454u; }
        case 455u { return 455u; }
        case 456u { return 456u; }
        case 457u { return 457u; }
        case 458u { return 458u; }
        case 459u { return 459u; }
        case 460u { return 460u; }
        case 461u { return 461u; }
        case 462u { return 462u; }
        case 463u { return 463u; }
        case 464u { return 464u; }
        case 465u { return 465u; }
        case 466u { return 466u; }
        case 467u { return 467u; }
        case 468u { return 468u; }
        case 469u { return 469u; }
        case 470u { return 470u; }
        case 471u { return 471u; }
        case 472u { return 472u; }
        case 473u { return 473u; }
        case 474u { return 474u; }
        case 475u { return 475u; }
        case 476u { return 476u; }
        case 477u { return 477u; }
        case 478u { return 478u; }
        case 479u { return 479u; }
        case 480u { return 480u; }
        case 481u { return 481u; }
        case 482u { return 482u; }
        case 483u { return 483u; }
        case 484u { return 484u; }
        case 485u { return 485u; }
        case 486u { return 486u; }
        case 487u { return 487u; }
        case 488u { return 488u; }
        case 489u { return 489u; }
        case 490u { return 490u; }
        case 491u { return 491u; }
        case 492u { return 492u; }
        case 493u { return 493u; }
        case 494u { return 494u; }
        case 495u { return 495u; }
        case 496u { return 496u; }
        case 497u { return 497u; }
        case 498u { return 498u; }
        case 499u { return 499u; }
        case 500u { return 500u; }
        case 501u { return 501u; }
        case 502u { return 502u; }
        case 503u { return 503u; }
        case 504u { return 504u; }
        case 505u { return 505u; }
        case 506u { return 506u; }
        case 507u { return 507u; }
        case 508u { return 508u; }
        case 509u { return 509u; }
        case 510u { return 510u; }
        case 511u { return 511u; }
        case 512u { return 512u; }
        case 513u { return 513u; }
        case 514u { return 514u; }
        case 515u { return 515u; }
        case 516u { return 516u; }
        case 517u { return 517u; }
        case 518u { return 518u; }
        case 519u { return 519u; }
        case 520u { return 520u; }
        case 521u { return 521u; }
        case 522u { return 522u; }
        case 523u { return 523u; }
        case 524u { return 524u; }
        case 525u { return 525u; }
        case 526u { return 526u; }
        case 527u { return 527u; }
        case 528u { return 528u; }
        case 529u { return 529u; }
        case 530u { return 530u; }
        case 531u { return 531u; }
        case 532u { return 532u; }
        case 533u { return 533u; }
        case 534u { return 534u; }
        case 535u { return 535u; }
        case 536u { return 536u; }
        case 537u { return 537u; }
        case 538u { return 538u; }
        case 539u { return 539u; }
        case 540u { return 540u; }
        case 541u { return 541u; }
        case 542u { return 542u; }
        case 543u { return 543u; }
        case 544u { return 544u; }
        case 545u { return 545u; }
        case 546u { return 546u; }
        case 547u { return 547u; }
        case 548u { return 548u; }
        case 549u { return 549u; }
        case 550u { return 550u; }
        case 551u { return 551u; }
        case 552u { return 552u; }
        case 553u { return 553u; }
        case 554u { return 554u; }
        case 555u { return 555u; }
        case 556u { return 556u; }
        case 557u { return 557u; }
        case 558u { return 558u; }
        case 559u { return 559u; }
        case 560u { return 560u; }
        case 561u { return 561u; }
        case 562u { return 562u; }
        case 563u { return 563u; }
        case 564u { return 564u; }
        case 565u { return 565u; }
        case 566u { return 566u; }
        case 567u { return 567u; }
        case 568u { return 568u; }
        case 569u { return 569u; }
        case 570u { return 570u; }
        case 571u { return 571u; }
        case 572u { return 572u; }
        case 573u { return 573u; }
        case 574u { return 574u; }
        case 575u { return 575u; }
        case 576u { return 576u; }
        case 577u { return 577u; }
        case 578u { return 578u; }
        case 579u { return 579u; }
        case 580u { return 580u; }
        case 581u { return 581u; }
        case 582u { return 582u; }
        case 583u { return 583u; }
        case 584u { return 584u; }
        case 585u { return 585u; }
        case 586u { return 586u; }
        case 587u { return 587u; }
        case 588u { return 588u; }
        case 589u { return 589u; }
        case 590u { return 590u; }
        case 591u { return 591u; }
        case 592u { return 592u; }
        case 593u { return 593u; }
        case 594u { return 594u; }
        case 595u { return 595u; }
        case 596u { return 596u; }
        case 597u { return 597u; }
        case 598u { return 598u; }
        case 599u { return 599u; }
        case 600u { return 600u; }
        case 601u { return 601u; }
        case 602u { return 602u; }
        case 603u { return 603u; }
        case 604u { return 604u; }
        case 605u { return 605u; }
        case 606u { return 606u; }
        case 607u { return 607u; }
        case 608u { return 608u; }
        case 609u { return 609u; }
        case 610u { return 610u; }
        case 611u { return 611u; }
        case 612u { return 612u; }
        case 613u { return 613u; }
        case 614u { return 614u; }
        case 615u { return 615u; }
        case 616u { return 616u; }
        case 617u { return 617u; }
        case 618u { return 618u; }
        case 619u { return 619u; }
        case 620u { return 620u; }
        case 621u { return 621u; }
        case 622u { return 622u; }
        case 623u { return 623u; }
        case 624u { return 624u; }
        case 625u { return 625u; }
        case 626u { return 626u; }
        case 627u { return 627u; }
        case 628u { return 628u; }
        case 629u { return 629u; }
        case 630u { return 630u; }
        case 631u { return 631u; }
        case 632u { return 632u; }
        case 633u { return 633u; }
        case 634u { return 634u; }
        case 635u { return 635u; }
        case 636u { return 636u; }
        case 637u { return 637u; }
        case 638u { return 638u; }
        case 639u { return 639u; }
        case 640u { return 640u; }
        case 641u { return 641u; }
        case 642u { return 642u; }
        case 643u { return 643u; }
        case 644u { return 644u; }
        case 645u { return 645u; }
        case 646u { return 646u; }
        case 647u { return 647u; }
        case 648u { return 648u; }
        case 649u { return 649u; }
        case 650u { return 650u; }
        case 651u { return 651u; }
        case 652u { return 652u; }
        case 653u { return 653u; }
        case 654u { return 654u; }
        case 655u { return 655u; }
        case 656u { return 656u; }
        case 657u { return 657u; }
        case 658u { return 658u; }
        case 659u { return 659u; }
        case 660u { return 660u; }
        case 661u { return 661u; }
        case 662u { return 662u; }
        case 663u { return 663u; }
        case 664u { return 664u; }
        case 665u { return 665u; }
        case 666u { return 666u; }
        case 667u { return 667u; }
        case 668u { return 668u; }
        case 669u { return 669u; }
        case 670u { return 670u; }
        case 671u { return 671u; }
        case 672u { return 672u; }
        case 673u { return 673u; }
        case 674u { return 674u; }
        case 675u { return 675u; }
        case 676u { return 676u; }
        case 677u { return 677u; }
        case 678u { return 678u; }
        case 679u { return 679u; }
        case 680u { return 680u; }
        case 681u { return 681u; }
        case 682u { return 682u; }
        case 683u { return 683u; }
        case 684u { return 684u; }
        case 685u { return 685u; }
        case 686u { return 686u; }
        case 687u { return 687u; }
        case 688u { return 688u; }
        case 689u { return 689u; }
        case 690u { return 690u; }
        case 691u { return 691u; }
        case 692u { return 692u; }
        case 693u { return 693u; }
        case 694u { return 694u; }
        case 695u { return 695u; }
        case 696u { return 696u; }
        case 697u { return 697u; }
        case 698u { return 698u; }
        case 699u { return 699u; }
        case 700u { return 700u; }
        case 701u { return 701u; }
        case 702u { return 702u; }
        case 703u { return 703u; }
        case 704u { return 704u; }
        case 705u { return 705u; }
        case 706u { return 706u; }
        case 707u { return 707u; }
        case 708u { return 708u; }
        case 709u { return 709u; }
        case 710u { return 710u; }
        case 711u { return 711u; }
        case 712u { return 712u; }
        case 713u { return 713u; }
        case 714u { return 714u; }
        case 715u { return 715u; }
        case 716u { return 716u; }
        case 717u { return 717u; }
        case 718u { return 718u; }
        case 719u { return 719u; }
        case 720u { return 720u; }
        case 721u { return 721u; }
        case 722u { return 722u; }
        case 723u { return 723u; }
        case 724u { return 724u; }
        case 725u { return 725u; }
        case 726u { return 726u; }
        case 727u { return 727u; }
        case 728u { return 728u; }
        case 729u { return 729u; }
        case 730u { return 730u; }
        case 731u { return 731u; }
        case 732u { return 732u; }
        case 733u { return 733u; }
        case 734u { return 734u; }
        case 735u { return 735u; }
        case 736u { return 736u; }
        case 737u { return 737u; }
        case 738u { return 738u; }
        case 739u { return 739u; }
        case 740u { return 740u; }
        case 741u { return 741u; }
        case 742u { return 742u; }
        case 743u { return 743u; }
        case 744u { return 744u; }
        case 745u { return 745u; }
        case 746u { return 746u; }
        case 747u { return 747u; }
        case 748u { return 748u; }
        case 749u { return 749u; }
        case 750u { return 750u; }
        case 751u { return 751u; }
        case 752u { return 752u; }
        case 753u { return 753u; }
        case 754u { return 754u; }
        case 755u { return 755u; }
        case 756u { return 756u; }
        case 757u { return 757u; }
        case 758u { return 758u; }
        case 759u { return 759u; }
        case 760u { return 760u; }
        case 761u { return 761u; }
        case 762u { return 762u; }
        case 763u { return 763u; }
        case 764u { return 764u; }
        case 765u { return 765u; }
        case 766u { return 766u; }
        case 767u { return 767u; }
        case 768u { return 768u; }
        case 769u { return 769u; }
        case 770u { return 770u; }
        case 771u { return 771u; }
        case 772u { return 772u; }
        case 773u { return 773u; }
        case 774u { return 774u; }
        case 775u { return 775u; }
        case 776u { return 776u; }
        case 777u { return 777u; }
        case 778u { return 778u; }
        case 779u { return 779u; }
        case 780u { return 780u; }
        case 781u { return 781u; }
        case 782u { return 782u; }
        case 783u { return 783u; }
        case 784u { return 784u; }
        case 785u { return 785u; }
        case 786u { return 786u; }
        case 787u { return 787u; }
        case 788u { return 788u; }
        case 789u { return 789u; }
        case 790u { return 790u; }
        case 791u { return 791u; }
        case 792u { return 792u; }
        case 793u { return 793u; }
        case 794u { return 794u; }
        case 795u { return 795u; }
        case 796u { return 796u; }
        case 797u { return 797u; }
        case 798u { return 798u; }
        case 799u { return 799u; }
        case 800u { return 800u; }
        case 801u { return 801u; }
        case 802u { return 802u; }
        case 803u { return 803u; }
        case 804u { return 804u; }
        case 805u { return 805u; }
        case 806u { return 806u; }
        case 807u { return 807u; }
        case 808u { return 808u; }
        case 809u { return 809u; }
        case 810u { return 810u; }
        case 811u { return 811u; }
        case 812u { return 812u; }
        case 813u { return 813u; }
        case 814u { return 814u; }
        case 815u { return 815u; }
        case 816u { return 816u; }
        case 817u { return 817u; }
        case 818u { return 818u; }
        case 819u { return 819u; }
        case 820u { return 820u; }
        case 821u { return 821u; }
        case 822u { return 822u; }
        case 823u { return 823u; }
        case 824u { return 824u; }
        case 825u { return 825u; }
        case 826u { return 826u; }
        case 827u { return 827u; }
        case 828u { return 828u; }
        case 829u { return 829u; }
        case 830u { return 830u; }
        case 831u { return 831u; }
        case 832u { return 832u; }
        case 833u { return 833u; }
        case 834u { return 834u; }
        case 835u { return 835u; }
        case 836u { return 836u; }
        case 837u { return 837u; }
        case 838u { return 838u; }
        case 839u { return 839u; }
        case 840u { return 840u; }
        case 841u { return 841u; }
        case 842u { return 842u; }
        case 843u { return 843u; }
        case 844u { return 844u; }
        case 845u { return 845u; }
        case 846u { return 846u; }
        case 847u { return 847u; }
        case 848u { return 848u; }
        case 849u { return 849u; }
        case 850u { return 850u; }
        case 851u { return 851u; }
        case 852u { return 852u; }
        case 853u { return 853u; }
        case 854u { return 854u; }
        case 855u { return 855u; }
        case 856u { return 856u; }
        case 857u { return 857u; }
        case 858u { return 858u; }
        case 859u { return 859u; }
        case 860u { return 860u; }
        case 861u { return 861u; }
        case 862u { return 862u; }
        case 863u { return 863u; }
        case 864u { return 864u; }
        case 865u { return 865u; }
        case 866u { return 866u; }
        case 867u { return 867u; }
        case 868u { return 868u; }
        case 869u { return 869u; }
        case 870u { return 870u; }
        case 871u { return 871u; }
        case 872u { return 872u; }
        case 873u { return 873u; }
        case 874u { return 874u; }
        case 875u { return 875u; }
        case 876u { return 876u; }
        case 877u { return 877u; }
        case 878u { return 878u; }
        case 879u { return 879u; }
        case 880u { return 880u; }
        case 881u { return 881u; }
        case 882u { return 882u; }
        case 883u { return 883u; }
        case 884u { return 884u; }
        case 885u { return 885u; }
        case 886u { return 886u; }
        case 887u { return 887u; }
        case 888u { return 888u; }
        case 889u { return 889u; }
        case 890u { return 890u; }
        case 891u { return 891u; }
        case 892u { return 892u; }
        case 893u { return 893u; }
        case 894u { return 894u; }
        case 895u { return 895u; }
        case 896u { return 896u; }
        case 897u { return 897u; }
        case 898u { return 898u; }
        case 899u { return 899u; }
        case 900u { return 900u; }
        case 901u { return 901u; }
        case 902u { return 902u; }
        case 903u { return 903u; }
        case 904u { return 904u; }
        case 905u { return 905u; }
        case 906u { return 906u; }
        case 907u { return 907u; }
        case 908u { return 908u; }
        case 909u { return 909u; }
        case 910u { return 910u; }
        case 911u { return 911u; }
        case 912u { return 912u; }
        case 913u { return 913u; }
        case 914u { return 914u; }
        case 915u { return 915u; }
        case 916u { return 916u; }
        case 917u { return 917u; }
        case 918u { return 918u; }
        case 919u { return 919u; }
        case 920u { return 920u; }
        case 921u { return 921u; }
        case 922u { return 922u; }
        case 923u { return 923u; }
        case 924u { return 924u; }
        case 925u { return 925u; }
        case 926u { return 926u; }
        case 927u { return 927u; }
        case 928u { return 928u; }
        case 929u { return 929u; }
        case 930u { return 930u; }
        case 931u { return 931u; }
        case 932u { return 932u; }
        case 933u { return 933u; }
        case 934u { return 934u; }
        case 935u { return 935u; }
        case 936u { return 936u; }
        case 937u { return 937u; }
        case 938u { return 938u; }
        case 939u { return 939u; }
        case 940u { return 940u; }
        case 941u { return 941u; }
        case 942u { return 942u; }
        case 943u { return 943u; }
        case 944u { return 944u; }
        case 945u { return 945u; }
        case 946u { return 946u; }
        case 947u { return 947u; }
        case 948u { return 948u; }
        case 949u { return 949u; }
        case 950u { return 950u; }
        case 951u { return 951u; }
        case 952u { return 952u; }
        case 953u { return 953u; }
        case 954u { return 954u; }
        case 955u { return 955u; }
        case 956u { return 956u; }
        case 957u { return 957u; }
        case 958u { return 958u; }
        case 959u { return 959u; }
        case 960u { return 960u; }
        case 961u { return 961u; }
        case 962u { return 962u; }
        case 963u { return 963u; }
        case 964u { return 964u; }
        case 965u { return 965u; }
        case 966u { return 966u; }
        case 967u { return 967u; }
        case 968u { return 968u; }
        case 969u { return 969u; }
        case 970u { return 970u; }
        case 971u { return 971u; }
        case 972u { return 972u; }
        case 973u { return 973u; }
        case 974u { return 974u; }
        case 975u { return 975u; }
        case 976u { return 976u; }
        case 977u { return 977u; }
        case 978u { return 978u; }
        case 979u { return 979u; }
        case 980u { return 980u; }
        case 981u { return 981u; }
        case 982u { return 982u; }
        case 983u { return 983u; }
        case 984u { return 984u; }
        case 985u { return 985u; }
        case 986u { return 986u; }
        case 987u { return 987u; }
        case 988u { return 988u; }
        case 989u { return 989u; }
        case 990u { return 990u; }
        case 991u { return 991u; }
        case 992u { return 992u; }
        case 993u { return 993u; }
        case 994u { return 994u; }
        case 995u { return 995u; }
        case 996u { return 996u; }
        case 997u { return 997u; }
        case 998u { return 998u; }
        case 999u { return 999u; }

        // 1万まで続く...

        default { return 0u; }
    }
}

@compute
@workgroup_size(1)
fn main(@builtin(global_invocation_id) global_id: vec3<u32>) {
    v_indices[global_id.x] = huge_program(global_id.x);
}

あれ

2023/7/17 13:26:00

WGSLのコード内の条件分岐の数が2倍になると、compute pipelineの作成にかかる時間が10倍になった現象は、Macにおいてのみ低速な可能性がある。
MTLCompilerServiceがCPU100%に張り付いている。
WGSL → SRIP−V → Metal Shading Languageと変換される部分の、SRIP−V → Metal Shading Language が時間を取っている、ような気がする。


Windowsでも再現することが確認できた。
200個の条件分岐があるとpipelineの作成が200秒程度かかる。