
This is a partial implemention of structurebuffers supporting: * structured buffer types of: * StructuredBuffer * RWStructuredBuffer * ByteAddressBuffer * RWByteAddressBuffer * Atomic operations on RWByteAddressBuffer * Load/Load[234], Store/Store[234], GetDimensions methods (where allowed by type) * globallycoherent flag But NOT yet supporting: * AppendStructuredBuffer / ConsumeStructuredBuffer types * IncrementCounter/DecrementCounter methods Please note: the stride returned by GetDimensions is as calculated by glslang for std430, and may not match other environments in all cases.
1308 lines
68 KiB
Plaintext
1308 lines
68 KiB
Plaintext
hlsl.structbuffer.rwbyte.frag
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:5 Function Definition: @main(u1; (temp 4-component vector of float)
|
|
0:5 Function Parameters:
|
|
0:5 'pos' (in uint)
|
|
0:? Sequence
|
|
0:7 Sequence
|
|
0:7 move second child to first child (temp uint)
|
|
0:7 'size' (temp uint)
|
|
0:7 array length (temp uint)
|
|
0:7 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:7 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:7 Constant:
|
|
0:7 0 (const uint)
|
|
0:? Sequence
|
|
0:9 move second child to first child (temp int)
|
|
0:9 'byteAddrTemp' (temp int)
|
|
0:9 right-shift (temp int)
|
|
0:9 'pos' (in uint)
|
|
0:9 Constant:
|
|
0:9 2 (const int)
|
|
0:9 move second child to first child (temp float)
|
|
0:9 indirect index (temp float)
|
|
0:9 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:9 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:9 Constant:
|
|
0:9 0 (const uint)
|
|
0:9 'byteAddrTemp' (temp int)
|
|
0:9 Convert uint to float (temp float)
|
|
0:9 indirect index (layout(row_major std430 ) buffer uint)
|
|
0:9 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:9 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:9 Constant:
|
|
0:9 0 (const uint)
|
|
0:9 right-shift (temp int)
|
|
0:9 'pos' (in uint)
|
|
0:9 Constant:
|
|
0:9 2 (const int)
|
|
0:? Sequence
|
|
0:10 move second child to first child (temp int)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 right-shift (temp int)
|
|
0:10 'pos' (in uint)
|
|
0:10 Constant:
|
|
0:10 2 (const int)
|
|
0:10 move second child to first child (temp float)
|
|
0:10 indirect index (temp float)
|
|
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:10 Constant:
|
|
0:10 0 (const uint)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 direct index (temp float)
|
|
0:? Sequence
|
|
0:10 move second child to first child (temp int)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 right-shift (temp int)
|
|
0:10 'pos' (in uint)
|
|
0:10 Constant:
|
|
0:10 2 (const int)
|
|
0:? Construct vec2 (temp 2-component vector of uint)
|
|
0:10 indirect index (temp float)
|
|
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:10 Constant:
|
|
0:10 0 (const uint)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 indirect index (temp float)
|
|
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:10 Constant:
|
|
0:10 0 (const uint)
|
|
0:10 add (temp int)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 Constant:
|
|
0:10 1 (const int)
|
|
0:10 Constant:
|
|
0:10 0 (const int)
|
|
0:10 move second child to first child (temp float)
|
|
0:10 indirect index (temp float)
|
|
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:10 Constant:
|
|
0:10 0 (const uint)
|
|
0:10 add (temp int)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 Constant:
|
|
0:10 1 (const int)
|
|
0:10 direct index (temp float)
|
|
0:? Sequence
|
|
0:10 move second child to first child (temp int)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 right-shift (temp int)
|
|
0:10 'pos' (in uint)
|
|
0:10 Constant:
|
|
0:10 2 (const int)
|
|
0:? Construct vec2 (temp 2-component vector of uint)
|
|
0:10 indirect index (temp float)
|
|
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:10 Constant:
|
|
0:10 0 (const uint)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 indirect index (temp float)
|
|
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:10 Constant:
|
|
0:10 0 (const uint)
|
|
0:10 add (temp int)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 Constant:
|
|
0:10 1 (const int)
|
|
0:10 Constant:
|
|
0:10 1 (const int)
|
|
0:? Sequence
|
|
0:11 move second child to first child (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 right-shift (temp int)
|
|
0:11 'pos' (in uint)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:11 move second child to first child (temp float)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 direct index (temp float)
|
|
0:? Sequence
|
|
0:11 move second child to first child (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 right-shift (temp int)
|
|
0:11 'pos' (in uint)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:? Construct vec3 (temp 3-component vector of uint)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 1 (const int)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:11 Constant:
|
|
0:11 0 (const int)
|
|
0:11 move second child to first child (temp float)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 1 (const int)
|
|
0:11 direct index (temp float)
|
|
0:? Sequence
|
|
0:11 move second child to first child (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 right-shift (temp int)
|
|
0:11 'pos' (in uint)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:? Construct vec3 (temp 3-component vector of uint)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 1 (const int)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:11 Constant:
|
|
0:11 1 (const int)
|
|
0:11 move second child to first child (temp float)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:11 direct index (temp float)
|
|
0:? Sequence
|
|
0:11 move second child to first child (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 right-shift (temp int)
|
|
0:11 'pos' (in uint)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:? Construct vec3 (temp 3-component vector of uint)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 1 (const int)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:? Sequence
|
|
0:12 move second child to first child (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 right-shift (temp int)
|
|
0:12 'pos' (in uint)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 move second child to first child (temp float)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 direct index (temp float)
|
|
0:? Sequence
|
|
0:12 move second child to first child (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 right-shift (temp int)
|
|
0:12 'pos' (in uint)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:? Construct vec4 (temp 4-component vector of uint)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 3 (const int)
|
|
0:12 Constant:
|
|
0:12 0 (const int)
|
|
0:12 move second child to first child (temp float)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 direct index (temp float)
|
|
0:? Sequence
|
|
0:12 move second child to first child (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 right-shift (temp int)
|
|
0:12 'pos' (in uint)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:? Construct vec4 (temp 4-component vector of uint)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 3 (const int)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 move second child to first child (temp float)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 direct index (temp float)
|
|
0:? Sequence
|
|
0:12 move second child to first child (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 right-shift (temp int)
|
|
0:12 'pos' (in uint)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:? Construct vec4 (temp 4-component vector of uint)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 3 (const int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 move second child to first child (temp float)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 3 (const int)
|
|
0:12 direct index (temp float)
|
|
0:? Sequence
|
|
0:12 move second child to first child (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 right-shift (temp int)
|
|
0:12 'pos' (in uint)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:? Construct vec4 (temp 4-component vector of uint)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 3 (const int)
|
|
0:12 Constant:
|
|
0:12 3 (const int)
|
|
0:14 Branch: Return with expression
|
|
0:14 Construct vec4 (temp 4-component vector of float)
|
|
0:14 Convert uint to float (temp float)
|
|
0:14 indirect index (layout(row_major std430 ) buffer uint)
|
|
0:14 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:14 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:14 Constant:
|
|
0:14 0 (const uint)
|
|
0:14 right-shift (temp int)
|
|
0:14 'pos' (in uint)
|
|
0:14 Constant:
|
|
0:14 2 (const int)
|
|
0:5 Function Definition: main( (temp void)
|
|
0:5 Function Parameters:
|
|
0:? Sequence
|
|
0:5 move second child to first child (temp uint)
|
|
0:? 'pos' (temp uint)
|
|
0:? 'pos' (layout(location=0 ) in uint)
|
|
0:5 move second child to first child (temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
|
0:5 Function Call: @main(u1; (temp 4-component vector of float)
|
|
0:? 'pos' (temp uint)
|
|
0:? Linker Objects
|
|
0:? 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
|
0:? 'pos' (layout(location=0 ) in uint)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:5 Function Definition: @main(u1; (temp 4-component vector of float)
|
|
0:5 Function Parameters:
|
|
0:5 'pos' (in uint)
|
|
0:? Sequence
|
|
0:7 Sequence
|
|
0:7 move second child to first child (temp uint)
|
|
0:7 'size' (temp uint)
|
|
0:7 array length (temp uint)
|
|
0:7 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:7 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:7 Constant:
|
|
0:7 0 (const uint)
|
|
0:? Sequence
|
|
0:9 move second child to first child (temp int)
|
|
0:9 'byteAddrTemp' (temp int)
|
|
0:9 right-shift (temp int)
|
|
0:9 'pos' (in uint)
|
|
0:9 Constant:
|
|
0:9 2 (const int)
|
|
0:9 move second child to first child (temp float)
|
|
0:9 indirect index (temp float)
|
|
0:9 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:9 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:9 Constant:
|
|
0:9 0 (const uint)
|
|
0:9 'byteAddrTemp' (temp int)
|
|
0:9 Convert uint to float (temp float)
|
|
0:9 indirect index (layout(row_major std430 ) buffer uint)
|
|
0:9 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:9 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:9 Constant:
|
|
0:9 0 (const uint)
|
|
0:9 right-shift (temp int)
|
|
0:9 'pos' (in uint)
|
|
0:9 Constant:
|
|
0:9 2 (const int)
|
|
0:? Sequence
|
|
0:10 move second child to first child (temp int)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 right-shift (temp int)
|
|
0:10 'pos' (in uint)
|
|
0:10 Constant:
|
|
0:10 2 (const int)
|
|
0:10 move second child to first child (temp float)
|
|
0:10 indirect index (temp float)
|
|
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:10 Constant:
|
|
0:10 0 (const uint)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 direct index (temp float)
|
|
0:? Sequence
|
|
0:10 move second child to first child (temp int)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 right-shift (temp int)
|
|
0:10 'pos' (in uint)
|
|
0:10 Constant:
|
|
0:10 2 (const int)
|
|
0:? Construct vec2 (temp 2-component vector of uint)
|
|
0:10 indirect index (temp float)
|
|
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:10 Constant:
|
|
0:10 0 (const uint)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 indirect index (temp float)
|
|
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:10 Constant:
|
|
0:10 0 (const uint)
|
|
0:10 add (temp int)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 Constant:
|
|
0:10 1 (const int)
|
|
0:10 Constant:
|
|
0:10 0 (const int)
|
|
0:10 move second child to first child (temp float)
|
|
0:10 indirect index (temp float)
|
|
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:10 Constant:
|
|
0:10 0 (const uint)
|
|
0:10 add (temp int)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 Constant:
|
|
0:10 1 (const int)
|
|
0:10 direct index (temp float)
|
|
0:? Sequence
|
|
0:10 move second child to first child (temp int)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 right-shift (temp int)
|
|
0:10 'pos' (in uint)
|
|
0:10 Constant:
|
|
0:10 2 (const int)
|
|
0:? Construct vec2 (temp 2-component vector of uint)
|
|
0:10 indirect index (temp float)
|
|
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:10 Constant:
|
|
0:10 0 (const uint)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 indirect index (temp float)
|
|
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:10 Constant:
|
|
0:10 0 (const uint)
|
|
0:10 add (temp int)
|
|
0:10 'byteAddrTemp' (temp int)
|
|
0:10 Constant:
|
|
0:10 1 (const int)
|
|
0:10 Constant:
|
|
0:10 1 (const int)
|
|
0:? Sequence
|
|
0:11 move second child to first child (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 right-shift (temp int)
|
|
0:11 'pos' (in uint)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:11 move second child to first child (temp float)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 direct index (temp float)
|
|
0:? Sequence
|
|
0:11 move second child to first child (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 right-shift (temp int)
|
|
0:11 'pos' (in uint)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:? Construct vec3 (temp 3-component vector of uint)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 1 (const int)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:11 Constant:
|
|
0:11 0 (const int)
|
|
0:11 move second child to first child (temp float)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 1 (const int)
|
|
0:11 direct index (temp float)
|
|
0:? Sequence
|
|
0:11 move second child to first child (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 right-shift (temp int)
|
|
0:11 'pos' (in uint)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:? Construct vec3 (temp 3-component vector of uint)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 1 (const int)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:11 Constant:
|
|
0:11 1 (const int)
|
|
0:11 move second child to first child (temp float)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:11 direct index (temp float)
|
|
0:? Sequence
|
|
0:11 move second child to first child (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 right-shift (temp int)
|
|
0:11 'pos' (in uint)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:? Construct vec3 (temp 3-component vector of uint)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 1 (const int)
|
|
0:11 indirect index (temp float)
|
|
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 add (temp int)
|
|
0:11 'byteAddrTemp' (temp int)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:11 Constant:
|
|
0:11 2 (const int)
|
|
0:? Sequence
|
|
0:12 move second child to first child (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 right-shift (temp int)
|
|
0:12 'pos' (in uint)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 move second child to first child (temp float)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 direct index (temp float)
|
|
0:? Sequence
|
|
0:12 move second child to first child (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 right-shift (temp int)
|
|
0:12 'pos' (in uint)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:? Construct vec4 (temp 4-component vector of uint)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 3 (const int)
|
|
0:12 Constant:
|
|
0:12 0 (const int)
|
|
0:12 move second child to first child (temp float)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 direct index (temp float)
|
|
0:? Sequence
|
|
0:12 move second child to first child (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 right-shift (temp int)
|
|
0:12 'pos' (in uint)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:? Construct vec4 (temp 4-component vector of uint)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 3 (const int)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 move second child to first child (temp float)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 direct index (temp float)
|
|
0:? Sequence
|
|
0:12 move second child to first child (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 right-shift (temp int)
|
|
0:12 'pos' (in uint)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:? Construct vec4 (temp 4-component vector of uint)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 3 (const int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 move second child to first child (temp float)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 3 (const int)
|
|
0:12 direct index (temp float)
|
|
0:? Sequence
|
|
0:12 move second child to first child (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 right-shift (temp int)
|
|
0:12 'pos' (in uint)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:? Construct vec4 (temp 4-component vector of uint)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 indirect index (temp float)
|
|
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 add (temp int)
|
|
0:12 'byteAddrTemp' (temp int)
|
|
0:12 Constant:
|
|
0:12 3 (const int)
|
|
0:12 Constant:
|
|
0:12 3 (const int)
|
|
0:14 Branch: Return with expression
|
|
0:14 Construct vec4 (temp 4-component vector of float)
|
|
0:14 Convert uint to float (temp float)
|
|
0:14 indirect index (layout(row_major std430 ) buffer uint)
|
|
0:14 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
|
0:14 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:14 Constant:
|
|
0:14 0 (const uint)
|
|
0:14 right-shift (temp int)
|
|
0:14 'pos' (in uint)
|
|
0:14 Constant:
|
|
0:14 2 (const int)
|
|
0:5 Function Definition: main( (temp void)
|
|
0:5 Function Parameters:
|
|
0:? Sequence
|
|
0:5 move second child to first child (temp uint)
|
|
0:? 'pos' (temp uint)
|
|
0:? 'pos' (layout(location=0 ) in uint)
|
|
0:5 move second child to first child (temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
|
0:5 Function Call: @main(u1; (temp 4-component vector of float)
|
|
0:? 'pos' (temp uint)
|
|
0:? Linker Objects
|
|
0:? 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
|
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
|
0:? 'pos' (layout(location=0 ) in uint)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 240
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 233 236
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "main"
|
|
Name 12 "@main(u1;"
|
|
Name 11 "pos"
|
|
Name 14 "size"
|
|
Name 16 "sbuf"
|
|
MemberName 16(sbuf) 0 "sbuf"
|
|
Name 18 ""
|
|
Name 22 "byteAddrTemp"
|
|
Name 35 "byteAddrTemp"
|
|
Name 39 "byteAddrTemp"
|
|
Name 70 "byteAddrTemp"
|
|
Name 74 "byteAddrTemp"
|
|
Name 129 "byteAddrTemp"
|
|
Name 133 "byteAddrTemp"
|
|
Name 231 "pos"
|
|
Name 233 "pos"
|
|
Name 236 "@entryPointOutput"
|
|
Name 237 "param"
|
|
Decorate 15 ArrayStride 4
|
|
MemberDecorate 16(sbuf) 0 Offset 0
|
|
Decorate 16(sbuf) BufferBlock
|
|
Decorate 18 DescriptorSet 0
|
|
Decorate 233(pos) Location 0
|
|
Decorate 236(@entryPointOutput) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7: TypePointer Function 6(int)
|
|
8: TypeFloat 32
|
|
9: TypeVector 8(float) 4
|
|
10: TypeFunction 9(fvec4) 7(ptr)
|
|
15: TypeRuntimeArray 6(int)
|
|
16(sbuf): TypeStruct 15
|
|
17: TypePointer Uniform 16(sbuf)
|
|
18: 17(ptr) Variable Uniform
|
|
19: TypeInt 32 1
|
|
21: TypePointer Function 19(int)
|
|
24: 19(int) Constant 2
|
|
26: 19(int) Constant 0
|
|
30: TypePointer Uniform 6(int)
|
|
46: 19(int) Constant 1
|
|
50: TypeVector 6(int) 2
|
|
52: 6(int) Constant 0
|
|
67: 6(int) Constant 1
|
|
88: TypeVector 6(int) 3
|
|
126: 6(int) Constant 2
|
|
148: 19(int) Constant 3
|
|
152: TypeVector 6(int) 4
|
|
220: 6(int) Constant 3
|
|
232: TypePointer Input 6(int)
|
|
233(pos): 232(ptr) Variable Input
|
|
235: TypePointer Output 9(fvec4)
|
|
236(@entryPointOutput): 235(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
231(pos): 7(ptr) Variable Function
|
|
237(param): 7(ptr) Variable Function
|
|
234: 6(int) Load 233(pos)
|
|
Store 231(pos) 234
|
|
238: 6(int) Load 231(pos)
|
|
Store 237(param) 238
|
|
239: 9(fvec4) FunctionCall 12(@main(u1;) 237(param)
|
|
Store 236(@entryPointOutput) 239
|
|
Return
|
|
FunctionEnd
|
|
12(@main(u1;): 9(fvec4) Function None 10
|
|
11(pos): 7(ptr) FunctionParameter
|
|
13: Label
|
|
14(size): 7(ptr) Variable Function
|
|
22(byteAddrTemp): 21(ptr) Variable Function
|
|
35(byteAddrTemp): 21(ptr) Variable Function
|
|
39(byteAddrTemp): 21(ptr) Variable Function
|
|
70(byteAddrTemp): 21(ptr) Variable Function
|
|
74(byteAddrTemp): 21(ptr) Variable Function
|
|
129(byteAddrTemp): 21(ptr) Variable Function
|
|
133(byteAddrTemp): 21(ptr) Variable Function
|
|
20: 19(int) ArrayLength 18 0
|
|
Store 14(size) 20
|
|
23: 6(int) Load 11(pos)
|
|
25: 19(int) ShiftRightLogical 23 24
|
|
Store 22(byteAddrTemp) 25
|
|
27: 19(int) Load 22(byteAddrTemp)
|
|
28: 6(int) Load 11(pos)
|
|
29: 19(int) ShiftRightLogical 28 24
|
|
31: 30(ptr) AccessChain 18 26 29
|
|
32: 6(int) Load 31
|
|
33: 8(float) ConvertUToF 32
|
|
34: 30(ptr) AccessChain 18 26 27
|
|
Store 34 33
|
|
36: 6(int) Load 11(pos)
|
|
37: 19(int) ShiftRightLogical 36 24
|
|
Store 35(byteAddrTemp) 37
|
|
38: 19(int) Load 35(byteAddrTemp)
|
|
40: 6(int) Load 11(pos)
|
|
41: 19(int) ShiftRightLogical 40 24
|
|
Store 39(byteAddrTemp) 41
|
|
42: 19(int) Load 39(byteAddrTemp)
|
|
43: 30(ptr) AccessChain 18 26 42
|
|
44: 6(int) Load 43
|
|
45: 19(int) Load 39(byteAddrTemp)
|
|
47: 19(int) IAdd 45 46
|
|
48: 30(ptr) AccessChain 18 26 47
|
|
49: 6(int) Load 48
|
|
51: 50(ivec2) CompositeConstruct 44 49
|
|
53: 6(int) CompositeExtract 51 0
|
|
54: 30(ptr) AccessChain 18 26 38
|
|
Store 54 53
|
|
55: 19(int) Load 35(byteAddrTemp)
|
|
56: 19(int) IAdd 55 46
|
|
57: 6(int) Load 11(pos)
|
|
58: 19(int) ShiftRightLogical 57 24
|
|
Store 39(byteAddrTemp) 58
|
|
59: 19(int) Load 39(byteAddrTemp)
|
|
60: 30(ptr) AccessChain 18 26 59
|
|
61: 6(int) Load 60
|
|
62: 19(int) Load 39(byteAddrTemp)
|
|
63: 19(int) IAdd 62 46
|
|
64: 30(ptr) AccessChain 18 26 63
|
|
65: 6(int) Load 64
|
|
66: 50(ivec2) CompositeConstruct 61 65
|
|
68: 6(int) CompositeExtract 66 1
|
|
69: 30(ptr) AccessChain 18 26 56
|
|
Store 69 68
|
|
71: 6(int) Load 11(pos)
|
|
72: 19(int) ShiftRightLogical 71 24
|
|
Store 70(byteAddrTemp) 72
|
|
73: 19(int) Load 70(byteAddrTemp)
|
|
75: 6(int) Load 11(pos)
|
|
76: 19(int) ShiftRightLogical 75 24
|
|
Store 74(byteAddrTemp) 76
|
|
77: 19(int) Load 74(byteAddrTemp)
|
|
78: 30(ptr) AccessChain 18 26 77
|
|
79: 6(int) Load 78
|
|
80: 19(int) Load 74(byteAddrTemp)
|
|
81: 19(int) IAdd 80 46
|
|
82: 30(ptr) AccessChain 18 26 81
|
|
83: 6(int) Load 82
|
|
84: 19(int) Load 74(byteAddrTemp)
|
|
85: 19(int) IAdd 84 24
|
|
86: 30(ptr) AccessChain 18 26 85
|
|
87: 6(int) Load 86
|
|
89: 88(ivec3) CompositeConstruct 79 83 87
|
|
90: 6(int) CompositeExtract 89 0
|
|
91: 30(ptr) AccessChain 18 26 73
|
|
Store 91 90
|
|
92: 19(int) Load 70(byteAddrTemp)
|
|
93: 19(int) IAdd 92 46
|
|
94: 6(int) Load 11(pos)
|
|
95: 19(int) ShiftRightLogical 94 24
|
|
Store 74(byteAddrTemp) 95
|
|
96: 19(int) Load 74(byteAddrTemp)
|
|
97: 30(ptr) AccessChain 18 26 96
|
|
98: 6(int) Load 97
|
|
99: 19(int) Load 74(byteAddrTemp)
|
|
100: 19(int) IAdd 99 46
|
|
101: 30(ptr) AccessChain 18 26 100
|
|
102: 6(int) Load 101
|
|
103: 19(int) Load 74(byteAddrTemp)
|
|
104: 19(int) IAdd 103 24
|
|
105: 30(ptr) AccessChain 18 26 104
|
|
106: 6(int) Load 105
|
|
107: 88(ivec3) CompositeConstruct 98 102 106
|
|
108: 6(int) CompositeExtract 107 1
|
|
109: 30(ptr) AccessChain 18 26 93
|
|
Store 109 108
|
|
110: 19(int) Load 70(byteAddrTemp)
|
|
111: 19(int) IAdd 110 24
|
|
112: 6(int) Load 11(pos)
|
|
113: 19(int) ShiftRightLogical 112 24
|
|
Store 74(byteAddrTemp) 113
|
|
114: 19(int) Load 74(byteAddrTemp)
|
|
115: 30(ptr) AccessChain 18 26 114
|
|
116: 6(int) Load 115
|
|
117: 19(int) Load 74(byteAddrTemp)
|
|
118: 19(int) IAdd 117 46
|
|
119: 30(ptr) AccessChain 18 26 118
|
|
120: 6(int) Load 119
|
|
121: 19(int) Load 74(byteAddrTemp)
|
|
122: 19(int) IAdd 121 24
|
|
123: 30(ptr) AccessChain 18 26 122
|
|
124: 6(int) Load 123
|
|
125: 88(ivec3) CompositeConstruct 116 120 124
|
|
127: 6(int) CompositeExtract 125 2
|
|
128: 30(ptr) AccessChain 18 26 111
|
|
Store 128 127
|
|
130: 6(int) Load 11(pos)
|
|
131: 19(int) ShiftRightLogical 130 24
|
|
Store 129(byteAddrTemp) 131
|
|
132: 19(int) Load 129(byteAddrTemp)
|
|
134: 6(int) Load 11(pos)
|
|
135: 19(int) ShiftRightLogical 134 24
|
|
Store 133(byteAddrTemp) 135
|
|
136: 19(int) Load 133(byteAddrTemp)
|
|
137: 30(ptr) AccessChain 18 26 136
|
|
138: 6(int) Load 137
|
|
139: 19(int) Load 133(byteAddrTemp)
|
|
140: 19(int) IAdd 139 46
|
|
141: 30(ptr) AccessChain 18 26 140
|
|
142: 6(int) Load 141
|
|
143: 19(int) Load 133(byteAddrTemp)
|
|
144: 19(int) IAdd 143 24
|
|
145: 30(ptr) AccessChain 18 26 144
|
|
146: 6(int) Load 145
|
|
147: 19(int) Load 133(byteAddrTemp)
|
|
149: 19(int) IAdd 147 148
|
|
150: 30(ptr) AccessChain 18 26 149
|
|
151: 6(int) Load 150
|
|
153: 152(ivec4) CompositeConstruct 138 142 146 151
|
|
154: 6(int) CompositeExtract 153 0
|
|
155: 30(ptr) AccessChain 18 26 132
|
|
Store 155 154
|
|
156: 19(int) Load 129(byteAddrTemp)
|
|
157: 19(int) IAdd 156 46
|
|
158: 6(int) Load 11(pos)
|
|
159: 19(int) ShiftRightLogical 158 24
|
|
Store 133(byteAddrTemp) 159
|
|
160: 19(int) Load 133(byteAddrTemp)
|
|
161: 30(ptr) AccessChain 18 26 160
|
|
162: 6(int) Load 161
|
|
163: 19(int) Load 133(byteAddrTemp)
|
|
164: 19(int) IAdd 163 46
|
|
165: 30(ptr) AccessChain 18 26 164
|
|
166: 6(int) Load 165
|
|
167: 19(int) Load 133(byteAddrTemp)
|
|
168: 19(int) IAdd 167 24
|
|
169: 30(ptr) AccessChain 18 26 168
|
|
170: 6(int) Load 169
|
|
171: 19(int) Load 133(byteAddrTemp)
|
|
172: 19(int) IAdd 171 148
|
|
173: 30(ptr) AccessChain 18 26 172
|
|
174: 6(int) Load 173
|
|
175: 152(ivec4) CompositeConstruct 162 166 170 174
|
|
176: 6(int) CompositeExtract 175 1
|
|
177: 30(ptr) AccessChain 18 26 157
|
|
Store 177 176
|
|
178: 19(int) Load 129(byteAddrTemp)
|
|
179: 19(int) IAdd 178 24
|
|
180: 6(int) Load 11(pos)
|
|
181: 19(int) ShiftRightLogical 180 24
|
|
Store 133(byteAddrTemp) 181
|
|
182: 19(int) Load 133(byteAddrTemp)
|
|
183: 30(ptr) AccessChain 18 26 182
|
|
184: 6(int) Load 183
|
|
185: 19(int) Load 133(byteAddrTemp)
|
|
186: 19(int) IAdd 185 46
|
|
187: 30(ptr) AccessChain 18 26 186
|
|
188: 6(int) Load 187
|
|
189: 19(int) Load 133(byteAddrTemp)
|
|
190: 19(int) IAdd 189 24
|
|
191: 30(ptr) AccessChain 18 26 190
|
|
192: 6(int) Load 191
|
|
193: 19(int) Load 133(byteAddrTemp)
|
|
194: 19(int) IAdd 193 148
|
|
195: 30(ptr) AccessChain 18 26 194
|
|
196: 6(int) Load 195
|
|
197: 152(ivec4) CompositeConstruct 184 188 192 196
|
|
198: 6(int) CompositeExtract 197 2
|
|
199: 30(ptr) AccessChain 18 26 179
|
|
Store 199 198
|
|
200: 19(int) Load 129(byteAddrTemp)
|
|
201: 19(int) IAdd 200 148
|
|
202: 6(int) Load 11(pos)
|
|
203: 19(int) ShiftRightLogical 202 24
|
|
Store 133(byteAddrTemp) 203
|
|
204: 19(int) Load 133(byteAddrTemp)
|
|
205: 30(ptr) AccessChain 18 26 204
|
|
206: 6(int) Load 205
|
|
207: 19(int) Load 133(byteAddrTemp)
|
|
208: 19(int) IAdd 207 46
|
|
209: 30(ptr) AccessChain 18 26 208
|
|
210: 6(int) Load 209
|
|
211: 19(int) Load 133(byteAddrTemp)
|
|
212: 19(int) IAdd 211 24
|
|
213: 30(ptr) AccessChain 18 26 212
|
|
214: 6(int) Load 213
|
|
215: 19(int) Load 133(byteAddrTemp)
|
|
216: 19(int) IAdd 215 148
|
|
217: 30(ptr) AccessChain 18 26 216
|
|
218: 6(int) Load 217
|
|
219: 152(ivec4) CompositeConstruct 206 210 214 218
|
|
221: 6(int) CompositeExtract 219 3
|
|
222: 30(ptr) AccessChain 18 26 201
|
|
Store 222 221
|
|
223: 6(int) Load 11(pos)
|
|
224: 19(int) ShiftRightLogical 223 24
|
|
225: 30(ptr) AccessChain 18 26 224
|
|
226: 6(int) Load 225
|
|
227: 8(float) ConvertUToF 226
|
|
228: 9(fvec4) CompositeConstruct 227 227 227 227
|
|
ReturnValue 228
|
|
FunctionEnd
|