1vk.relaxed.frag 2WARNING: 0:7: 'b' : Ignoring initializer for uniform 3WARNING: 0:8: 'c' : ignoring layout qualifier for uniform location 4 5Shader version: 460 6gl_FragCoord origin is upper left 70:? Sequence 80:36 Function Definition: bar( ( global highp uint) 90:36 Function Parameters: 100:37 Sequence 110:37 Sequence 120:37 move second child to first child ( temp highp uint) 130:37 'j' ( temp highp uint) 140:37 Constant: 150:37 0 (const uint) 160:38 move second child to first child ( temp highp uint) 170:38 'j' ( temp highp uint) 180:38 AtomicAdd ( global highp uint) 190:38 counter1: direct index for structure ( coherent volatile buffer highp uint) 200:38 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 210:38 Constant: 220:38 0 (const uint) 230:38 Constant: 240:38 1 (const uint) 250:39 move second child to first child ( temp highp uint) 260:39 'j' ( temp highp uint) 270:39 subtract ( temp highp uint) 280:39 AtomicAdd ( global highp uint) 290:39 counter1: direct index for structure ( coherent volatile buffer highp uint) 300:39 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 310:39 Constant: 320:39 0 (const uint) 330:39 Constant: 340:39 4294967295 (const uint) 350:39 Constant: 360:39 1 (const uint) 370:40 move second child to first child ( temp highp uint) 380:40 'j' ( temp highp uint) 390:40 counter1: direct index for structure ( coherent volatile buffer highp uint) 400:40 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 410:40 Constant: 420:40 0 (const uint) 430:42 move second child to first child ( temp highp uint) 440:42 'j' ( temp highp uint) 450:42 AtomicAdd ( global highp uint) 460:42 counter1: direct index for structure ( coherent volatile buffer highp uint) 470:42 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 480:42 Constant: 490:42 0 (const uint) 500:42 Constant: 510:42 1 (const uint) 520:43 move second child to first child ( temp highp uint) 530:43 'j' ( temp highp uint) 540:43 AtomicAdd ( global highp uint) 550:43 counter1: direct index for structure ( coherent volatile buffer highp uint) 560:43 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 570:43 Constant: 580:43 0 (const uint) 590:43 Constant: 600:43 4294967295 (const uint) 610:44 move second child to first child ( temp highp uint) 620:44 'j' ( temp highp uint) 630:44 AtomicSubtract ( global highp uint) 640:44 counter1: direct index for structure ( coherent volatile buffer highp uint) 650:44 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 660:44 Constant: 670:44 0 (const uint) 680:44 Constant: 690:44 1 (const uint) 700:46 move second child to first child ( temp highp uint) 710:46 'j' ( temp highp uint) 720:46 AtomicMin ( global highp uint) 730:46 counter1: direct index for structure ( coherent volatile buffer highp uint) 740:46 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 750:46 Constant: 760:46 0 (const uint) 770:46 'j' ( temp highp uint) 780:47 move second child to first child ( temp highp uint) 790:47 'j' ( temp highp uint) 800:47 AtomicMax ( global highp uint) 810:47 counter1: direct index for structure ( coherent volatile buffer highp uint) 820:47 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 830:47 Constant: 840:47 0 (const uint) 850:47 'j' ( temp highp uint) 860:48 move second child to first child ( temp highp uint) 870:48 'j' ( temp highp uint) 880:48 AtomicAnd ( global highp uint) 890:48 counter1: direct index for structure ( coherent volatile buffer highp uint) 900:48 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 910:48 Constant: 920:48 0 (const uint) 930:48 'j' ( temp highp uint) 940:50 move second child to first child ( temp highp uint) 950:50 'j' ( temp highp uint) 960:50 AtomicOr ( global highp uint) 970:50 counter1: direct index for structure ( coherent volatile buffer highp uint) 980:50 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 990:50 Constant: 1000:50 0 (const uint) 1010:50 'j' ( temp highp uint) 1020:51 move second child to first child ( temp highp uint) 1030:51 'j' ( temp highp uint) 1040:51 AtomicXor ( global highp uint) 1050:51 counter1: direct index for structure ( coherent volatile buffer highp uint) 1060:51 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 1070:51 Constant: 1080:51 0 (const uint) 1090:51 'j' ( temp highp uint) 1100:53 move second child to first child ( temp highp uint) 1110:53 'j' ( temp highp uint) 1120:53 AtomicExchange ( global highp uint) 1130:53 counter1: direct index for structure ( coherent volatile buffer highp uint) 1140:53 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 1150:53 Constant: 1160:53 0 (const uint) 1170:53 'j' ( temp highp uint) 1180:54 move second child to first child ( temp highp uint) 1190:54 'j' ( temp highp uint) 1200:54 AtomicCompSwap ( global highp uint) 1210:54 counter1: direct index for structure ( coherent volatile buffer highp uint) 1220:54 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 1230:54 Constant: 1240:54 0 (const uint) 1250:54 Constant: 1260:54 0 (const uint) 1270:54 'j' ( temp highp uint) 1280:56 AtomicAdd ( global highp uint) 1290:56 counter2: direct index for structure ( coherent volatile buffer highp uint) 1300:56 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 1310:56 Constant: 1320:56 1 (const uint) 1330:56 Constant: 1340:56 1 (const uint) 1350:57 AtomicAdd ( global highp uint) 1360:57 counter3: direct index for structure ( coherent volatile buffer highp uint) 1370:57 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3}) 1380:57 Constant: 1390:57 0 (const uint) 1400:57 Constant: 1410:57 1 (const uint) 1420:59 MemoryBarrierBuffer ( global void) 1430:61 Branch: Return with expression 1440:61 'j' ( temp highp uint) 1450:64 Function Definition: foo( ( global highp 4-component vector of float) 1460:64 Function Parameters: 1470:65 Sequence 1480:65 Sequence 1490:65 move second child to first child ( temp highp float) 1500:65 'f' ( temp highp float) 1510:65 add ( temp highp float) 1520:65 add ( temp highp float) 1530:65 add ( temp highp float) 1540:65 j: direct index for structure (layout( column_major std140) uniform highp float) 1550:65 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k}) 1560:65 Constant: 1570:65 0 (const uint) 1580:65 j: direct index for structure (layout( column_major std430) buffer highp float) 1590:65 'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k}) 1600:65 Constant: 1610:65 0 (const int) 1620:65 y: direct index for structure ( global highp float) 1630:65 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z}) 1640:65 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 1650:65 Constant: 1660:65 4 (const uint) 1670:65 Constant: 1680:65 1 (const int) 1690:65 Convert uint to float ( temp highp float) 1700:65 z: direct index for structure ( global highp uint) 1710:65 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z}) 1720:65 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 1730:65 Constant: 1740:65 4 (const uint) 1750:65 Constant: 1760:65 2 (const int) 1770:66 Sequence 1780:66 move second child to first child ( temp highp 2-component vector of float) 1790:66 'v2' ( temp highp 2-component vector of float) 1800:66 add ( temp highp 2-component vector of float) 1810:66 add ( temp highp 2-component vector of float) 1820:66 b: direct index for structure ( uniform highp 2-component vector of float) 1830:66 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 1840:66 Constant: 1850:66 1 (const uint) 1860:66 c: direct index for structure ( uniform highp 2-component vector of float) 1870:66 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 1880:66 Constant: 1890:66 2 (const uint) 1900:66 x: direct index for structure ( global highp 2-component vector of float) 1910:66 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z}) 1920:66 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 1930:66 Constant: 1940:66 4 (const uint) 1950:66 Constant: 1960:66 0 (const int) 1970:67 Sequence 1980:67 move second child to first child ( temp highp 4-component vector of float) 1990:67 'v4' ( temp highp 4-component vector of float) 2000:67 add ( temp highp 4-component vector of float) 2010:67 add ( temp highp 4-component vector of float) 2020:67 add ( temp highp 4-component vector of float) 2030:67 add ( temp highp 4-component vector of float) 2040:67 add ( temp highp 4-component vector of float) 2050:67 add ( temp highp 4-component vector of float) 2060:67 a: direct index for structure ( uniform highp 4-component vector of float) 2070:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 2080:67 Constant: 2090:67 0 (const uint) 2100:67 direct index ( temp highp 4-component vector of float) 2110:67 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 2120:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 2130:67 Constant: 2140:67 3 (const uint) 2150:67 Constant: 2160:67 0 (const int) 2170:67 direct index ( temp highp 4-component vector of float) 2180:67 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 2190:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 2200:67 Constant: 2210:67 3 (const uint) 2220:67 Constant: 2230:67 1 (const int) 2240:67 direct index ( temp highp 4-component vector of float) 2250:67 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 2260:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 2270:67 Constant: 2280:67 3 (const uint) 2290:67 Constant: 2300:67 2 (const int) 2310:67 k: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float) 2320:67 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k}) 2330:67 Constant: 2340:67 1 (const uint) 2350:67 k: direct index for structure (layout( column_major std430) buffer highp 4-component vector of float) 2360:67 'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k}) 2370:67 Constant: 2380:67 1 (const int) 2390:67 texture ( global highp 4-component vector of float) 2400:67 't1' ( uniform highp sampler2D) 2410:67 Constant: 2420:67 0.000000 2430:67 0.000000 2440:68 Branch: Return with expression 2450:68 component-wise multiply ( temp highp 4-component vector of float) 2460:68 component-wise multiply ( temp highp 4-component vector of float) 2470:68 Construct vec4 ( temp highp 4-component vector of float) 2480:68 'f' ( temp highp float) 2490:68 Construct vec4 ( temp highp 4-component vector of float) 2500:68 'v2' ( temp highp 2-component vector of float) 2510:68 Constant: 2520:68 1.000000 2530:68 Constant: 2540:68 1.000000 2550:68 'v4' ( temp highp 4-component vector of float) 2560:71 Function Definition: main( ( global void) 2570:71 Function Parameters: 2580:72 Sequence 2590:72 Sequence 2600:72 move second child to first child ( temp highp float) 2610:72 'j' ( temp highp float) 2620:72 Convert uint to float ( temp highp float) 2630:72 Function Call: bar( ( global highp uint) 2640:73 move second child to first child ( temp highp 4-component vector of float) 2650:73 'o' ( out highp 4-component vector of float) 2660:73 vector-scale ( temp highp 4-component vector of float) 2670:73 'j' ( temp highp float) 2680:73 Function Call: foo( ( global highp 4-component vector of float) 2690:? Linker Objects 2700:? 'o' ( out highp 4-component vector of float) 2710:? 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 2720:? 't1' ( uniform highp sampler2D) 2730:? 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k}) 2740:? 'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k}) 2750:? 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 2760:? 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3}) 277 278 279Linked fragment stage: 280 281 282Shader version: 460 283gl_FragCoord origin is upper left 2840:? Sequence 2850:36 Function Definition: bar( ( global highp uint) 2860:36 Function Parameters: 2870:37 Sequence 2880:37 Sequence 2890:37 move second child to first child ( temp highp uint) 2900:37 'j' ( temp highp uint) 2910:37 Constant: 2920:37 0 (const uint) 2930:38 move second child to first child ( temp highp uint) 2940:38 'j' ( temp highp uint) 2950:38 AtomicAdd ( global highp uint) 2960:38 counter1: direct index for structure ( coherent volatile buffer highp uint) 2970:38 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 2980:38 Constant: 2990:38 0 (const uint) 3000:38 Constant: 3010:38 1 (const uint) 3020:39 move second child to first child ( temp highp uint) 3030:39 'j' ( temp highp uint) 3040:39 subtract ( temp highp uint) 3050:39 AtomicAdd ( global highp uint) 3060:39 counter1: direct index for structure ( coherent volatile buffer highp uint) 3070:39 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3080:39 Constant: 3090:39 0 (const uint) 3100:39 Constant: 3110:39 4294967295 (const uint) 3120:39 Constant: 3130:39 1 (const uint) 3140:40 move second child to first child ( temp highp uint) 3150:40 'j' ( temp highp uint) 3160:40 counter1: direct index for structure ( coherent volatile buffer highp uint) 3170:40 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3180:40 Constant: 3190:40 0 (const uint) 3200:42 move second child to first child ( temp highp uint) 3210:42 'j' ( temp highp uint) 3220:42 AtomicAdd ( global highp uint) 3230:42 counter1: direct index for structure ( coherent volatile buffer highp uint) 3240:42 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3250:42 Constant: 3260:42 0 (const uint) 3270:42 Constant: 3280:42 1 (const uint) 3290:43 move second child to first child ( temp highp uint) 3300:43 'j' ( temp highp uint) 3310:43 AtomicAdd ( global highp uint) 3320:43 counter1: direct index for structure ( coherent volatile buffer highp uint) 3330:43 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3340:43 Constant: 3350:43 0 (const uint) 3360:43 Constant: 3370:43 4294967295 (const uint) 3380:44 move second child to first child ( temp highp uint) 3390:44 'j' ( temp highp uint) 3400:44 AtomicSubtract ( global highp uint) 3410:44 counter1: direct index for structure ( coherent volatile buffer highp uint) 3420:44 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3430:44 Constant: 3440:44 0 (const uint) 3450:44 Constant: 3460:44 1 (const uint) 3470:46 move second child to first child ( temp highp uint) 3480:46 'j' ( temp highp uint) 3490:46 AtomicMin ( global highp uint) 3500:46 counter1: direct index for structure ( coherent volatile buffer highp uint) 3510:46 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3520:46 Constant: 3530:46 0 (const uint) 3540:46 'j' ( temp highp uint) 3550:47 move second child to first child ( temp highp uint) 3560:47 'j' ( temp highp uint) 3570:47 AtomicMax ( global highp uint) 3580:47 counter1: direct index for structure ( coherent volatile buffer highp uint) 3590:47 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3600:47 Constant: 3610:47 0 (const uint) 3620:47 'j' ( temp highp uint) 3630:48 move second child to first child ( temp highp uint) 3640:48 'j' ( temp highp uint) 3650:48 AtomicAnd ( global highp uint) 3660:48 counter1: direct index for structure ( coherent volatile buffer highp uint) 3670:48 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3680:48 Constant: 3690:48 0 (const uint) 3700:48 'j' ( temp highp uint) 3710:50 move second child to first child ( temp highp uint) 3720:50 'j' ( temp highp uint) 3730:50 AtomicOr ( global highp uint) 3740:50 counter1: direct index for structure ( coherent volatile buffer highp uint) 3750:50 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3760:50 Constant: 3770:50 0 (const uint) 3780:50 'j' ( temp highp uint) 3790:51 move second child to first child ( temp highp uint) 3800:51 'j' ( temp highp uint) 3810:51 AtomicXor ( global highp uint) 3820:51 counter1: direct index for structure ( coherent volatile buffer highp uint) 3830:51 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3840:51 Constant: 3850:51 0 (const uint) 3860:51 'j' ( temp highp uint) 3870:53 move second child to first child ( temp highp uint) 3880:53 'j' ( temp highp uint) 3890:53 AtomicExchange ( global highp uint) 3900:53 counter1: direct index for structure ( coherent volatile buffer highp uint) 3910:53 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3920:53 Constant: 3930:53 0 (const uint) 3940:53 'j' ( temp highp uint) 3950:54 move second child to first child ( temp highp uint) 3960:54 'j' ( temp highp uint) 3970:54 AtomicCompSwap ( global highp uint) 3980:54 counter1: direct index for structure ( coherent volatile buffer highp uint) 3990:54 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 4000:54 Constant: 4010:54 0 (const uint) 4020:54 Constant: 4030:54 0 (const uint) 4040:54 'j' ( temp highp uint) 4050:56 AtomicAdd ( global highp uint) 4060:56 counter2: direct index for structure ( coherent volatile buffer highp uint) 4070:56 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 4080:56 Constant: 4090:56 1 (const uint) 4100:56 Constant: 4110:56 1 (const uint) 4120:57 AtomicAdd ( global highp uint) 4130:57 counter3: direct index for structure ( coherent volatile buffer highp uint) 4140:57 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3}) 4150:57 Constant: 4160:57 0 (const uint) 4170:57 Constant: 4180:57 1 (const uint) 4190:59 MemoryBarrierBuffer ( global void) 4200:61 Branch: Return with expression 4210:61 'j' ( temp highp uint) 4220:64 Function Definition: foo( ( global highp 4-component vector of float) 4230:64 Function Parameters: 4240:65 Sequence 4250:65 Sequence 4260:65 move second child to first child ( temp highp float) 4270:65 'f' ( temp highp float) 4280:65 add ( temp highp float) 4290:65 add ( temp highp float) 4300:65 add ( temp highp float) 4310:65 j: direct index for structure (layout( column_major std140) uniform highp float) 4320:65 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k}) 4330:65 Constant: 4340:65 0 (const uint) 4350:65 j: direct index for structure (layout( column_major std430) buffer highp float) 4360:65 'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k}) 4370:65 Constant: 4380:65 0 (const int) 4390:65 y: direct index for structure ( global highp float) 4400:65 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z}) 4410:65 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 4420:65 Constant: 4430:65 4 (const uint) 4440:65 Constant: 4450:65 1 (const int) 4460:65 Convert uint to float ( temp highp float) 4470:65 z: direct index for structure ( global highp uint) 4480:65 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z}) 4490:65 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 4500:65 Constant: 4510:65 4 (const uint) 4520:65 Constant: 4530:65 2 (const int) 4540:66 Sequence 4550:66 move second child to first child ( temp highp 2-component vector of float) 4560:66 'v2' ( temp highp 2-component vector of float) 4570:66 add ( temp highp 2-component vector of float) 4580:66 add ( temp highp 2-component vector of float) 4590:66 b: direct index for structure ( uniform highp 2-component vector of float) 4600:66 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 4610:66 Constant: 4620:66 1 (const uint) 4630:66 c: direct index for structure ( uniform highp 2-component vector of float) 4640:66 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 4650:66 Constant: 4660:66 2 (const uint) 4670:66 x: direct index for structure ( global highp 2-component vector of float) 4680:66 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z}) 4690:66 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 4700:66 Constant: 4710:66 4 (const uint) 4720:66 Constant: 4730:66 0 (const int) 4740:67 Sequence 4750:67 move second child to first child ( temp highp 4-component vector of float) 4760:67 'v4' ( temp highp 4-component vector of float) 4770:67 add ( temp highp 4-component vector of float) 4780:67 add ( temp highp 4-component vector of float) 4790:67 add ( temp highp 4-component vector of float) 4800:67 add ( temp highp 4-component vector of float) 4810:67 add ( temp highp 4-component vector of float) 4820:67 add ( temp highp 4-component vector of float) 4830:67 a: direct index for structure ( uniform highp 4-component vector of float) 4840:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 4850:67 Constant: 4860:67 0 (const uint) 4870:67 direct index ( temp highp 4-component vector of float) 4880:67 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 4890:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 4900:67 Constant: 4910:67 3 (const uint) 4920:67 Constant: 4930:67 0 (const int) 4940:67 direct index ( temp highp 4-component vector of float) 4950:67 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 4960:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 4970:67 Constant: 4980:67 3 (const uint) 4990:67 Constant: 5000:67 1 (const int) 5010:67 direct index ( temp highp 4-component vector of float) 5020:67 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 5030:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 5040:67 Constant: 5050:67 3 (const uint) 5060:67 Constant: 5070:67 2 (const int) 5080:67 k: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float) 5090:67 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k}) 5100:67 Constant: 5110:67 1 (const uint) 5120:67 k: direct index for structure (layout( column_major std430) buffer highp 4-component vector of float) 5130:67 'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k}) 5140:67 Constant: 5150:67 1 (const int) 5160:67 texture ( global highp 4-component vector of float) 5170:67 't1' ( uniform highp sampler2D) 5180:67 Constant: 5190:67 0.000000 5200:67 0.000000 5210:68 Branch: Return with expression 5220:68 component-wise multiply ( temp highp 4-component vector of float) 5230:68 component-wise multiply ( temp highp 4-component vector of float) 5240:68 Construct vec4 ( temp highp 4-component vector of float) 5250:68 'f' ( temp highp float) 5260:68 Construct vec4 ( temp highp 4-component vector of float) 5270:68 'v2' ( temp highp 2-component vector of float) 5280:68 Constant: 5290:68 1.000000 5300:68 Constant: 5310:68 1.000000 5320:68 'v4' ( temp highp 4-component vector of float) 5330:71 Function Definition: main( ( global void) 5340:71 Function Parameters: 5350:72 Sequence 5360:72 Sequence 5370:72 move second child to first child ( temp highp float) 5380:72 'j' ( temp highp float) 5390:72 Convert uint to float ( temp highp float) 5400:72 Function Call: bar( ( global highp uint) 5410:73 move second child to first child ( temp highp 4-component vector of float) 5420:73 'o' ( out highp 4-component vector of float) 5430:73 vector-scale ( temp highp 4-component vector of float) 5440:73 'j' ( temp highp float) 5450:73 Function Call: foo( ( global highp 4-component vector of float) 5460:? Linker Objects 5470:? 'o' ( out highp 4-component vector of float) 5480:? 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform}) 5490:? 't1' ( uniform highp sampler2D) 5500:? 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k}) 5510:? 'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k}) 5520:? 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 5530:? 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3}) 554 555// Module Version 10000 556// Generated by (magic number): 8000a 557// Id's are bound by 163 558 559 Capability Shader 560 1: ExtInstImport "GLSL.std.450" 561 MemoryModel Logical GLSL450 562 EntryPoint Fragment 4 "main" 159 563 ExecutionMode 4 OriginUpperLeft 564 Source GLSL 460 565 Name 4 "main" 566 Name 8 "bar(" 567 Name 13 "foo(" 568 Name 16 "j" 569 Name 18 "gl_AtomicCounterBlock_0" 570 MemberName 18(gl_AtomicCounterBlock_0) 0 "counter1" 571 MemberName 18(gl_AtomicCounterBlock_0) 1 "counter2" 572 Name 20 "" 573 Name 63 "gl_AtomicCounterBlock_1" 574 MemberName 63(gl_AtomicCounterBlock_1) 0 "counter3" 575 Name 65 "" 576 Name 73 "f" 577 Name 74 "UniformBlock" 578 MemberName 74(UniformBlock) 0 "j" 579 MemberName 74(UniformBlock) 1 "k" 580 Name 76 "" 581 Name 80 "BufferBlock" 582 MemberName 80(BufferBlock) 0 "j" 583 MemberName 80(BufferBlock) 1 "k" 584 Name 82 "bufferInstance" 585 Name 89 "e" 586 MemberName 89(e) 0 "x" 587 MemberName 89(e) 1 "y" 588 MemberName 89(e) 2 "z" 589 Name 90 "gl_DefaultUniformBlock" 590 MemberName 90(gl_DefaultUniformBlock) 0 "a" 591 MemberName 90(gl_DefaultUniformBlock) 1 "b" 592 MemberName 90(gl_DefaultUniformBlock) 2 "c" 593 MemberName 90(gl_DefaultUniformBlock) 3 "d" 594 MemberName 90(gl_DefaultUniformBlock) 4 "structUniform" 595 Name 92 "" 596 Name 103 "v2" 597 Name 114 "v4" 598 Name 137 "t1" 599 Name 155 "j" 600 Name 159 "o" 601 MemberDecorate 18(gl_AtomicCounterBlock_0) 0 Coherent 602 MemberDecorate 18(gl_AtomicCounterBlock_0) 0 Volatile 603 MemberDecorate 18(gl_AtomicCounterBlock_0) 0 Coherent 604 MemberDecorate 18(gl_AtomicCounterBlock_0) 0 Offset 0 605 MemberDecorate 18(gl_AtomicCounterBlock_0) 1 Coherent 606 MemberDecorate 18(gl_AtomicCounterBlock_0) 1 Volatile 607 MemberDecorate 18(gl_AtomicCounterBlock_0) 1 Coherent 608 MemberDecorate 18(gl_AtomicCounterBlock_0) 1 Offset 4 609 Decorate 18(gl_AtomicCounterBlock_0) BufferBlock 610 Decorate 20 DescriptorSet 0 611 Decorate 20 Binding 4 612 MemberDecorate 63(gl_AtomicCounterBlock_1) 0 Coherent 613 MemberDecorate 63(gl_AtomicCounterBlock_1) 0 Volatile 614 MemberDecorate 63(gl_AtomicCounterBlock_1) 0 Coherent 615 MemberDecorate 63(gl_AtomicCounterBlock_1) 0 Offset 0 616 Decorate 63(gl_AtomicCounterBlock_1) BufferBlock 617 Decorate 65 DescriptorSet 0 618 Decorate 65 Binding 5 619 MemberDecorate 74(UniformBlock) 0 Offset 0 620 MemberDecorate 74(UniformBlock) 1 Offset 16 621 Decorate 74(UniformBlock) Block 622 Decorate 76 DescriptorSet 0 623 Decorate 76 Binding 2 624 MemberDecorate 80(BufferBlock) 0 Offset 0 625 MemberDecorate 80(BufferBlock) 1 Offset 16 626 Decorate 80(BufferBlock) BufferBlock 627 Decorate 82(bufferInstance) DescriptorSet 0 628 Decorate 82(bufferInstance) Binding 3 629 Decorate 88 ArrayStride 16 630 MemberDecorate 89(e) 0 Offset 0 631 MemberDecorate 89(e) 1 Offset 8 632 MemberDecorate 89(e) 2 Offset 12 633 MemberDecorate 90(gl_DefaultUniformBlock) 0 Offset 0 634 MemberDecorate 90(gl_DefaultUniformBlock) 1 Offset 16 635 MemberDecorate 90(gl_DefaultUniformBlock) 2 Offset 24 636 MemberDecorate 90(gl_DefaultUniformBlock) 3 Offset 32 637 MemberDecorate 90(gl_DefaultUniformBlock) 4 Offset 192 638 Decorate 90(gl_DefaultUniformBlock) Block 639 Decorate 92 DescriptorSet 0 640 Decorate 92 Binding 0 641 Decorate 137(t1) DescriptorSet 0 642 Decorate 137(t1) Binding 1 643 Decorate 159(o) Location 0 644 2: TypeVoid 645 3: TypeFunction 2 646 6: TypeInt 32 0 647 7: TypeFunction 6(int) 648 10: TypeFloat 32 649 11: TypeVector 10(float) 4 650 12: TypeFunction 11(fvec4) 651 15: TypePointer Function 6(int) 652 17: 6(int) Constant 0 65318(gl_AtomicCounterBlock_0): TypeStruct 6(int) 6(int) 654 19: TypePointer Uniform 18(gl_AtomicCounterBlock_0) 655 20: 19(ptr) Variable Uniform 656 21: TypeInt 32 1 657 22: 21(int) Constant 0 658 23: TypePointer Uniform 6(int) 659 25: 6(int) Constant 1 660 28: 6(int) Constant 4294967295 661 60: 21(int) Constant 1 66263(gl_AtomicCounterBlock_1): TypeStruct 6(int) 663 64: TypePointer Uniform 63(gl_AtomicCounterBlock_1) 664 65: 64(ptr) Variable Uniform 665 68: 6(int) Constant 72 666 72: TypePointer Function 10(float) 66774(UniformBlock): TypeStruct 10(float) 11(fvec4) 668 75: TypePointer Uniform 74(UniformBlock) 669 76: 75(ptr) Variable Uniform 670 77: TypePointer Uniform 10(float) 671 80(BufferBlock): TypeStruct 10(float) 11(fvec4) 672 81: TypePointer Uniform 80(BufferBlock) 67382(bufferInstance): 81(ptr) Variable Uniform 674 86: TypeVector 10(float) 2 675 87: 6(int) Constant 10 676 88: TypeArray 11(fvec4) 87 677 89(e): TypeStruct 86(fvec2) 10(float) 6(int) 67890(gl_DefaultUniformBlock): TypeStruct 11(fvec4) 86(fvec2) 86(fvec2) 88 89(e) 679 91: TypePointer Uniform 90(gl_DefaultUniformBlock) 680 92: 91(ptr) Variable Uniform 681 93: 21(int) Constant 4 682 97: 21(int) Constant 2 683 102: TypePointer Function 86(fvec2) 684 104: TypePointer Uniform 86(fvec2) 685 113: TypePointer Function 11(fvec4) 686 115: TypePointer Uniform 11(fvec4) 687 118: 21(int) Constant 3 688 134: TypeImage 10(float) 2D sampled format:Unknown 689 135: TypeSampledImage 134 690 136: TypePointer UniformConstant 135 691 137(t1): 136(ptr) Variable UniformConstant 692 139: 10(float) Constant 0 693 140: 86(fvec2) ConstantComposite 139 139 694 146: 10(float) Constant 1065353216 695 158: TypePointer Output 11(fvec4) 696 159(o): 158(ptr) Variable Output 697 4(main): 2 Function None 3 698 5: Label 699 155(j): 72(ptr) Variable Function 700 156: 6(int) FunctionCall 8(bar() 701 157: 10(float) ConvertUToF 156 702 Store 155(j) 157 703 160: 10(float) Load 155(j) 704 161: 11(fvec4) FunctionCall 13(foo() 705 162: 11(fvec4) VectorTimesScalar 161 160 706 Store 159(o) 162 707 Return 708 FunctionEnd 709 8(bar(): 6(int) Function None 7 710 9: Label 711 16(j): 15(ptr) Variable Function 712 Store 16(j) 17 713 24: 23(ptr) AccessChain 20 22 714 26: 6(int) AtomicIAdd 24 25 17 25 715 Store 16(j) 26 716 27: 23(ptr) AccessChain 20 22 717 29: 6(int) AtomicIAdd 27 25 17 28 718 30: 6(int) ISub 29 25 719 Store 16(j) 30 720 31: 23(ptr) AccessChain 20 22 721 32: 6(int) Load 31 722 Store 16(j) 32 723 33: 23(ptr) AccessChain 20 22 724 34: 6(int) AtomicIAdd 33 25 17 25 725 Store 16(j) 34 726 35: 23(ptr) AccessChain 20 22 727 36: 6(int) AtomicIAdd 35 25 17 28 728 Store 16(j) 36 729 37: 23(ptr) AccessChain 20 22 730 38: 6(int) AtomicISub 37 25 17 25 731 Store 16(j) 38 732 39: 23(ptr) AccessChain 20 22 733 40: 6(int) Load 16(j) 734 41: 6(int) AtomicUMin 39 25 17 40 735 Store 16(j) 41 736 42: 23(ptr) AccessChain 20 22 737 43: 6(int) Load 16(j) 738 44: 6(int) AtomicUMax 42 25 17 43 739 Store 16(j) 44 740 45: 23(ptr) AccessChain 20 22 741 46: 6(int) Load 16(j) 742 47: 6(int) AtomicAnd 45 25 17 46 743 Store 16(j) 47 744 48: 23(ptr) AccessChain 20 22 745 49: 6(int) Load 16(j) 746 50: 6(int) AtomicOr 48 25 17 49 747 Store 16(j) 50 748 51: 23(ptr) AccessChain 20 22 749 52: 6(int) Load 16(j) 750 53: 6(int) AtomicXor 51 25 17 52 751 Store 16(j) 53 752 54: 23(ptr) AccessChain 20 22 753 55: 6(int) Load 16(j) 754 56: 6(int) AtomicExchange 54 25 17 55 755 Store 16(j) 56 756 57: 23(ptr) AccessChain 20 22 757 58: 6(int) Load 16(j) 758 59: 6(int) AtomicCompareExchange 57 25 17 17 58 17 759 Store 16(j) 59 760 61: 23(ptr) AccessChain 20 60 761 62: 6(int) AtomicIAdd 61 25 17 25 762 66: 23(ptr) AccessChain 65 22 763 67: 6(int) AtomicIAdd 66 25 17 25 764 MemoryBarrier 25 68 765 69: 6(int) Load 16(j) 766 ReturnValue 69 767 FunctionEnd 768 13(foo(): 11(fvec4) Function None 12 769 14: Label 770 73(f): 72(ptr) Variable Function 771 103(v2): 102(ptr) Variable Function 772 114(v4): 113(ptr) Variable Function 773 78: 77(ptr) AccessChain 76 22 774 79: 10(float) Load 78 775 83: 77(ptr) AccessChain 82(bufferInstance) 22 776 84: 10(float) Load 83 777 85: 10(float) FAdd 79 84 778 94: 77(ptr) AccessChain 92 93 60 779 95: 10(float) Load 94 780 96: 10(float) FAdd 85 95 781 98: 23(ptr) AccessChain 92 93 97 782 99: 6(int) Load 98 783 100: 10(float) ConvertUToF 99 784 101: 10(float) FAdd 96 100 785 Store 73(f) 101 786 105: 104(ptr) AccessChain 92 60 787 106: 86(fvec2) Load 105 788 107: 104(ptr) AccessChain 92 97 789 108: 86(fvec2) Load 107 790 109: 86(fvec2) FAdd 106 108 791 110: 104(ptr) AccessChain 92 93 22 792 111: 86(fvec2) Load 110 793 112: 86(fvec2) FAdd 109 111 794 Store 103(v2) 112 795 116: 115(ptr) AccessChain 92 22 796 117: 11(fvec4) Load 116 797 119: 115(ptr) AccessChain 92 118 22 798 120: 11(fvec4) Load 119 799 121: 11(fvec4) FAdd 117 120 800 122: 115(ptr) AccessChain 92 118 60 801 123: 11(fvec4) Load 122 802 124: 11(fvec4) FAdd 121 123 803 125: 115(ptr) AccessChain 92 118 97 804 126: 11(fvec4) Load 125 805 127: 11(fvec4) FAdd 124 126 806 128: 115(ptr) AccessChain 76 60 807 129: 11(fvec4) Load 128 808 130: 11(fvec4) FAdd 127 129 809 131: 115(ptr) AccessChain 82(bufferInstance) 60 810 132: 11(fvec4) Load 131 811 133: 11(fvec4) FAdd 130 132 812 138: 135 Load 137(t1) 813 141: 11(fvec4) ImageSampleImplicitLod 138 140 814 142: 11(fvec4) FAdd 133 141 815 Store 114(v4) 142 816 143: 10(float) Load 73(f) 817 144: 11(fvec4) CompositeConstruct 143 143 143 143 818 145: 86(fvec2) Load 103(v2) 819 147: 10(float) CompositeExtract 145 0 820 148: 10(float) CompositeExtract 145 1 821 149: 11(fvec4) CompositeConstruct 147 148 146 146 822 150: 11(fvec4) FMul 144 149 823 151: 11(fvec4) Load 114(v4) 824 152: 11(fvec4) FMul 150 151 825 ReturnValue 152 826 FunctionEnd 827