blob: d98910e6f8d379401b57f921a2fe106a7cb62800 [file] [log] [blame]
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:36 Function Definition: bar( ( global highp uint)
0:36 Function Parameters:
0:37 Sequence
0:37 Sequence
0:37 move second child to first child ( temp highp uint)
0:37 'j' ( temp highp uint)
0:37 Constant:
0:37 0 (const uint)
0:38 move second child to first child ( temp highp uint)
0:38 'j' ( temp highp uint)
0:38 AtomicAdd ( global highp uint)
0:38 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:38 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:38 Constant:
0:38 0 (const uint)
0:38 Constant:
0:38 1 (const uint)
0:39 move second child to first child ( temp highp uint)
0:39 'j' ( temp highp uint)
0:39 subtract ( temp highp uint)
0:39 AtomicAdd ( global highp uint)
0:39 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:39 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:39 Constant:
0:39 0 (const uint)
0:39 Constant:
0:39 4294967295 (const uint)
0:39 Constant:
0:39 1 (const uint)
0:40 move second child to first child ( temp highp uint)
0:40 'j' ( temp highp uint)
0:40 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:40 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:40 Constant:
0:40 0 (const uint)
0:42 move second child to first child ( temp highp uint)
0:42 'j' ( temp highp uint)
0:42 AtomicAdd ( global highp uint)
0:42 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:42 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:42 Constant:
0:42 0 (const uint)
0:42 Constant:
0:42 1 (const uint)
0:43 move second child to first child ( temp highp uint)
0:43 'j' ( temp highp uint)
0:43 AtomicAdd ( global highp uint)
0:43 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:43 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:43 Constant:
0:43 0 (const uint)
0:43 Constant:
0:43 4294967295 (const uint)
0:44 move second child to first child ( temp highp uint)
0:44 'j' ( temp highp uint)
0:44 AtomicSubtract ( global highp uint)
0:44 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:44 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:44 Constant:
0:44 0 (const uint)
0:44 Constant:
0:44 1 (const uint)
0:46 move second child to first child ( temp highp uint)
0:46 'j' ( temp highp uint)
0:46 AtomicMin ( 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 'j' ( temp highp uint)
0:47 move second child to first child ( temp highp uint)
0:47 'j' ( temp highp uint)
0:47 AtomicMax ( global 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:47 'j' ( temp highp uint)
0:48 move second child to first child ( temp highp uint)
0:48 'j' ( temp highp uint)
0:48 AtomicAnd ( global highp uint)
0:48 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:48 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:48 Constant:
0:48 0 (const uint)
0:48 'j' ( temp highp uint)
0:50 move second child to first child ( temp highp uint)
0:50 'j' ( temp highp uint)
0:50 AtomicOr ( 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 'j' ( temp highp uint)
0:51 move second child to first child ( temp highp uint)
0:51 'j' ( temp highp uint)
0:51 AtomicXor ( 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 'j' ( temp highp uint)
0:53 move second child to first child ( temp highp uint)
0:53 'j' ( temp highp uint)
0:53 AtomicExchange ( 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 AtomicCompSwap ( 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 Constant:
0:54 0 (const uint)
0:54 'j' ( temp highp uint)
0:56 AtomicAdd ( global highp uint)
0:56 counter2: direct index for structure ( coherent volatile buffer highp uint)
0:56 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:56 Constant:
0:56 1 (const uint)
0:56 Constant:
0:56 1 (const uint)
0:57 AtomicAdd ( global highp uint)
0:57 counter3: direct index for structure ( coherent volatile buffer highp uint)
0:57 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3})
0:57 Constant:
0:57 0 (const uint)
0:57 Constant:
0:57 1 (const uint)
0:59 MemoryBarrierBuffer ( global void)
0:61 Branch: Return with expression
0:61 'j' ( temp highp uint)
0:64 Function Definition: foo( ( global highp 4-component vector of float)
0:64 Function Parameters:
0:65 Sequence
0:65 Sequence
0:65 move second child to first child ( temp highp float)
0:65 'f' ( temp highp float)
0:65 add ( temp highp float)
0:65 add ( temp highp float)
0:65 add ( temp highp float)
0:65 j: direct index for structure (layout( column_major std140) uniform highp float)
0:65 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k})
0:65 Constant:
0:65 0 (const uint)
0:65 j: direct index for structure (layout( column_major std430) buffer highp float)
0:65 'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k})
0:65 Constant:
0:65 0 (const int)
0:65 y: direct index for structure ( global highp float)
0:65 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z})
0:65 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:65 Constant:
0:65 4 (const uint)
0:65 Constant:
0:65 1 (const int)
0:65 Convert uint to float ( temp highp float)
0:65 z: direct index for structure ( global highp uint)
0:65 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z})
0:65 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:65 Constant:
0:65 4 (const uint)
0:65 Constant:
0:65 2 (const int)
0:66 Sequence
0:66 move second child to first child ( temp highp 2-component vector of float)
0:66 'v2' ( temp highp 2-component vector of float)
0:66 add ( temp highp 2-component vector of float)
0:66 add ( temp highp 2-component vector of float)
0:66 b: direct index for structure ( uniform highp 2-component vector of float)
0:66 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:66 Constant:
0:66 1 (const uint)
0:66 c: direct index for structure ( uniform highp 2-component vector of float)
0:66 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:66 Constant:
0:66 2 (const uint)
0:66 x: direct index for structure ( global highp 2-component vector of float)
0:66 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z})
0:66 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:66 Constant:
0:66 4 (const uint)
0:66 Constant:
0:66 0 (const int)
0:67 Sequence
0:67 move second child to first child ( temp highp 4-component vector of float)
0:67 'v4' ( temp highp 4-component vector of float)
0:67 add ( temp highp 4-component vector of float)
0:67 add ( temp highp 4-component vector of float)
0:67 add ( temp highp 4-component vector of float)
0:67 add ( temp highp 4-component vector of float)
0:67 add ( temp highp 4-component vector of float)
0:67 add ( temp highp 4-component vector of float)
0:67 a: direct index for structure ( uniform highp 4-component vector of float)
0:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:67 Constant:
0:67 0 (const uint)
0:67 direct index ( temp highp 4-component vector of float)
0:67 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:67 Constant:
0:67 3 (const uint)
0:67 Constant:
0:67 0 (const int)
0:67 direct index ( temp highp 4-component vector of float)
0:67 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:67 Constant:
0:67 3 (const uint)
0:67 Constant:
0:67 1 (const int)
0:67 direct index ( temp highp 4-component vector of float)
0:67 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:67 Constant:
0:67 3 (const uint)
0:67 Constant:
0:67 2 (const int)
0:67 k: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:67 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k})
0:67 Constant:
0:67 1 (const uint)
0:67 k: direct index for structure (layout( column_major std430) buffer highp 4-component vector of float)
0:67 'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k})
0:67 Constant:
0:67 1 (const int)
0:67 texture ( global highp 4-component vector of float)
0:67 't1' ( uniform highp sampler2D)
0:67 Constant:
0:67 0.000000
0:67 0.000000
0:68 Branch: Return with expression
0:68 component-wise multiply ( temp highp 4-component vector of float)
0:68 component-wise multiply ( temp highp 4-component vector of float)
0:68 Construct vec4 ( temp highp 4-component vector of float)
0:68 'f' ( temp highp float)
0:68 Construct vec4 ( temp highp 4-component vector of float)
0:68 'v2' ( temp highp 2-component vector of float)
0:68 Constant:
0:68 1.000000
0:68 Constant:
0:68 1.000000
0:68 'v4' ( temp highp 4-component vector of float)
0:71 Function Definition: main( ( global void)
0:71 Function Parameters:
0:72 Sequence
0:72 Sequence
0:72 move second child to first child ( temp highp float)
0:72 'j' ( temp highp float)
0:72 Convert uint to float ( temp highp float)
0:72 Function Call: bar( ( global highp uint)
0:73 move second child to first child ( temp highp 4-component vector of float)
0:73 'o' ( out highp 4-component vector of float)
0:73 vector-scale ( temp highp 4-component vector of float)
0:73 'j' ( temp highp float)
0:73 Function Call: foo( ( global highp 4-component vector of float)
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} structUniform})
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:36 Function Definition: bar( ( global highp uint)
0:36 Function Parameters:
0:37 Sequence
0:37 Sequence
0:37 move second child to first child ( temp highp uint)
0:37 'j' ( temp highp uint)
0:37 Constant:
0:37 0 (const uint)
0:38 move second child to first child ( temp highp uint)
0:38 'j' ( temp highp uint)
0:38 AtomicAdd ( global highp uint)
0:38 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:38 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:38 Constant:
0:38 0 (const uint)
0:38 Constant:
0:38 1 (const uint)
0:39 move second child to first child ( temp highp uint)
0:39 'j' ( temp highp uint)
0:39 subtract ( temp highp uint)
0:39 AtomicAdd ( global highp uint)
0:39 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:39 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:39 Constant:
0:39 0 (const uint)
0:39 Constant:
0:39 4294967295 (const uint)
0:39 Constant:
0:39 1 (const uint)
0:40 move second child to first child ( temp highp uint)
0:40 'j' ( temp highp uint)
0:40 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:40 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:40 Constant:
0:40 0 (const uint)
0:42 move second child to first child ( temp highp uint)
0:42 'j' ( temp highp uint)
0:42 AtomicAdd ( global highp uint)
0:42 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:42 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:42 Constant:
0:42 0 (const uint)
0:42 Constant:
0:42 1 (const uint)
0:43 move second child to first child ( temp highp uint)
0:43 'j' ( temp highp uint)
0:43 AtomicAdd ( global highp uint)
0:43 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:43 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:43 Constant:
0:43 0 (const uint)
0:43 Constant:
0:43 4294967295 (const uint)
0:44 move second child to first child ( temp highp uint)
0:44 'j' ( temp highp uint)
0:44 AtomicSubtract ( global highp uint)
0:44 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:44 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:44 Constant:
0:44 0 (const uint)
0:44 Constant:
0:44 1 (const uint)
0:46 move second child to first child ( temp highp uint)
0:46 'j' ( temp highp uint)
0:46 AtomicMin ( 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 'j' ( temp highp uint)
0:47 move second child to first child ( temp highp uint)
0:47 'j' ( temp highp uint)
0:47 AtomicMax ( global 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:47 'j' ( temp highp uint)
0:48 move second child to first child ( temp highp uint)
0:48 'j' ( temp highp uint)
0:48 AtomicAnd ( global highp uint)
0:48 counter1: direct index for structure ( coherent volatile buffer highp uint)
0:48 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:48 Constant:
0:48 0 (const uint)
0:48 'j' ( temp highp uint)
0:50 move second child to first child ( temp highp uint)
0:50 'j' ( temp highp uint)
0:50 AtomicOr ( 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 'j' ( temp highp uint)
0:51 move second child to first child ( temp highp uint)
0:51 'j' ( temp highp uint)
0:51 AtomicXor ( 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 'j' ( temp highp uint)
0:53 move second child to first child ( temp highp uint)
0:53 'j' ( temp highp uint)
0:53 AtomicExchange ( 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 AtomicCompSwap ( 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 Constant:
0:54 0 (const uint)
0:54 'j' ( temp highp uint)
0:56 AtomicAdd ( global highp uint)
0:56 counter2: direct index for structure ( coherent volatile buffer highp uint)
0:56 'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
0:56 Constant:
0:56 1 (const uint)
0:56 Constant:
0:56 1 (const uint)
0:57 AtomicAdd ( global highp uint)
0:57 counter3: direct index for structure ( coherent volatile buffer highp uint)
0:57 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3})
0:57 Constant:
0:57 0 (const uint)
0:57 Constant:
0:57 1 (const uint)
0:59 MemoryBarrierBuffer ( global void)
0:61 Branch: Return with expression
0:61 'j' ( temp highp uint)
0:64 Function Definition: foo( ( global highp 4-component vector of float)
0:64 Function Parameters:
0:65 Sequence
0:65 Sequence
0:65 move second child to first child ( temp highp float)
0:65 'f' ( temp highp float)
0:65 add ( temp highp float)
0:65 add ( temp highp float)
0:65 add ( temp highp float)
0:65 j: direct index for structure (layout( column_major std140) uniform highp float)
0:65 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k})
0:65 Constant:
0:65 0 (const uint)
0:65 j: direct index for structure (layout( column_major std430) buffer highp float)
0:65 'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k})
0:65 Constant:
0:65 0 (const int)
0:65 y: direct index for structure ( global highp float)
0:65 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z})
0:65 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:65 Constant:
0:65 4 (const uint)
0:65 Constant:
0:65 1 (const int)
0:65 Convert uint to float ( temp highp float)
0:65 z: direct index for structure ( global highp uint)
0:65 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z})
0:65 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:65 Constant:
0:65 4 (const uint)
0:65 Constant:
0:65 2 (const int)
0:66 Sequence
0:66 move second child to first child ( temp highp 2-component vector of float)
0:66 'v2' ( temp highp 2-component vector of float)
0:66 add ( temp highp 2-component vector of float)
0:66 add ( temp highp 2-component vector of float)
0:66 b: direct index for structure ( uniform highp 2-component vector of float)
0:66 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:66 Constant:
0:66 1 (const uint)
0:66 c: direct index for structure ( uniform highp 2-component vector of float)
0:66 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:66 Constant:
0:66 2 (const uint)
0:66 x: direct index for structure ( global highp 2-component vector of float)
0:66 structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z})
0:66 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:66 Constant:
0:66 4 (const uint)
0:66 Constant:
0:66 0 (const int)
0:67 Sequence
0:67 move second child to first child ( temp highp 4-component vector of float)
0:67 'v4' ( temp highp 4-component vector of float)
0:67 add ( temp highp 4-component vector of float)
0:67 add ( temp highp 4-component vector of float)
0:67 add ( temp highp 4-component vector of float)
0:67 add ( temp highp 4-component vector of float)
0:67 add ( temp highp 4-component vector of float)
0:67 add ( temp highp 4-component vector of float)
0:67 a: direct index for structure ( uniform highp 4-component vector of float)
0:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:67 Constant:
0:67 0 (const uint)
0:67 direct index ( temp highp 4-component vector of float)
0:67 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:67 Constant:
0:67 3 (const uint)
0:67 Constant:
0:67 0 (const int)
0:67 direct index ( temp highp 4-component vector of float)
0:67 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:67 Constant:
0:67 3 (const uint)
0:67 Constant:
0:67 1 (const int)
0:67 direct index ( temp highp 4-component vector of float)
0:67 d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:67 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b, uniform highp 2-component vector of float c, uniform 10-element array of highp 4-component vector of float d, uniform structure{ global highp 2-component vector of float x, global highp float y, global highp uint z} structUniform})
0:67 Constant:
0:67 3 (const uint)
0:67 Constant:
0:67 2 (const int)
0:67 k: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:67 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k})
0:67 Constant:
0:67 1 (const uint)
0:67 k: direct index for structure (layout( column_major std430) buffer highp 4-component vector of float)
0:67 'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k})
0:67 Constant:
0:67 1 (const int)
0:67 texture ( global highp 4-component vector of float)
0:67 't1' ( uniform highp sampler2D)
0:67 Constant:
0:67 0.000000
0:67 0.000000
0:68 Branch: Return with expression
0:68 component-wise multiply ( temp highp 4-component vector of float)
0:68 component-wise multiply ( temp highp 4-component vector of float)
0:68 Construct vec4 ( temp highp 4-component vector of float)
0:68 'f' ( temp highp float)
0:68 Construct vec4 ( temp highp 4-component vector of float)
0:68 'v2' ( temp highp 2-component vector of float)
0:68 Constant:
0:68 1.000000
0:68 Constant:
0:68 1.000000
0:68 'v4' ( temp highp 4-component vector of float)
0:71 Function Definition: main( ( global void)
0:71 Function Parameters:
0:72 Sequence
0:72 Sequence
0:72 move second child to first child ( temp highp float)
0:72 'j' ( temp highp float)
0:72 Convert uint to float ( temp highp float)
0:72 Function Call: bar( ( global highp uint)
0:73 move second child to first child ( temp highp 4-component vector of float)
0:73 'o' ( out highp 4-component vector of float)
0:73 vector-scale ( temp highp 4-component vector of float)
0:73 'j' ( temp highp float)
0:73 Function Call: foo( ( global highp 4-component vector of float)
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} structUniform})
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): 8000a
// Id's are bound by 163
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 159
ExecutionMode 4 OriginUpperLeft
Source GLSL 460
Name 4 "main"
Name 8 "bar("
Name 13 "foo("
Name 16 "j"
Name 18 "gl_AtomicCounterBlock_0"
MemberName 18(gl_AtomicCounterBlock_0) 0 "counter1"
MemberName 18(gl_AtomicCounterBlock_0) 1 "counter2"
Name 20 ""
Name 63 "gl_AtomicCounterBlock_1"
MemberName 63(gl_AtomicCounterBlock_1) 0 "counter3"
Name 65 ""
Name 73 "f"
Name 74 "UniformBlock"
MemberName 74(UniformBlock) 0 "j"
MemberName 74(UniformBlock) 1 "k"
Name 76 ""
Name 80 "BufferBlock"
MemberName 80(BufferBlock) 0 "j"
MemberName 80(BufferBlock) 1 "k"
Name 82 "bufferInstance"
Name 89 "e"
MemberName 89(e) 0 "x"
MemberName 89(e) 1 "y"
MemberName 89(e) 2 "z"
Name 90 "gl_DefaultUniformBlock"
MemberName 90(gl_DefaultUniformBlock) 0 "a"
MemberName 90(gl_DefaultUniformBlock) 1 "b"
MemberName 90(gl_DefaultUniformBlock) 2 "c"
MemberName 90(gl_DefaultUniformBlock) 3 "d"
MemberName 90(gl_DefaultUniformBlock) 4 "structUniform"
Name 92 ""
Name 103 "v2"
Name 114 "v4"
Name 137 "t1"
Name 155 "j"
Name 159 "o"
MemberDecorate 18(gl_AtomicCounterBlock_0) 0 Coherent
MemberDecorate 18(gl_AtomicCounterBlock_0) 0 Volatile
MemberDecorate 18(gl_AtomicCounterBlock_0) 0 Coherent
MemberDecorate 18(gl_AtomicCounterBlock_0) 0 Offset 0
MemberDecorate 18(gl_AtomicCounterBlock_0) 1 Coherent
MemberDecorate 18(gl_AtomicCounterBlock_0) 1 Volatile
MemberDecorate 18(gl_AtomicCounterBlock_0) 1 Coherent
MemberDecorate 18(gl_AtomicCounterBlock_0) 1 Offset 4
Decorate 18(gl_AtomicCounterBlock_0) BufferBlock
Decorate 20 DescriptorSet 0
Decorate 20 Binding 4
MemberDecorate 63(gl_AtomicCounterBlock_1) 0 Coherent
MemberDecorate 63(gl_AtomicCounterBlock_1) 0 Volatile
MemberDecorate 63(gl_AtomicCounterBlock_1) 0 Coherent
MemberDecorate 63(gl_AtomicCounterBlock_1) 0 Offset 0
Decorate 63(gl_AtomicCounterBlock_1) BufferBlock
Decorate 65 DescriptorSet 0
Decorate 65 Binding 5
MemberDecorate 74(UniformBlock) 0 Offset 0
MemberDecorate 74(UniformBlock) 1 Offset 16
Decorate 74(UniformBlock) Block
Decorate 76 DescriptorSet 0
Decorate 76 Binding 2
MemberDecorate 80(BufferBlock) 0 Offset 0
MemberDecorate 80(BufferBlock) 1 Offset 16
Decorate 80(BufferBlock) BufferBlock
Decorate 82(bufferInstance) DescriptorSet 0
Decorate 82(bufferInstance) Binding 3
Decorate 88 ArrayStride 16
MemberDecorate 89(e) 0 Offset 0
MemberDecorate 89(e) 1 Offset 8
MemberDecorate 89(e) 2 Offset 12
MemberDecorate 90(gl_DefaultUniformBlock) 0 Offset 0
MemberDecorate 90(gl_DefaultUniformBlock) 1 Offset 16
MemberDecorate 90(gl_DefaultUniformBlock) 2 Offset 24
MemberDecorate 90(gl_DefaultUniformBlock) 3 Offset 32
MemberDecorate 90(gl_DefaultUniformBlock) 4 Offset 192
Decorate 90(gl_DefaultUniformBlock) Block
Decorate 92 DescriptorSet 0
Decorate 92 Binding 0
Decorate 137(t1) DescriptorSet 0
Decorate 137(t1) Binding 1
Decorate 159(o) Location 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: TypePointer Function 6(int)
17: 6(int) Constant 0
18(gl_AtomicCounterBlock_0): TypeStruct 6(int) 6(int)
19: TypePointer Uniform 18(gl_AtomicCounterBlock_0)
20: 19(ptr) Variable Uniform
21: TypeInt 32 1
22: 21(int) Constant 0
23: TypePointer Uniform 6(int)
25: 6(int) Constant 1
28: 6(int) Constant 4294967295
60: 21(int) Constant 1
63(gl_AtomicCounterBlock_1): TypeStruct 6(int)
64: TypePointer Uniform 63(gl_AtomicCounterBlock_1)
65: 64(ptr) Variable Uniform
68: 6(int) Constant 72
72: TypePointer Function 10(float)
74(UniformBlock): TypeStruct 10(float) 11(fvec4)
75: TypePointer Uniform 74(UniformBlock)
76: 75(ptr) Variable Uniform
77: TypePointer Uniform 10(float)
80(BufferBlock): TypeStruct 10(float) 11(fvec4)
81: TypePointer Uniform 80(BufferBlock)
82(bufferInstance): 81(ptr) Variable Uniform
86: TypeVector 10(float) 2
87: 6(int) Constant 10
88: TypeArray 11(fvec4) 87
89(e): TypeStruct 86(fvec2) 10(float) 6(int)
90(gl_DefaultUniformBlock): TypeStruct 11(fvec4) 86(fvec2) 86(fvec2) 88 89(e)
91: TypePointer Uniform 90(gl_DefaultUniformBlock)
92: 91(ptr) Variable Uniform
93: 21(int) Constant 4
97: 21(int) Constant 2
102: TypePointer Function 86(fvec2)
104: TypePointer Uniform 86(fvec2)
113: TypePointer Function 11(fvec4)
115: TypePointer Uniform 11(fvec4)
118: 21(int) Constant 3
134: TypeImage 10(float) 2D sampled format:Unknown
135: TypeSampledImage 134
136: TypePointer UniformConstant 135
137(t1): 136(ptr) Variable UniformConstant
139: 10(float) Constant 0
140: 86(fvec2) ConstantComposite 139 139
146: 10(float) Constant 1065353216
158: TypePointer Output 11(fvec4)
159(o): 158(ptr) Variable Output
4(main): 2 Function None 3
5: Label
155(j): 72(ptr) Variable Function
156: 6(int) FunctionCall 8(bar()
157: 10(float) ConvertUToF 156
Store 155(j) 157
160: 10(float) Load 155(j)
161: 11(fvec4) FunctionCall 13(foo()
162: 11(fvec4) VectorTimesScalar 161 160
Store 159(o) 162
Return
FunctionEnd
8(bar(): 6(int) Function None 7
9: Label
16(j): 15(ptr) Variable Function
Store 16(j) 17
24: 23(ptr) AccessChain 20 22
26: 6(int) AtomicIAdd 24 25 17 25
Store 16(j) 26
27: 23(ptr) AccessChain 20 22
29: 6(int) AtomicIAdd 27 25 17 28
30: 6(int) ISub 29 25
Store 16(j) 30
31: 23(ptr) AccessChain 20 22
32: 6(int) Load 31
Store 16(j) 32
33: 23(ptr) AccessChain 20 22
34: 6(int) AtomicIAdd 33 25 17 25
Store 16(j) 34
35: 23(ptr) AccessChain 20 22
36: 6(int) AtomicIAdd 35 25 17 28
Store 16(j) 36
37: 23(ptr) AccessChain 20 22
38: 6(int) AtomicISub 37 25 17 25
Store 16(j) 38
39: 23(ptr) AccessChain 20 22
40: 6(int) Load 16(j)
41: 6(int) AtomicUMin 39 25 17 40
Store 16(j) 41
42: 23(ptr) AccessChain 20 22
43: 6(int) Load 16(j)
44: 6(int) AtomicUMax 42 25 17 43
Store 16(j) 44
45: 23(ptr) AccessChain 20 22
46: 6(int) Load 16(j)
47: 6(int) AtomicAnd 45 25 17 46
Store 16(j) 47
48: 23(ptr) AccessChain 20 22
49: 6(int) Load 16(j)
50: 6(int) AtomicOr 48 25 17 49
Store 16(j) 50
51: 23(ptr) AccessChain 20 22
52: 6(int) Load 16(j)
53: 6(int) AtomicXor 51 25 17 52
Store 16(j) 53
54: 23(ptr) AccessChain 20 22
55: 6(int) Load 16(j)
56: 6(int) AtomicExchange 54 25 17 55
Store 16(j) 56
57: 23(ptr) AccessChain 20 22
58: 6(int) Load 16(j)
59: 6(int) AtomicCompareExchange 57 25 17 17 58 17
Store 16(j) 59
61: 23(ptr) AccessChain 20 60
62: 6(int) AtomicIAdd 61 25 17 25
66: 23(ptr) AccessChain 65 22
67: 6(int) AtomicIAdd 66 25 17 25
MemoryBarrier 25 68
69: 6(int) Load 16(j)
ReturnValue 69
FunctionEnd
13(foo(): 11(fvec4) Function None 12
14: Label
73(f): 72(ptr) Variable Function
103(v2): 102(ptr) Variable Function
114(v4): 113(ptr) Variable Function
78: 77(ptr) AccessChain 76 22
79: 10(float) Load 78
83: 77(ptr) AccessChain 82(bufferInstance) 22
84: 10(float) Load 83
85: 10(float) FAdd 79 84
94: 77(ptr) AccessChain 92 93 60
95: 10(float) Load 94
96: 10(float) FAdd 85 95
98: 23(ptr) AccessChain 92 93 97
99: 6(int) Load 98
100: 10(float) ConvertUToF 99
101: 10(float) FAdd 96 100
Store 73(f) 101
105: 104(ptr) AccessChain 92 60
106: 86(fvec2) Load 105
107: 104(ptr) AccessChain 92 97
108: 86(fvec2) Load 107
109: 86(fvec2) FAdd 106 108
110: 104(ptr) AccessChain 92 93 22
111: 86(fvec2) Load 110
112: 86(fvec2) FAdd 109 111
Store 103(v2) 112
116: 115(ptr) AccessChain 92 22
117: 11(fvec4) Load 116
119: 115(ptr) AccessChain 92 118 22
120: 11(fvec4) Load 119
121: 11(fvec4) FAdd 117 120
122: 115(ptr) AccessChain 92 118 60
123: 11(fvec4) Load 122
124: 11(fvec4) FAdd 121 123
125: 115(ptr) AccessChain 92 118 97
126: 11(fvec4) Load 125
127: 11(fvec4) FAdd 124 126
128: 115(ptr) AccessChain 76 60
129: 11(fvec4) Load 128
130: 11(fvec4) FAdd 127 129
131: 115(ptr) AccessChain 82(bufferInstance) 60
132: 11(fvec4) Load 131
133: 11(fvec4) FAdd 130 132
138: 135 Load 137(t1)
141: 11(fvec4) ImageSampleImplicitLod 138 140
142: 11(fvec4) FAdd 133 141
Store 114(v4) 142
143: 10(float) Load 73(f)
144: 11(fvec4) CompositeConstruct 143 143 143 143
145: 86(fvec2) Load 103(v2)
147: 10(float) CompositeExtract 145 0
148: 10(float) CompositeExtract 145 1
149: 11(fvec4) CompositeConstruct 147 148 146 146
150: 11(fvec4) FMul 144 149
151: 11(fvec4) Load 114(v4)
152: 11(fvec4) FMul 150 151
ReturnValue 152
FunctionEnd