hlsl.store.rwbyteaddressbuffer.type.comp
Shader version: 500
local_size = (64, 1, 1)
0:? Sequence
0:5  Function Definition: @main(vu3; ( temp void)
0:5    Function Parameters: 
0:5      'dispatchThreadID' ( in 3-component vector of uint)
0:?     Sequence
0:6      Test condition and select ( temp void)
0:6        Condition
0:6        Compare Equal ( temp bool)
0:6          direct index ( temp uint)
0:6            'dispatchThreadID' ( in 3-component vector of uint)
0:6            Constant:
0:6              0 (const int)
0:6          Constant:
0:6            0 (const uint)
0:6        true case
0:?         Sequence
0:7          move second child to first child ( temp int)
0:7            'byteAddrTemp' ( temp int)
0:7            right-shift ( temp int)
0:7              Constant:
0:7                0 (const int)
0:7              Constant:
0:7                2 (const int)
0:7          move second child to first child ( temp uint)
0:7            indirect index (layout( row_major std430) buffer uint)
0:7              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:7                'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:7                Constant:
0:7                  0 (const uint)
0:7              'byteAddrTemp' ( temp int)
0:7            Constant:
0:7              2 (const uint)
0:5  Function Definition: main( ( temp void)
0:5    Function Parameters: 
0:?     Sequence
0:5      move second child to first child ( temp 3-component vector of uint)
0:?         'dispatchThreadID' ( temp 3-component vector of uint)
0:?         'dispatchThreadID' ( in 3-component vector of uint GlobalInvocationID)
0:5      Function Call: @main(vu3; ( temp void)
0:?         'dispatchThreadID' ( temp 3-component vector of uint)
0:?   Linker Objects
0:?     'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:?     'dispatchThreadID' ( in 3-component vector of uint GlobalInvocationID)


Linked compute stage:


Shader version: 500
local_size = (64, 1, 1)
0:? Sequence
0:5  Function Definition: @main(vu3; ( temp void)
0:5    Function Parameters: 
0:5      'dispatchThreadID' ( in 3-component vector of uint)
0:?     Sequence
0:6      Test condition and select ( temp void)
0:6        Condition
0:6        Compare Equal ( temp bool)
0:6          direct index ( temp uint)
0:6            'dispatchThreadID' ( in 3-component vector of uint)
0:6            Constant:
0:6              0 (const int)
0:6          Constant:
0:6            0 (const uint)
0:6        true case
0:?         Sequence
0:7          move second child to first child ( temp int)
0:7            'byteAddrTemp' ( temp int)
0:7            right-shift ( temp int)
0:7              Constant:
0:7                0 (const int)
0:7              Constant:
0:7                2 (const int)
0:7          move second child to first child ( temp uint)
0:7            indirect index (layout( row_major std430) buffer uint)
0:7              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:7                'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:7                Constant:
0:7                  0 (const uint)
0:7              'byteAddrTemp' ( temp int)
0:7            Constant:
0:7              2 (const uint)
0:5  Function Definition: main( ( temp void)
0:5    Function Parameters: 
0:?     Sequence
0:5      move second child to first child ( temp 3-component vector of uint)
0:?         'dispatchThreadID' ( temp 3-component vector of uint)
0:?         'dispatchThreadID' ( in 3-component vector of uint GlobalInvocationID)
0:5      Function Call: @main(vu3; ( temp void)
0:?         'dispatchThreadID' ( temp 3-component vector of uint)
0:?   Linker Objects
0:?     'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:?     'dispatchThreadID' ( in 3-component vector of uint GlobalInvocationID)

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 42

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main" 37
                              ExecutionMode 4 LocalSize 64 1 1
                              Source HLSL 500
                              Name 4  "main"
                              Name 11  "@main(vu3;"
                              Name 10  "dispatchThreadID"
                              Name 23  "byteAddrTemp"
                              Name 28  "buffer"
                              MemberName 28(buffer) 0  "@data"
                              Name 30  "buffer"
                              Name 35  "dispatchThreadID"
                              Name 37  "dispatchThreadID"
                              Name 39  "param"
                              Decorate 27 ArrayStride 4
                              MemberDecorate 28(buffer) 0 Offset 0
                              Decorate 28(buffer) BufferBlock
                              Decorate 30(buffer) DescriptorSet 0
                              Decorate 30(buffer) Binding 0
                              Decorate 37(dispatchThreadID) 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:      6(int) Constant 0
              14:             TypePointer Function 6(int)
              17:             TypeBool
              21:             TypeInt 32 1
              22:             TypePointer Function 21(int)
              24:     21(int) Constant 0
              25:     21(int) Constant 2
              27:             TypeRuntimeArray 6(int)
      28(buffer):             TypeStruct 27
              29:             TypePointer Uniform 28(buffer)
      30(buffer):     29(ptr) Variable Uniform
              32:      6(int) Constant 2
              33:             TypePointer Uniform 6(int)
              36:             TypePointer Input 7(ivec3)
37(dispatchThreadID):     36(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
35(dispatchThreadID):      8(ptr) Variable Function
       39(param):      8(ptr) Variable Function
              38:    7(ivec3) Load 37(dispatchThreadID)
                              Store 35(dispatchThreadID) 38
              40:    7(ivec3) Load 35(dispatchThreadID)
                              Store 39(param) 40
              41:           2 FunctionCall 11(@main(vu3;) 39(param)
                              Return
                              FunctionEnd
  11(@main(vu3;):           2 Function None 9
10(dispatchThreadID):      8(ptr) FunctionParameter
              12:             Label
23(byteAddrTemp):     22(ptr) Variable Function
              15:     14(ptr) AccessChain 10(dispatchThreadID) 13
              16:      6(int) Load 15
              18:    17(bool) IEqual 16 13
                              SelectionMerge 20 None
                              BranchConditional 18 19 20
              19:               Label
              26:     21(int)   ShiftRightArithmetic 24 25
                                Store 23(byteAddrTemp) 26
              31:     21(int)   Load 23(byteAddrTemp)
              34:     33(ptr)   AccessChain 30(buffer) 24 31
                                Store 34 32
                                Branch 20
              20:             Label
                              Return
                              FunctionEnd
