hlsl.forLoop.frag Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 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 any ( temp bool) 0:5 NotEqual ( temp 4-component vector of 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 any ( temp bool) 0:6 NotEqual ( temp 4-component vector of 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 any ( temp bool) 0:7 NotEqual ( temp 4-component vector of 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:13 Sequence 0:13 move second child to first child ( temp int) 0:13 'first' ( temp int) 0:13 Constant: 0:13 0 (const int) 0:13 move second child to first child ( temp int) 0:13 'second' ( temp int) 0:13 Constant: 0:13 1 (const int) 0:13 Loop with condition tested first 0:13 No loop condition 0:13 Loop Body 0:13 add ( temp int) 0:13 'first' ( temp int) 0:13 'second' ( temp int) 0:14 Sequence 0:14 move second child to first child ( temp int) 0:14 'i' ( temp int) 0:14 Constant: 0:14 0 (const int) 0:14 move second child to first child ( temp int) 0:14 'count' ( temp int) 0:14 Convert float to int ( temp int) 0:14 'ii' ( temp float) 0:14 Loop with condition tested first 0:14 Loop Condition 0:14 Compare Less Than ( temp bool) 0:14 'i' ( temp int) 0:14 'count' ( temp int) 0:14 No loop body 0:14 Loop Terminal Expression 0:14 Post-Increment ( temp int) 0:14 'i' ( temp int) 0:15 Sequence 0:15 move second child to first child ( temp float) 0:15 'first' ( temp float) 0:15 Constant: 0:15 0.000000 0:15 Loop with condition tested first 0:15 Loop Condition 0:15 Compare Less Than ( temp bool) 0:15 'first' ( temp float) 0:15 direct index ( temp float) 0:15 'second' ( temp 2-element array of float) 0:15 Constant: 0:15 0 (const int) 0:15 Loop Body 0:15 add ( temp float) 0:15 add ( temp float) 0:15 'first' ( temp float) 0:15 direct index ( temp float) 0:15 'second' ( temp 2-element array of float) 0:15 Constant: 0:15 1 (const int) 0:15 'third' ( temp float) 0:15 Loop Terminal Expression 0:15 Pre-Increment ( temp float) 0:15 direct index ( temp float) 0:15 'second' ( temp 2-element array of float) 0:15 Constant: 0:15 1 (const int) 0:? Sequence 0:16 Comma ( temp float) 0:16 Comma ( temp float) 0:16 Pre-Decrement ( temp float) 0:16 'ii' ( temp float) 0:16 Pre-Decrement ( temp float) 0:16 'ii' ( temp float) 0:16 Pre-Decrement ( temp float) 0:16 'ii' ( temp float) 0:16 Loop with condition tested first 0:16 No loop condition 0:16 Loop Body 0:16 'ii' ( temp float) 0:2 Function Definition: PixelShaderFunction( ( temp void) 0:2 Function Parameters: 0:? Sequence 0:2 move second child to first child ( temp 4-component vector of float) 0:? 'input' ( temp 4-component vector of float) 0:? 'input' (layout( location=0) in 4-component vector of float) 0:2 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 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 any ( temp bool) 0:5 NotEqual ( temp 4-component vector of 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 any ( temp bool) 0:6 NotEqual ( temp 4-component vector of 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 any ( temp bool) 0:7 NotEqual ( temp 4-component vector of 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:13 Sequence 0:13 move second child to first child ( temp int) 0:13 'first' ( temp int) 0:13 Constant: 0:13 0 (const int) 0:13 move second child to first child ( temp int) 0:13 'second' ( temp int) 0:13 Constant: 0:13 1 (const int) 0:13 Loop with condition tested first 0:13 No loop condition 0:13 Loop Body 0:13 add ( temp int) 0:13 'first' ( temp int) 0:13 'second' ( temp int) 0:14 Sequence 0:14 move second child to first child ( temp int) 0:14 'i' ( temp int) 0:14 Constant: 0:14 0 (const int) 0:14 move second child to first child ( temp int) 0:14 'count' ( temp int) 0:14 Convert float to int ( temp int) 0:14 'ii' ( temp float) 0:14 Loop with condition tested first 0:14 Loop Condition 0:14 Compare Less Than ( temp bool) 0:14 'i' ( temp int) 0:14 'count' ( temp int) 0:14 No loop body 0:14 Loop Terminal Expression 0:14 Post-Increment ( temp int) 0:14 'i' ( temp int) 0:15 Sequence 0:15 move second child to first child ( temp float) 0:15 'first' ( temp float) 0:15 Constant: 0:15 0.000000 0:15 Loop with condition tested first 0:15 Loop Condition 0:15 Compare Less Than ( temp bool) 0:15 'first' ( temp float) 0:15 direct index ( temp float) 0:15 'second' ( temp 2-element array of float) 0:15 Constant: 0:15 0 (const int) 0:15 Loop Body 0:15 add ( temp float) 0:15 add ( temp float) 0:15 'first' ( temp float) 0:15 direct index ( temp float) 0:15 'second' ( temp 2-element array of float) 0:15 Constant: 0:15 1 (const int) 0:15 'third' ( temp float) 0:15 Loop Terminal Expression 0:15 Pre-Increment ( temp float) 0:15 direct index ( temp float) 0:15 'second' ( temp 2-element array of float) 0:15 Constant: 0:15 1 (const int) 0:? Sequence 0:16 Comma ( temp float) 0:16 Comma ( temp float) 0:16 Pre-Decrement ( temp float) 0:16 'ii' ( temp float) 0:16 Pre-Decrement ( temp float) 0:16 'ii' ( temp float) 0:16 Pre-Decrement ( temp float) 0:16 'ii' ( temp float) 0:16 Loop with condition tested first 0:16 No loop condition 0:16 Loop Body 0:16 'ii' ( temp float) 0:2 Function Definition: PixelShaderFunction( ( temp void) 0:2 Function Parameters: 0:? Sequence 0:2 move second child to first child ( temp 4-component vector of float) 0:? 'input' ( temp 4-component vector of float) 0:? 'input' (layout( location=0) in 4-component vector of float) 0:2 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 183 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 176 179 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "@PixelShaderFunction(vf4;" Name 10 "input" Name 92 "ii" Name 111 "ii" Name 114 "first" Name 116 "second" Name 124 "i" Name 125 "count" Name 138 "first" Name 149 "second" Name 157 "third" Name 174 "input" Name 176 "input" Name 179 "@entryPointOutput" Name 180 "param" Decorate 176(input) Location 0 Decorate 179(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypePointer Function 7(fvec4) 9: TypeFunction 7(fvec4) 8(ptr) 18: 6(float) Constant 1065353216 32: TypeBool 33: TypeVector 32(bool) 4 63: 6(float) Constant 1073741824 71: TypeInt 32 0 72: 71(int) Constant 0 73: TypePointer Function 6(float) 90: TypeInt 32 1 91: TypePointer Function 90(int) 93: 90(int) Constant 4294967295 100: 90(int) Constant 3 103: 90(int) Constant 2 109: 90(int) Constant 1 115: 90(int) Constant 0 139: 6(float) Constant 0 146: 71(int) Constant 2 147: TypeArray 6(float) 146 148: TypePointer Function 147 175: TypePointer Input 7(fvec4) 176(input): 175(ptr) Variable Input 178: TypePointer Output 7(fvec4) 179(@entryPointOutput): 178(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label 174(input): 8(ptr) Variable Function 180(param): 8(ptr) Variable Function 177: 7(fvec4) Load 176(input) Store 174(input) 177 181: 7(fvec4) Load 174(input) Store 180(param) 181 182: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 180(param) Store 179(@entryPointOutput) 182 Return FunctionEnd 11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 10(input): 8(ptr) FunctionParameter 12: Label 92(ii): 91(ptr) Variable Function 111(ii): 73(ptr) Variable Function 114(first): 91(ptr) Variable Function 116(second): 91(ptr) Variable Function 124(i): 91(ptr) Variable Function 125(count): 91(ptr) Variable Function 138(first): 73(ptr) Variable Function 149(second): 148(ptr) Variable Function 157(third): 73(ptr) Variable Function Branch 13 13: Label LoopMerge 15 16 None Branch 14 14: Label Branch 16 16: Label Branch 13 15: Label 17: 7(fvec4) Load 10(input) 19: 7(fvec4) CompositeConstruct 18 18 18 18 20: 7(fvec4) FAdd 17 19 Store 10(input) 20 Branch 21 21: Label LoopMerge 23 24 None Branch 22 22: Label Branch 24 24: Label Branch 21 23: Label Branch 25 25: Label LoopMerge 27 28 Unroll Branch 29 29: Label 30: 7(fvec4) Load 10(input) 31: 7(fvec4) Load 10(input) 34: 33(bvec4) FOrdNotEqual 30 31 35: 32(bool) Any 34 BranchConditional 35 26 27 26: Label Branch 28 28: Label Branch 25 27: Label Branch 36 36: Label LoopMerge 38 39 None Branch 40 40: Label 41: 7(fvec4) Load 10(input) 42: 7(fvec4) Load 10(input) 43: 33(bvec4) FOrdNotEqual 41 42 44: 32(bool) Any 43 BranchConditional 44 37 38 37: Label 45: 7(fvec4) Load 10(input) 46: 7(fvec4) FNegate 45 ReturnValue 46 39: Label Branch 36 38: Label 48: 7(fvec4) Load 10(input) 49: 7(fvec4) CompositeConstruct 18 18 18 18 50: 7(fvec4) FSub 48 49 Store 10(input) 50 Branch 51 51: Label LoopMerge 53 54 None Branch 55 55: Label 56: 7(fvec4) Load 10(input) 57: 7(fvec4) Load 10(input) 58: 33(bvec4) FOrdNotEqual 56 57 59: 32(bool) Any 58 BranchConditional 59 52 53 52: Label 60: 7(fvec4) Load 10(input) 61: 7(fvec4) FNegate 60 ReturnValue 61 54: Label 64: 7(fvec4) Load 10(input) 65: 7(fvec4) CompositeConstruct 63 63 63 63 66: 7(fvec4) FAdd 64 65 Store 10(input) 66 Branch 51 53: Label Branch 67 67: Label LoopMerge 69 70 None Branch 68 68: Label 74: 73(ptr) AccessChain 10(input) 72 75: 6(float) Load 74 76: 32(bool) FOrdGreaterThan 75 63 SelectionMerge 78 None BranchConditional 76 77 78 77: Label Branch 69 78: Label Branch 70 70: Label Branch 67 69: Label Branch 80 80: Label LoopMerge 82 83 None Branch 81 81: Label 84: 73(ptr) AccessChain 10(input) 72 85: 6(float) Load 84 86: 32(bool) FOrdGreaterThan 85 63 SelectionMerge 88 None BranchConditional 86 87 88 87: Label Branch 83 88: Label Branch 83 83: Label Branch 80 82: Label Store 92(ii) 93 Branch 94 94: Label LoopMerge 96 97 None Branch 98 98: Label 99: 90(int) Load 92(ii) 101: 32(bool) SLessThan 99 100 BranchConditional 101 95 96 95: Label 102: 90(int) Load 92(ii) 104: 32(bool) IEqual 102 103 SelectionMerge 106 None BranchConditional 104 105 106 105: Label Branch 97 106: Label Branch 97 97: Label 108: 90(int) Load 92(ii) 110: 90(int) IAdd 108 109 Store 92(ii) 110 Branch 94 96: Label 112: 6(float) Load 111(ii) 113: 6(float) FSub 112 18 Store 111(ii) 113 Store 114(first) 115 Store 116(second) 109 Branch 117 117: Label LoopMerge 119 120 None Branch 118 118: Label 121: 90(int) Load 114(first) 122: 90(int) Load 116(second) 123: 90(int) IAdd 121 122 Branch 120 120: Label Branch 117 119: Label Store 124(i) 115 126: 6(float) Load 111(ii) 127: 90(int) ConvertFToS 126 Store 125(count) 127 Branch 128 128: Label LoopMerge 130 131 None Branch 132 132: Label 133: 90(int) Load 124(i) 134: 90(int) Load 125(count) 135: 32(bool) SLessThan 133 134 BranchConditional 135 129 130 129: Label Branch 131 131: Label 136: 90(int) Load 124(i) 137: 90(int) IAdd 136 109 Store 124(i) 137 Branch 128 130: Label Store 138(first) 139 Branch 140 140: Label LoopMerge 142 143 None Branch 144 144: Label 145: 6(float) Load 138(first) 150: 73(ptr) AccessChain 149(second) 115 151: 6(float) Load 150 152: 32(bool) FOrdLessThan 145 151 BranchConditional 152 141 142 141: Label 153: 6(float) Load 138(first) 154: 73(ptr) AccessChain 149(second) 109 155: 6(float) Load 154 156: 6(float) FAdd 153 155 158: 6(float) Load 157(third) 159: 6(float) FAdd 156 158 Branch 143 143: Label 160: 73(ptr) AccessChain 149(second) 109 161: 6(float) Load 160 162: 6(float) FAdd 161 18 Store 160 162 Branch 140 142: Label 163: 6(float) Load 111(ii) 164: 6(float) FSub 163 18 Store 111(ii) 164 165: 6(float) Load 111(ii) 166: 6(float) FSub 165 18 Store 111(ii) 166 167: 6(float) Load 111(ii) 168: 6(float) FSub 167 18 Store 111(ii) 168 Branch 169 169: Label LoopMerge 171 172 None Branch 170 170: Label Branch 172 172: Label Branch 169 171: Label 173: 7(fvec4) Undef ReturnValue 173 FunctionEnd