1hlsl.if.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:2  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
60:2    Function Parameters:
70:2      'input' ( in 4-component vector of float)
80:?     Sequence
90:3      Test condition and select ( temp void)
100:3        Condition
110:3        all ( temp bool)
120:3          Equal ( temp 4-component vector of bool)
130:3            'input' ( in 4-component vector of float)
140:3            'input' ( in 4-component vector of float)
150:3        true case
160:4        Branch: Return with expression
170:4          'input' ( in 4-component vector of float)
180:6      Test condition and select ( temp void)
190:6        Condition
200:6        all ( temp bool)
210:6          Equal ( temp 4-component vector of bool)
220:6            'input' ( in 4-component vector of float)
230:6            'input' ( in 4-component vector of float)
240:6        true case
250:7        Branch: Return with expression
260:7          'input' ( in 4-component vector of float)
270:6        false case
280:9        Branch: Return with expression
290:9          Negate value ( temp 4-component vector of float)
300:9            'input' ( in 4-component vector of float)
310:11      Test condition and select ( temp void)
320:11        Condition
330:11        all ( temp bool)
340:11          Equal ( temp 4-component vector of bool)
350:11            'input' ( in 4-component vector of float)
360:11            'input' ( in 4-component vector of float)
370:11        true case is null
380:14      Test condition and select ( temp void)
390:14        Condition
400:14        all ( temp bool)
410:14          Equal ( temp 4-component vector of bool)
420:14            'input' ( in 4-component vector of float)
430:14            'input' ( in 4-component vector of float)
440:14        true case is null
450:19      Test condition and select ( temp void): Flatten
460:19        Condition
470:19        all ( temp bool)
480:19          Equal ( temp 4-component vector of bool)
490:19            'input' ( in 4-component vector of float)
500:19            'input' ( in 4-component vector of float)
510:19        true case
520:?         Sequence
530:20          Branch: Return with expression
540:20            'input' ( in 4-component vector of float)
550:23      Test condition and select ( temp void)
560:23        Condition
570:23        all ( temp bool)
580:23          Equal ( temp 4-component vector of bool)
590:23            'input' ( in 4-component vector of float)
600:23            'input' ( in 4-component vector of float)
610:23        true case
620:?         Sequence
630:24          Branch: Return with expression
640:24            'input' ( in 4-component vector of float)
650:23        false case
660:?         Sequence
670:26          Branch: Return with expression
680:26            Negate value ( temp 4-component vector of float)
690:26              'input' ( in 4-component vector of float)
700:30      Test condition and select ( temp void)
710:30        Condition
720:30        Convert float to bool ( temp bool)
730:30          move second child to first child ( temp float)
740:30            'ii' ( temp float)
750:30            direct index ( temp float)
760:30              'input' ( in 4-component vector of float)
770:30              Constant:
780:30                2 (const int)
790:30        true case
800:31        Pre-Increment ( temp float)
810:31          'ii' ( temp float)
820:32      Pre-Increment ( temp int)
830:32        'ii' ( temp int)
840:33      Test condition and select ( temp void)
850:33        Condition
860:33        Compare Equal ( temp bool)
870:33          Convert int to float ( temp float)
880:33            'ii' ( temp int)
890:33          Constant:
900:33            1.000000
910:33        true case
920:34        Pre-Increment ( temp int)
930:34          'ii' ( temp int)
940:2  Function Definition: PixelShaderFunction( ( temp void)
950:2    Function Parameters:
960:?     Sequence
970:2      move second child to first child ( temp 4-component vector of float)
980:?         'input' ( temp 4-component vector of float)
990:?         'input' (layout( location=0) in 4-component vector of float)
1000:2      move second child to first child ( temp 4-component vector of float)
1010:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1020:2        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
1030:?           'input' ( temp 4-component vector of float)
1040:?   Linker Objects
1050:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1060:?     'input' (layout( location=0) in 4-component vector of float)
107
108
109Linked fragment stage:
110
111
112Shader version: 500
113gl_FragCoord origin is upper left
1140:? Sequence
1150:2  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
1160:2    Function Parameters:
1170:2      'input' ( in 4-component vector of float)
1180:?     Sequence
1190:3      Test condition and select ( temp void)
1200:3        Condition
1210:3        all ( temp bool)
1220:3          Equal ( temp 4-component vector of bool)
1230:3            'input' ( in 4-component vector of float)
1240:3            'input' ( in 4-component vector of float)
1250:3        true case
1260:4        Branch: Return with expression
1270:4          'input' ( in 4-component vector of float)
1280:6      Test condition and select ( temp void)
1290:6        Condition
1300:6        all ( temp bool)
1310:6          Equal ( temp 4-component vector of bool)
1320:6            'input' ( in 4-component vector of float)
1330:6            'input' ( in 4-component vector of float)
1340:6        true case
1350:7        Branch: Return with expression
1360:7          'input' ( in 4-component vector of float)
1370:6        false case
1380:9        Branch: Return with expression
1390:9          Negate value ( temp 4-component vector of float)
1400:9            'input' ( in 4-component vector of float)
1410:11      Test condition and select ( temp void)
1420:11        Condition
1430:11        all ( temp bool)
1440:11          Equal ( temp 4-component vector of bool)
1450:11            'input' ( in 4-component vector of float)
1460:11            'input' ( in 4-component vector of float)
1470:11        true case is null
1480:14      Test condition and select ( temp void)
1490:14        Condition
1500:14        all ( temp bool)
1510:14          Equal ( temp 4-component vector of bool)
1520:14            'input' ( in 4-component vector of float)
1530:14            'input' ( in 4-component vector of float)
1540:14        true case is null
1550:19      Test condition and select ( temp void): Flatten
1560:19        Condition
1570:19        all ( temp bool)
1580:19          Equal ( temp 4-component vector of bool)
1590:19            'input' ( in 4-component vector of float)
1600:19            'input' ( in 4-component vector of float)
1610:19        true case
1620:?         Sequence
1630:20          Branch: Return with expression
1640:20            'input' ( in 4-component vector of float)
1650:23      Test condition and select ( temp void)
1660:23        Condition
1670:23        all ( temp bool)
1680:23          Equal ( temp 4-component vector of bool)
1690:23            'input' ( in 4-component vector of float)
1700:23            'input' ( in 4-component vector of float)
1710:23        true case
1720:?         Sequence
1730:24          Branch: Return with expression
1740:24            'input' ( in 4-component vector of float)
1750:23        false case
1760:?         Sequence
1770:26          Branch: Return with expression
1780:26            Negate value ( temp 4-component vector of float)
1790:26              'input' ( in 4-component vector of float)
1800:30      Test condition and select ( temp void)
1810:30        Condition
1820:30        Convert float to bool ( temp bool)
1830:30          move second child to first child ( temp float)
1840:30            'ii' ( temp float)
1850:30            direct index ( temp float)
1860:30              'input' ( in 4-component vector of float)
1870:30              Constant:
1880:30                2 (const int)
1890:30        true case
1900:31        Pre-Increment ( temp float)
1910:31          'ii' ( temp float)
1920:32      Pre-Increment ( temp int)
1930:32        'ii' ( temp int)
1940:33      Test condition and select ( temp void)
1950:33        Condition
1960:33        Compare Equal ( temp bool)
1970:33          Convert int to float ( temp float)
1980:33            'ii' ( temp int)
1990:33          Constant:
2000:33            1.000000
2010:33        true case
2020:34        Pre-Increment ( temp int)
2030:34          'ii' ( temp int)
2040:2  Function Definition: PixelShaderFunction( ( temp void)
2050:2    Function Parameters:
2060:?     Sequence
2070:2      move second child to first child ( temp 4-component vector of float)
2080:?         'input' ( temp 4-component vector of float)
2090:?         'input' (layout( location=0) in 4-component vector of float)
2100:2      move second child to first child ( temp 4-component vector of float)
2110:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2120:2        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
2130:?           'input' ( temp 4-component vector of float)
2140:?   Linker Objects
2150:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2160:?     'input' (layout( location=0) in 4-component vector of float)
217
218// Module Version 10000
219// Generated by (magic number): 80007
220// Id's are bound by 103
221
222                              Capability Shader
223               1:             ExtInstImport  "GLSL.std.450"
224                              MemoryModel Logical GLSL450
225                              EntryPoint Fragment 4  "PixelShaderFunction" 96 99
226                              ExecutionMode 4 OriginUpperLeft
227                              Source HLSL 500
228                              Name 4  "PixelShaderFunction"
229                              Name 11  "@PixelShaderFunction(vf4;"
230                              Name 10  "input"
231                              Name 68  "ii"
232                              Name 82  "ii"
233                              Name 94  "input"
234                              Name 96  "input"
235                              Name 99  "@entryPointOutput"
236                              Name 100  "param"
237                              Decorate 96(input) Location 0
238                              Decorate 99(@entryPointOutput) Location 0
239               2:             TypeVoid
240               3:             TypeFunction 2
241               6:             TypeFloat 32
242               7:             TypeVector 6(float) 4
243               8:             TypePointer Function 7(fvec4)
244               9:             TypeFunction 7(fvec4) 8(ptr)
245              15:             TypeBool
246              16:             TypeVector 15(bool) 4
247              67:             TypePointer Function 6(float)
248              69:             TypeInt 32 0
249              70:     69(int) Constant 2
250              73:    6(float) Constant 0
251              78:    6(float) Constant 1065353216
252              80:             TypeInt 32 1
253              81:             TypePointer Function 80(int)
254              84:     80(int) Constant 1
255              95:             TypePointer Input 7(fvec4)
256       96(input):     95(ptr) Variable Input
257              98:             TypePointer Output 7(fvec4)
25899(@entryPointOutput):     98(ptr) Variable Output
2594(PixelShaderFunction):           2 Function None 3
260               5:             Label
261       94(input):      8(ptr) Variable Function
262      100(param):      8(ptr) Variable Function
263              97:    7(fvec4) Load 96(input)
264                              Store 94(input) 97
265             101:    7(fvec4) Load 94(input)
266                              Store 100(param) 101
267             102:    7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 100(param)
268                              Store 99(@entryPointOutput) 102
269                              Return
270                              FunctionEnd
27111(@PixelShaderFunction(vf4;):    7(fvec4) Function None 9
272       10(input):      8(ptr) FunctionParameter
273              12:             Label
274          68(ii):     67(ptr) Variable Function
275          82(ii):     81(ptr) Variable Function
276              13:    7(fvec4) Load 10(input)
277              14:    7(fvec4) Load 10(input)
278              17:   16(bvec4) FOrdEqual 13 14
279              18:    15(bool) All 17
280                              SelectionMerge 20 None
281                              BranchConditional 18 19 20
282              19:               Label
283              21:    7(fvec4)   Load 10(input)
284                                ReturnValue 21
285              20:             Label
286              23:    7(fvec4) Load 10(input)
287              24:    7(fvec4) Load 10(input)
288              25:   16(bvec4) FOrdEqual 23 24
289              26:    15(bool) All 25
290                              SelectionMerge 28 None
291                              BranchConditional 26 27 31
292              27:               Label
293              29:    7(fvec4)   Load 10(input)
294                                ReturnValue 29
295              31:               Label
296              32:    7(fvec4)   Load 10(input)
297              33:    7(fvec4)   FNegate 32
298                                ReturnValue 33
299              28:             Label
300              35:    7(fvec4) Load 10(input)
301              36:    7(fvec4) Load 10(input)
302              37:   16(bvec4) FOrdEqual 35 36
303              38:    15(bool) All 37
304                              SelectionMerge 40 None
305                              BranchConditional 38 39 40
306              39:               Label
307                                Branch 40
308              40:             Label
309              41:    7(fvec4) Load 10(input)
310              42:    7(fvec4) Load 10(input)
311              43:   16(bvec4) FOrdEqual 41 42
312              44:    15(bool) All 43
313                              SelectionMerge 46 None
314                              BranchConditional 44 45 46
315              45:               Label
316                                Branch 46
317              46:             Label
318              47:    7(fvec4) Load 10(input)
319              48:    7(fvec4) Load 10(input)
320              49:   16(bvec4) FOrdEqual 47 48
321              50:    15(bool) All 49
322                              SelectionMerge 52 Flatten
323                              BranchConditional 50 51 52
324              51:               Label
325              53:    7(fvec4)   Load 10(input)
326                                ReturnValue 53
327              52:             Label
328              55:    7(fvec4) Load 10(input)
329              56:    7(fvec4) Load 10(input)
330              57:   16(bvec4) FOrdEqual 55 56
331              58:    15(bool) All 57
332                              SelectionMerge 60 None
333                              BranchConditional 58 59 63
334              59:               Label
335              61:    7(fvec4)   Load 10(input)
336                                ReturnValue 61
337              63:               Label
338              64:    7(fvec4)   Load 10(input)
339              65:    7(fvec4)   FNegate 64
340                                ReturnValue 65
341              60:             Label
342              71:     67(ptr) AccessChain 10(input) 70
343              72:    6(float) Load 71
344                              Store 68(ii) 72
345              74:    15(bool) FOrdNotEqual 72 73
346                              SelectionMerge 76 None
347                              BranchConditional 74 75 76
348              75:               Label
349              77:    6(float)   Load 68(ii)
350              79:    6(float)   FAdd 77 78
351                                Store 68(ii) 79
352                                Branch 76
353              76:             Label
354              83:     80(int) Load 82(ii)
355              85:     80(int) IAdd 83 84
356                              Store 82(ii) 85
357              86:     80(int) Load 82(ii)
358              87:    6(float) ConvertSToF 86
359              88:    15(bool) FOrdEqual 87 78
360                              SelectionMerge 90 None
361                              BranchConditional 88 89 90
362              89:               Label
363              91:     80(int)   Load 82(ii)
364              92:     80(int)   IAdd 91 84
365                                Store 82(ii) 92
366                                Branch 90
367              90:             Label
368              93:    7(fvec4) Undef
369                              ReturnValue 93
370                              FunctionEnd
371