hlsl.forLoop.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:14 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float) 0:2 Function Parameters: 0:2 'input' (in 4-component vector of float) 0:? Sequence 0:? Sequence 0:3 Loop with condition tested first 0:3 No loop condition 0:3 No loop body 0:4 Sequence 0:4 Pre-Increment (temp 4-component vector of float) 0:4 'input' (in 4-component vector of float) 0:4 Loop with condition tested first 0:4 No loop condition 0:4 No loop body 0:? Sequence 0:5 Loop with condition tested first 0:5 Loop Condition 0:5 Compare Not Equal (temp bool) 0:5 'input' (in 4-component vector of float) 0:5 'input' (in 4-component vector of float) 0:5 No loop body 0:? Sequence 0:6 Loop with condition tested first 0:6 Loop Condition 0:6 Compare Not Equal (temp bool) 0:6 'input' (in 4-component vector of float) 0:6 'input' (in 4-component vector of float) 0:6 Loop Body 0:? Sequence 0:6 Branch: Return with expression 0:6 Negate value (temp 4-component vector of float) 0:6 'input' (in 4-component vector of float) 0:7 Sequence 0:7 Pre-Decrement (temp 4-component vector of float) 0:7 'input' (in 4-component vector of float) 0:7 Loop with condition tested first 0:7 Loop Condition 0:7 Compare Not Equal (temp bool) 0:7 'input' (in 4-component vector of float) 0:7 'input' (in 4-component vector of float) 0:7 Loop Body 0:? Sequence 0:7 Branch: Return with expression 0:7 Negate value (temp 4-component vector of float) 0:7 'input' (in 4-component vector of float) 0:7 Loop Terminal Expression 0:7 add second child into first child (temp 4-component vector of float) 0:7 'input' (in 4-component vector of float) 0:7 Constant: 0:7 2.000000 0:? Sequence 0:8 Loop with condition tested first 0:8 No loop condition 0:8 Loop Body 0:8 Test condition and select (temp void) 0:8 Condition 0:8 Compare Greater Than (temp bool) 0:8 direct index (temp float) 0:8 'input' (in 4-component vector of float) 0:8 Constant: 0:8 0 (const int) 0:8 Constant: 0:8 2.000000 0:8 true case 0:8 Branch: Break 0:? Sequence 0:9 Loop with condition tested first 0:9 No loop condition 0:9 Loop Body 0:9 Test condition and select (temp void) 0:9 Condition 0:9 Compare Greater Than (temp bool) 0:9 direct index (temp float) 0:9 'input' (in 4-component vector of float) 0:9 Constant: 0:9 0 (const int) 0:9 Constant: 0:9 2.000000 0:9 true case 0:9 Branch: Continue 0:11 Sequence 0:11 move second child to first child (temp int) 0:11 'ii' (temp int) 0:11 Constant: 0:11 -1 (const int) 0:11 Loop with condition tested first 0:11 Loop Condition 0:11 Compare Less Than (temp bool) 0:11 'ii' (temp int) 0:11 Constant: 0:11 3 (const int) 0:11 Loop Body 0:11 Test condition and select (temp void) 0:11 Condition 0:11 Compare Equal (temp bool) 0:11 'ii' (temp int) 0:11 Constant: 0:11 2 (const int) 0:11 true case 0:11 Branch: Continue 0:11 Loop Terminal Expression 0:11 Pre-Increment (temp int) 0:11 'ii' (temp int) 0:12 Pre-Decrement (temp float) 0:12 'ii' (temp float) 0:? Linker Objects Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:14 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float) 0:2 Function Parameters: 0:2 'input' (in 4-component vector of float) 0:? Sequence 0:? Sequence 0:3 Loop with condition tested first 0:3 No loop condition 0:3 No loop body 0:4 Sequence 0:4 Pre-Increment (temp 4-component vector of float) 0:4 'input' (in 4-component vector of float) 0:4 Loop with condition tested first 0:4 No loop condition 0:4 No loop body 0:? Sequence 0:5 Loop with condition tested first 0:5 Loop Condition 0:5 Compare Not Equal (temp bool) 0:5 'input' (in 4-component vector of float) 0:5 'input' (in 4-component vector of float) 0:5 No loop body 0:? Sequence 0:6 Loop with condition tested first 0:6 Loop Condition 0:6 Compare Not Equal (temp bool) 0:6 'input' (in 4-component vector of float) 0:6 'input' (in 4-component vector of float) 0:6 Loop Body 0:? Sequence 0:6 Branch: Return with expression 0:6 Negate value (temp 4-component vector of float) 0:6 'input' (in 4-component vector of float) 0:7 Sequence 0:7 Pre-Decrement (temp 4-component vector of float) 0:7 'input' (in 4-component vector of float) 0:7 Loop with condition tested first 0:7 Loop Condition 0:7 Compare Not Equal (temp bool) 0:7 'input' (in 4-component vector of float) 0:7 'input' (in 4-component vector of float) 0:7 Loop Body 0:? Sequence 0:7 Branch: Return with expression 0:7 Negate value (temp 4-component vector of float) 0:7 'input' (in 4-component vector of float) 0:7 Loop Terminal Expression 0:7 add second child into first child (temp 4-component vector of float) 0:7 'input' (in 4-component vector of float) 0:7 Constant: 0:7 2.000000 0:? Sequence 0:8 Loop with condition tested first 0:8 No loop condition 0:8 Loop Body 0:8 Test condition and select (temp void) 0:8 Condition 0:8 Compare Greater Than (temp bool) 0:8 direct index (temp float) 0:8 'input' (in 4-component vector of float) 0:8 Constant: 0:8 0 (const int) 0:8 Constant: 0:8 2.000000 0:8 true case 0:8 Branch: Break 0:? Sequence 0:9 Loop with condition tested first 0:9 No loop condition 0:9 Loop Body 0:9 Test condition and select (temp void) 0:9 Condition 0:9 Compare Greater Than (temp bool) 0:9 direct index (temp float) 0:9 'input' (in 4-component vector of float) 0:9 Constant: 0:9 0 (const int) 0:9 Constant: 0:9 2.000000 0:9 true case 0:9 Branch: Continue 0:11 Sequence 0:11 move second child to first child (temp int) 0:11 'ii' (temp int) 0:11 Constant: 0:11 -1 (const int) 0:11 Loop with condition tested first 0:11 Loop Condition 0:11 Compare Less Than (temp bool) 0:11 'ii' (temp int) 0:11 Constant: 0:11 3 (const int) 0:11 Loop Body 0:11 Test condition and select (temp void) 0:11 Condition 0:11 Compare Equal (temp bool) 0:11 'ii' (temp int) 0:11 Constant: 0:11 2 (const int) 0:11 true case 0:11 Branch: Continue 0:11 Loop Terminal Expression 0:11 Pre-Increment (temp int) 0:11 'ii' (temp int) 0:12 Pre-Decrement (temp float) 0:12 'ii' (temp float) 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 112 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 13 ExecutionMode 4 OriginUpperLeft Source HLSL 450 Name 4 "PixelShaderFunction" Name 13 "input" Name 89 "ii" Name 109 "ii" 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 11: TypeVector 10(float) 4 12: TypePointer Input 11(fvec4) 13(input): 12(ptr) Variable Input 15: 10(float) Constant 1065353216 29: TypeBool 30: TypeVector 29(bool) 4 60: 10(float) Constant 1073741824 68: TypeInt 32 0 69: 68(int) Constant 0 70: TypePointer Input 10(float) 87: TypeInt 32 1 88: TypePointer Function 87(int) 90: 87(int) Constant 4294967295 97: 87(int) Constant 3 100: 87(int) Constant 2 106: 87(int) Constant 1 108: TypePointer Function 10(float) 4(PixelShaderFunction): 2 Function None 3 5: Label 89(ii): 88(ptr) Variable Function 109(ii): 108(ptr) Variable Function Branch 6 6: Label LoopMerge 8 9 None Branch 7 7: Label Branch 9 9: Label Branch 6 8: Label 14: 11(fvec4) Load 13(input) 16: 11(fvec4) CompositeConstruct 15 15 15 15 17: 11(fvec4) FAdd 14 16 Store 13(input) 17 Branch 18 18: Label LoopMerge 20 21 None Branch 19 19: Label Branch 21 21: Label Branch 18 20: Label Branch 22 22: Label LoopMerge 24 25 None Branch 26 26: Label 27: 11(fvec4) Load 13(input) 28: 11(fvec4) Load 13(input) 31: 30(bvec4) FOrdNotEqual 27 28 32: 29(bool) Any 31 BranchConditional 32 23 24 23: Label Branch 25 25: Label Branch 22 24: Label Branch 33 33: Label LoopMerge 35 36 None Branch 37 37: Label 38: 11(fvec4) Load 13(input) 39: 11(fvec4) Load 13(input) 40: 30(bvec4) FOrdNotEqual 38 39 41: 29(bool) Any 40 BranchConditional 41 34 35 34: Label 42: 11(fvec4) Load 13(input) 43: 11(fvec4) FNegate 42 ReturnValue 43 36: Label Branch 33 35: Label 45: 11(fvec4) Load 13(input) 46: 11(fvec4) CompositeConstruct 15 15 15 15 47: 11(fvec4) FSub 45 46 Store 13(input) 47 Branch 48 48: Label LoopMerge 50 51 None Branch 52 52: Label 53: 11(fvec4) Load 13(input) 54: 11(fvec4) Load 13(input) 55: 30(bvec4) FOrdNotEqual 53 54 56: 29(bool) Any 55 BranchConditional 56 49 50 49: Label 57: 11(fvec4) Load 13(input) 58: 11(fvec4) FNegate 57 ReturnValue 58 51: Label 61: 11(fvec4) Load 13(input) 62: 11(fvec4) CompositeConstruct 60 60 60 60 63: 11(fvec4) FAdd 61 62 Store 13(input) 63 Branch 48 50: Label Branch 64 64: Label LoopMerge 66 67 None Branch 65 65: Label 71: 70(ptr) AccessChain 13(input) 69 72: 10(float) Load 71 73: 29(bool) FOrdGreaterThan 72 60 SelectionMerge 75 None BranchConditional 73 74 75 74: Label Branch 66 75: Label Branch 67 67: Label Branch 64 66: Label Branch 77 77: Label LoopMerge 79 80 None Branch 78 78: Label 81: 70(ptr) AccessChain 13(input) 69 82: 10(float) Load 81 83: 29(bool) FOrdGreaterThan 82 60 SelectionMerge 85 None BranchConditional 83 84 85 84: Label Branch 80 85: Label Branch 80 80: Label Branch 77 79: Label Store 89(ii) 90 Branch 91 91: Label LoopMerge 93 94 None Branch 95 95: Label 96: 87(int) Load 89(ii) 98: 29(bool) SLessThan 96 97 BranchConditional 98 92 93 92: Label 99: 87(int) Load 89(ii) 101: 29(bool) IEqual 99 100 SelectionMerge 103 None BranchConditional 101 102 103 102: Label Branch 94 103: Label Branch 94 94: Label 105: 87(int) Load 89(ii) 107: 87(int) IAdd 105 106 Store 89(ii) 107 Branch 91 93: Label 110: 10(float) Load 109(ii) 111: 10(float) FSub 110 15 Store 109(ii) 111 Return FunctionEnd