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): 80001 // 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