1hlsl.structbuffer.atomics.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:5 Function Definition: @main(u1; ( temp 4-component vector of float) 60:5 Function Parameters: 70:5 'pos' ( in uint) 80:? Sequence 90:8 AtomicAdd ( temp uint) 100:8 indirect index (layout( row_major std430) buffer uint) 110:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 120:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 130:8 Constant: 140:8 0 (const uint) 150:8 right-shift ( temp int) 160:8 Constant: 170:8 8 (const int) 180:8 Constant: 190:8 2 (const int) 200:8 Constant: 210:8 1 (const int) 220:9 move second child to first child ( temp uint) 230:9 'u' ( temp uint) 240:9 AtomicAdd ( temp uint) 250:9 indirect index (layout( row_major std430) buffer uint) 260:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 270:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 280:9 Constant: 290:9 0 (const uint) 300:9 right-shift ( temp int) 310:9 Constant: 320:9 8 (const int) 330:9 Constant: 340:9 2 (const int) 350:9 Constant: 360:9 1 (const int) 370:10 AtomicAnd ( temp uint) 380:10 indirect index (layout( row_major std430) buffer uint) 390:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 400:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 410:10 Constant: 420:10 0 (const uint) 430:10 right-shift ( temp int) 440:10 Constant: 450:10 8 (const int) 460:10 Constant: 470:10 2 (const int) 480:10 Constant: 490:10 1 (const int) 500:11 move second child to first child ( temp uint) 510:11 'u' ( temp uint) 520:11 AtomicAnd ( temp uint) 530:11 indirect index (layout( row_major std430) buffer uint) 540:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 550:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 560:11 Constant: 570:11 0 (const uint) 580:11 right-shift ( temp int) 590:11 Constant: 600:11 8 (const int) 610:11 Constant: 620:11 2 (const int) 630:11 Constant: 640:11 1 (const int) 650:12 move second child to first child ( temp uint) 660:12 'u' ( temp uint) 670:12 Convert int to uint ( temp uint) 680:12 AtomicCompSwap ( temp int) 690:12 indirect index (layout( row_major std430) buffer uint) 700:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 710:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 720:12 Constant: 730:12 0 (const uint) 740:12 right-shift ( temp int) 750:12 Constant: 760:12 8 (const int) 770:12 Constant: 780:12 2 (const int) 790:12 Constant: 800:12 1 (const int) 810:12 Constant: 820:12 2 (const int) 830:14 move second child to first child ( temp uint) 840:14 'u' ( temp uint) 850:14 AtomicExchange ( temp uint) 860:14 indirect index (layout( row_major std430) buffer uint) 870:14 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 880:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 890:14 Constant: 900:14 0 (const uint) 910:14 right-shift ( temp int) 920:14 Constant: 930:14 8 (const int) 940:14 Constant: 950:14 2 (const int) 960:14 Constant: 970:14 1 (const int) 980:15 AtomicMax ( temp uint) 990:15 indirect index (layout( row_major std430) buffer uint) 1000:15 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1010:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1020:15 Constant: 1030:15 0 (const uint) 1040:15 right-shift ( temp int) 1050:15 Constant: 1060:15 8 (const int) 1070:15 Constant: 1080:15 2 (const int) 1090:15 Constant: 1100:15 1 (const int) 1110:16 move second child to first child ( temp uint) 1120:16 'u' ( temp uint) 1130:16 AtomicMax ( temp uint) 1140:16 indirect index (layout( row_major std430) buffer uint) 1150:16 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1160:16 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1170:16 Constant: 1180:16 0 (const uint) 1190:16 right-shift ( temp int) 1200:16 Constant: 1210:16 8 (const int) 1220:16 Constant: 1230:16 2 (const int) 1240:16 Constant: 1250:16 1 (const int) 1260:17 AtomicMin ( temp uint) 1270:17 indirect index (layout( row_major std430) buffer uint) 1280:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1290:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1300:17 Constant: 1310:17 0 (const uint) 1320:17 right-shift ( temp int) 1330:17 Constant: 1340:17 8 (const int) 1350:17 Constant: 1360:17 2 (const int) 1370:17 Constant: 1380:17 1 (const int) 1390:18 move second child to first child ( temp uint) 1400:18 'u' ( temp uint) 1410:18 AtomicMin ( temp uint) 1420:18 indirect index (layout( row_major std430) buffer uint) 1430:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1440:18 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1450:18 Constant: 1460:18 0 (const uint) 1470:18 right-shift ( temp int) 1480:18 Constant: 1490:18 8 (const int) 1500:18 Constant: 1510:18 2 (const int) 1520:18 Constant: 1530:18 1 (const int) 1540:19 AtomicOr ( temp uint) 1550:19 indirect index (layout( row_major std430) buffer uint) 1560:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1570:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1580:19 Constant: 1590:19 0 (const uint) 1600:19 right-shift ( temp int) 1610:19 Constant: 1620:19 8 (const int) 1630:19 Constant: 1640:19 2 (const int) 1650:19 Constant: 1660:19 1 (const int) 1670:20 move second child to first child ( temp uint) 1680:20 'u' ( temp uint) 1690:20 AtomicOr ( temp uint) 1700:20 indirect index (layout( row_major std430) buffer uint) 1710:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1720:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1730:20 Constant: 1740:20 0 (const uint) 1750:20 right-shift ( temp int) 1760:20 Constant: 1770:20 8 (const int) 1780:20 Constant: 1790:20 2 (const int) 1800:20 Constant: 1810:20 1 (const int) 1820:21 AtomicXor ( temp uint) 1830:21 indirect index (layout( row_major std430) buffer uint) 1840:21 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1850:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1860:21 Constant: 1870:21 0 (const uint) 1880:21 right-shift ( temp int) 1890:21 Constant: 1900:21 8 (const int) 1910:21 Constant: 1920:21 2 (const int) 1930:21 Constant: 1940:21 1 (const int) 1950:22 move second child to first child ( temp uint) 1960:22 'u' ( temp uint) 1970:22 AtomicXor ( temp uint) 1980:22 indirect index (layout( row_major std430) buffer uint) 1990:22 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2000:22 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2010:22 Constant: 2020:22 0 (const uint) 2030:22 right-shift ( temp int) 2040:22 Constant: 2050:22 8 (const int) 2060:22 Constant: 2070:22 2 (const int) 2080:22 Constant: 2090:22 1 (const int) 2100:24 Branch: Return with expression 2110:24 Construct vec4 ( temp 4-component vector of float) 2120:24 Convert uint to float ( temp float) 2130:24 indirect index (layout( row_major std430) buffer uint) 2140:24 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2150:24 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2160:24 Constant: 2170:24 0 (const uint) 2180:24 right-shift ( temp int) 2190:24 'pos' ( in uint) 2200:24 Constant: 2210:24 2 (const int) 2220:5 Function Definition: main( ( temp void) 2230:5 Function Parameters: 2240:? Sequence 2250:5 move second child to first child ( temp uint) 2260:? 'pos' ( temp uint) 2270:? 'pos' (layout( location=0) flat in uint) 2280:5 move second child to first child ( temp 4-component vector of float) 2290:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 2300:5 Function Call: @main(u1; ( temp 4-component vector of float) 2310:? 'pos' ( temp uint) 2320:? Linker Objects 2330:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2340:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 2350:? 'pos' (layout( location=0) flat in uint) 236 237 238Linked fragment stage: 239 240 241Shader version: 500 242gl_FragCoord origin is upper left 2430:? Sequence 2440:5 Function Definition: @main(u1; ( temp 4-component vector of float) 2450:5 Function Parameters: 2460:5 'pos' ( in uint) 2470:? Sequence 2480:8 AtomicAdd ( temp uint) 2490:8 indirect index (layout( row_major std430) buffer uint) 2500:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2510:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2520:8 Constant: 2530:8 0 (const uint) 2540:8 right-shift ( temp int) 2550:8 Constant: 2560:8 8 (const int) 2570:8 Constant: 2580:8 2 (const int) 2590:8 Constant: 2600:8 1 (const int) 2610:9 move second child to first child ( temp uint) 2620:9 'u' ( temp uint) 2630:9 AtomicAdd ( temp uint) 2640:9 indirect index (layout( row_major std430) buffer uint) 2650:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2660:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2670:9 Constant: 2680:9 0 (const uint) 2690:9 right-shift ( temp int) 2700:9 Constant: 2710:9 8 (const int) 2720:9 Constant: 2730:9 2 (const int) 2740:9 Constant: 2750:9 1 (const int) 2760:10 AtomicAnd ( temp uint) 2770:10 indirect index (layout( row_major std430) buffer uint) 2780:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2790:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2800:10 Constant: 2810:10 0 (const uint) 2820:10 right-shift ( temp int) 2830:10 Constant: 2840:10 8 (const int) 2850:10 Constant: 2860:10 2 (const int) 2870:10 Constant: 2880:10 1 (const int) 2890:11 move second child to first child ( temp uint) 2900:11 'u' ( temp uint) 2910:11 AtomicAnd ( temp uint) 2920:11 indirect index (layout( row_major std430) buffer uint) 2930:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2940:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2950:11 Constant: 2960:11 0 (const uint) 2970:11 right-shift ( temp int) 2980:11 Constant: 2990:11 8 (const int) 3000:11 Constant: 3010:11 2 (const int) 3020:11 Constant: 3030:11 1 (const int) 3040:12 move second child to first child ( temp uint) 3050:12 'u' ( temp uint) 3060:12 Convert int to uint ( temp uint) 3070:12 AtomicCompSwap ( temp int) 3080:12 indirect index (layout( row_major std430) buffer uint) 3090:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 3100:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 3110:12 Constant: 3120:12 0 (const uint) 3130:12 right-shift ( temp int) 3140:12 Constant: 3150:12 8 (const int) 3160:12 Constant: 3170:12 2 (const int) 3180:12 Constant: 3190:12 1 (const int) 3200:12 Constant: 3210:12 2 (const int) 3220:14 move second child to first child ( temp uint) 3230:14 'u' ( temp uint) 3240:14 AtomicExchange ( temp uint) 3250:14 indirect index (layout( row_major std430) buffer uint) 3260:14 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 3270:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 3280:14 Constant: 3290:14 0 (const uint) 3300:14 right-shift ( temp int) 3310:14 Constant: 3320:14 8 (const int) 3330:14 Constant: 3340:14 2 (const int) 3350:14 Constant: 3360:14 1 (const int) 3370:15 AtomicMax ( temp uint) 3380:15 indirect index (layout( row_major std430) buffer uint) 3390:15 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 3400:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 3410:15 Constant: 3420:15 0 (const uint) 3430:15 right-shift ( temp int) 3440:15 Constant: 3450:15 8 (const int) 3460:15 Constant: 3470:15 2 (const int) 3480:15 Constant: 3490:15 1 (const int) 3500:16 move second child to first child ( temp uint) 3510:16 'u' ( temp uint) 3520:16 AtomicMax ( temp uint) 3530:16 indirect index (layout( row_major std430) buffer uint) 3540:16 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 3550:16 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 3560:16 Constant: 3570:16 0 (const uint) 3580:16 right-shift ( temp int) 3590:16 Constant: 3600:16 8 (const int) 3610:16 Constant: 3620:16 2 (const int) 3630:16 Constant: 3640:16 1 (const int) 3650:17 AtomicMin ( temp uint) 3660:17 indirect index (layout( row_major std430) buffer uint) 3670:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 3680:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 3690:17 Constant: 3700:17 0 (const uint) 3710:17 right-shift ( temp int) 3720:17 Constant: 3730:17 8 (const int) 3740:17 Constant: 3750:17 2 (const int) 3760:17 Constant: 3770:17 1 (const int) 3780:18 move second child to first child ( temp uint) 3790:18 'u' ( temp uint) 3800:18 AtomicMin ( temp uint) 3810:18 indirect index (layout( row_major std430) buffer uint) 3820:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 3830:18 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 3840:18 Constant: 3850:18 0 (const uint) 3860:18 right-shift ( temp int) 3870:18 Constant: 3880:18 8 (const int) 3890:18 Constant: 3900:18 2 (const int) 3910:18 Constant: 3920:18 1 (const int) 3930:19 AtomicOr ( temp uint) 3940:19 indirect index (layout( row_major std430) buffer uint) 3950:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 3960:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 3970:19 Constant: 3980:19 0 (const uint) 3990:19 right-shift ( temp int) 4000:19 Constant: 4010:19 8 (const int) 4020:19 Constant: 4030:19 2 (const int) 4040:19 Constant: 4050:19 1 (const int) 4060:20 move second child to first child ( temp uint) 4070:20 'u' ( temp uint) 4080:20 AtomicOr ( temp uint) 4090:20 indirect index (layout( row_major std430) buffer uint) 4100:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 4110:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 4120:20 Constant: 4130:20 0 (const uint) 4140:20 right-shift ( temp int) 4150:20 Constant: 4160:20 8 (const int) 4170:20 Constant: 4180:20 2 (const int) 4190:20 Constant: 4200:20 1 (const int) 4210:21 AtomicXor ( temp uint) 4220:21 indirect index (layout( row_major std430) buffer uint) 4230:21 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 4240:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 4250:21 Constant: 4260:21 0 (const uint) 4270:21 right-shift ( temp int) 4280:21 Constant: 4290:21 8 (const int) 4300:21 Constant: 4310:21 2 (const int) 4320:21 Constant: 4330:21 1 (const int) 4340:22 move second child to first child ( temp uint) 4350:22 'u' ( temp uint) 4360:22 AtomicXor ( temp uint) 4370:22 indirect index (layout( row_major std430) buffer uint) 4380:22 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 4390:22 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 4400:22 Constant: 4410:22 0 (const uint) 4420:22 right-shift ( temp int) 4430:22 Constant: 4440:22 8 (const int) 4450:22 Constant: 4460:22 2 (const int) 4470:22 Constant: 4480:22 1 (const int) 4490:24 Branch: Return with expression 4500:24 Construct vec4 ( temp 4-component vector of float) 4510:24 Convert uint to float ( temp float) 4520:24 indirect index (layout( row_major std430) buffer uint) 4530:24 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 4540:24 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 4550:24 Constant: 4560:24 0 (const uint) 4570:24 right-shift ( temp int) 4580:24 'pos' ( in uint) 4590:24 Constant: 4600:24 2 (const int) 4610:5 Function Definition: main( ( temp void) 4620:5 Function Parameters: 4630:? Sequence 4640:5 move second child to first child ( temp uint) 4650:? 'pos' ( temp uint) 4660:? 'pos' (layout( location=0) flat in uint) 4670:5 move second child to first child ( temp 4-component vector of float) 4680:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 4690:5 Function Call: @main(u1; ( temp 4-component vector of float) 4700:? 'pos' ( temp uint) 4710:? Linker Objects 4720:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 4730:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 4740:? 'pos' (layout( location=0) flat in uint) 475 476Validation failed 477// Module Version 10000 478// Generated by (magic number): 80008 479// Id's are bound by 87 480 481 Capability Shader 482 1: ExtInstImport "GLSL.std.450" 483 MemoryModel Logical GLSL450 484 EntryPoint Fragment 4 "main" 80 83 485 ExecutionMode 4 OriginUpperLeft 486 Source HLSL 500 487 Name 4 "main" 488 Name 12 "@main(u1;" 489 Name 11 "pos" 490 Name 15 "sbuf" 491 MemberName 15(sbuf) 0 "@data" 492 Name 17 "sbuf" 493 Name 29 "u" 494 Name 78 "pos" 495 Name 80 "pos" 496 Name 83 "@entryPointOutput" 497 Name 84 "param" 498 Decorate 14 ArrayStride 4 499 MemberDecorate 15(sbuf) 0 Offset 0 500 Decorate 15(sbuf) BufferBlock 501 Decorate 17(sbuf) DescriptorSet 0 502 Decorate 17(sbuf) Binding 0 503 Decorate 80(pos) Flat 504 Decorate 80(pos) Location 0 505 Decorate 83(@entryPointOutput) Location 0 506 2: TypeVoid 507 3: TypeFunction 2 508 6: TypeInt 32 0 509 7: TypePointer Function 6(int) 510 8: TypeFloat 32 511 9: TypeVector 8(float) 4 512 10: TypeFunction 9(fvec4) 7(ptr) 513 14: TypeRuntimeArray 6(int) 514 15(sbuf): TypeStruct 14 515 16: TypePointer Uniform 15(sbuf) 516 17(sbuf): 16(ptr) Variable Uniform 517 18: TypeInt 32 1 518 19: 18(int) Constant 0 519 20: 18(int) Constant 8 520 21: 18(int) Constant 2 521 23: TypePointer Uniform 6(int) 522 25: 18(int) Constant 1 523 26: 6(int) Constant 1 524 27: 6(int) Constant 0 525 79: TypePointer Input 6(int) 526 80(pos): 79(ptr) Variable Input 527 82: TypePointer Output 9(fvec4) 52883(@entryPointOutput): 82(ptr) Variable Output 529 4(main): 2 Function None 3 530 5: Label 531 78(pos): 7(ptr) Variable Function 532 84(param): 7(ptr) Variable Function 533 81: 6(int) Load 80(pos) 534 Store 78(pos) 81 535 85: 6(int) Load 78(pos) 536 Store 84(param) 85 537 86: 9(fvec4) FunctionCall 12(@main(u1;) 84(param) 538 Store 83(@entryPointOutput) 86 539 Return 540 FunctionEnd 541 12(@main(u1;): 9(fvec4) Function None 10 542 11(pos): 7(ptr) FunctionParameter 543 13: Label 544 29(u): 7(ptr) Variable Function 545 22: 18(int) ShiftRightArithmetic 20 21 546 24: 23(ptr) AccessChain 17(sbuf) 19 22 547 28: 6(int) AtomicIAdd 24 26 27 25 548 30: 18(int) ShiftRightArithmetic 20 21 549 31: 23(ptr) AccessChain 17(sbuf) 19 30 550 32: 6(int) AtomicIAdd 31 26 27 25 551 Store 29(u) 32 552 33: 18(int) ShiftRightArithmetic 20 21 553 34: 23(ptr) AccessChain 17(sbuf) 19 33 554 35: 6(int) AtomicAnd 34 26 27 25 555 36: 18(int) ShiftRightArithmetic 20 21 556 37: 23(ptr) AccessChain 17(sbuf) 19 36 557 38: 6(int) AtomicAnd 37 26 27 25 558 Store 29(u) 38 559 39: 18(int) ShiftRightArithmetic 20 21 560 40: 23(ptr) AccessChain 17(sbuf) 19 39 561 41: 18(int) AtomicCompareExchange 40 26 27 27 21 25 562 42: 6(int) Bitcast 41 563 Store 29(u) 42 564 43: 18(int) ShiftRightArithmetic 20 21 565 44: 23(ptr) AccessChain 17(sbuf) 19 43 566 45: 6(int) AtomicExchange 44 26 27 25 567 Store 29(u) 45 568 46: 18(int) ShiftRightArithmetic 20 21 569 47: 23(ptr) AccessChain 17(sbuf) 19 46 570 48: 6(int) AtomicUMax 47 26 27 25 571 49: 18(int) ShiftRightArithmetic 20 21 572 50: 23(ptr) AccessChain 17(sbuf) 19 49 573 51: 6(int) AtomicUMax 50 26 27 25 574 Store 29(u) 51 575 52: 18(int) ShiftRightArithmetic 20 21 576 53: 23(ptr) AccessChain 17(sbuf) 19 52 577 54: 6(int) AtomicUMin 53 26 27 25 578 55: 18(int) ShiftRightArithmetic 20 21 579 56: 23(ptr) AccessChain 17(sbuf) 19 55 580 57: 6(int) AtomicUMin 56 26 27 25 581 Store 29(u) 57 582 58: 18(int) ShiftRightArithmetic 20 21 583 59: 23(ptr) AccessChain 17(sbuf) 19 58 584 60: 6(int) AtomicOr 59 26 27 25 585 61: 18(int) ShiftRightArithmetic 20 21 586 62: 23(ptr) AccessChain 17(sbuf) 19 61 587 63: 6(int) AtomicOr 62 26 27 25 588 Store 29(u) 63 589 64: 18(int) ShiftRightArithmetic 20 21 590 65: 23(ptr) AccessChain 17(sbuf) 19 64 591 66: 6(int) AtomicXor 65 26 27 25 592 67: 18(int) ShiftRightArithmetic 20 21 593 68: 23(ptr) AccessChain 17(sbuf) 19 67 594 69: 6(int) AtomicXor 68 26 27 25 595 Store 29(u) 69 596 70: 6(int) Load 11(pos) 597 71: 18(int) ShiftRightLogical 70 21 598 72: 23(ptr) AccessChain 17(sbuf) 19 71 599 73: 6(int) Load 72 600 74: 8(float) ConvertUToF 73 601 75: 9(fvec4) CompositeConstruct 74 74 74 74 602 ReturnValue 75 603 FunctionEnd 604