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): 8000b // 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 2 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 3 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