vk.relaxed.frag WARNING: 0:7: 'b' : Ignoring initializer for uniform WARNING: 0:8: 'c' : ignoring layout qualifier for uniform location Shader version: 460 gl_FragCoord origin is upper left 0:? Sequence 0:43 Function Definition: bar( ( global highp uint) 0:43 Function Parameters: 0:44 Sequence 0:44 Sequence 0:44 move second child to first child ( temp highp uint) 0:44 'j' ( temp highp uint) 0:44 Constant: 0:44 0 (const uint) 0:45 move second child to first child ( temp highp uint) 0:45 'j' ( temp highp uint) 0:45 AtomicAdd ( global highp uint) 0:45 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:45 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:45 Constant: 0:45 0 (const uint) 0:45 Constant: 0:45 1 (const uint) 0:46 move second child to first child ( temp highp uint) 0:46 'j' ( temp highp uint) 0:46 subtract ( temp highp uint) 0:46 AtomicAdd ( global highp uint) 0:46 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:46 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:46 Constant: 0:46 0 (const uint) 0:46 Constant: 0:46 4294967295 (const uint) 0:46 Constant: 0:46 1 (const uint) 0:47 move second child to first child ( temp highp uint) 0:47 'j' ( temp highp uint) 0:47 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:47 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:47 Constant: 0:47 0 (const uint) 0:49 move second child to first child ( temp highp uint) 0:49 'j' ( temp highp uint) 0:49 AtomicAdd ( global highp uint) 0:49 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:49 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:49 Constant: 0:49 0 (const uint) 0:49 Constant: 0:49 1 (const uint) 0:50 move second child to first child ( temp highp uint) 0:50 'j' ( temp highp uint) 0:50 AtomicAdd ( global highp uint) 0:50 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:50 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:50 Constant: 0:50 0 (const uint) 0:50 Constant: 0:50 4294967295 (const uint) 0:51 move second child to first child ( temp highp uint) 0:51 'j' ( temp highp uint) 0:51 AtomicSubtract ( global highp uint) 0:51 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:51 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:51 Constant: 0:51 0 (const uint) 0:51 Constant: 0:51 1 (const uint) 0:53 move second child to first child ( temp highp uint) 0:53 'j' ( temp highp uint) 0:53 AtomicMin ( global highp uint) 0:53 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:53 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:53 Constant: 0:53 0 (const uint) 0:53 'j' ( temp highp uint) 0:54 move second child to first child ( temp highp uint) 0:54 'j' ( temp highp uint) 0:54 AtomicMax ( global highp uint) 0:54 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:54 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:54 Constant: 0:54 0 (const uint) 0:54 'j' ( temp highp uint) 0:55 move second child to first child ( temp highp uint) 0:55 'j' ( temp highp uint) 0:55 AtomicAnd ( global highp uint) 0:55 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:55 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:55 Constant: 0:55 0 (const uint) 0:55 'j' ( temp highp uint) 0:57 move second child to first child ( temp highp uint) 0:57 'j' ( temp highp uint) 0:57 AtomicOr ( global highp uint) 0:57 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:57 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:57 Constant: 0:57 0 (const uint) 0:57 'j' ( temp highp uint) 0:58 move second child to first child ( temp highp uint) 0:58 'j' ( temp highp uint) 0:58 AtomicXor ( global highp uint) 0:58 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:58 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:58 Constant: 0:58 0 (const uint) 0:58 'j' ( temp highp uint) 0:60 move second child to first child ( temp highp uint) 0:60 'j' ( temp highp uint) 0:60 AtomicExchange ( global highp uint) 0:60 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:60 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:60 Constant: 0:60 0 (const uint) 0:60 'j' ( temp highp uint) 0:61 move second child to first child ( temp highp uint) 0:61 'j' ( temp highp uint) 0:61 AtomicCompSwap ( global highp uint) 0:61 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:61 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:61 Constant: 0:61 0 (const uint) 0:61 Constant: 0:61 0 (const uint) 0:61 'j' ( temp highp uint) 0:63 AtomicAdd ( global highp uint) 0:63 counter2: direct index for structure ( coherent volatile buffer highp uint) 0:63 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:63 Constant: 0:63 1 (const uint) 0:63 Constant: 0:63 1 (const uint) 0:64 AtomicAdd ( global highp uint) 0:64 counter3: direct index for structure ( coherent volatile buffer highp uint) 0:64 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3}) 0:64 Constant: 0:64 0 (const uint) 0:64 Constant: 0:64 1 (const uint) 0:66 MemoryBarrierBuffer ( global void) 0:68 Branch: Return with expression 0:68 'j' ( temp highp uint) 0:71 Function Definition: foo( ( global highp 4-component vector of float) 0:71 Function Parameters: 0:72 Sequence 0:72 Sequence 0:72 move second child to first child ( temp highp float) 0:72 'f' ( temp highp float) 0:72 add ( temp highp float) 0:72 add ( temp highp float) 0:72 add ( temp highp float) 0:72 j: direct index for structure (layout( column_major std140) uniform highp float) 0: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}) 0:72 Constant: 0:72 0 (const uint) 0:72 j: direct index for structure (layout( column_major std430) buffer highp float) 0: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}) 0:72 Constant: 0:72 0 (const int) 0:72 y: direct index for structure ( global highp float) 0: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}) 0: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}) 0:72 Constant: 0:72 4 (const uint) 0:72 Constant: 0:72 1 (const int) 0:72 Convert uint to float ( temp highp float) 0:72 z: direct index for structure ( global highp uint) 0: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}) 0: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}) 0:72 Constant: 0:72 4 (const uint) 0:72 Constant: 0:72 2 (const int) 0:73 Sequence 0:73 move second child to first child ( temp highp 2-component vector of float) 0:73 'v2' ( temp highp 2-component vector of float) 0:73 add ( temp highp 2-component vector of float) 0:73 add ( temp highp 2-component vector of float) 0:73 b: direct index for structure ( uniform highp 2-component vector of float) 0: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}) 0:73 Constant: 0:73 1 (const uint) 0:73 c: direct index for structure ( uniform highp 2-component vector of float) 0: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}) 0:73 Constant: 0:73 2 (const uint) 0:73 x: direct index for structure ( global highp 2-component vector of float) 0: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}) 0: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}) 0:73 Constant: 0:73 4 (const uint) 0:73 Constant: 0:73 0 (const int) 0:74 Sequence 0:74 move second child to first child ( temp highp 4-component vector of float) 0:74 'v4' ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 a: direct index for structure ( uniform highp 4-component vector of float) 0: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}) 0:74 Constant: 0:74 0 (const uint) 0:74 direct index ( temp highp 4-component vector of float) 0:74 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 0: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}) 0:74 Constant: 0:74 3 (const uint) 0:74 Constant: 0:74 0 (const int) 0:74 direct index ( temp highp 4-component vector of float) 0:74 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 0: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}) 0:74 Constant: 0:74 3 (const uint) 0:74 Constant: 0:74 1 (const int) 0:74 direct index ( temp highp 4-component vector of float) 0:74 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 0: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}) 0:74 Constant: 0:74 3 (const uint) 0:74 Constant: 0:74 2 (const int) 0:74 k: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float) 0: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}) 0:74 Constant: 0:74 1 (const uint) 0:74 k: direct index for structure (layout( column_major std430) buffer highp 4-component vector of float) 0: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}) 0:74 Constant: 0:74 1 (const int) 0:74 texture ( global highp 4-component vector of float) 0:74 't1' ( uniform highp sampler2D) 0:74 Constant: 0:74 0.000000 0:74 0.000000 0:74 texture ( global highp 4-component vector of float) 0:? 'structUniform.t0' ( uniform highp sampler2D) 0:74 Constant: 0:74 0.000000 0:74 0.000000 0:75 Branch: Return with expression 0:75 component-wise multiply ( temp highp 4-component vector of float) 0:75 component-wise multiply ( temp highp 4-component vector of float) 0:75 Construct vec4 ( temp highp 4-component vector of float) 0:75 'f' ( temp highp float) 0:75 Construct vec4 ( temp highp 4-component vector of float) 0:75 'v2' ( temp highp 2-component vector of float) 0:75 Constant: 0:75 1.000000 0:75 Constant: 0:75 1.000000 0:75 'v4' ( temp highp 4-component vector of float) 0:78 Function Definition: baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21; ( global highp 4-component vector of float) 0:78 Function Parameters: 0:78 'samplers' ( in structure{ global 4-element array of highp int /*tn*/}) 0:78 'samplers.tn[0]' ( in highp sampler2D) 0:78 'samplers.tn[1]' ( in highp sampler2D) 0:78 'samplers.tn[2]' ( in highp sampler2D) 0:78 'samplers.tn[3]' ( in highp sampler2D) 0:79 Sequence 0:79 Branch: Return with expression 0:79 add ( temp highp 4-component vector of float) 0:79 add ( temp highp 4-component vector of float) 0:79 add ( temp highp 4-component vector of float) 0:79 texture ( global highp 4-component vector of float) 0:79 'samplers.tn[0]' ( in highp sampler2D) 0:79 Constant: 0:79 0.000000 0:79 0.000000 0:79 texture ( global highp 4-component vector of float) 0:79 'samplers.tn[1]' ( in highp sampler2D) 0:79 Constant: 0:79 0.000000 0:79 0.000000 0:79 texture ( global highp 4-component vector of float) 0:79 'samplers.tn[2]' ( in highp sampler2D) 0:79 Constant: 0:79 0.000000 0:79 0.000000 0:79 texture ( global highp 4-component vector of float) 0:79 'samplers.tn[3]' ( in highp sampler2D) 0:79 Constant: 0:79 0.000000 0:79 0.000000 0:82 Function Definition: main( ( global void) 0:82 Function Parameters: 0:83 Sequence 0:83 Sequence 0:83 move second child to first child ( temp highp float) 0:83 'j' ( temp highp float) 0:83 Convert uint to float ( temp highp float) 0:83 Function Call: bar( ( global highp uint) 0:84 move second child to first child ( temp highp 4-component vector of float) 0:84 'o' ( out highp 4-component vector of float) 0:84 add ( temp highp 4-component vector of float) 0:84 vector-scale ( temp highp 4-component vector of float) 0:84 'j' ( temp highp float) 0:84 Function Call: foo( ( global highp 4-component vector of float) 0:84 Function Call: baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21; ( global highp 4-component vector of float) 0:84 samplers: direct index for structure ( global structure{ global 4-element array of highp int /*tn*/}) 0: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}) 0: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}) 0:84 Constant: 0:84 4 (const uint) 0:84 Constant: 0:84 4 (const int) 0:84 'structUniform.samplers.tn[0]' ( uniform highp sampler2D) 0:84 'structUniform.samplers.tn[1]' ( uniform highp sampler2D) 0:84 'structUniform.samplers.tn[2]' ( uniform highp sampler2D) 0:84 'structUniform.samplers.tn[3]' ( uniform highp sampler2D) 0:? Linker Objects 0:? 'o' ( out highp 4-component vector of float) 0:? '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}) 0:? 'structUniform.t0' ( uniform highp sampler2D) 0:? 'structUniform.samplers.tn[0]' ( uniform highp sampler2D) 0:? 'structUniform.samplers.tn[1]' ( uniform highp sampler2D) 0:? 'structUniform.samplers.tn[2]' ( uniform highp sampler2D) 0:? 'structUniform.samplers.tn[3]' ( uniform highp sampler2D) 0:? 't1' ( uniform highp sampler2D) 0:? '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}) 0:? '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}) 0:? 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:? 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3}) Linked fragment stage: Shader version: 460 gl_FragCoord origin is upper left 0:? Sequence 0:43 Function Definition: bar( ( global highp uint) 0:43 Function Parameters: 0:44 Sequence 0:44 Sequence 0:44 move second child to first child ( temp highp uint) 0:44 'j' ( temp highp uint) 0:44 Constant: 0:44 0 (const uint) 0:45 move second child to first child ( temp highp uint) 0:45 'j' ( temp highp uint) 0:45 AtomicAdd ( global highp uint) 0:45 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:45 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:45 Constant: 0:45 0 (const uint) 0:45 Constant: 0:45 1 (const uint) 0:46 move second child to first child ( temp highp uint) 0:46 'j' ( temp highp uint) 0:46 subtract ( temp highp uint) 0:46 AtomicAdd ( global highp uint) 0:46 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:46 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:46 Constant: 0:46 0 (const uint) 0:46 Constant: 0:46 4294967295 (const uint) 0:46 Constant: 0:46 1 (const uint) 0:47 move second child to first child ( temp highp uint) 0:47 'j' ( temp highp uint) 0:47 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:47 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:47 Constant: 0:47 0 (const uint) 0:49 move second child to first child ( temp highp uint) 0:49 'j' ( temp highp uint) 0:49 AtomicAdd ( global highp uint) 0:49 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:49 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:49 Constant: 0:49 0 (const uint) 0:49 Constant: 0:49 1 (const uint) 0:50 move second child to first child ( temp highp uint) 0:50 'j' ( temp highp uint) 0:50 AtomicAdd ( global highp uint) 0:50 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:50 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:50 Constant: 0:50 0 (const uint) 0:50 Constant: 0:50 4294967295 (const uint) 0:51 move second child to first child ( temp highp uint) 0:51 'j' ( temp highp uint) 0:51 AtomicSubtract ( global highp uint) 0:51 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:51 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:51 Constant: 0:51 0 (const uint) 0:51 Constant: 0:51 1 (const uint) 0:53 move second child to first child ( temp highp uint) 0:53 'j' ( temp highp uint) 0:53 AtomicMin ( global highp uint) 0:53 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:53 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:53 Constant: 0:53 0 (const uint) 0:53 'j' ( temp highp uint) 0:54 move second child to first child ( temp highp uint) 0:54 'j' ( temp highp uint) 0:54 AtomicMax ( global highp uint) 0:54 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:54 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:54 Constant: 0:54 0 (const uint) 0:54 'j' ( temp highp uint) 0:55 move second child to first child ( temp highp uint) 0:55 'j' ( temp highp uint) 0:55 AtomicAnd ( global highp uint) 0:55 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:55 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:55 Constant: 0:55 0 (const uint) 0:55 'j' ( temp highp uint) 0:57 move second child to first child ( temp highp uint) 0:57 'j' ( temp highp uint) 0:57 AtomicOr ( global highp uint) 0:57 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:57 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:57 Constant: 0:57 0 (const uint) 0:57 'j' ( temp highp uint) 0:58 move second child to first child ( temp highp uint) 0:58 'j' ( temp highp uint) 0:58 AtomicXor ( global highp uint) 0:58 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:58 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:58 Constant: 0:58 0 (const uint) 0:58 'j' ( temp highp uint) 0:60 move second child to first child ( temp highp uint) 0:60 'j' ( temp highp uint) 0:60 AtomicExchange ( global highp uint) 0:60 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:60 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:60 Constant: 0:60 0 (const uint) 0:60 'j' ( temp highp uint) 0:61 move second child to first child ( temp highp uint) 0:61 'j' ( temp highp uint) 0:61 AtomicCompSwap ( global highp uint) 0:61 counter1: direct index for structure ( coherent volatile buffer highp uint) 0:61 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:61 Constant: 0:61 0 (const uint) 0:61 Constant: 0:61 0 (const uint) 0:61 'j' ( temp highp uint) 0:63 AtomicAdd ( global highp uint) 0:63 counter2: direct index for structure ( coherent volatile buffer highp uint) 0:63 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:63 Constant: 0:63 1 (const uint) 0:63 Constant: 0:63 1 (const uint) 0:64 AtomicAdd ( global highp uint) 0:64 counter3: direct index for structure ( coherent volatile buffer highp uint) 0:64 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3}) 0:64 Constant: 0:64 0 (const uint) 0:64 Constant: 0:64 1 (const uint) 0:66 MemoryBarrierBuffer ( global void) 0:68 Branch: Return with expression 0:68 'j' ( temp highp uint) 0:71 Function Definition: foo( ( global highp 4-component vector of float) 0:71 Function Parameters: 0:72 Sequence 0:72 Sequence 0:72 move second child to first child ( temp highp float) 0:72 'f' ( temp highp float) 0:72 add ( temp highp float) 0:72 add ( temp highp float) 0:72 add ( temp highp float) 0:72 j: direct index for structure (layout( column_major std140) uniform highp float) 0: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}) 0:72 Constant: 0:72 0 (const uint) 0:72 j: direct index for structure (layout( column_major std430) buffer highp float) 0: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}) 0:72 Constant: 0:72 0 (const int) 0:72 y: direct index for structure ( global highp float) 0: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}) 0: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}) 0:72 Constant: 0:72 4 (const uint) 0:72 Constant: 0:72 1 (const int) 0:72 Convert uint to float ( temp highp float) 0:72 z: direct index for structure ( global highp uint) 0: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}) 0: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}) 0:72 Constant: 0:72 4 (const uint) 0:72 Constant: 0:72 2 (const int) 0:73 Sequence 0:73 move second child to first child ( temp highp 2-component vector of float) 0:73 'v2' ( temp highp 2-component vector of float) 0:73 add ( temp highp 2-component vector of float) 0:73 add ( temp highp 2-component vector of float) 0:73 b: direct index for structure ( uniform highp 2-component vector of float) 0: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}) 0:73 Constant: 0:73 1 (const uint) 0:73 c: direct index for structure ( uniform highp 2-component vector of float) 0: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}) 0:73 Constant: 0:73 2 (const uint) 0:73 x: direct index for structure ( global highp 2-component vector of float) 0: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}) 0: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}) 0:73 Constant: 0:73 4 (const uint) 0:73 Constant: 0:73 0 (const int) 0:74 Sequence 0:74 move second child to first child ( temp highp 4-component vector of float) 0:74 'v4' ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 add ( temp highp 4-component vector of float) 0:74 a: direct index for structure ( uniform highp 4-component vector of float) 0: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}) 0:74 Constant: 0:74 0 (const uint) 0:74 direct index ( temp highp 4-component vector of float) 0:74 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 0: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}) 0:74 Constant: 0:74 3 (const uint) 0:74 Constant: 0:74 0 (const int) 0:74 direct index ( temp highp 4-component vector of float) 0:74 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 0: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}) 0:74 Constant: 0:74 3 (const uint) 0:74 Constant: 0:74 1 (const int) 0:74 direct index ( temp highp 4-component vector of float) 0:74 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float) 0: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}) 0:74 Constant: 0:74 3 (const uint) 0:74 Constant: 0:74 2 (const int) 0:74 k: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float) 0: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}) 0:74 Constant: 0:74 1 (const uint) 0:74 k: direct index for structure (layout( column_major std430) buffer highp 4-component vector of float) 0: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}) 0:74 Constant: 0:74 1 (const int) 0:74 texture ( global highp 4-component vector of float) 0:74 't1' ( uniform highp sampler2D) 0:74 Constant: 0:74 0.000000 0:74 0.000000 0:74 texture ( global highp 4-component vector of float) 0:? 'structUniform.t0' ( uniform highp sampler2D) 0:74 Constant: 0:74 0.000000 0:74 0.000000 0:75 Branch: Return with expression 0:75 component-wise multiply ( temp highp 4-component vector of float) 0:75 component-wise multiply ( temp highp 4-component vector of float) 0:75 Construct vec4 ( temp highp 4-component vector of float) 0:75 'f' ( temp highp float) 0:75 Construct vec4 ( temp highp 4-component vector of float) 0:75 'v2' ( temp highp 2-component vector of float) 0:75 Constant: 0:75 1.000000 0:75 Constant: 0:75 1.000000 0:75 'v4' ( temp highp 4-component vector of float) 0:78 Function Definition: baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21; ( global highp 4-component vector of float) 0:78 Function Parameters: 0:78 'samplers' ( in structure{ global 4-element array of highp int /*tn*/}) 0:78 'samplers.tn[0]' ( in highp sampler2D) 0:78 'samplers.tn[1]' ( in highp sampler2D) 0:78 'samplers.tn[2]' ( in highp sampler2D) 0:78 'samplers.tn[3]' ( in highp sampler2D) 0:79 Sequence 0:79 Branch: Return with expression 0:79 add ( temp highp 4-component vector of float) 0:79 add ( temp highp 4-component vector of float) 0:79 add ( temp highp 4-component vector of float) 0:79 texture ( global highp 4-component vector of float) 0:79 'samplers.tn[0]' ( in highp sampler2D) 0:79 Constant: 0:79 0.000000 0:79 0.000000 0:79 texture ( global highp 4-component vector of float) 0:79 'samplers.tn[1]' ( in highp sampler2D) 0:79 Constant: 0:79 0.000000 0:79 0.000000 0:79 texture ( global highp 4-component vector of float) 0:79 'samplers.tn[2]' ( in highp sampler2D) 0:79 Constant: 0:79 0.000000 0:79 0.000000 0:79 texture ( global highp 4-component vector of float) 0:79 'samplers.tn[3]' ( in highp sampler2D) 0:79 Constant: 0:79 0.000000 0:79 0.000000 0:82 Function Definition: main( ( global void) 0:82 Function Parameters: 0:83 Sequence 0:83 Sequence 0:83 move second child to first child ( temp highp float) 0:83 'j' ( temp highp float) 0:83 Convert uint to float ( temp highp float) 0:83 Function Call: bar( ( global highp uint) 0:84 move second child to first child ( temp highp 4-component vector of float) 0:84 'o' ( out highp 4-component vector of float) 0:84 add ( temp highp 4-component vector of float) 0:84 vector-scale ( temp highp 4-component vector of float) 0:84 'j' ( temp highp float) 0:84 Function Call: foo( ( global highp 4-component vector of float) 0:84 Function Call: baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21; ( global highp 4-component vector of float) 0:84 samplers: direct index for structure ( global structure{ global 4-element array of highp int /*tn*/}) 0: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}) 0: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}) 0:84 Constant: 0:84 4 (const uint) 0:84 Constant: 0:84 4 (const int) 0:84 'structUniform.samplers.tn[0]' ( uniform highp sampler2D) 0:84 'structUniform.samplers.tn[1]' ( uniform highp sampler2D) 0:84 'structUniform.samplers.tn[2]' ( uniform highp sampler2D) 0:84 'structUniform.samplers.tn[3]' ( uniform highp sampler2D) 0:? Linker Objects 0:? 'o' ( out highp 4-component vector of float) 0:? '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}) 0:? 'structUniform.t0' ( uniform highp sampler2D) 0:? 'structUniform.samplers.tn[0]' ( uniform highp sampler2D) 0:? 'structUniform.samplers.tn[1]' ( uniform highp sampler2D) 0:? 'structUniform.samplers.tn[2]' ( uniform highp sampler2D) 0:? 'structUniform.samplers.tn[3]' ( uniform highp sampler2D) 0:? 't1' ( uniform highp sampler2D) 0:? '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}) 0:? '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}) 0:? 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2}) 0:? 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3}) // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 216 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 190 ExecutionMode 4 OriginUpperLeft Source GLSL 460 Name 4 "main" Name 8 "bar(" Name 13 "foo(" Name 18 "SamplerArray" MemberName 18(SamplerArray) 0 "/*tn*/" Name 29 "baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21;" Name 24 "samplers" Name 25 "samplers.tn[0]" Name 26 "samplers.tn[1]" Name 27 "samplers.tn[2]" Name 28 "samplers.tn[3]" Name 32 "j" Name 34 "gl_AtomicCounterBlock_0" MemberName 34(gl_AtomicCounterBlock_0) 0 "counter1" MemberName 34(gl_AtomicCounterBlock_0) 1 "counter2" Name 36 "" Name 78 "gl_AtomicCounterBlock_1" MemberName 78(gl_AtomicCounterBlock_1) 0 "counter3" Name 80 "" Name 88 "f" Name 89 "UniformBlock" MemberName 89(UniformBlock) 0 "j" MemberName 89(UniformBlock) 1 "k" Name 91 "" Name 95 "BufferBlock" MemberName 95(BufferBlock) 0 "j" MemberName 95(BufferBlock) 1 "k" Name 97 "bufferInstance" Name 105 "SamplerArray" MemberName 105(SamplerArray) 0 "/*tn*/" Name 106 "e" MemberName 106(e) 0 "x" MemberName 106(e) 1 "y" MemberName 106(e) 2 "z" MemberName 106(e) 3 "/*t0*/" MemberName 106(e) 4 "samplers" Name 107 "gl_DefaultUniformBlock" MemberName 107(gl_DefaultUniformBlock) 0 "a" MemberName 107(gl_DefaultUniformBlock) 1 "b" MemberName 107(gl_DefaultUniformBlock) 2 "c" MemberName 107(gl_DefaultUniformBlock) 3 "d" MemberName 107(gl_DefaultUniformBlock) 4 "structUniform" Name 109 "" Name 120 "v2" Name 131 "v4" Name 151 "t1" Name 157 "structUniform.t0" Name 186 "j" Name 190 "o" Name 194 "structUniform.samplers.tn[0]" Name 195 "structUniform.samplers.tn[1]" Name 196 "structUniform.samplers.tn[2]" Name 197 "structUniform.samplers.tn[3]" Name 198 "param" Decorate 34(gl_AtomicCounterBlock_0) BufferBlock MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Volatile MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Coherent MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Offset 0 MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Volatile MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Coherent MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Offset 4 Decorate 36 Binding 9 Decorate 36 DescriptorSet 0 Decorate 78(gl_AtomicCounterBlock_1) BufferBlock MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Volatile MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Coherent MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Offset 0 Decorate 80 Binding 10 Decorate 80 DescriptorSet 0 Decorate 89(UniformBlock) Block MemberDecorate 89(UniformBlock) 0 Offset 0 MemberDecorate 89(UniformBlock) 1 Offset 16 Decorate 91 Binding 7 Decorate 91 DescriptorSet 0 Decorate 95(BufferBlock) BufferBlock MemberDecorate 95(BufferBlock) 0 Offset 0 MemberDecorate 95(BufferBlock) 1 Offset 16 Decorate 97(bufferInstance) Binding 8 Decorate 97(bufferInstance) DescriptorSet 0 Decorate 103 ArrayStride 16 Decorate 104 ArrayStride 16 MemberDecorate 105(SamplerArray) 0 Offset 0 MemberDecorate 106(e) 0 Offset 0 MemberDecorate 106(e) 1 Offset 8 MemberDecorate 106(e) 2 Offset 12 MemberDecorate 106(e) 3 Offset 16 MemberDecorate 106(e) 4 Offset 32 Decorate 107(gl_DefaultUniformBlock) Block MemberDecorate 107(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 107(gl_DefaultUniformBlock) 1 Offset 16 MemberDecorate 107(gl_DefaultUniformBlock) 2 Offset 24 MemberDecorate 107(gl_DefaultUniformBlock) 3 Offset 32 MemberDecorate 107(gl_DefaultUniformBlock) 4 Offset 192 Decorate 109 Binding 0 Decorate 109 DescriptorSet 0 Decorate 151(t1) Binding 6 Decorate 151(t1) DescriptorSet 0 Decorate 157(structUniform.t0) Binding 1 Decorate 157(structUniform.t0) DescriptorSet 0 Decorate 190(o) Location 0 Decorate 194(structUniform.samplers.tn[0]) Binding 2 Decorate 194(structUniform.samplers.tn[0]) DescriptorSet 0 Decorate 195(structUniform.samplers.tn[1]) Binding 3 Decorate 195(structUniform.samplers.tn[1]) DescriptorSet 0 Decorate 196(structUniform.samplers.tn[2]) Binding 4 Decorate 196(structUniform.samplers.tn[2]) DescriptorSet 0 Decorate 197(structUniform.samplers.tn[3]) Binding 5 Decorate 197(structUniform.samplers.tn[3]) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 7: TypeFunction 6(int) 10: TypeFloat 32 11: TypeVector 10(float) 4 12: TypeFunction 11(fvec4) 15: TypeInt 32 1 16: 6(int) Constant 4 17: TypeArray 15(int) 16 18(SamplerArray): TypeStruct 17 19: TypePointer Function 18(SamplerArray) 20: TypeImage 10(float) 2D sampled format:Unknown 21: TypeSampledImage 20 22: TypePointer UniformConstant 21 23: TypeFunction 11(fvec4) 19(ptr) 22(ptr) 22(ptr) 22(ptr) 22(ptr) 31: TypePointer Function 6(int) 33: 6(int) Constant 0 34(gl_AtomicCounterBlock_0): TypeStruct 6(int) 6(int) 35: TypePointer Uniform 34(gl_AtomicCounterBlock_0) 36: 35(ptr) Variable Uniform 37: 15(int) Constant 0 38: TypePointer Uniform 6(int) 40: 6(int) Constant 1 43: 6(int) Constant 4294967295 75: 15(int) Constant 1 78(gl_AtomicCounterBlock_1): TypeStruct 6(int) 79: TypePointer Uniform 78(gl_AtomicCounterBlock_1) 80: 79(ptr) Variable Uniform 83: 6(int) Constant 72 87: TypePointer Function 10(float) 89(UniformBlock): TypeStruct 10(float) 11(fvec4) 90: TypePointer Uniform 89(UniformBlock) 91: 90(ptr) Variable Uniform 92: TypePointer Uniform 10(float) 95(BufferBlock): TypeStruct 10(float) 11(fvec4) 96: TypePointer Uniform 95(BufferBlock) 97(bufferInstance): 96(ptr) Variable Uniform 101: TypeVector 10(float) 2 102: 6(int) Constant 10 103: TypeArray 11(fvec4) 102 104: TypeArray 15(int) 16 105(SamplerArray): TypeStruct 104 106(e): TypeStruct 101(fvec2) 10(float) 6(int) 15(int) 105(SamplerArray) 107(gl_DefaultUniformBlock): TypeStruct 11(fvec4) 101(fvec2) 101(fvec2) 103 106(e) 108: TypePointer Uniform 107(gl_DefaultUniformBlock) 109: 108(ptr) Variable Uniform 110: 15(int) Constant 4 114: 15(int) Constant 2 119: TypePointer Function 101(fvec2) 121: TypePointer Uniform 101(fvec2) 130: TypePointer Function 11(fvec4) 132: TypePointer Uniform 11(fvec4) 135: 15(int) Constant 3 151(t1): 22(ptr) Variable UniformConstant 153: 10(float) Constant 0 154: 101(fvec2) ConstantComposite 153 153 157(structUniform.t0): 22(ptr) Variable UniformConstant 164: 10(float) Constant 1065353216 189: TypePointer Output 11(fvec4) 190(o): 189(ptr) Variable Output 194(structUniform.samplers.tn[0]): 22(ptr) Variable UniformConstant 195(structUniform.samplers.tn[1]): 22(ptr) Variable UniformConstant 196(structUniform.samplers.tn[2]): 22(ptr) Variable UniformConstant 197(structUniform.samplers.tn[3]): 22(ptr) Variable UniformConstant 199: TypePointer Uniform 105(SamplerArray) 203: TypePointer Function 17 206: TypePointer Function 15(int) 4(main): 2 Function None 3 5: Label 186(j): 87(ptr) Variable Function 198(param): 19(ptr) Variable Function 187: 6(int) FunctionCall 8(bar() 188: 10(float) ConvertUToF 187 Store 186(j) 188 191: 10(float) Load 186(j) 192: 11(fvec4) FunctionCall 13(foo() 193: 11(fvec4) VectorTimesScalar 192 191 200: 199(ptr) AccessChain 109 110 110 201:105(SamplerArray) Load 200 202: 104 CompositeExtract 201 0 204: 203(ptr) AccessChain 198(param) 37 205: 15(int) CompositeExtract 202 0 207: 206(ptr) AccessChain 204 37 Store 207 205 208: 15(int) CompositeExtract 202 1 209: 206(ptr) AccessChain 204 75 Store 209 208 210: 15(int) CompositeExtract 202 2 211: 206(ptr) AccessChain 204 114 Store 211 210 212: 15(int) CompositeExtract 202 3 213: 206(ptr) AccessChain 204 135 Store 213 212 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]) 215: 11(fvec4) FAdd 193 214 Store 190(o) 215 Return FunctionEnd 8(bar(): 6(int) Function None 7 9: Label 32(j): 31(ptr) Variable Function Store 32(j) 33 39: 38(ptr) AccessChain 36 37 41: 6(int) AtomicIAdd 39 40 33 40 Store 32(j) 41 42: 38(ptr) AccessChain 36 37 44: 6(int) AtomicIAdd 42 40 33 43 45: 6(int) ISub 44 40 Store 32(j) 45 46: 38(ptr) AccessChain 36 37 47: 6(int) Load 46 Store 32(j) 47 48: 38(ptr) AccessChain 36 37 49: 6(int) AtomicIAdd 48 40 33 40 Store 32(j) 49 50: 38(ptr) AccessChain 36 37 51: 6(int) AtomicIAdd 50 40 33 43 Store 32(j) 51 52: 38(ptr) AccessChain 36 37 53: 6(int) AtomicISub 52 40 33 40 Store 32(j) 53 54: 38(ptr) AccessChain 36 37 55: 6(int) Load 32(j) 56: 6(int) AtomicUMin 54 40 33 55 Store 32(j) 56 57: 38(ptr) AccessChain 36 37 58: 6(int) Load 32(j) 59: 6(int) AtomicUMax 57 40 33 58 Store 32(j) 59 60: 38(ptr) AccessChain 36 37 61: 6(int) Load 32(j) 62: 6(int) AtomicAnd 60 40 33 61 Store 32(j) 62 63: 38(ptr) AccessChain 36 37 64: 6(int) Load 32(j) 65: 6(int) AtomicOr 63 40 33 64 Store 32(j) 65 66: 38(ptr) AccessChain 36 37 67: 6(int) Load 32(j) 68: 6(int) AtomicXor 66 40 33 67 Store 32(j) 68 69: 38(ptr) AccessChain 36 37 70: 6(int) Load 32(j) 71: 6(int) AtomicExchange 69 40 33 70 Store 32(j) 71 72: 38(ptr) AccessChain 36 37 73: 6(int) Load 32(j) 74: 6(int) AtomicCompareExchange 72 40 33 33 73 33 Store 32(j) 74 76: 38(ptr) AccessChain 36 75 77: 6(int) AtomicIAdd 76 40 33 40 81: 38(ptr) AccessChain 80 37 82: 6(int) AtomicIAdd 81 40 33 40 MemoryBarrier 40 83 84: 6(int) Load 32(j) ReturnValue 84 FunctionEnd 13(foo(): 11(fvec4) Function None 12 14: Label 88(f): 87(ptr) Variable Function 120(v2): 119(ptr) Variable Function 131(v4): 130(ptr) Variable Function 93: 92(ptr) AccessChain 91 37 94: 10(float) Load 93 98: 92(ptr) AccessChain 97(bufferInstance) 37 99: 10(float) Load 98 100: 10(float) FAdd 94 99 111: 92(ptr) AccessChain 109 110 75 112: 10(float) Load 111 113: 10(float) FAdd 100 112 115: 38(ptr) AccessChain 109 110 114 116: 6(int) Load 115 117: 10(float) ConvertUToF 116 118: 10(float) FAdd 113 117 Store 88(f) 118 122: 121(ptr) AccessChain 109 75 123: 101(fvec2) Load 122 124: 121(ptr) AccessChain 109 114 125: 101(fvec2) Load 124 126: 101(fvec2) FAdd 123 125 127: 121(ptr) AccessChain 109 110 37 128: 101(fvec2) Load 127 129: 101(fvec2) FAdd 126 128 Store 120(v2) 129 133: 132(ptr) AccessChain 109 37 134: 11(fvec4) Load 133 136: 132(ptr) AccessChain 109 135 37 137: 11(fvec4) Load 136 138: 11(fvec4) FAdd 134 137 139: 132(ptr) AccessChain 109 135 75 140: 11(fvec4) Load 139 141: 11(fvec4) FAdd 138 140 142: 132(ptr) AccessChain 109 135 114 143: 11(fvec4) Load 142 144: 11(fvec4) FAdd 141 143 145: 132(ptr) AccessChain 91 75 146: 11(fvec4) Load 145 147: 11(fvec4) FAdd 144 146 148: 132(ptr) AccessChain 97(bufferInstance) 75 149: 11(fvec4) Load 148 150: 11(fvec4) FAdd 147 149 152: 21 Load 151(t1) 155: 11(fvec4) ImageSampleImplicitLod 152 154 156: 11(fvec4) FAdd 150 155 158: 21 Load 157(structUniform.t0) 159: 11(fvec4) ImageSampleImplicitLod 158 154 160: 11(fvec4) FAdd 156 159 Store 131(v4) 160 161: 10(float) Load 88(f) 162: 11(fvec4) CompositeConstruct 161 161 161 161 163: 101(fvec2) Load 120(v2) 165: 10(float) CompositeExtract 163 0 166: 10(float) CompositeExtract 163 1 167: 11(fvec4) CompositeConstruct 165 166 164 164 168: 11(fvec4) FMul 162 167 169: 11(fvec4) Load 131(v4) 170: 11(fvec4) FMul 168 169 ReturnValue 170 FunctionEnd 29(baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21;): 11(fvec4) Function None 23 24(samplers): 19(ptr) FunctionParameter 25(samplers.tn[0]): 22(ptr) FunctionParameter 26(samplers.tn[1]): 22(ptr) FunctionParameter 27(samplers.tn[2]): 22(ptr) FunctionParameter 28(samplers.tn[3]): 22(ptr) FunctionParameter 30: Label 173: 21 Load 25(samplers.tn[0]) 174: 11(fvec4) ImageSampleImplicitLod 173 154 175: 21 Load 26(samplers.tn[1]) 176: 11(fvec4) ImageSampleImplicitLod 175 154 177: 11(fvec4) FAdd 174 176 178: 21 Load 27(samplers.tn[2]) 179: 11(fvec4) ImageSampleImplicitLod 178 154 180: 11(fvec4) FAdd 177 179 181: 21 Load 28(samplers.tn[3]) 182: 11(fvec4) ImageSampleImplicitLod 181 154 183: 11(fvec4) FAdd 180 182 ReturnValue 183 FunctionEnd