| 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 unsized 1-element 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 unsized 1-element 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 uint) |
| 0:14 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 Constant: |
| 0:14 4294967295 (const uint) |
| 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 unsized 1-element array of 4-component vector of float) |
| 0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element 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 unsized 1-element array of 4-component vector of float) |
| 0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element 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 unsized 1-element 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 uint @count}) |
| 0:? 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element 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 unsized 1-element 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 unsized 1-element 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 uint) |
| 0:14 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 Constant: |
| 0:14 4294967295 (const uint) |
| 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 unsized 1-element array of 4-component vector of float) |
| 0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element 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 unsized 1-element array of 4-component vector of float) |
| 0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element 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 unsized 1-element 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 uint @count}) |
| 0:? 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) |
| 0:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 80007 |
| // Id's are bound by 85 |
| |
| Capability Shader |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint GLCompute 4 "main" 80 |
| 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 49 "coord" |
| Name 53 "storeTemp" |
| Name 58 "outtx" |
| Name 64 "rwsb" |
| MemberName 64(rwsb) 0 "@data" |
| Name 66 "rwsb" |
| Name 78 "nThreadId" |
| Name 80 "nThreadId" |
| Name 82 "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 28(csb@count) Binding 0 |
| Decorate 58(outtx) DescriptorSet 0 |
| Decorate 58(outtx) Binding 0 |
| Decorate 63 ArrayStride 16 |
| MemberDecorate 64(rwsb) 0 Offset 0 |
| Decorate 64(rwsb) BufferBlock |
| Decorate 66(rwsb) DescriptorSet 0 |
| Decorate 66(rwsb) Binding 0 |
| Decorate 80(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 6(int) |
| 27: TypePointer Uniform 26(csb@count) |
| 28(csb@count): 27(ptr) Variable Uniform |
| 29: TypePointer Uniform 6(int) |
| 31: 6(int) Constant 4294967295 |
| 32: 6(int) Constant 1 |
| 33: 6(int) Constant 0 |
| 35: 24(int) Constant 4294967295 |
| 37: TypePointer Uniform 19(sb_t) |
| 41: TypePointer Function 14(fvec4) |
| 44: 24(int) Constant 1 |
| 45: TypePointer Function 15(ivec2) |
| 47: TypeVector 13(float) 2 |
| 48: TypePointer Function 47(fvec2) |
| 56: TypeImage 13(float) 2D nonsampled format:Rgba32f |
| 57: TypePointer UniformConstant 56 |
| 58(outtx): 57(ptr) Variable UniformConstant |
| 63: TypeRuntimeArray 14(fvec4) |
| 64(rwsb): TypeStruct 63 |
| 65: TypePointer Uniform 64(rwsb) |
| 66(rwsb): 65(ptr) Variable Uniform |
| 67: TypePointer Function 13(float) |
| 74: TypePointer Uniform 14(fvec4) |
| 79: TypePointer Input 7(ivec3) |
| 80(nThreadId): 79(ptr) Variable Input |
| 4(main): 2 Function None 3 |
| 5: Label |
| 78(nThreadId): 8(ptr) Variable Function |
| 82(param): 8(ptr) Variable Function |
| 81: 7(ivec3) Load 80(nThreadId) |
| Store 78(nThreadId) 81 |
| 83: 7(ivec3) Load 78(nThreadId) |
| Store 82(param) 83 |
| 84: 2 FunctionCall 11(@main(vu3;) 82(param) |
| Return |
| FunctionEnd |
| 11(@main(vu3;): 2 Function None 9 |
| 10(nThreadId): 8(ptr) FunctionParameter |
| 12: Label |
| 18(data): 17(ptr) Variable Function |
| 49(coord): 48(ptr) Variable Function |
| 53(storeTemp): 41(ptr) Variable Function |
| 30: 29(ptr) AccessChain 28(csb@count) 25 |
| 34: 6(int) AtomicIAdd 30 32 33 31 |
| 36: 6(int) IAdd 34 35 |
| 38: 37(ptr) AccessChain 23(csb) 25 36 |
| 39: 19(sb_t) Load 38 |
| 40: 14(fvec4) CompositeExtract 39 0 |
| 42: 41(ptr) AccessChain 18(data) 25 |
| Store 42 40 |
| 43: 15(ivec2) CompositeExtract 39 1 |
| 46: 45(ptr) AccessChain 18(data) 44 |
| Store 46 43 |
| 50: 45(ptr) AccessChain 18(data) 44 |
| 51: 15(ivec2) Load 50 |
| 52: 47(fvec2) ConvertUToF 51 |
| Store 49(coord) 52 |
| 54: 41(ptr) AccessChain 18(data) 25 |
| 55: 14(fvec4) Load 54 |
| Store 53(storeTemp) 55 |
| 59: 56 Load 58(outtx) |
| 60: 47(fvec2) Load 49(coord) |
| 61: 15(ivec2) ConvertFToU 60 |
| 62: 14(fvec4) Load 53(storeTemp) |
| ImageWrite 59 61 62 |
| 68: 67(ptr) AccessChain 49(coord) 33 |
| 69: 13(float) Load 68 |
| 70: 6(int) ConvertFToU 69 |
| 71: 67(ptr) AccessChain 49(coord) 32 |
| 72: 13(float) Load 71 |
| 73: 6(int) ConvertFToU 72 |
| 75: 74(ptr) AccessChain 66(rwsb) 25 73 |
| 76: 14(fvec4) Load 75 |
| 77: 74(ptr) AccessChain 66(rwsb) 25 70 |
| Store 77 76 |
| Return |
| FunctionEnd |