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 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 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 int @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 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 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 int @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): 80006
// 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
