aboutsummaryrefslogtreecommitdiff
path: root/Test/baseResults/hlsl.forLoop.frag.out
blob: 85b8fb272b47715af25f4ebef4d41ee188073262 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
hlsl.forLoop.frag
Shader version: 450
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' (layout(location=0 ) 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' (layout(location=0 ) 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' (layout(location=0 ) in 4-component vector of float)
0:5              'input' (layout(location=0 ) 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' (layout(location=0 ) in 4-component vector of float)
0:6              'input' (layout(location=0 ) in 4-component vector of float)
0:6          Loop Body
0:?           Sequence
0:6            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                Negate value (temp 4-component vector of float)
0:6                  'input' (layout(location=0 ) in 4-component vector of float)
0:6              Branch: Return
0:7      Sequence
0:7        Pre-Decrement (temp 4-component vector of float)
0:7          'input' (layout(location=0 ) 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' (layout(location=0 ) in 4-component vector of float)
0:7              'input' (layout(location=0 ) in 4-component vector of float)
0:7          Loop Body
0:?           Sequence
0:7            Sequence
0:7              move second child to first child (temp 4-component vector of float)
0:?                 '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7                Negate value (temp 4-component vector of float)
0:7                  'input' (layout(location=0 ) in 4-component vector of float)
0:7              Branch: Return
0:7          Loop Terminal Expression
0:7          add second child into first child (temp 4-component vector of float)
0:7            'input' (layout(location=0 ) 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' (layout(location=0 ) 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' (layout(location=0 ) 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
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: 450
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' (layout(location=0 ) 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' (layout(location=0 ) 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' (layout(location=0 ) in 4-component vector of float)
0:5              'input' (layout(location=0 ) 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' (layout(location=0 ) in 4-component vector of float)
0:6              'input' (layout(location=0 ) in 4-component vector of float)
0:6          Loop Body
0:?           Sequence
0:6            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                Negate value (temp 4-component vector of float)
0:6                  'input' (layout(location=0 ) in 4-component vector of float)
0:6              Branch: Return
0:7      Sequence
0:7        Pre-Decrement (temp 4-component vector of float)
0:7          'input' (layout(location=0 ) 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' (layout(location=0 ) in 4-component vector of float)
0:7              'input' (layout(location=0 ) in 4-component vector of float)
0:7          Loop Body
0:?           Sequence
0:7            Sequence
0:7              move second child to first child (temp 4-component vector of float)
0:?                 '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7                Negate value (temp 4-component vector of float)
0:7                  'input' (layout(location=0 ) in 4-component vector of float)
0:7              Branch: Return
0:7          Loop Terminal Expression
0:7          add second child into first child (temp 4-component vector of float)
0:7            'input' (layout(location=0 ) 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' (layout(location=0 ) 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' (layout(location=0 ) 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
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 114

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 13 43
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "PixelShaderFunction"
                              Name 13  "input"
                              Name 43  "@entryPointOutput"
                              Name 91  "ii"
                              Name 111  "ii"
                              Decorate 13(input) Location 0
                              Decorate 43(@entryPointOutput) Location 0
               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
              42:             TypePointer Output 11(fvec4)
43(@entryPointOutput):     42(ptr) Variable Output
              62:   10(float) Constant 1073741824
              70:             TypeInt 32 0
              71:     70(int) Constant 0
              72:             TypePointer Input 10(float)
              89:             TypeInt 32 1
              90:             TypePointer Function 89(int)
              92:     89(int) Constant 4294967295
              99:     89(int) Constant 3
             102:     89(int) Constant 2
             108:     89(int) Constant 1
             110:             TypePointer Function 10(float)
4(PixelShaderFunction):           2 Function None 3
               5:             Label
          91(ii):     90(ptr) Variable Function
         111(ii):    110(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
              44:   11(fvec4)   Load 13(input)
              45:   11(fvec4)   FNegate 44
                                Store 43(@entryPointOutput) 45
                                Return
              36:               Label
                                Branch 33
              35:             Label
              47:   11(fvec4) Load 13(input)
              48:   11(fvec4) CompositeConstruct 15 15 15 15
              49:   11(fvec4) FSub 47 48
                              Store 13(input) 49
                              Branch 50
              50:             Label
                              LoopMerge 52 53 None
                              Branch 54
              54:             Label
              55:   11(fvec4) Load 13(input)
              56:   11(fvec4) Load 13(input)
              57:   30(bvec4) FOrdNotEqual 55 56
              58:    29(bool) Any 57
                              BranchConditional 58 51 52
              51:               Label
              59:   11(fvec4)   Load 13(input)
              60:   11(fvec4)   FNegate 59
                                Store 43(@entryPointOutput) 60
                                Return
              53:               Label
              63:   11(fvec4)   Load 13(input)
              64:   11(fvec4)   CompositeConstruct 62 62 62 62
              65:   11(fvec4)   FAdd 63 64
                                Store 13(input) 65
                                Branch 50
              52:             Label
                              Branch 66
              66:             Label
                              LoopMerge 68 69 None
                              Branch 67
              67:             Label
              73:     72(ptr) AccessChain 13(input) 71
              74:   10(float) Load 73
              75:    29(bool) FOrdGreaterThan 74 62
                              SelectionMerge 77 None
                              BranchConditional 75 76 77
              76:               Label
                                Branch 68
              77:             Label
                              Branch 69
              69:             Label
                              Branch 66
              68:             Label
                              Branch 79
              79:             Label
                              LoopMerge 81 82 None
                              Branch 80
              80:             Label
              83:     72(ptr) AccessChain 13(input) 71
              84:   10(float) Load 83
              85:    29(bool) FOrdGreaterThan 84 62
                              SelectionMerge 87 None
                              BranchConditional 85 86 87
              86:               Label
                                Branch 82
              87:             Label
                              Branch 82
              82:             Label
                              Branch 79
              81:             Label
                              Store 91(ii) 92
                              Branch 93
              93:             Label
                              LoopMerge 95 96 None
                              Branch 97
              97:             Label
              98:     89(int) Load 91(ii)
             100:    29(bool) SLessThan 98 99
                              BranchConditional 100 94 95
              94:               Label
             101:     89(int)   Load 91(ii)
             103:    29(bool)   IEqual 101 102
                                SelectionMerge 105 None
                                BranchConditional 103 104 105
             104:                 Label
                                  Branch 96
             105:               Label
                                Branch 96
              96:               Label
             107:     89(int)   Load 91(ii)
             109:     89(int)   IAdd 107 108
                                Store 91(ii) 109
                                Branch 93
              95:             Label
             112:   10(float) Load 111(ii)
             113:   10(float) FSub 112 15
                              Store 111(ii) 113
                              Return
                              FunctionEnd