1hlsl.doLoop.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:2  Function Definition: @PixelShaderFunction(f1; ( temp 4-component vector of float)
60:2    Function Parameters:
70:2      'input' ( in float)
80:?     Sequence
90:3      Loop with condition not tested first: Unroll
100:3        Loop Condition
110:3        Constant:
120:3          false (const bool)
130:3        No loop body
140:4      Loop with condition not tested first: Unroll
150:4        Loop Condition
160:4        Constant:
170:4          false (const bool)
180:4        No loop body
190:5      Loop with condition not tested first
200:5        Loop Condition
210:5        Compare Greater Than ( temp bool)
220:5          'input' ( in float)
230:5          Constant:
240:5            2.000000
250:5        Loop Body
260:?         Sequence
270:5          Branch: Return with expression
280:5            Construct vec4 ( temp 4-component vector of float)
290:5              'input' ( in float)
300:6      Loop with condition not tested first
310:6        Loop Condition
320:6        Compare Less Than ( temp bool)
330:6          'input' ( in float)
340:6          Constant:
350:6            10.000000
360:6        Loop Body
370:6        Pre-Increment ( temp float)
380:6          'input' ( in float)
390:7      Loop with condition not tested first
400:7        Loop Condition
410:7        Compare Less Than ( temp bool)
420:7          Pre-Increment ( temp float)
430:7            'input' ( in float)
440:7          Constant:
450:7            10.000000
460:7        Loop Body
470:7        Loop with condition tested first
480:7          Loop Condition
490:7          Compare Less Than ( temp bool)
500:7            Pre-Increment ( temp float)
510:7              'input' ( in float)
520:7            Constant:
530:7              10.000000
540:7          No loop body
550:8      Branch: Return with expression
560:8        Construct vec4 ( temp 4-component vector of float)
570:8          'input' ( in float)
580:2  Function Definition: PixelShaderFunction( ( temp void)
590:2    Function Parameters:
600:?     Sequence
610:2      move second child to first child ( temp float)
620:?         'input' ( temp float)
630:?         'input' (layout( location=0) in float)
640:2      move second child to first child ( temp 4-component vector of float)
650:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
660:2        Function Call: @PixelShaderFunction(f1; ( temp 4-component vector of float)
670:?           'input' ( temp float)
680:?   Linker Objects
690:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
700:?     'input' (layout( location=0) in float)
71
72
73Linked fragment stage:
74
75
76Shader version: 500
77gl_FragCoord origin is upper left
780:? Sequence
790:2  Function Definition: @PixelShaderFunction(f1; ( temp 4-component vector of float)
800:2    Function Parameters:
810:2      'input' ( in float)
820:?     Sequence
830:3      Loop with condition not tested first: Unroll
840:3        Loop Condition
850:3        Constant:
860:3          false (const bool)
870:3        No loop body
880:4      Loop with condition not tested first: Unroll
890:4        Loop Condition
900:4        Constant:
910:4          false (const bool)
920:4        No loop body
930:5      Loop with condition not tested first
940:5        Loop Condition
950:5        Compare Greater Than ( temp bool)
960:5          'input' ( in float)
970:5          Constant:
980:5            2.000000
990:5        Loop Body
1000:?         Sequence
1010:5          Branch: Return with expression
1020:5            Construct vec4 ( temp 4-component vector of float)
1030:5              'input' ( in float)
1040:6      Loop with condition not tested first
1050:6        Loop Condition
1060:6        Compare Less Than ( temp bool)
1070:6          'input' ( in float)
1080:6          Constant:
1090:6            10.000000
1100:6        Loop Body
1110:6        Pre-Increment ( temp float)
1120:6          'input' ( in float)
1130:7      Loop with condition not tested first
1140:7        Loop Condition
1150:7        Compare Less Than ( temp bool)
1160:7          Pre-Increment ( temp float)
1170:7            'input' ( in float)
1180:7          Constant:
1190:7            10.000000
1200:7        Loop Body
1210:7        Loop with condition tested first
1220:7          Loop Condition
1230:7          Compare Less Than ( temp bool)
1240:7            Pre-Increment ( temp float)
1250:7              'input' ( in float)
1260:7            Constant:
1270:7              10.000000
1280:7          No loop body
1290:8      Branch: Return with expression
1300:8        Construct vec4 ( temp 4-component vector of float)
1310:8          'input' ( in float)
1320:2  Function Definition: PixelShaderFunction( ( temp void)
1330:2    Function Parameters:
1340:?     Sequence
1350:2      move second child to first child ( temp float)
1360:?         'input' ( temp float)
1370:?         'input' (layout( location=0) in float)
1380:2      move second child to first child ( temp 4-component vector of float)
1390:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1400:2        Function Call: @PixelShaderFunction(f1; ( temp 4-component vector of float)
1410:?           'input' ( temp float)
1420:?   Linker Objects
1430:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1440:?     'input' (layout( location=0) in float)
145
146// Module Version 10000
147// Generated by (magic number): 80007
148// Id's are bound by 71
149
150                              Capability Shader
151               1:             ExtInstImport  "GLSL.std.450"
152                              MemoryModel Logical GLSL450
153                              EntryPoint Fragment 4  "PixelShaderFunction" 64 67
154                              ExecutionMode 4 OriginUpperLeft
155                              Source HLSL 500
156                              Name 4  "PixelShaderFunction"
157                              Name 11  "@PixelShaderFunction(f1;"
158                              Name 10  "input"
159                              Name 62  "input"
160                              Name 64  "input"
161                              Name 67  "@entryPointOutput"
162                              Name 68  "param"
163                              Decorate 64(input) Location 0
164                              Decorate 67(@entryPointOutput) Location 0
165               2:             TypeVoid
166               3:             TypeFunction 2
167               6:             TypeFloat 32
168               7:             TypePointer Function 6(float)
169               8:             TypeVector 6(float) 4
170               9:             TypeFunction 8(fvec4) 7(ptr)
171              17:             TypeBool
172              18:    17(bool) ConstantFalse
173              31:    6(float) Constant 1073741824
174              38:    6(float) Constant 1065353216
175              41:    6(float) Constant 1092616192
176              63:             TypePointer Input 6(float)
177       64(input):     63(ptr) Variable Input
178              66:             TypePointer Output 8(fvec4)
17967(@entryPointOutput):     66(ptr) Variable Output
1804(PixelShaderFunction):           2 Function None 3
181               5:             Label
182       62(input):      7(ptr) Variable Function
183       68(param):      7(ptr) Variable Function
184              65:    6(float) Load 64(input)
185                              Store 62(input) 65
186              69:    6(float) Load 62(input)
187                              Store 68(param) 69
188              70:    8(fvec4) FunctionCall 11(@PixelShaderFunction(f1;) 68(param)
189                              Store 67(@entryPointOutput) 70
190                              Return
191                              FunctionEnd
19211(@PixelShaderFunction(f1;):    8(fvec4) Function None 9
193       10(input):      7(ptr) FunctionParameter
194              12:             Label
195                              Branch 13
196              13:             Label
197                              LoopMerge 15 16 Unroll
198                              Branch 14
199              14:             Label
200                              Branch 16
201              16:             Label
202                              BranchConditional 18 13 15
203              15:             Label
204                              Branch 19
205              19:             Label
206                              LoopMerge 21 22 Unroll
207                              Branch 20
208              20:             Label
209                              Branch 22
210              22:             Label
211                              BranchConditional 18 19 21
212              21:             Label
213                              Branch 23
214              23:             Label
215                              LoopMerge 25 26 None
216                              Branch 24
217              24:             Label
218              27:    6(float) Load 10(input)
219              28:    8(fvec4) CompositeConstruct 27 27 27 27
220                              ReturnValue 28
221              26:             Label
222              30:    6(float) Load 10(input)
223              32:    17(bool) FOrdGreaterThan 30 31
224                              BranchConditional 32 23 25
225              25:             Label
226                              Branch 33
227              33:             Label
228                              LoopMerge 35 36 None
229                              Branch 34
230              34:             Label
231              37:    6(float) Load 10(input)
232              39:    6(float) FAdd 37 38
233                              Store 10(input) 39
234                              Branch 36
235              36:             Label
236              40:    6(float) Load 10(input)
237              42:    17(bool) FOrdLessThan 40 41
238                              BranchConditional 42 33 35
239              35:             Label
240                              Branch 43
241              43:             Label
242                              LoopMerge 45 46 None
243                              Branch 44
244              44:             Label
245                              Branch 47
246              47:             Label
247                              LoopMerge 49 50 None
248                              Branch 51
249              51:             Label
250              52:    6(float) Load 10(input)
251              53:    6(float) FAdd 52 38
252                              Store 10(input) 53
253              54:    17(bool) FOrdLessThan 53 41
254                              BranchConditional 54 48 49
255              48:               Label
256                                Branch 50
257              50:               Label
258                                Branch 47
259              49:             Label
260                              Branch 46
261              46:             Label
262              55:    6(float) Load 10(input)
263              56:    6(float) FAdd 55 38
264                              Store 10(input) 56
265              57:    17(bool) FOrdLessThan 56 41
266                              BranchConditional 57 43 45
267              45:             Label
268              58:    6(float) Load 10(input)
269              59:    8(fvec4) CompositeConstruct 58 58 58 58
270                              ReturnValue 59
271                              FunctionEnd
272