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