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