| hlsl.structbuffer.floatidx.comp |
| Shader version: 500 |
| local_size = (1, 1, 1) |
| 0:? Sequence |
| 0:13 Function Definition: @main(vu3; ( temp void) |
| 0:13 Function Parameters: |
| 0:13 'nThreadId' ( in 3-component vector of uint) |
| 0:? Sequence |
| 0:14 Sequence |
| 0:14 move second child to first child ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) |
| 0:14 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) |
| 0:14 indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) |
| 0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) |
| 0:14 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data}) |
| 0:14 Constant: |
| 0:14 0 (const uint) |
| 0:14 add ( temp uint) |
| 0:14 AtomicAdd ( temp uint) |
| 0:14 @count: direct index for structure ( temp int) |
| 0:14 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count}) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 Constant: |
| 0:14 -1 (const int) |
| 0:14 Constant: |
| 0:14 -1 (const int) |
| 0:15 Sequence |
| 0:15 move second child to first child ( temp 2-component vector of float) |
| 0:15 'coord' ( temp 2-component vector of float) |
| 0:15 Convert uint to float ( temp 2-component vector of float) |
| 0:15 vector swizzle ( temp 2-component vector of uint) |
| 0:15 threadId: direct index for structure ( temp 2-component vector of uint) |
| 0:15 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) |
| 0:15 Constant: |
| 0:15 1 (const int) |
| 0:15 Sequence |
| 0:15 Constant: |
| 0:15 0 (const int) |
| 0:15 Constant: |
| 0:15 1 (const int) |
| 0:16 Sequence |
| 0:16 move second child to first child ( temp 4-component vector of float) |
| 0:16 'storeTemp' ( temp 4-component vector of float) |
| 0:16 color: direct index for structure ( temp 4-component vector of float) |
| 0:16 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) |
| 0:16 Constant: |
| 0:16 0 (const int) |
| 0:16 imageStore ( temp void) |
| 0:16 'outtx' (layout( rgba32f) uniform image2D) |
| 0:16 Convert float to uint ( temp 2-component vector of uint) |
| 0:16 'coord' ( temp 2-component vector of float) |
| 0:16 'storeTemp' ( temp 4-component vector of float) |
| 0:16 'storeTemp' ( temp 4-component vector of float) |
| 0:18 move second child to first child ( temp 4-component vector of float) |
| 0:18 indirect index (layout( row_major std430) buffer 4-component vector of float) |
| 0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float) |
| 0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data}) |
| 0:18 Constant: |
| 0:18 0 (const uint) |
| 0:18 Convert float to uint ( temp uint) |
| 0:18 direct index ( temp float) |
| 0:18 'coord' ( temp 2-component vector of float) |
| 0:18 Constant: |
| 0:18 0 (const int) |
| 0:18 indirect index (layout( row_major std430) buffer 4-component vector of float) |
| 0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float) |
| 0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data}) |
| 0:18 Constant: |
| 0:18 0 (const uint) |
| 0:18 Convert float to uint ( temp uint) |
| 0:18 direct index ( temp float) |
| 0:18 'coord' ( temp 2-component vector of float) |
| 0:18 Constant: |
| 0:18 1 (const int) |
| 0:13 Function Definition: main( ( temp void) |
| 0:13 Function Parameters: |
| 0:? Sequence |
| 0:13 move second child to first child ( temp 3-component vector of uint) |
| 0:? 'nThreadId' ( temp 3-component vector of uint) |
| 0:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID) |
| 0:13 Function Call: @main(vu3; ( temp void) |
| 0:? 'nThreadId' ( temp 3-component vector of uint) |
| 0:? Linker Objects |
| 0:? 'outtx' (layout( rgba32f) uniform image2D) |
| 0:? 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data}) |
| 0:? 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count}) |
| 0:? 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data}) |
| 0:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID) |
| |
| |
| Linked compute stage: |
| |
| |
| Shader version: 500 |
| local_size = (1, 1, 1) |
| 0:? Sequence |
| 0:13 Function Definition: @main(vu3; ( temp void) |
| 0:13 Function Parameters: |
| 0:13 'nThreadId' ( in 3-component vector of uint) |
| 0:? Sequence |
| 0:14 Sequence |
| 0:14 move second child to first child ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) |
| 0:14 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) |
| 0:14 indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) |
| 0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) |
| 0:14 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data}) |
| 0:14 Constant: |
| 0:14 0 (const uint) |
| 0:14 add ( temp uint) |
| 0:14 AtomicAdd ( temp uint) |
| 0:14 @count: direct index for structure ( temp int) |
| 0:14 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count}) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 Constant: |
| 0:14 -1 (const int) |
| 0:14 Constant: |
| 0:14 -1 (const int) |
| 0:15 Sequence |
| 0:15 move second child to first child ( temp 2-component vector of float) |
| 0:15 'coord' ( temp 2-component vector of float) |
| 0:15 Convert uint to float ( temp 2-component vector of float) |
| 0:15 vector swizzle ( temp 2-component vector of uint) |
| 0:15 threadId: direct index for structure ( temp 2-component vector of uint) |
| 0:15 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) |
| 0:15 Constant: |
| 0:15 1 (const int) |
| 0:15 Sequence |
| 0:15 Constant: |
| 0:15 0 (const int) |
| 0:15 Constant: |
| 0:15 1 (const int) |
| 0:16 Sequence |
| 0:16 move second child to first child ( temp 4-component vector of float) |
| 0:16 'storeTemp' ( temp 4-component vector of float) |
| 0:16 color: direct index for structure ( temp 4-component vector of float) |
| 0:16 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) |
| 0:16 Constant: |
| 0:16 0 (const int) |
| 0:16 imageStore ( temp void) |
| 0:16 'outtx' (layout( rgba32f) uniform image2D) |
| 0:16 Convert float to uint ( temp 2-component vector of uint) |
| 0:16 'coord' ( temp 2-component vector of float) |
| 0:16 'storeTemp' ( temp 4-component vector of float) |
| 0:16 'storeTemp' ( temp 4-component vector of float) |
| 0:18 move second child to first child ( temp 4-component vector of float) |
| 0:18 indirect index (layout( row_major std430) buffer 4-component vector of float) |
| 0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float) |
| 0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data}) |
| 0:18 Constant: |
| 0:18 0 (const uint) |
| 0:18 Convert float to uint ( temp uint) |
| 0:18 direct index ( temp float) |
| 0:18 'coord' ( temp 2-component vector of float) |
| 0:18 Constant: |
| 0:18 0 (const int) |
| 0:18 indirect index (layout( row_major std430) buffer 4-component vector of float) |
| 0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float) |
| 0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data}) |
| 0:18 Constant: |
| 0:18 0 (const uint) |
| 0:18 Convert float to uint ( temp uint) |
| 0:18 direct index ( temp float) |
| 0:18 'coord' ( temp 2-component vector of float) |
| 0:18 Constant: |
| 0:18 1 (const int) |
| 0:13 Function Definition: main( ( temp void) |
| 0:13 Function Parameters: |
| 0:? Sequence |
| 0:13 move second child to first child ( temp 3-component vector of uint) |
| 0:? 'nThreadId' ( temp 3-component vector of uint) |
| 0:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID) |
| 0:13 Function Call: @main(vu3; ( temp void) |
| 0:? 'nThreadId' ( temp 3-component vector of uint) |
| 0:? Linker Objects |
| 0:? 'outtx' (layout( rgba32f) uniform image2D) |
| 0:? 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data}) |
| 0:? 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count}) |
| 0:? 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data}) |
| 0:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 80002 |
| // Id's are bound by 84 |
| |
| Capability Shader |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint GLCompute 4 "main" 79 |
| ExecutionMode 4 LocalSize 1 1 1 |
| Source HLSL 500 |
| Name 4 "main" |
| Name 11 "@main(vu3;" |
| Name 10 "nThreadId" |
| Name 16 "sb_t" |
| MemberName 16(sb_t) 0 "color" |
| MemberName 16(sb_t) 1 "threadId" |
| Name 18 "data" |
| Name 19 "sb_t" |
| MemberName 19(sb_t) 0 "color" |
| MemberName 19(sb_t) 1 "threadId" |
| Name 21 "csb" |
| MemberName 21(csb) 0 "@data" |
| Name 23 "csb" |
| Name 26 "csb@count" |
| MemberName 26(csb@count) 0 "@count" |
| Name 28 "csb@count" |
| Name 48 "coord" |
| Name 52 "storeTemp" |
| Name 57 "outtx" |
| Name 63 "rwsb" |
| MemberName 63(rwsb) 0 "@data" |
| Name 65 "rwsb" |
| Name 77 "nThreadId" |
| Name 79 "nThreadId" |
| Name 81 "param" |
| MemberDecorate 19(sb_t) 0 Offset 0 |
| MemberDecorate 19(sb_t) 1 Offset 16 |
| Decorate 20 ArrayStride 32 |
| MemberDecorate 21(csb) 0 Offset 0 |
| Decorate 21(csb) BufferBlock |
| Decorate 23(csb) DescriptorSet 0 |
| Decorate 23(csb) Binding 1 |
| MemberDecorate 26(csb@count) 0 Offset 0 |
| Decorate 26(csb@count) BufferBlock |
| Decorate 28(csb@count) DescriptorSet 0 |
| Decorate 57(outtx) DescriptorSet 0 |
| Decorate 62 ArrayStride 16 |
| MemberDecorate 63(rwsb) 0 Offset 0 |
| Decorate 63(rwsb) BufferBlock |
| Decorate 65(rwsb) DescriptorSet 0 |
| Decorate 79(nThreadId) BuiltIn GlobalInvocationId |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeInt 32 0 |
| 7: TypeVector 6(int) 3 |
| 8: TypePointer Function 7(ivec3) |
| 9: TypeFunction 2 8(ptr) |
| 13: TypeFloat 32 |
| 14: TypeVector 13(float) 4 |
| 15: TypeVector 6(int) 2 |
| 16(sb_t): TypeStruct 14(fvec4) 15(ivec2) |
| 17: TypePointer Function 16(sb_t) |
| 19(sb_t): TypeStruct 14(fvec4) 15(ivec2) |
| 20: TypeRuntimeArray 19(sb_t) |
| 21(csb): TypeStruct 20 |
| 22: TypePointer Uniform 21(csb) |
| 23(csb): 22(ptr) Variable Uniform |
| 24: TypeInt 32 1 |
| 25: 24(int) Constant 0 |
| 26(csb@count): TypeStruct 24(int) |
| 27: TypePointer Uniform 26(csb@count) |
| 28(csb@count): 27(ptr) Variable Uniform |
| 29: TypePointer Uniform 24(int) |
| 31: 24(int) Constant 4294967295 |
| 32: 6(int) Constant 1 |
| 33: 6(int) Constant 0 |
| 36: TypePointer Uniform 19(sb_t) |
| 40: TypePointer Function 14(fvec4) |
| 43: 24(int) Constant 1 |
| 44: TypePointer Function 15(ivec2) |
| 46: TypeVector 13(float) 2 |
| 47: TypePointer Function 46(fvec2) |
| 55: TypeImage 13(float) 2D nonsampled format:Rgba32f |
| 56: TypePointer UniformConstant 55 |
| 57(outtx): 56(ptr) Variable UniformConstant |
| 62: TypeRuntimeArray 14(fvec4) |
| 63(rwsb): TypeStruct 62 |
| 64: TypePointer Uniform 63(rwsb) |
| 65(rwsb): 64(ptr) Variable Uniform |
| 66: TypePointer Function 13(float) |
| 73: TypePointer Uniform 14(fvec4) |
| 78: TypePointer Input 7(ivec3) |
| 79(nThreadId): 78(ptr) Variable Input |
| 4(main): 2 Function None 3 |
| 5: Label |
| 77(nThreadId): 8(ptr) Variable Function |
| 81(param): 8(ptr) Variable Function |
| 80: 7(ivec3) Load 79(nThreadId) |
| Store 77(nThreadId) 80 |
| 82: 7(ivec3) Load 77(nThreadId) |
| Store 81(param) 82 |
| 83: 2 FunctionCall 11(@main(vu3;) 81(param) |
| Return |
| FunctionEnd |
| 11(@main(vu3;): 2 Function None 9 |
| 10(nThreadId): 8(ptr) FunctionParameter |
| 12: Label |
| 18(data): 17(ptr) Variable Function |
| 48(coord): 47(ptr) Variable Function |
| 52(storeTemp): 40(ptr) Variable Function |
| 30: 29(ptr) AccessChain 28(csb@count) 25 |
| 34: 6(int) AtomicIAdd 30 32 33 31 |
| 35: 6(int) IAdd 34 31 |
| 37: 36(ptr) AccessChain 23(csb) 25 35 |
| 38: 19(sb_t) Load 37 |
| 39: 14(fvec4) CompositeExtract 38 0 |
| 41: 40(ptr) AccessChain 18(data) 25 |
| Store 41 39 |
| 42: 15(ivec2) CompositeExtract 38 1 |
| 45: 44(ptr) AccessChain 18(data) 43 |
| Store 45 42 |
| 49: 44(ptr) AccessChain 18(data) 43 |
| 50: 15(ivec2) Load 49 |
| 51: 46(fvec2) ConvertUToF 50 |
| Store 48(coord) 51 |
| 53: 40(ptr) AccessChain 18(data) 25 |
| 54: 14(fvec4) Load 53 |
| Store 52(storeTemp) 54 |
| 58: 55 Load 57(outtx) |
| 59: 46(fvec2) Load 48(coord) |
| 60: 15(ivec2) ConvertFToU 59 |
| 61: 14(fvec4) Load 52(storeTemp) |
| ImageWrite 58 60 61 |
| 67: 66(ptr) AccessChain 48(coord) 33 |
| 68: 13(float) Load 67 |
| 69: 6(int) ConvertFToU 68 |
| 70: 66(ptr) AccessChain 48(coord) 32 |
| 71: 13(float) Load 70 |
| 72: 6(int) ConvertFToU 71 |
| 74: 73(ptr) AccessChain 65(rwsb) 25 72 |
| 75: 14(fvec4) Load 74 |
| 76: 73(ptr) AccessChain 65(rwsb) 25 69 |
| Store 76 75 |
| Return |
| FunctionEnd |