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: Unroll
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: Unroll
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): 80005
// 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
