hlsl.specConstant.frag Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:6 Function Definition: @main( ( temp 4-component vector of float) 0:6 Function Parameters: 0:? Sequence 0:8 Sequence 0:8 move second child to first child ( temp uint) 0:8 'i' ( temp uint) 0:8 Constant: 0:8 0 (const uint) 0:8 Loop with condition tested first 0:8 Loop Condition 0:8 Compare Less Than ( temp bool) 0:8 'i' ( temp uint) 0:8 indirect index ( const uint) 0:8 Constant: 0:8 10 (const uint) 0:8 20 (const uint) 0:8 30 (const uint) 0:8 40 (const uint) 0:8 'index' ( specialization-constant const uint) 0:8 2 (const uint) 0:8 Loop Body 0:9 move second child to first child ( temp 4-component vector of float) 0:9 'r' ( temp 4-component vector of float) 0:9 Construct vec4 ( temp 4-component vector of float) 0:9 Convert uint to float ( temp float) 0:9 'i' ( temp uint) 0:8 Loop Terminal Expression 0:8 Post-Increment ( temp uint) 0:8 'i' ( temp uint) 0:11 add second child into first child ( temp 4-component vector of float) 0:11 'r' ( temp 4-component vector of float) 0:11 Convert uint to float ( temp float) 0:11 add ( specialization-constant const uint) 0:11 'index' ( specialization-constant const uint) 0:11 2 (const uint) 0:11 'index' ( specialization-constant const uint) 0:11 2 (const uint) 0:12 add second child into first child ( temp 4-component vector of float) 0:12 'r' ( temp 4-component vector of float) 0:12 Convert uint to float ( temp float) 0:12 component-wise multiply ( specialization-constant const uint) 0:12 Constant: 0:12 2 (const uint) 0:12 'index' ( specialization-constant const uint) 0:12 2 (const uint) 0:14 Branch: Return with expression 0:14 'r' ( temp 4-component vector of float) 0:6 Function Definition: main( ( temp void) 0:6 Function Parameters: 0:? Sequence 0:6 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:6 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects 0:? 'index' ( specialization-constant const uint) 0:? 2 (const uint) 0:? 'array' ( const 4-element array of uint) 0:? 10 (const uint) 0:? 20 (const uint) 0:? 30 (const uint) 0:? 40 (const uint) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) Linked fragment stage: Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:6 Function Definition: @main( ( temp 4-component vector of float) 0:6 Function Parameters: 0:? Sequence 0:8 Sequence 0:8 move second child to first child ( temp uint) 0:8 'i' ( temp uint) 0:8 Constant: 0:8 0 (const uint) 0:8 Loop with condition tested first 0:8 Loop Condition 0:8 Compare Less Than ( temp bool) 0:8 'i' ( temp uint) 0:8 indirect index ( const uint) 0:8 Constant: 0:8 10 (const uint) 0:8 20 (const uint) 0:8 30 (const uint) 0:8 40 (const uint) 0:8 'index' ( specialization-constant const uint) 0:8 2 (const uint) 0:8 Loop Body 0:9 move second child to first child ( temp 4-component vector of float) 0:9 'r' ( temp 4-component vector of float) 0:9 Construct vec4 ( temp 4-component vector of float) 0:9 Convert uint to float ( temp float) 0:9 'i' ( temp uint) 0:8 Loop Terminal Expression 0:8 Post-Increment ( temp uint) 0:8 'i' ( temp uint) 0:11 add second child into first child ( temp 4-component vector of float) 0:11 'r' ( temp 4-component vector of float) 0:11 Convert uint to float ( temp float) 0:11 add ( specialization-constant const uint) 0:11 'index' ( specialization-constant const uint) 0:11 2 (const uint) 0:11 'index' ( specialization-constant const uint) 0:11 2 (const uint) 0:12 add second child into first child ( temp 4-component vector of float) 0:12 'r' ( temp 4-component vector of float) 0:12 Convert uint to float ( temp float) 0:12 component-wise multiply ( specialization-constant const uint) 0:12 Constant: 0:12 2 (const uint) 0:12 'index' ( specialization-constant const uint) 0:12 2 (const uint) 0:14 Branch: Return with expression 0:14 'r' ( temp 4-component vector of float) 0:6 Function Definition: main( ( temp void) 0:6 Function Parameters: 0:? Sequence 0:6 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:6 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects 0:? 'index' ( specialization-constant const uint) 0:? 2 (const uint) 0:? 'array' ( const 4-element array of uint) 0:? 10 (const uint) 0:? 20 (const uint) 0:? 30 (const uint) 0:? 40 (const uint) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 61 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 59 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" Name 9 "@main(" Name 13 "i" Name 28 "index" Name 30 "indexable" Name 36 "r" Name 59 "@entryPointOutput" Decorate 28(index) SpecId 0 Decorate 59(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypeFunction 7(fvec4) 11: TypeInt 32 0 12: TypePointer Function 11(int) 14: 11(int) Constant 0 21: 11(int) Constant 4 22: TypeArray 11(int) 21 23: 11(int) Constant 10 24: 11(int) Constant 20 25: 11(int) Constant 30 26: 11(int) Constant 40 27: 22 ConstantComposite 23 24 25 26 28(index): 11(int) SpecConstant 2 29: TypePointer Function 22 33: TypeBool 35: TypePointer Function 7(fvec4) 41: TypeInt 32 1 42: 41(int) Constant 1 44: 11(int) SpecConstantOp 128 28(index) 28(index) 49: 11(int) Constant 2 50: 11(int) SpecConstantOp 132 49 28(index) 58: TypePointer Output 7(fvec4) 59(@entryPointOutput): 58(ptr) Variable Output 4(main): 2 Function None 3 5: Label 60: 7(fvec4) FunctionCall 9(@main() Store 59(@entryPointOutput) 60 Return FunctionEnd 9(@main(): 7(fvec4) Function None 8 10: Label 13(i): 12(ptr) Variable Function 30(indexable): 29(ptr) Variable Function 36(r): 35(ptr) Variable Function Store 13(i) 14 Branch 15 15: Label LoopMerge 17 18 None Branch 19 19: Label 20: 11(int) Load 13(i) Store 30(indexable) 27 31: 12(ptr) AccessChain 30(indexable) 28(index) 32: 11(int) Load 31 34: 33(bool) ULessThan 20 32 BranchConditional 34 16 17 16: Label 37: 11(int) Load 13(i) 38: 6(float) ConvertUToF 37 39: 7(fvec4) CompositeConstruct 38 38 38 38 Store 36(r) 39 Branch 18 18: Label 40: 11(int) Load 13(i) 43: 11(int) IAdd 40 42 Store 13(i) 43 Branch 15 17: Label 45: 6(float) ConvertUToF 44 46: 7(fvec4) Load 36(r) 47: 7(fvec4) CompositeConstruct 45 45 45 45 48: 7(fvec4) FAdd 46 47 Store 36(r) 48 51: 6(float) ConvertUToF 50 52: 7(fvec4) Load 36(r) 53: 7(fvec4) CompositeConstruct 51 51 51 51 54: 7(fvec4) FAdd 52 53 Store 36(r) 54 55: 7(fvec4) Load 36(r) ReturnValue 55 FunctionEnd