hlsl.localStructuredBuffer.comp
Shader version: 500
local_size = (1, 1, 1)
0:? Sequence
0:2  Function Definition: @main( ( temp void)
0:2    Function Parameters: 
0:2  Function Definition: main( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      Function Call: @main( ( temp void)
0:?   Linker Objects
0:?     'srt0' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})


Linked compute stage:


Shader version: 500
local_size = (1, 1, 1)
0:? Sequence
0:2  Function Definition: @main( ( temp void)
0:2    Function Parameters: 
0:2  Function Definition: main( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      Function Call: @main( ( temp void)
0:?   Linker Objects
0:?     'srt0' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})

// Module Version 10000
// Generated by (magic number): 80002
// Id's are bound by 14

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main"
                              ExecutionMode 4 LocalSize 1 1 1
                              Source HLSL 500
                              Name 4  "main"
                              Name 6  "@main("
                              Name 11  "srt0"
                              MemberName 11(srt0) 0  "@data"
                              Name 13  "srt0"
                              Decorate 10 ArrayStride 4
                              MemberDecorate 11(srt0) 0 Offset 0
                              Decorate 11(srt0) BufferBlock
                              Decorate 13(srt0) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               9:             TypeInt 32 0
              10:             TypeRuntimeArray 9(int)
        11(srt0):             TypeStruct 10
              12:             TypePointer Uniform 11(srt0)
        13(srt0):     12(ptr) Variable Uniform
         4(main):           2 Function None 3
               5:             Label
               8:           2 FunctionCall 6(@main()
                              Return
                              FunctionEnd
       6(@main():           2 Function None 3
               7:             Label
                              Return
                              FunctionEnd
