hlsl.attribute.expression.comp
Shader version: 500
local_size = (4, 6, 8)
0:? Sequence
0:9  Function Definition: @main( ( temp 4-component vector of float)
0:9    Function Parameters: 
0:?     Sequence
0:11      Sequence
0:11        move second child to first child ( temp int)
0:11          'x' ( temp int)
0:11          Constant:
0:11            0 (const int)
0:11        Loop with condition tested first: Unroll
0:11          Loop Condition
0:11          Compare Less Than ( temp bool)
0:11            'x' ( temp int)
0:11            bound: direct index for structure ( uniform int)
0:11              'anon@0' (layout( row_major std140) uniform block{ uniform int bound})
0:11              Constant:
0:11                0 (const uint)
0:11          No loop body
0:11          Loop Terminal Expression
0:11          Pre-Increment ( temp int)
0:11            'x' ( temp int)
0:14      Branch: Return with expression
0:?         Constant:
0:?           0.000000
0:?           0.000000
0:?           0.000000
0:?           0.000000
0:9  Function Definition: main( ( temp void)
0:9    Function Parameters: 
0:?     Sequence
0:9      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:9        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int bound})
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)


Linked compute stage:


Shader version: 500
local_size = (4, 6, 8)
0:? Sequence
0:9  Function Definition: @main( ( temp 4-component vector of float)
0:9    Function Parameters: 
0:?     Sequence
0:11      Sequence
0:11        move second child to first child ( temp int)
0:11          'x' ( temp int)
0:11          Constant:
0:11            0 (const int)
0:11        Loop with condition tested first: Unroll
0:11          Loop Condition
0:11          Compare Less Than ( temp bool)
0:11            'x' ( temp int)
0:11            bound: direct index for structure ( uniform int)
0:11              'anon@0' (layout( row_major std140) uniform block{ uniform int bound})
0:11              Constant:
0:11                0 (const uint)
0:11          No loop body
0:11          Loop Terminal Expression
0:11          Pre-Increment ( temp int)
0:11            'x' ( temp int)
0:14      Branch: Return with expression
0:?         Constant:
0:?           0.000000
0:?           0.000000
0:?           0.000000
0:?           0.000000
0:9  Function Definition: main( ( temp void)
0:9    Function Parameters: 
0:?     Sequence
0:9      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:9        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int bound})
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main" 37
                              ExecutionMode 4 LocalSize 4 6 8
                              Source HLSL 500
                              Name 4  "main"
                              Name 9  "@main("
                              Name 13  "x"
                              Name 21  "$Global"
                              MemberName 21($Global) 0  "bound"
                              Name 23  ""
                              Name 37  "@entryPointOutput"
                              MemberDecorate 21($Global) 0 Offset 0
                              Decorate 21($Global) Block
                              Decorate 23 DescriptorSet 0
                              Decorate 23 Binding 0
                              Decorate 37(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeFunction 7(fvec4)
              11:             TypeInt 32 1
              12:             TypePointer Function 11(int)
              14:     11(int) Constant 0
     21($Global):             TypeStruct 11(int)
              22:             TypePointer Uniform 21($Global)
              23:     22(ptr) Variable Uniform
              24:             TypePointer Uniform 11(int)
              27:             TypeBool
              30:     11(int) Constant 1
              32:    6(float) Constant 0
              33:    7(fvec4) ConstantComposite 32 32 32 32
              36:             TypePointer Output 7(fvec4)
37(@entryPointOutput):     36(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              38:    7(fvec4) FunctionCall 9(@main()
                              Store 37(@entryPointOutput) 38
                              Return
                              FunctionEnd
       9(@main():    7(fvec4) Function None 8
              10:             Label
           13(x):     12(ptr) Variable Function
                              Store 13(x) 14
                              Branch 15
              15:             Label
                              LoopMerge 17 18 Unroll 
                              Branch 19
              19:             Label
              20:     11(int) Load 13(x)
              25:     24(ptr) AccessChain 23 14
              26:     11(int) Load 25
              28:    27(bool) SLessThan 20 26
                              BranchConditional 28 16 17
              16:               Label
                                Branch 18
              18:               Label
              29:     11(int)   Load 13(x)
              31:     11(int)   IAdd 29 30
                                Store 13(x) 31
                                Branch 15
              17:             Label
                              ReturnValue 33
                              FunctionEnd
