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:43 Function Definition: bar( ( global highp uint) 90:43 Function Parameters: 100:44 Sequence 110:44 Sequence 120:44 move second child to first child ( temp highp uint) 130:44 'j' ( temp highp uint) 140:44 Constant: 150:44 0 (const uint) 160:45 move second child to first child ( temp highp uint) 170:45 'j' ( temp highp uint) 180:45 AtomicAdd ( global highp uint) 190:45 counter1: direct index for structure ( coherent volatile buffer highp uint) 200:45 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 210:45 Constant: 220:45 0 (const uint) 230:45 Constant: 240:45 1 (const uint) 250:46 move second child to first child ( temp highp uint) 260:46 'j' ( temp highp uint) 270:46 subtract ( temp highp uint) 280:46 AtomicAdd ( global highp uint) 290:46 counter1: direct index for structure ( coherent volatile buffer highp uint) 300:46 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 310:46 Constant: 320:46 0 (const uint) 330:46 Constant: 340:46 4294967295 (const uint) 350:46 Constant: 360:46 1 (const uint) 370:47 move second child to first child ( temp highp uint) 380:47 'j' ( temp highp uint) 390:47 counter1: direct index for structure ( coherent volatile buffer highp uint) 400:47 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 410:47 Constant: 420:47 0 (const uint) 430:49 move second child to first child ( temp highp uint) 440:49 'j' ( temp highp uint) 450:49 AtomicAdd ( global highp uint) 460:49 counter1: direct index for structure ( coherent volatile buffer highp uint) 470:49 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 480:49 Constant: 490:49 0 (const uint) 500:49 Constant: 510:49 1 (const uint) 520:50 move second child to first child ( temp highp uint) 530:50 'j' ( temp highp uint) 540:50 AtomicAdd ( global highp uint) 550:50 counter1: direct index for structure ( coherent volatile buffer highp uint) 560:50 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 570:50 Constant: 580:50 0 (const uint) 590:50 Constant: 600:50 4294967295 (const uint) 610:51 move second child to first child ( temp highp uint) 620:51 'j' ( temp highp uint) 630:51 AtomicSubtract ( global highp uint) 640:51 counter1: direct index for structure ( coherent volatile buffer highp uint) 650:51 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 660:51 Constant: 670:51 0 (const uint) 680:51 Constant: 690:51 1 (const uint) 700:53 move second child to first child ( temp highp uint) 710:53 'j' ( temp highp uint) 720:53 AtomicMin ( global highp uint) 730:53 counter1: direct index for structure ( coherent volatile buffer highp uint) 740:53 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 750:53 Constant: 760:53 0 (const uint) 770:53 'j' ( temp highp uint) 780:54 move second child to first child ( temp highp uint) 790:54 'j' ( temp highp uint) 800:54 AtomicMax ( global highp uint) 810:54 counter1: direct index for structure ( coherent volatile buffer highp uint) 820:54 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 830:54 Constant: 840:54 0 (const uint) 850:54 'j' ( temp highp uint) 860:55 move second child to first child ( temp highp uint) 870:55 'j' ( temp highp uint) 880:55 AtomicAnd ( global highp uint) 890:55 counter1: direct index for structure ( coherent volatile buffer highp uint) 900:55 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 910:55 Constant: 920:55 0 (const uint) 930:55 'j' ( temp highp uint) 940:57 move second child to first child ( temp highp uint) 950:57 'j' ( temp highp uint) 960:57 AtomicOr ( global highp uint) 970:57 counter1: direct index for structure ( coherent volatile buffer highp uint) 980:57 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 990:57 Constant: 1000:57 0 (const uint) 1010:57 'j' ( temp highp uint) 1020:58 move second child to first child ( temp highp uint) 1030:58 'j' ( temp highp uint) 1040:58 AtomicXor ( global highp uint) 1050:58 counter1: direct index for structure ( coherent volatile buffer highp uint) 1060:58 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 1070:58 Constant: 1080:58 0 (const uint) 1090:58 'j' ( temp highp uint) 1100:60 move second child to first child ( temp highp uint) 1110:60 'j' ( temp highp uint) 1120:60 AtomicExchange ( global highp uint) 1130:60 counter1: direct index for structure ( coherent volatile buffer highp uint) 1140:60 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 1150:60 Constant: 1160:60 0 (const uint) 1170:60 'j' ( temp highp uint) 1180:61 move second child to first child ( temp highp uint) 1190:61 'j' ( temp highp uint) 1200:61 AtomicCompSwap ( global highp uint) 1210:61 counter1: direct index for structure ( coherent volatile buffer highp uint) 1220:61 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 1230:61 Constant: 1240:61 0 (const uint) 1250:61 Constant: 1260:61 0 (const uint) 1270:61 'j' ( temp highp uint) 1280:63 AtomicAdd ( global highp uint) 1290:63 counter2: direct index for structure ( coherent volatile buffer highp uint) 1300:63 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 1310:63 Constant: 1320:63 1 (const uint) 1330:63 Constant: 1340:63 1 (const uint) 1350:64 AtomicAdd ( global highp uint) 1360:64 counter3: direct index for structure ( coherent volatile buffer highp uint) 1370:64 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3}) 1380:64 Constant: 1390:64 0 (const uint) 1400:64 Constant: 1410:64 1 (const uint) 1420:66 MemoryBarrierBuffer ( global void) 1430:68 Branch: Return with expression 1440:68 'j' ( temp highp uint) 1450:71 Function Definition: foo( ( global highp 4-component vector of float) 1460:71 Function Parameters: 1470:72 Sequence 1480:72 Sequence 1490:72 move second child to first child ( temp highp float) 1500:72 'f' ( temp highp float) 1510:72 add ( temp highp float) 1520:72 add ( temp highp float) 1530:72 add ( temp highp float) 1540:72 j: direct index for structure (layout( column_major std140) uniform highp float) 1550:72 '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:72 Constant: 1570:72 0 (const uint) 1580:72 j: direct index for structure (layout( column_major std430) buffer highp float) 1590:72 '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:72 Constant: 1610:72 0 (const int) 1620:72 y: direct index for structure ( global highp float) 1630:72 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers}) 1640:72 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 1650:72 Constant: 1660:72 4 (const uint) 1670:72 Constant: 1680:72 1 (const int) 1690:72 Convert uint to float ( temp highp float) 1700:72 z: direct index for structure ( global highp uint) 1710:72 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers}) 1720:72 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 1730:72 Constant: 1740:72 4 (const uint) 1750:72 Constant: 1760:72 2 (const int) 1770:73 Sequence 1780:73 move second child to first child ( temp highp 2-component vector of float) 1790:73 'v2' ( temp highp 2-component vector of float) 1800:73 add ( temp highp 2-component vector of float) 1810:73 add ( temp highp 2-component vector of float) 1820:73 b: direct index for structure ( uniform highp 2-component vector of float) 1830:73 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 1840:73 Constant: 1850:73 1 (const uint) 1860:73 c: direct index for structure ( uniform highp 2-component vector of float) 1870:73 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 1880:73 Constant: 1890:73 2 (const uint) 1900:73 x: direct index for structure ( global highp 2-component vector of float) 1910:73 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers}) 1920:73 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 1930:73 Constant: 1940:73 4 (const uint) 1950:73 Constant: 1960:73 0 (const int) 1970:74 Sequence 1980:74 move second child to first child ( temp highp 4-component vector of float) 1990:74 'v4' ( temp highp 4-component vector of float) 2000:74 add ( temp highp 4-component vector of float) 2010:74 add ( temp highp 4-component vector of float) 2020:74 add ( temp highp 4-component vector of float) 2030:74 add ( temp highp 4-component vector of float) 2040:74 add ( temp highp 4-component vector of float) 2050:74 add ( temp highp 4-component vector of float) 2060:74 add ( temp highp 4-component vector of float) 2070:74 a: direct index for structure ( uniform highp 4-component vector of float) 2080:74 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 2090:74 Constant: 2100:74 0 (const uint) 2110:74 direct index ( temp highp 4-component vector of float) 2120:74 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 2130:74 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 2140:74 Constant: 2150:74 3 (const uint) 2160:74 Constant: 2170:74 0 (const int) 2180:74 direct index ( temp highp 4-component vector of float) 2190:74 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 2200:74 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 2210:74 Constant: 2220:74 3 (const uint) 2230:74 Constant: 2240:74 1 (const int) 2250:74 direct index ( temp highp 4-component vector of float) 2260:74 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 2270:74 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 2280:74 Constant: 2290:74 3 (const uint) 2300:74 Constant: 2310:74 2 (const int) 2320:74 k: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float) 2330:74 '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}) 2340:74 Constant: 2350:74 1 (const uint) 2360:74 k: direct index for structure (layout( column_major std430) buffer highp 4-component vector of float) 2370:74 '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}) 2380:74 Constant: 2390:74 1 (const int) 2400:74 texture ( global highp 4-component vector of float) 2410:74 't1' ( uniform highp sampler2D) 2420:74 Constant: 2430:74 0.000000 2440:74 0.000000 2450:74 texture ( global highp 4-component vector of float) 2460:74 'structUniform.t0' ( uniform highp sampler2D) 2470:74 Constant: 2480:74 0.000000 2490:74 0.000000 2500:75 Branch: Return with expression 2510:75 component-wise multiply ( temp highp 4-component vector of float) 2520:75 component-wise multiply ( temp highp 4-component vector of float) 2530:75 Construct vec4 ( temp highp 4-component vector of float) 2540:75 'f' ( temp highp float) 2550:75 Construct vec4 ( temp highp 4-component vector of float) 2560:75 'v2' ( temp highp 2-component vector of float) 2570:75 Constant: 2580:75 1.000000 2590:75 Constant: 2600:75 1.000000 2610:75 'v4' ( temp highp 4-component vector of float) 2620:78 Function Definition: baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21; ( global highp 4-component vector of float) 2630:78 Function Parameters: 2640:78 'samplers' ( in structure{ global 4-element array of highp int /*tn*/}) 2650:78 'samplers.tn[0]' ( in highp sampler2D) 2660:78 'samplers.tn[1]' ( in highp sampler2D) 2670:78 'samplers.tn[2]' ( in highp sampler2D) 2680:78 'samplers.tn[3]' ( in highp sampler2D) 2690:79 Sequence 2700:79 Branch: Return with expression 2710:79 add ( temp highp 4-component vector of float) 2720:79 add ( temp highp 4-component vector of float) 2730:79 add ( temp highp 4-component vector of float) 2740:79 texture ( global highp 4-component vector of float) 2750:79 'samplers.tn[0]' ( in highp sampler2D) 2760:79 Constant: 2770:79 0.000000 2780:79 0.000000 2790:79 texture ( global highp 4-component vector of float) 2800:79 'samplers.tn[1]' ( in highp sampler2D) 2810:79 Constant: 2820:79 0.000000 2830:79 0.000000 2840:79 texture ( global highp 4-component vector of float) 2850:79 'samplers.tn[2]' ( in highp sampler2D) 2860:79 Constant: 2870:79 0.000000 2880:79 0.000000 2890:79 texture ( global highp 4-component vector of float) 2900:79 'samplers.tn[3]' ( in highp sampler2D) 2910:79 Constant: 2920:79 0.000000 2930:79 0.000000 2940:82 Function Definition: main( ( global void) 2950:82 Function Parameters: 2960:83 Sequence 2970:83 Sequence 2980:83 move second child to first child ( temp highp float) 2990:83 'j' ( temp highp float) 3000:83 Convert uint to float ( temp highp float) 3010:83 Function Call: bar( ( global highp uint) 3020:84 move second child to first child ( temp highp 4-component vector of float) 3030:84 'o' ( out highp 4-component vector of float) 3040:84 add ( temp highp 4-component vector of float) 3050:84 vector-scale ( temp highp 4-component vector of float) 3060:84 'j' ( temp highp float) 3070:84 Function Call: foo( ( global highp 4-component vector of float) 3080:84 Function Call: baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21; ( global highp 4-component vector of float) 3090:84 samplers: direct index for structure ( global structure{ global 4-element array of highp int /*tn*/}) 3100:84 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers}) 3110:84 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 3120:84 Constant: 3130:84 4 (const uint) 3140:84 Constant: 3150:84 4 (const int) 3160:84 'structUniform.samplers.tn[0]' ( uniform highp sampler2D) 3170:84 'structUniform.samplers.tn[1]' ( uniform highp sampler2D) 3180:84 'structUniform.samplers.tn[2]' ( uniform highp sampler2D) 3190:84 'structUniform.samplers.tn[3]' ( uniform highp sampler2D) 3200:? Linker Objects 3210:? 'o' ( out highp 4-component vector of float) 3220:? '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 3230:? 'structUniform.t0' ( uniform highp sampler2D) 3240:? 'structUniform.samplers.tn[0]' ( uniform highp sampler2D) 3250:? 'structUniform.samplers.tn[1]' ( uniform highp sampler2D) 3260:? 'structUniform.samplers.tn[2]' ( uniform highp sampler2D) 3270:? 'structUniform.samplers.tn[3]' ( uniform highp sampler2D) 3280:? 't1' ( uniform highp sampler2D) 3290:? '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}) 3300:? '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}) 3310:? 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3320:? 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3}) 333 334 335Linked fragment stage: 336 337 338Shader version: 460 339gl_FragCoord origin is upper left 3400:? Sequence 3410:43 Function Definition: bar( ( global highp uint) 3420:43 Function Parameters: 3430:44 Sequence 3440:44 Sequence 3450:44 move second child to first child ( temp highp uint) 3460:44 'j' ( temp highp uint) 3470:44 Constant: 3480:44 0 (const uint) 3490:45 move second child to first child ( temp highp uint) 3500:45 'j' ( temp highp uint) 3510:45 AtomicAdd ( global highp uint) 3520:45 counter1: direct index for structure ( coherent volatile buffer highp uint) 3530:45 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3540:45 Constant: 3550:45 0 (const uint) 3560:45 Constant: 3570:45 1 (const uint) 3580:46 move second child to first child ( temp highp uint) 3590:46 'j' ( temp highp uint) 3600:46 subtract ( temp highp uint) 3610:46 AtomicAdd ( global highp uint) 3620:46 counter1: direct index for structure ( coherent volatile buffer highp uint) 3630:46 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3640:46 Constant: 3650:46 0 (const uint) 3660:46 Constant: 3670:46 4294967295 (const uint) 3680:46 Constant: 3690:46 1 (const uint) 3700:47 move second child to first child ( temp highp uint) 3710:47 'j' ( temp highp uint) 3720:47 counter1: direct index for structure ( coherent volatile buffer highp uint) 3730:47 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3740:47 Constant: 3750:47 0 (const uint) 3760:49 move second child to first child ( temp highp uint) 3770:49 'j' ( temp highp uint) 3780:49 AtomicAdd ( global highp uint) 3790:49 counter1: direct index for structure ( coherent volatile buffer highp uint) 3800:49 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3810:49 Constant: 3820:49 0 (const uint) 3830:49 Constant: 3840:49 1 (const uint) 3850:50 move second child to first child ( temp highp uint) 3860:50 'j' ( temp highp uint) 3870:50 AtomicAdd ( global highp uint) 3880:50 counter1: direct index for structure ( coherent volatile buffer highp uint) 3890:50 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3900:50 Constant: 3910:50 0 (const uint) 3920:50 Constant: 3930:50 4294967295 (const uint) 3940:51 move second child to first child ( temp highp uint) 3950:51 'j' ( temp highp uint) 3960:51 AtomicSubtract ( global highp uint) 3970:51 counter1: direct index for structure ( coherent volatile buffer highp uint) 3980:51 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 3990:51 Constant: 4000:51 0 (const uint) 4010:51 Constant: 4020:51 1 (const uint) 4030:53 move second child to first child ( temp highp uint) 4040:53 'j' ( temp highp uint) 4050:53 AtomicMin ( global highp uint) 4060:53 counter1: direct index for structure ( coherent volatile buffer highp uint) 4070:53 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 4080:53 Constant: 4090:53 0 (const uint) 4100:53 'j' ( temp highp uint) 4110:54 move second child to first child ( temp highp uint) 4120:54 'j' ( temp highp uint) 4130:54 AtomicMax ( global highp uint) 4140:54 counter1: direct index for structure ( coherent volatile buffer highp uint) 4150:54 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 4160:54 Constant: 4170:54 0 (const uint) 4180:54 'j' ( temp highp uint) 4190:55 move second child to first child ( temp highp uint) 4200:55 'j' ( temp highp uint) 4210:55 AtomicAnd ( global highp uint) 4220:55 counter1: direct index for structure ( coherent volatile buffer highp uint) 4230:55 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 4240:55 Constant: 4250:55 0 (const uint) 4260:55 'j' ( temp highp uint) 4270:57 move second child to first child ( temp highp uint) 4280:57 'j' ( temp highp uint) 4290:57 AtomicOr ( global highp uint) 4300:57 counter1: direct index for structure ( coherent volatile buffer highp uint) 4310:57 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 4320:57 Constant: 4330:57 0 (const uint) 4340:57 'j' ( temp highp uint) 4350:58 move second child to first child ( temp highp uint) 4360:58 'j' ( temp highp uint) 4370:58 AtomicXor ( global highp uint) 4380:58 counter1: direct index for structure ( coherent volatile buffer highp uint) 4390:58 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 4400:58 Constant: 4410:58 0 (const uint) 4420:58 'j' ( temp highp uint) 4430:60 move second child to first child ( temp highp uint) 4440:60 'j' ( temp highp uint) 4450:60 AtomicExchange ( global highp uint) 4460:60 counter1: direct index for structure ( coherent volatile buffer highp uint) 4470:60 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 4480:60 Constant: 4490:60 0 (const uint) 4500:60 'j' ( temp highp uint) 4510:61 move second child to first child ( temp highp uint) 4520:61 'j' ( temp highp uint) 4530:61 AtomicCompSwap ( global highp uint) 4540:61 counter1: direct index for structure ( coherent volatile buffer highp uint) 4550:61 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 4560:61 Constant: 4570:61 0 (const uint) 4580:61 Constant: 4590:61 0 (const uint) 4600:61 'j' ( temp highp uint) 4610:63 AtomicAdd ( global highp uint) 4620:63 counter2: direct index for structure ( coherent volatile buffer highp uint) 4630:63 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 4640:63 Constant: 4650:63 1 (const uint) 4660:63 Constant: 4670:63 1 (const uint) 4680:64 AtomicAdd ( global highp uint) 4690:64 counter3: direct index for structure ( coherent volatile buffer highp uint) 4700:64 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3}) 4710:64 Constant: 4720:64 0 (const uint) 4730:64 Constant: 4740:64 1 (const uint) 4750:66 MemoryBarrierBuffer ( global void) 4760:68 Branch: Return with expression 4770:68 'j' ( temp highp uint) 4780:71 Function Definition: foo( ( global highp 4-component vector of float) 4790:71 Function Parameters: 4800:72 Sequence 4810:72 Sequence 4820:72 move second child to first child ( temp highp float) 4830:72 'f' ( temp highp float) 4840:72 add ( temp highp float) 4850:72 add ( temp highp float) 4860:72 add ( temp highp float) 4870:72 j: direct index for structure (layout( column_major std140) uniform highp float) 4880:72 '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}) 4890:72 Constant: 4900:72 0 (const uint) 4910:72 j: direct index for structure (layout( column_major std430) buffer highp float) 4920:72 '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}) 4930:72 Constant: 4940:72 0 (const int) 4950:72 y: direct index for structure ( global highp float) 4960:72 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers}) 4970:72 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 4980:72 Constant: 4990:72 4 (const uint) 5000:72 Constant: 5010:72 1 (const int) 5020:72 Convert uint to float ( temp highp float) 5030:72 z: direct index for structure ( global highp uint) 5040:72 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers}) 5050:72 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 5060:72 Constant: 5070:72 4 (const uint) 5080:72 Constant: 5090:72 2 (const int) 5100:73 Sequence 5110:73 move second child to first child ( temp highp 2-component vector of float) 5120:73 'v2' ( temp highp 2-component vector of float) 5130:73 add ( temp highp 2-component vector of float) 5140:73 add ( temp highp 2-component vector of float) 5150:73 b: direct index for structure ( uniform highp 2-component vector of float) 5160:73 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 5170:73 Constant: 5180:73 1 (const uint) 5190:73 c: direct index for structure ( uniform highp 2-component vector of float) 5200:73 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 5210:73 Constant: 5220:73 2 (const uint) 5230:73 x: direct index for structure ( global highp 2-component vector of float) 5240:73 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers}) 5250:73 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 5260:73 Constant: 5270:73 4 (const uint) 5280:73 Constant: 5290:73 0 (const int) 5300:74 Sequence 5310:74 move second child to first child ( temp highp 4-component vector of float) 5320:74 'v4' ( temp highp 4-component vector of float) 5330:74 add ( temp highp 4-component vector of float) 5340:74 add ( temp highp 4-component vector of float) 5350:74 add ( temp highp 4-component vector of float) 5360:74 add ( temp highp 4-component vector of float) 5370:74 add ( temp highp 4-component vector of float) 5380:74 add ( temp highp 4-component vector of float) 5390:74 add ( temp highp 4-component vector of float) 5400:74 a: direct index for structure ( uniform highp 4-component vector of float) 5410:74 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 5420:74 Constant: 5430:74 0 (const uint) 5440:74 direct index ( temp highp 4-component vector of float) 5450:74 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 5460:74 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 5470:74 Constant: 5480:74 3 (const uint) 5490:74 Constant: 5500:74 0 (const int) 5510:74 direct index ( temp highp 4-component vector of float) 5520:74 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 5530:74 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 5540:74 Constant: 5550:74 3 (const uint) 5560:74 Constant: 5570:74 1 (const int) 5580:74 direct index ( temp highp 4-component vector of float) 5590:74 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 5600:74 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 5610:74 Constant: 5620:74 3 (const uint) 5630:74 Constant: 5640:74 2 (const int) 5650:74 k: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float) 5660:74 '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}) 5670:74 Constant: 5680:74 1 (const uint) 5690:74 k: direct index for structure (layout( column_major std430) buffer highp 4-component vector of float) 5700:74 '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}) 5710:74 Constant: 5720:74 1 (const int) 5730:74 texture ( global highp 4-component vector of float) 5740:74 't1' ( uniform highp sampler2D) 5750:74 Constant: 5760:74 0.000000 5770:74 0.000000 5780:74 texture ( global highp 4-component vector of float) 5790:74 'structUniform.t0' ( uniform highp sampler2D) 5800:74 Constant: 5810:74 0.000000 5820:74 0.000000 5830:75 Branch: Return with expression 5840:75 component-wise multiply ( temp highp 4-component vector of float) 5850:75 component-wise multiply ( temp highp 4-component vector of float) 5860:75 Construct vec4 ( temp highp 4-component vector of float) 5870:75 'f' ( temp highp float) 5880:75 Construct vec4 ( temp highp 4-component vector of float) 5890:75 'v2' ( temp highp 2-component vector of float) 5900:75 Constant: 5910:75 1.000000 5920:75 Constant: 5930:75 1.000000 5940:75 'v4' ( temp highp 4-component vector of float) 5950:78 Function Definition: baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21; ( global highp 4-component vector of float) 5960:78 Function Parameters: 5970:78 'samplers' ( in structure{ global 4-element array of highp int /*tn*/}) 5980:78 'samplers.tn[0]' ( in highp sampler2D) 5990:78 'samplers.tn[1]' ( in highp sampler2D) 6000:78 'samplers.tn[2]' ( in highp sampler2D) 6010:78 'samplers.tn[3]' ( in highp sampler2D) 6020:79 Sequence 6030:79 Branch: Return with expression 6040:79 add ( temp highp 4-component vector of float) 6050:79 add ( temp highp 4-component vector of float) 6060:79 add ( temp highp 4-component vector of float) 6070:79 texture ( global highp 4-component vector of float) 6080:79 'samplers.tn[0]' ( in highp sampler2D) 6090:79 Constant: 6100:79 0.000000 6110:79 0.000000 6120:79 texture ( global highp 4-component vector of float) 6130:79 'samplers.tn[1]' ( in highp sampler2D) 6140:79 Constant: 6150:79 0.000000 6160:79 0.000000 6170:79 texture ( global highp 4-component vector of float) 6180:79 'samplers.tn[2]' ( in highp sampler2D) 6190:79 Constant: 6200:79 0.000000 6210:79 0.000000 6220:79 texture ( global highp 4-component vector of float) 6230:79 'samplers.tn[3]' ( in highp sampler2D) 6240:79 Constant: 6250:79 0.000000 6260:79 0.000000 6270:82 Function Definition: main( ( global void) 6280:82 Function Parameters: 6290:83 Sequence 6300:83 Sequence 6310:83 move second child to first child ( temp highp float) 6320:83 'j' ( temp highp float) 6330:83 Convert uint to float ( temp highp float) 6340:83 Function Call: bar( ( global highp uint) 6350:84 move second child to first child ( temp highp 4-component vector of float) 6360:84 'o' ( out highp 4-component vector of float) 6370:84 add ( temp highp 4-component vector of float) 6380:84 vector-scale ( temp highp 4-component vector of float) 6390:84 'j' ( temp highp float) 6400:84 Function Call: foo( ( global highp 4-component vector of float) 6410:84 Function Call: baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21; ( global highp 4-component vector of float) 6420:84 samplers: direct index for structure ( global structure{ global 4-element array of highp int /*tn*/}) 6430:84 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers}) 6440:84 '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 6450:84 Constant: 6460:84 4 (const uint) 6470:84 Constant: 6480:84 4 (const int) 6490:84 'structUniform.samplers.tn[0]' ( uniform highp sampler2D) 6500:84 'structUniform.samplers.tn[1]' ( uniform highp sampler2D) 6510:84 'structUniform.samplers.tn[2]' ( uniform highp sampler2D) 6520:84 'structUniform.samplers.tn[3]' ( uniform highp sampler2D) 6530:? Linker Objects 6540:? 'o' ( out highp 4-component vector of float) 6550:? '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, global highp int /*t0*/, global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform}) 6560:? 'structUniform.t0' ( uniform highp sampler2D) 6570:? 'structUniform.samplers.tn[0]' ( uniform highp sampler2D) 6580:? 'structUniform.samplers.tn[1]' ( uniform highp sampler2D) 6590:? 'structUniform.samplers.tn[2]' ( uniform highp sampler2D) 6600:? 'structUniform.samplers.tn[3]' ( uniform highp sampler2D) 6610:? 't1' ( uniform highp sampler2D) 6620:? '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}) 6630:? '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}) 6640:? 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 6650:? 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3}) 666 667// Module Version 10000 668// Generated by (magic number): 8000b 669// Id's are bound by 216 670 671 Capability Shader 672 1: ExtInstImport "GLSL.std.450" 673 MemoryModel Logical GLSL450 674 EntryPoint Fragment 4 "main" 190 675 ExecutionMode 4 OriginUpperLeft 676 Source GLSL 460 677 Name 4 "main" 678 Name 8 "bar(" 679 Name 13 "foo(" 680 Name 18 "SamplerArray" 681 MemberName 18(SamplerArray) 0 "/*tn*/" 682 Name 29 "baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21;" 683 Name 24 "samplers" 684 Name 25 "samplers.tn[0]" 685 Name 26 "samplers.tn[1]" 686 Name 27 "samplers.tn[2]" 687 Name 28 "samplers.tn[3]" 688 Name 32 "j" 689 Name 34 "gl_AtomicCounterBlock_0" 690 MemberName 34(gl_AtomicCounterBlock_0) 0 "counter1" 691 MemberName 34(gl_AtomicCounterBlock_0) 1 "counter2" 692 Name 36 "" 693 Name 78 "gl_AtomicCounterBlock_1" 694 MemberName 78(gl_AtomicCounterBlock_1) 0 "counter3" 695 Name 80 "" 696 Name 88 "f" 697 Name 89 "UniformBlock" 698 MemberName 89(UniformBlock) 0 "j" 699 MemberName 89(UniformBlock) 1 "k" 700 Name 91 "" 701 Name 95 "BufferBlock" 702 MemberName 95(BufferBlock) 0 "j" 703 MemberName 95(BufferBlock) 1 "k" 704 Name 97 "bufferInstance" 705 Name 105 "SamplerArray" 706 MemberName 105(SamplerArray) 0 "/*tn*/" 707 Name 106 "e" 708 MemberName 106(e) 0 "x" 709 MemberName 106(e) 1 "y" 710 MemberName 106(e) 2 "z" 711 MemberName 106(e) 3 "/*t0*/" 712 MemberName 106(e) 4 "samplers" 713 Name 107 "gl_DefaultUniformBlock" 714 MemberName 107(gl_DefaultUniformBlock) 0 "a" 715 MemberName 107(gl_DefaultUniformBlock) 1 "b" 716 MemberName 107(gl_DefaultUniformBlock) 2 "c" 717 MemberName 107(gl_DefaultUniformBlock) 3 "d" 718 MemberName 107(gl_DefaultUniformBlock) 4 "structUniform" 719 Name 109 "" 720 Name 120 "v2" 721 Name 131 "v4" 722 Name 151 "t1" 723 Name 157 "structUniform.t0" 724 Name 186 "j" 725 Name 190 "o" 726 Name 194 "structUniform.samplers.tn[0]" 727 Name 195 "structUniform.samplers.tn[1]" 728 Name 196 "structUniform.samplers.tn[2]" 729 Name 197 "structUniform.samplers.tn[3]" 730 Name 198 "param" 731 MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Coherent 732 MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Volatile 733 MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Coherent 734 MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Offset 0 735 MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Coherent 736 MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Volatile 737 MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Coherent 738 MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Offset 4 739 Decorate 34(gl_AtomicCounterBlock_0) BufferBlock 740 Decorate 36 DescriptorSet 0 741 Decorate 36 Binding 9 742 MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Coherent 743 MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Volatile 744 MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Coherent 745 MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Offset 0 746 Decorate 78(gl_AtomicCounterBlock_1) BufferBlock 747 Decorate 80 DescriptorSet 0 748 Decorate 80 Binding 10 749 MemberDecorate 89(UniformBlock) 0 Offset 0 750 MemberDecorate 89(UniformBlock) 1 Offset 16 751 Decorate 89(UniformBlock) Block 752 Decorate 91 DescriptorSet 0 753 Decorate 91 Binding 7 754 MemberDecorate 95(BufferBlock) 0 Offset 0 755 MemberDecorate 95(BufferBlock) 1 Offset 16 756 Decorate 95(BufferBlock) BufferBlock 757 Decorate 97(bufferInstance) DescriptorSet 0 758 Decorate 97(bufferInstance) Binding 8 759 Decorate 103 ArrayStride 16 760 Decorate 104 ArrayStride 16 761 MemberDecorate 105(SamplerArray) 0 Offset 0 762 MemberDecorate 106(e) 0 Offset 0 763 MemberDecorate 106(e) 1 Offset 8 764 MemberDecorate 106(e) 2 Offset 12 765 MemberDecorate 106(e) 3 Offset 16 766 MemberDecorate 106(e) 4 Offset 32 767 MemberDecorate 107(gl_DefaultUniformBlock) 0 Offset 0 768 MemberDecorate 107(gl_DefaultUniformBlock) 1 Offset 16 769 MemberDecorate 107(gl_DefaultUniformBlock) 2 Offset 24 770 MemberDecorate 107(gl_DefaultUniformBlock) 3 Offset 32 771 MemberDecorate 107(gl_DefaultUniformBlock) 4 Offset 192 772 Decorate 107(gl_DefaultUniformBlock) Block 773 Decorate 109 DescriptorSet 0 774 Decorate 109 Binding 0 775 Decorate 151(t1) DescriptorSet 0 776 Decorate 151(t1) Binding 6 777 Decorate 157(structUniform.t0) DescriptorSet 0 778 Decorate 157(structUniform.t0) Binding 1 779 Decorate 190(o) Location 0 780 Decorate 194(structUniform.samplers.tn[0]) DescriptorSet 0 781 Decorate 194(structUniform.samplers.tn[0]) Binding 2 782 Decorate 195(structUniform.samplers.tn[1]) DescriptorSet 0 783 Decorate 195(structUniform.samplers.tn[1]) Binding 3 784 Decorate 196(structUniform.samplers.tn[2]) DescriptorSet 0 785 Decorate 196(structUniform.samplers.tn[2]) Binding 4 786 Decorate 197(structUniform.samplers.tn[3]) DescriptorSet 0 787 Decorate 197(structUniform.samplers.tn[3]) Binding 5 788 2: TypeVoid 789 3: TypeFunction 2 790 6: TypeInt 32 0 791 7: TypeFunction 6(int) 792 10: TypeFloat 32 793 11: TypeVector 10(float) 4 794 12: TypeFunction 11(fvec4) 795 15: TypeInt 32 1 796 16: 6(int) Constant 4 797 17: TypeArray 15(int) 16 79818(SamplerArray): TypeStruct 17 799 19: TypePointer Function 18(SamplerArray) 800 20: TypeImage 10(float) 2D sampled format:Unknown 801 21: TypeSampledImage 20 802 22: TypePointer UniformConstant 21 803 23: TypeFunction 11(fvec4) 19(ptr) 22(ptr) 22(ptr) 22(ptr) 22(ptr) 804 31: TypePointer Function 6(int) 805 33: 6(int) Constant 0 80634(gl_AtomicCounterBlock_0): TypeStruct 6(int) 6(int) 807 35: TypePointer Uniform 34(gl_AtomicCounterBlock_0) 808 36: 35(ptr) Variable Uniform 809 37: 15(int) Constant 0 810 38: TypePointer Uniform 6(int) 811 40: 6(int) Constant 1 812 43: 6(int) Constant 4294967295 813 75: 15(int) Constant 1 81478(gl_AtomicCounterBlock_1): TypeStruct 6(int) 815 79: TypePointer Uniform 78(gl_AtomicCounterBlock_1) 816 80: 79(ptr) Variable Uniform 817 83: 6(int) Constant 72 818 87: TypePointer Function 10(float) 81989(UniformBlock): TypeStruct 10(float) 11(fvec4) 820 90: TypePointer Uniform 89(UniformBlock) 821 91: 90(ptr) Variable Uniform 822 92: TypePointer Uniform 10(float) 823 95(BufferBlock): TypeStruct 10(float) 11(fvec4) 824 96: TypePointer Uniform 95(BufferBlock) 82597(bufferInstance): 96(ptr) Variable Uniform 826 101: TypeVector 10(float) 2 827 102: 6(int) Constant 10 828 103: TypeArray 11(fvec4) 102 829 104: TypeArray 15(int) 16 830105(SamplerArray): TypeStruct 104 831 106(e): TypeStruct 101(fvec2) 10(float) 6(int) 15(int) 105(SamplerArray) 832107(gl_DefaultUniformBlock): TypeStruct 11(fvec4) 101(fvec2) 101(fvec2) 103 106(e) 833 108: TypePointer Uniform 107(gl_DefaultUniformBlock) 834 109: 108(ptr) Variable Uniform 835 110: 15(int) Constant 4 836 114: 15(int) Constant 2 837 119: TypePointer Function 101(fvec2) 838 121: TypePointer Uniform 101(fvec2) 839 130: TypePointer Function 11(fvec4) 840 132: TypePointer Uniform 11(fvec4) 841 135: 15(int) Constant 3 842 151(t1): 22(ptr) Variable UniformConstant 843 153: 10(float) Constant 0 844 154: 101(fvec2) ConstantComposite 153 153 845157(structUniform.t0): 22(ptr) Variable UniformConstant 846 164: 10(float) Constant 1065353216 847 189: TypePointer Output 11(fvec4) 848 190(o): 189(ptr) Variable Output 849194(structUniform.samplers.tn[0]): 22(ptr) Variable UniformConstant 850195(structUniform.samplers.tn[1]): 22(ptr) Variable UniformConstant 851196(structUniform.samplers.tn[2]): 22(ptr) Variable UniformConstant 852197(structUniform.samplers.tn[3]): 22(ptr) Variable UniformConstant 853 199: TypePointer Uniform 105(SamplerArray) 854 203: TypePointer Function 17 855 206: TypePointer Function 15(int) 856 4(main): 2 Function None 3 857 5: Label 858 186(j): 87(ptr) Variable Function 859 198(param): 19(ptr) Variable Function 860 187: 6(int) FunctionCall 8(bar() 861 188: 10(float) ConvertUToF 187 862 Store 186(j) 188 863 191: 10(float) Load 186(j) 864 192: 11(fvec4) FunctionCall 13(foo() 865 193: 11(fvec4) VectorTimesScalar 192 191 866 200: 199(ptr) AccessChain 109 110 110 867 201:105(SamplerArray) Load 200 868 202: 104 CompositeExtract 201 0 869 204: 203(ptr) AccessChain 198(param) 37 870 205: 15(int) CompositeExtract 202 0 871 207: 206(ptr) AccessChain 204 37 872 Store 207 205 873 208: 15(int) CompositeExtract 202 1 874 209: 206(ptr) AccessChain 204 75 875 Store 209 208 876 210: 15(int) CompositeExtract 202 2 877 211: 206(ptr) AccessChain 204 114 878 Store 211 210 879 212: 15(int) CompositeExtract 202 3 880 213: 206(ptr) AccessChain 204 135 881 Store 213 212 882 214: 11(fvec4) FunctionCall 29(baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21;) 198(param) 194(structUniform.samplers.tn[0]) 195(structUniform.samplers.tn[1]) 196(structUniform.samplers.tn[2]) 197(structUniform.samplers.tn[3]) 883 215: 11(fvec4) FAdd 193 214 884 Store 190(o) 215 885 Return 886 FunctionEnd 887 8(bar(): 6(int) Function None 7 888 9: Label 889 32(j): 31(ptr) Variable Function 890 Store 32(j) 33 891 39: 38(ptr) AccessChain 36 37 892 41: 6(int) AtomicIAdd 39 40 33 40 893 Store 32(j) 41 894 42: 38(ptr) AccessChain 36 37 895 44: 6(int) AtomicIAdd 42 40 33 43 896 45: 6(int) ISub 44 40 897 Store 32(j) 45 898 46: 38(ptr) AccessChain 36 37 899 47: 6(int) Load 46 900 Store 32(j) 47 901 48: 38(ptr) AccessChain 36 37 902 49: 6(int) AtomicIAdd 48 40 33 40 903 Store 32(j) 49 904 50: 38(ptr) AccessChain 36 37 905 51: 6(int) AtomicIAdd 50 40 33 43 906 Store 32(j) 51 907 52: 38(ptr) AccessChain 36 37 908 53: 6(int) AtomicISub 52 40 33 40 909 Store 32(j) 53 910 54: 38(ptr) AccessChain 36 37 911 55: 6(int) Load 32(j) 912 56: 6(int) AtomicUMin 54 40 33 55 913 Store 32(j) 56 914 57: 38(ptr) AccessChain 36 37 915 58: 6(int) Load 32(j) 916 59: 6(int) AtomicUMax 57 40 33 58 917 Store 32(j) 59 918 60: 38(ptr) AccessChain 36 37 919 61: 6(int) Load 32(j) 920 62: 6(int) AtomicAnd 60 40 33 61 921 Store 32(j) 62 922 63: 38(ptr) AccessChain 36 37 923 64: 6(int) Load 32(j) 924 65: 6(int) AtomicOr 63 40 33 64 925 Store 32(j) 65 926 66: 38(ptr) AccessChain 36 37 927 67: 6(int) Load 32(j) 928 68: 6(int) AtomicXor 66 40 33 67 929 Store 32(j) 68 930 69: 38(ptr) AccessChain 36 37 931 70: 6(int) Load 32(j) 932 71: 6(int) AtomicExchange 69 40 33 70 933 Store 32(j) 71 934 72: 38(ptr) AccessChain 36 37 935 73: 6(int) Load 32(j) 936 74: 6(int) AtomicCompareExchange 72 40 33 33 73 33 937 Store 32(j) 74 938 76: 38(ptr) AccessChain 36 75 939 77: 6(int) AtomicIAdd 76 40 33 40 940 81: 38(ptr) AccessChain 80 37 941 82: 6(int) AtomicIAdd 81 40 33 40 942 MemoryBarrier 40 83 943 84: 6(int) Load 32(j) 944 ReturnValue 84 945 FunctionEnd 946 13(foo(): 11(fvec4) Function None 12 947 14: Label 948 88(f): 87(ptr) Variable Function 949 120(v2): 119(ptr) Variable Function 950 131(v4): 130(ptr) Variable Function 951 93: 92(ptr) AccessChain 91 37 952 94: 10(float) Load 93 953 98: 92(ptr) AccessChain 97(bufferInstance) 37 954 99: 10(float) Load 98 955 100: 10(float) FAdd 94 99 956 111: 92(ptr) AccessChain 109 110 75 957 112: 10(float) Load 111 958 113: 10(float) FAdd 100 112 959 115: 38(ptr) AccessChain 109 110 114 960 116: 6(int) Load 115 961 117: 10(float) ConvertUToF 116 962 118: 10(float) FAdd 113 117 963 Store 88(f) 118 964 122: 121(ptr) AccessChain 109 75 965 123: 101(fvec2) Load 122 966 124: 121(ptr) AccessChain 109 114 967 125: 101(fvec2) Load 124 968 126: 101(fvec2) FAdd 123 125 969 127: 121(ptr) AccessChain 109 110 37 970 128: 101(fvec2) Load 127 971 129: 101(fvec2) FAdd 126 128 972 Store 120(v2) 129 973 133: 132(ptr) AccessChain 109 37 974 134: 11(fvec4) Load 133 975 136: 132(ptr) AccessChain 109 135 37 976 137: 11(fvec4) Load 136 977 138: 11(fvec4) FAdd 134 137 978 139: 132(ptr) AccessChain 109 135 75 979 140: 11(fvec4) Load 139 980 141: 11(fvec4) FAdd 138 140 981 142: 132(ptr) AccessChain 109 135 114 982 143: 11(fvec4) Load 142 983 144: 11(fvec4) FAdd 141 143 984 145: 132(ptr) AccessChain 91 75 985 146: 11(fvec4) Load 145 986 147: 11(fvec4) FAdd 144 146 987 148: 132(ptr) AccessChain 97(bufferInstance) 75 988 149: 11(fvec4) Load 148 989 150: 11(fvec4) FAdd 147 149 990 152: 21 Load 151(t1) 991 155: 11(fvec4) ImageSampleImplicitLod 152 154 992 156: 11(fvec4) FAdd 150 155 993 158: 21 Load 157(structUniform.t0) 994 159: 11(fvec4) ImageSampleImplicitLod 158 154 995 160: 11(fvec4) FAdd 156 159 996 Store 131(v4) 160 997 161: 10(float) Load 88(f) 998 162: 11(fvec4) CompositeConstruct 161 161 161 161 999 163: 101(fvec2) Load 120(v2) 1000 165: 10(float) CompositeExtract 163 0 1001 166: 10(float) CompositeExtract 163 1 1002 167: 11(fvec4) CompositeConstruct 165 166 164 164 1003 168: 11(fvec4) FMul 162 167 1004 169: 11(fvec4) Load 131(v4) 1005 170: 11(fvec4) FMul 168 169 1006 ReturnValue 170 1007 FunctionEnd 100829(baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21;): 11(fvec4) Function None 23 1009 24(samplers): 19(ptr) FunctionParameter 101025(samplers.tn[0]): 22(ptr) FunctionParameter 101126(samplers.tn[1]): 22(ptr) FunctionParameter 101227(samplers.tn[2]): 22(ptr) FunctionParameter 101328(samplers.tn[3]): 22(ptr) FunctionParameter 1014 30: Label 1015 173: 21 Load 25(samplers.tn[0]) 1016 174: 11(fvec4) ImageSampleImplicitLod 173 154 1017 175: 21 Load 26(samplers.tn[1]) 1018 176: 11(fvec4) ImageSampleImplicitLod 175 154 1019 177: 11(fvec4) FAdd 174 176 1020 178: 21 Load 27(samplers.tn[2]) 1021 179: 11(fvec4) ImageSampleImplicitLod 178 154 1022 180: 11(fvec4) FAdd 177 179 1023 181: 21 Load 28(samplers.tn[3]) 1024 182: 11(fvec4) ImageSampleImplicitLod 181 154 1025 183: 11(fvec4) FAdd 180 182 1026 ReturnValue 183 1027 FunctionEnd 1028