| 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 |