| hlsl.structbuffer.atomics.frag |
| Shader version: 500 |
| 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:8 AtomicAdd ( temp void) |
| 0:8 indirect index (layout( row_major std430) buffer uint) |
| 0:8 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:8 Constant: |
| 0:8 0 (const uint) |
| 0:8 right-shift ( temp int) |
| 0:8 Constant: |
| 0:8 8 (const int) |
| 0:8 Constant: |
| 0:8 2 (const int) |
| 0:8 Constant: |
| 0:8 1 (const int) |
| 0:9 move second child to first child ( temp uint) |
| 0:9 'u' ( temp uint) |
| 0:9 AtomicAdd ( temp uint) |
| 0:9 indirect index (layout( row_major std430) buffer uint) |
| 0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:9 Constant: |
| 0:9 0 (const uint) |
| 0:9 right-shift ( temp int) |
| 0:9 Constant: |
| 0:9 8 (const int) |
| 0:9 Constant: |
| 0:9 2 (const int) |
| 0:9 Constant: |
| 0:9 1 (const int) |
| 0:10 AtomicAnd ( temp void) |
| 0:10 indirect index (layout( row_major std430) buffer uint) |
| 0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:10 Constant: |
| 0:10 0 (const uint) |
| 0:10 right-shift ( temp int) |
| 0:10 Constant: |
| 0:10 8 (const int) |
| 0:10 Constant: |
| 0:10 2 (const int) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:11 move second child to first child ( temp uint) |
| 0:11 'u' ( temp uint) |
| 0:11 AtomicAnd ( temp uint) |
| 0:11 indirect index (layout( row_major std430) buffer uint) |
| 0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:11 Constant: |
| 0:11 0 (const uint) |
| 0:11 right-shift ( temp int) |
| 0:11 Constant: |
| 0:11 8 (const int) |
| 0:11 Constant: |
| 0:11 2 (const int) |
| 0:11 Constant: |
| 0:11 1 (const int) |
| 0:12 move second child to first child ( temp uint) |
| 0:12 'u' ( temp uint) |
| 0:12 Convert int to uint ( temp uint) |
| 0:12 AtomicCompSwap ( temp int) |
| 0:12 indirect index (layout( row_major std430) buffer uint) |
| 0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:12 Constant: |
| 0:12 0 (const uint) |
| 0:12 right-shift ( temp int) |
| 0:12 Constant: |
| 0:12 8 (const int) |
| 0:12 Constant: |
| 0:12 2 (const int) |
| 0:12 Constant: |
| 0:12 1 (const int) |
| 0:12 Constant: |
| 0:12 2 (const int) |
| 0:14 move second child to first child ( temp uint) |
| 0:14 'u' ( temp uint) |
| 0:14 AtomicExchange ( temp uint) |
| 0:14 indirect index (layout( row_major std430) buffer uint) |
| 0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:14 Constant: |
| 0:14 0 (const uint) |
| 0:14 right-shift ( temp int) |
| 0:14 Constant: |
| 0:14 8 (const int) |
| 0:14 Constant: |
| 0:14 2 (const int) |
| 0:14 Constant: |
| 0:14 1 (const int) |
| 0:15 AtomicMax ( temp void) |
| 0:15 indirect index (layout( row_major std430) buffer uint) |
| 0:15 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:15 Constant: |
| 0:15 0 (const uint) |
| 0:15 right-shift ( temp int) |
| 0:15 Constant: |
| 0:15 8 (const int) |
| 0:15 Constant: |
| 0:15 2 (const int) |
| 0:15 Constant: |
| 0:15 1 (const int) |
| 0:16 move second child to first child ( temp uint) |
| 0:16 'u' ( temp uint) |
| 0:16 AtomicMax ( temp uint) |
| 0:16 indirect index (layout( row_major std430) buffer uint) |
| 0:16 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:16 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:16 Constant: |
| 0:16 0 (const uint) |
| 0:16 right-shift ( temp int) |
| 0:16 Constant: |
| 0:16 8 (const int) |
| 0:16 Constant: |
| 0:16 2 (const int) |
| 0:16 Constant: |
| 0:16 1 (const int) |
| 0:17 AtomicMin ( temp void) |
| 0:17 indirect index (layout( row_major std430) buffer uint) |
| 0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:17 Constant: |
| 0:17 0 (const uint) |
| 0:17 right-shift ( temp int) |
| 0:17 Constant: |
| 0:17 8 (const int) |
| 0:17 Constant: |
| 0:17 2 (const int) |
| 0:17 Constant: |
| 0:17 1 (const int) |
| 0:18 move second child to first child ( temp uint) |
| 0:18 'u' ( temp uint) |
| 0:18 AtomicMin ( temp uint) |
| 0:18 indirect index (layout( row_major std430) buffer uint) |
| 0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:18 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:18 Constant: |
| 0:18 0 (const uint) |
| 0:18 right-shift ( temp int) |
| 0:18 Constant: |
| 0:18 8 (const int) |
| 0:18 Constant: |
| 0:18 2 (const int) |
| 0:18 Constant: |
| 0:18 1 (const int) |
| 0:19 AtomicOr ( temp void) |
| 0:19 indirect index (layout( row_major std430) buffer uint) |
| 0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:19 Constant: |
| 0:19 0 (const uint) |
| 0:19 right-shift ( temp int) |
| 0:19 Constant: |
| 0:19 8 (const int) |
| 0:19 Constant: |
| 0:19 2 (const int) |
| 0:19 Constant: |
| 0:19 1 (const int) |
| 0:20 move second child to first child ( temp uint) |
| 0:20 'u' ( temp uint) |
| 0:20 AtomicOr ( temp uint) |
| 0:20 indirect index (layout( row_major std430) buffer uint) |
| 0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:20 Constant: |
| 0:20 0 (const uint) |
| 0:20 right-shift ( temp int) |
| 0:20 Constant: |
| 0:20 8 (const int) |
| 0:20 Constant: |
| 0:20 2 (const int) |
| 0:20 Constant: |
| 0:20 1 (const int) |
| 0:21 AtomicXor ( temp void) |
| 0:21 indirect index (layout( row_major std430) buffer uint) |
| 0:21 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:21 Constant: |
| 0:21 0 (const uint) |
| 0:21 right-shift ( temp int) |
| 0:21 Constant: |
| 0:21 8 (const int) |
| 0:21 Constant: |
| 0:21 2 (const int) |
| 0:21 Constant: |
| 0:21 1 (const int) |
| 0:22 move second child to first child ( temp uint) |
| 0:22 'u' ( temp uint) |
| 0:22 AtomicXor ( temp uint) |
| 0:22 indirect index (layout( row_major std430) buffer uint) |
| 0:22 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:22 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:22 Constant: |
| 0:22 0 (const uint) |
| 0:22 right-shift ( temp int) |
| 0:22 Constant: |
| 0:22 8 (const int) |
| 0:22 Constant: |
| 0:22 2 (const int) |
| 0:22 Constant: |
| 0:22 1 (const int) |
| 0:24 Branch: Return with expression |
| 0:24 Construct vec4 ( temp 4-component vector of float) |
| 0:24 Convert uint to float ( temp float) |
| 0:24 indirect index (layout( row_major std430) buffer uint) |
| 0:24 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:24 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:24 Constant: |
| 0:24 0 (const uint) |
| 0:24 right-shift ( temp int) |
| 0:24 'pos' ( in uint) |
| 0:24 Constant: |
| 0:24 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) flat 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:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) |
| 0:? 'pos' (layout( location=0) flat in uint) |
| |
| |
| Linked fragment stage: |
| |
| |
| Shader version: 500 |
| 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:8 AtomicAdd ( temp void) |
| 0:8 indirect index (layout( row_major std430) buffer uint) |
| 0:8 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:8 Constant: |
| 0:8 0 (const uint) |
| 0:8 right-shift ( temp int) |
| 0:8 Constant: |
| 0:8 8 (const int) |
| 0:8 Constant: |
| 0:8 2 (const int) |
| 0:8 Constant: |
| 0:8 1 (const int) |
| 0:9 move second child to first child ( temp uint) |
| 0:9 'u' ( temp uint) |
| 0:9 AtomicAdd ( temp uint) |
| 0:9 indirect index (layout( row_major std430) buffer uint) |
| 0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:9 Constant: |
| 0:9 0 (const uint) |
| 0:9 right-shift ( temp int) |
| 0:9 Constant: |
| 0:9 8 (const int) |
| 0:9 Constant: |
| 0:9 2 (const int) |
| 0:9 Constant: |
| 0:9 1 (const int) |
| 0:10 AtomicAnd ( temp void) |
| 0:10 indirect index (layout( row_major std430) buffer uint) |
| 0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:10 Constant: |
| 0:10 0 (const uint) |
| 0:10 right-shift ( temp int) |
| 0:10 Constant: |
| 0:10 8 (const int) |
| 0:10 Constant: |
| 0:10 2 (const int) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:11 move second child to first child ( temp uint) |
| 0:11 'u' ( temp uint) |
| 0:11 AtomicAnd ( temp uint) |
| 0:11 indirect index (layout( row_major std430) buffer uint) |
| 0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:11 Constant: |
| 0:11 0 (const uint) |
| 0:11 right-shift ( temp int) |
| 0:11 Constant: |
| 0:11 8 (const int) |
| 0:11 Constant: |
| 0:11 2 (const int) |
| 0:11 Constant: |
| 0:11 1 (const int) |
| 0:12 move second child to first child ( temp uint) |
| 0:12 'u' ( temp uint) |
| 0:12 Convert int to uint ( temp uint) |
| 0:12 AtomicCompSwap ( temp int) |
| 0:12 indirect index (layout( row_major std430) buffer uint) |
| 0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:12 Constant: |
| 0:12 0 (const uint) |
| 0:12 right-shift ( temp int) |
| 0:12 Constant: |
| 0:12 8 (const int) |
| 0:12 Constant: |
| 0:12 2 (const int) |
| 0:12 Constant: |
| 0:12 1 (const int) |
| 0:12 Constant: |
| 0:12 2 (const int) |
| 0:14 move second child to first child ( temp uint) |
| 0:14 'u' ( temp uint) |
| 0:14 AtomicExchange ( temp uint) |
| 0:14 indirect index (layout( row_major std430) buffer uint) |
| 0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:14 Constant: |
| 0:14 0 (const uint) |
| 0:14 right-shift ( temp int) |
| 0:14 Constant: |
| 0:14 8 (const int) |
| 0:14 Constant: |
| 0:14 2 (const int) |
| 0:14 Constant: |
| 0:14 1 (const int) |
| 0:15 AtomicMax ( temp void) |
| 0:15 indirect index (layout( row_major std430) buffer uint) |
| 0:15 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:15 Constant: |
| 0:15 0 (const uint) |
| 0:15 right-shift ( temp int) |
| 0:15 Constant: |
| 0:15 8 (const int) |
| 0:15 Constant: |
| 0:15 2 (const int) |
| 0:15 Constant: |
| 0:15 1 (const int) |
| 0:16 move second child to first child ( temp uint) |
| 0:16 'u' ( temp uint) |
| 0:16 AtomicMax ( temp uint) |
| 0:16 indirect index (layout( row_major std430) buffer uint) |
| 0:16 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:16 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:16 Constant: |
| 0:16 0 (const uint) |
| 0:16 right-shift ( temp int) |
| 0:16 Constant: |
| 0:16 8 (const int) |
| 0:16 Constant: |
| 0:16 2 (const int) |
| 0:16 Constant: |
| 0:16 1 (const int) |
| 0:17 AtomicMin ( temp void) |
| 0:17 indirect index (layout( row_major std430) buffer uint) |
| 0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:17 Constant: |
| 0:17 0 (const uint) |
| 0:17 right-shift ( temp int) |
| 0:17 Constant: |
| 0:17 8 (const int) |
| 0:17 Constant: |
| 0:17 2 (const int) |
| 0:17 Constant: |
| 0:17 1 (const int) |
| 0:18 move second child to first child ( temp uint) |
| 0:18 'u' ( temp uint) |
| 0:18 AtomicMin ( temp uint) |
| 0:18 indirect index (layout( row_major std430) buffer uint) |
| 0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:18 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:18 Constant: |
| 0:18 0 (const uint) |
| 0:18 right-shift ( temp int) |
| 0:18 Constant: |
| 0:18 8 (const int) |
| 0:18 Constant: |
| 0:18 2 (const int) |
| 0:18 Constant: |
| 0:18 1 (const int) |
| 0:19 AtomicOr ( temp void) |
| 0:19 indirect index (layout( row_major std430) buffer uint) |
| 0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:19 Constant: |
| 0:19 0 (const uint) |
| 0:19 right-shift ( temp int) |
| 0:19 Constant: |
| 0:19 8 (const int) |
| 0:19 Constant: |
| 0:19 2 (const int) |
| 0:19 Constant: |
| 0:19 1 (const int) |
| 0:20 move second child to first child ( temp uint) |
| 0:20 'u' ( temp uint) |
| 0:20 AtomicOr ( temp uint) |
| 0:20 indirect index (layout( row_major std430) buffer uint) |
| 0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:20 Constant: |
| 0:20 0 (const uint) |
| 0:20 right-shift ( temp int) |
| 0:20 Constant: |
| 0:20 8 (const int) |
| 0:20 Constant: |
| 0:20 2 (const int) |
| 0:20 Constant: |
| 0:20 1 (const int) |
| 0:21 AtomicXor ( temp void) |
| 0:21 indirect index (layout( row_major std430) buffer uint) |
| 0:21 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:21 Constant: |
| 0:21 0 (const uint) |
| 0:21 right-shift ( temp int) |
| 0:21 Constant: |
| 0:21 8 (const int) |
| 0:21 Constant: |
| 0:21 2 (const int) |
| 0:21 Constant: |
| 0:21 1 (const int) |
| 0:22 move second child to first child ( temp uint) |
| 0:22 'u' ( temp uint) |
| 0:22 AtomicXor ( temp uint) |
| 0:22 indirect index (layout( row_major std430) buffer uint) |
| 0:22 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:22 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:22 Constant: |
| 0:22 0 (const uint) |
| 0:22 right-shift ( temp int) |
| 0:22 Constant: |
| 0:22 8 (const int) |
| 0:22 Constant: |
| 0:22 2 (const int) |
| 0:22 Constant: |
| 0:22 1 (const int) |
| 0:24 Branch: Return with expression |
| 0:24 Construct vec4 ( temp 4-component vector of float) |
| 0:24 Convert uint to float ( temp float) |
| 0:24 indirect index (layout( row_major std430) buffer uint) |
| 0:24 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:24 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:24 Constant: |
| 0:24 0 (const uint) |
| 0:24 right-shift ( temp int) |
| 0:24 'pos' ( in uint) |
| 0:24 Constant: |
| 0:24 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) flat 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:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) |
| 0:? 'pos' (layout( location=0) flat in uint) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 80002 |
| // Id's are bound by 87 |
| |
| Capability Shader |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint Fragment 4 "main" 80 83 |
| ExecutionMode 4 OriginUpperLeft |
| Source HLSL 500 |
| Name 4 "main" |
| Name 12 "@main(u1;" |
| Name 11 "pos" |
| Name 15 "sbuf" |
| MemberName 15(sbuf) 0 "@data" |
| Name 17 "sbuf" |
| Name 29 "u" |
| Name 78 "pos" |
| Name 80 "pos" |
| Name 83 "@entryPointOutput" |
| Name 84 "param" |
| Decorate 14 ArrayStride 4 |
| MemberDecorate 15(sbuf) 0 Offset 0 |
| Decorate 15(sbuf) BufferBlock |
| Decorate 17(sbuf) DescriptorSet 0 |
| Decorate 80(pos) Flat |
| Decorate 80(pos) Location 0 |
| Decorate 83(@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) |
| 14: TypeRuntimeArray 6(int) |
| 15(sbuf): TypeStruct 14 |
| 16: TypePointer Uniform 15(sbuf) |
| 17(sbuf): 16(ptr) Variable Uniform |
| 18: TypeInt 32 1 |
| 19: 18(int) Constant 0 |
| 20: 18(int) Constant 8 |
| 21: 18(int) Constant 2 |
| 23: TypePointer Uniform 6(int) |
| 25: 18(int) Constant 1 |
| 26: 6(int) Constant 1 |
| 27: 6(int) Constant 0 |
| 79: TypePointer Input 6(int) |
| 80(pos): 79(ptr) Variable Input |
| 82: TypePointer Output 9(fvec4) |
| 83(@entryPointOutput): 82(ptr) Variable Output |
| 4(main): 2 Function None 3 |
| 5: Label |
| 78(pos): 7(ptr) Variable Function |
| 84(param): 7(ptr) Variable Function |
| 81: 6(int) Load 80(pos) |
| Store 78(pos) 81 |
| 85: 6(int) Load 78(pos) |
| Store 84(param) 85 |
| 86: 9(fvec4) FunctionCall 12(@main(u1;) 84(param) |
| Store 83(@entryPointOutput) 86 |
| Return |
| FunctionEnd |
| 12(@main(u1;): 9(fvec4) Function None 10 |
| 11(pos): 7(ptr) FunctionParameter |
| 13: Label |
| 29(u): 7(ptr) Variable Function |
| 22: 18(int) ShiftRightArithmetic 20 21 |
| 24: 23(ptr) AccessChain 17(sbuf) 19 22 |
| 28: 2 AtomicIAdd 24 26 27 25 |
| 30: 18(int) ShiftRightArithmetic 20 21 |
| 31: 23(ptr) AccessChain 17(sbuf) 19 30 |
| 32: 6(int) AtomicIAdd 31 26 27 25 |
| Store 29(u) 32 |
| 33: 18(int) ShiftRightArithmetic 20 21 |
| 34: 23(ptr) AccessChain 17(sbuf) 19 33 |
| 35: 2 AtomicAnd 34 26 27 25 |
| 36: 18(int) ShiftRightArithmetic 20 21 |
| 37: 23(ptr) AccessChain 17(sbuf) 19 36 |
| 38: 6(int) AtomicAnd 37 26 27 25 |
| Store 29(u) 38 |
| 39: 18(int) ShiftRightArithmetic 20 21 |
| 40: 23(ptr) AccessChain 17(sbuf) 19 39 |
| 41: 18(int) AtomicCompareExchange 40 26 27 27 21 25 |
| 42: 6(int) Bitcast 41 |
| Store 29(u) 42 |
| 43: 18(int) ShiftRightArithmetic 20 21 |
| 44: 23(ptr) AccessChain 17(sbuf) 19 43 |
| 45: 6(int) AtomicExchange 44 26 27 25 |
| Store 29(u) 45 |
| 46: 18(int) ShiftRightArithmetic 20 21 |
| 47: 23(ptr) AccessChain 17(sbuf) 19 46 |
| 48: 2 AtomicSMax 47 26 27 25 |
| 49: 18(int) ShiftRightArithmetic 20 21 |
| 50: 23(ptr) AccessChain 17(sbuf) 19 49 |
| 51: 6(int) AtomicUMax 50 26 27 25 |
| Store 29(u) 51 |
| 52: 18(int) ShiftRightArithmetic 20 21 |
| 53: 23(ptr) AccessChain 17(sbuf) 19 52 |
| 54: 2 AtomicSMin 53 26 27 25 |
| 55: 18(int) ShiftRightArithmetic 20 21 |
| 56: 23(ptr) AccessChain 17(sbuf) 19 55 |
| 57: 6(int) AtomicUMin 56 26 27 25 |
| Store 29(u) 57 |
| 58: 18(int) ShiftRightArithmetic 20 21 |
| 59: 23(ptr) AccessChain 17(sbuf) 19 58 |
| 60: 2 AtomicOr 59 26 27 25 |
| 61: 18(int) ShiftRightArithmetic 20 21 |
| 62: 23(ptr) AccessChain 17(sbuf) 19 61 |
| 63: 6(int) AtomicOr 62 26 27 25 |
| Store 29(u) 63 |
| 64: 18(int) ShiftRightArithmetic 20 21 |
| 65: 23(ptr) AccessChain 17(sbuf) 19 64 |
| 66: 2 AtomicXor 65 26 27 25 |
| 67: 18(int) ShiftRightArithmetic 20 21 |
| 68: 23(ptr) AccessChain 17(sbuf) 19 67 |
| 69: 6(int) AtomicXor 68 26 27 25 |
| Store 29(u) 69 |
| 70: 6(int) Load 11(pos) |
| 71: 18(int) ShiftRightLogical 70 21 |
| 72: 23(ptr) AccessChain 17(sbuf) 19 71 |
| 73: 6(int) Load 72 |
| 74: 8(float) ConvertUToF 73 |
| 75: 9(fvec4) CompositeConstruct 74 74 74 74 |
| ReturnValue 75 |
| FunctionEnd |