827 lines
53 KiB
Plaintext
827 lines
53 KiB
Plaintext
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
|