1hlsl.if.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:1  Function Definition: f0(vf4; ( temp 4-component vector of float)
60:1    Function Parameters:
70:1      'input' ( in 4-component vector of float)
80:?     Sequence
90:2      Test condition and select ( temp void)
100:2        Condition
110:2        all ( temp bool)
120:2          Equal ( temp 4-component vector of bool)
130:2            'input' ( in 4-component vector of float)
140:2            'input' ( in 4-component vector of float)
150:2        true case
160:3        Branch: Return with expression
170:3          'input' ( in 4-component vector of float)
180:2        false case
190:5        Branch: Return with expression
200:5          Negate value ( temp 4-component vector of float)
210:5            'input' ( in 4-component vector of float)
220:8  Function Definition: f1(vf4; ( temp 4-component vector of float)
230:8    Function Parameters:
240:8      'input' ( in 4-component vector of float)
250:?     Sequence
260:9      Test condition and select ( temp void)
270:9        Condition
280:9        all ( temp bool)
290:9          Equal ( temp 4-component vector of bool)
300:9            'input' ( in 4-component vector of float)
310:9            'input' ( in 4-component vector of float)
320:9        true case
330:?         Sequence
340:10          Branch: Return with expression
350:10            'input' ( in 4-component vector of float)
360:9        false case
370:?         Sequence
380:12          Branch: Return with expression
390:12            Negate value ( temp 4-component vector of float)
400:12              'input' ( in 4-component vector of float)
410:17  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
420:17    Function Parameters:
430:17      'input' ( in 4-component vector of float)
440:?     Sequence
450:18      Test condition and select ( temp void)
460:18        Condition
470:18        all ( temp bool)
480:18          Equal ( temp 4-component vector of bool)
490:18            'input' ( in 4-component vector of float)
500:18            'input' ( in 4-component vector of float)
510:18        true case
520:19        Branch: Return with expression
530:19          'input' ( in 4-component vector of float)
540:21      Function Call: f0(vf4; ( temp 4-component vector of float)
550:21        'input' ( in 4-component vector of float)
560:23      Test condition and select ( temp void)
570:23        Condition
580:23        all ( temp bool)
590:23          Equal ( temp 4-component vector of bool)
600:23            'input' ( in 4-component vector of float)
610:23            'input' ( in 4-component vector of float)
620:23        true case is null
630:26      Test condition and select ( temp void)
640:26        Condition
650:26        all ( temp bool)
660:26          Equal ( temp 4-component vector of bool)
670:26            'input' ( in 4-component vector of float)
680:26            'input' ( in 4-component vector of float)
690:26        true case is null
700:31      Test condition and select ( temp void): Flatten
710:31        Condition
720:31        all ( temp bool)
730:31          Equal ( temp 4-component vector of bool)
740:31            'input' ( in 4-component vector of float)
750:31            'input' ( in 4-component vector of float)
760:31        true case
770:?         Sequence
780:32          Branch: Return with expression
790:32            'input' ( in 4-component vector of float)
800:35      Function Call: f1(vf4; ( temp 4-component vector of float)
810:35        'input' ( in 4-component vector of float)
820:38      Test condition and select ( temp void)
830:38        Condition
840:38        Convert float to bool ( temp bool)
850:38          move second child to first child ( temp float)
860:38            'ii' ( temp float)
870:38            direct index ( temp float)
880:38              'input' ( in 4-component vector of float)
890:38              Constant:
900:38                2 (const int)
910:38        true case
920:39        Pre-Increment ( temp float)
930:39          'ii' ( temp float)
940:40      Pre-Increment ( temp int)
950:40        'ii' ( temp int)
960:41      Test condition and select ( temp void)
970:41        Condition
980:41        Compare Equal ( temp bool)
990:41          Convert int to float ( temp float)
1000:41            'ii' ( temp int)
1010:41          Constant:
1020:41            1.000000
1030:41        true case
1040:42        Pre-Increment ( temp int)
1050:42          'ii' ( temp int)
1060:17  Function Definition: PixelShaderFunction( ( temp void)
1070:17    Function Parameters:
1080:?     Sequence
1090:17      move second child to first child ( temp 4-component vector of float)
1100:?         'input' ( temp 4-component vector of float)
1110:?         'input' (layout( location=0) in 4-component vector of float)
1120:17      move second child to first child ( temp 4-component vector of float)
1130:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1140:17        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
1150:?           'input' ( temp 4-component vector of float)
1160:?   Linker Objects
1170:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1180:?     'input' (layout( location=0) in 4-component vector of float)
119
120
121Linked fragment stage:
122
123
124Shader version: 500
125gl_FragCoord origin is upper left
1260:? Sequence
1270:1  Function Definition: f0(vf4; ( temp 4-component vector of float)
1280:1    Function Parameters:
1290:1      'input' ( in 4-component vector of float)
1300:?     Sequence
1310:2      Test condition and select ( temp void)
1320:2        Condition
1330:2        all ( temp bool)
1340:2          Equal ( temp 4-component vector of bool)
1350:2            'input' ( in 4-component vector of float)
1360:2            'input' ( in 4-component vector of float)
1370:2        true case
1380:3        Branch: Return with expression
1390:3          'input' ( in 4-component vector of float)
1400:2        false case
1410:5        Branch: Return with expression
1420:5          Negate value ( temp 4-component vector of float)
1430:5            'input' ( in 4-component vector of float)
1440:8  Function Definition: f1(vf4; ( temp 4-component vector of float)
1450:8    Function Parameters:
1460:8      'input' ( in 4-component vector of float)
1470:?     Sequence
1480:9      Test condition and select ( temp void)
1490:9        Condition
1500:9        all ( temp bool)
1510:9          Equal ( temp 4-component vector of bool)
1520:9            'input' ( in 4-component vector of float)
1530:9            'input' ( in 4-component vector of float)
1540:9        true case
1550:?         Sequence
1560:10          Branch: Return with expression
1570:10            'input' ( in 4-component vector of float)
1580:9        false case
1590:?         Sequence
1600:12          Branch: Return with expression
1610:12            Negate value ( temp 4-component vector of float)
1620:12              'input' ( in 4-component vector of float)
1630:17  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
1640:17    Function Parameters:
1650:17      'input' ( in 4-component vector of float)
1660:?     Sequence
1670:18      Test condition and select ( temp void)
1680:18        Condition
1690:18        all ( temp bool)
1700:18          Equal ( temp 4-component vector of bool)
1710:18            'input' ( in 4-component vector of float)
1720:18            'input' ( in 4-component vector of float)
1730:18        true case
1740:19        Branch: Return with expression
1750:19          'input' ( in 4-component vector of float)
1760:21      Function Call: f0(vf4; ( temp 4-component vector of float)
1770:21        'input' ( in 4-component vector of float)
1780:23      Test condition and select ( temp void)
1790:23        Condition
1800:23        all ( temp bool)
1810:23          Equal ( temp 4-component vector of bool)
1820:23            'input' ( in 4-component vector of float)
1830:23            'input' ( in 4-component vector of float)
1840:23        true case is null
1850:26      Test condition and select ( temp void)
1860:26        Condition
1870:26        all ( temp bool)
1880:26          Equal ( temp 4-component vector of bool)
1890:26            'input' ( in 4-component vector of float)
1900:26            'input' ( in 4-component vector of float)
1910:26        true case is null
1920:31      Test condition and select ( temp void): Flatten
1930:31        Condition
1940:31        all ( temp bool)
1950:31          Equal ( temp 4-component vector of bool)
1960:31            'input' ( in 4-component vector of float)
1970:31            'input' ( in 4-component vector of float)
1980:31        true case
1990:?         Sequence
2000:32          Branch: Return with expression
2010:32            'input' ( in 4-component vector of float)
2020:35      Function Call: f1(vf4; ( temp 4-component vector of float)
2030:35        'input' ( in 4-component vector of float)
2040:38      Test condition and select ( temp void)
2050:38        Condition
2060:38        Convert float to bool ( temp bool)
2070:38          move second child to first child ( temp float)
2080:38            'ii' ( temp float)
2090:38            direct index ( temp float)
2100:38              'input' ( in 4-component vector of float)
2110:38              Constant:
2120:38                2 (const int)
2130:38        true case
2140:39        Pre-Increment ( temp float)
2150:39          'ii' ( temp float)
2160:40      Pre-Increment ( temp int)
2170:40        'ii' ( temp int)
2180:41      Test condition and select ( temp void)
2190:41        Condition
2200:41        Compare Equal ( temp bool)
2210:41          Convert int to float ( temp float)
2220:41            'ii' ( temp int)
2230:41          Constant:
2240:41            1.000000
2250:41        true case
2260:42        Pre-Increment ( temp int)
2270:42          'ii' ( temp int)
2280:17  Function Definition: PixelShaderFunction( ( temp void)
2290:17    Function Parameters:
2300:?     Sequence
2310:17      move second child to first child ( temp 4-component vector of float)
2320:?         'input' ( temp 4-component vector of float)
2330:?         'input' (layout( location=0) in 4-component vector of float)
2340:17      move second child to first child ( temp 4-component vector of float)
2350:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2360:17        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
2370:?           'input' ( temp 4-component vector of float)
2380:?   Linker Objects
2390:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2400:?     'input' (layout( location=0) in 4-component vector of float)
241
242// Module Version 10000
243// Generated by (magic number): 8000a
244// Id's are bound by 117
245
246                              Capability Shader
247               1:             ExtInstImport  "GLSL.std.450"
248                              MemoryModel Logical GLSL450
249                              EntryPoint Fragment 4  "PixelShaderFunction" 110 113
250                              ExecutionMode 4 OriginUpperLeft
251                              Source HLSL 500
252                              Name 4  "PixelShaderFunction"
253                              Name 11  "f0(vf4;"
254                              Name 10  "input"
255                              Name 14  "f1(vf4;"
256                              Name 13  "input"
257                              Name 17  "@PixelShaderFunction(vf4;"
258                              Name 16  "input"
259                              Name 55  "param"
260                              Name 78  "param"
261                              Name 82  "ii"
262                              Name 96  "ii"
263                              Name 108  "input"
264                              Name 110  "input"
265                              Name 113  "@entryPointOutput"
266                              Name 114  "param"
267                              Decorate 110(input) Location 0
268                              Decorate 113(@entryPointOutput) Location 0
269               2:             TypeVoid
270               3:             TypeFunction 2
271               6:             TypeFloat 32
272               7:             TypeVector 6(float) 4
273               8:             TypePointer Function 7(fvec4)
274               9:             TypeFunction 7(fvec4) 8(ptr)
275              21:             TypeBool
276              22:             TypeVector 21(bool) 4
277              81:             TypePointer Function 6(float)
278              83:             TypeInt 32 0
279              84:     83(int) Constant 2
280              87:    6(float) Constant 0
281              92:    6(float) Constant 1065353216
282              94:             TypeInt 32 1
283              95:             TypePointer Function 94(int)
284              98:     94(int) Constant 1
285             109:             TypePointer Input 7(fvec4)
286      110(input):    109(ptr) Variable Input
287             112:             TypePointer Output 7(fvec4)
288113(@entryPointOutput):    112(ptr) Variable Output
2894(PixelShaderFunction):           2 Function None 3
290               5:             Label
291      108(input):      8(ptr) Variable Function
292      114(param):      8(ptr) Variable Function
293             111:    7(fvec4) Load 110(input)
294                              Store 108(input) 111
295             115:    7(fvec4) Load 108(input)
296                              Store 114(param) 115
297             116:    7(fvec4) FunctionCall 17(@PixelShaderFunction(vf4;) 114(param)
298                              Store 113(@entryPointOutput) 116
299                              Return
300                              FunctionEnd
301     11(f0(vf4;):    7(fvec4) Function None 9
302       10(input):      8(ptr) FunctionParameter
303              12:             Label
304              19:    7(fvec4) Load 10(input)
305              20:    7(fvec4) Load 10(input)
306              23:   22(bvec4) FOrdEqual 19 20
307              24:    21(bool) All 23
308                              SelectionMerge 26 None
309                              BranchConditional 24 25 29
310              25:               Label
311              27:    7(fvec4)   Load 10(input)
312                                ReturnValue 27
313              29:               Label
314              30:    7(fvec4)   Load 10(input)
315              31:    7(fvec4)   FNegate 30
316                                ReturnValue 31
317              26:             Label
318                              Unreachable
319                              FunctionEnd
320     14(f1(vf4;):    7(fvec4) Function None 9
321       13(input):      8(ptr) FunctionParameter
322              15:             Label
323              34:    7(fvec4) Load 13(input)
324              35:    7(fvec4) Load 13(input)
325              36:   22(bvec4) FOrdEqual 34 35
326              37:    21(bool) All 36
327                              SelectionMerge 39 None
328                              BranchConditional 37 38 42
329              38:               Label
330              40:    7(fvec4)   Load 13(input)
331                                ReturnValue 40
332              42:               Label
333              43:    7(fvec4)   Load 13(input)
334              44:    7(fvec4)   FNegate 43
335                                ReturnValue 44
336              39:             Label
337                              Unreachable
338                              FunctionEnd
33917(@PixelShaderFunction(vf4;):    7(fvec4) Function None 9
340       16(input):      8(ptr) FunctionParameter
341              18:             Label
342       55(param):      8(ptr) Variable Function
343       78(param):      8(ptr) Variable Function
344          82(ii):     81(ptr) Variable Function
345          96(ii):     95(ptr) Variable Function
346              47:    7(fvec4) Load 16(input)
347              48:    7(fvec4) Load 16(input)
348              49:   22(bvec4) FOrdEqual 47 48
349              50:    21(bool) All 49
350                              SelectionMerge 52 None
351                              BranchConditional 50 51 52
352              51:               Label
353              53:    7(fvec4)   Load 16(input)
354                                ReturnValue 53
355              52:             Label
356              56:    7(fvec4) Load 16(input)
357                              Store 55(param) 56
358              57:    7(fvec4) FunctionCall 11(f0(vf4;) 55(param)
359              58:    7(fvec4) Load 16(input)
360              59:    7(fvec4) Load 16(input)
361              60:   22(bvec4) FOrdEqual 58 59
362              61:    21(bool) All 60
363                              SelectionMerge 63 None
364                              BranchConditional 61 62 63
365              62:               Label
366                                Branch 63
367              63:             Label
368              64:    7(fvec4) Load 16(input)
369              65:    7(fvec4) Load 16(input)
370              66:   22(bvec4) FOrdEqual 64 65
371              67:    21(bool) All 66
372                              SelectionMerge 69 None
373                              BranchConditional 67 68 69
374              68:               Label
375                                Branch 69
376              69:             Label
377              70:    7(fvec4) Load 16(input)
378              71:    7(fvec4) Load 16(input)
379              72:   22(bvec4) FOrdEqual 70 71
380              73:    21(bool) All 72
381                              SelectionMerge 75 Flatten
382                              BranchConditional 73 74 75
383              74:               Label
384              76:    7(fvec4)   Load 16(input)
385                                ReturnValue 76
386              75:             Label
387              79:    7(fvec4) Load 16(input)
388                              Store 78(param) 79
389              80:    7(fvec4) FunctionCall 14(f1(vf4;) 78(param)
390              85:     81(ptr) AccessChain 16(input) 84
391              86:    6(float) Load 85
392                              Store 82(ii) 86
393              88:    21(bool) FUnordNotEqual 86 87
394                              SelectionMerge 90 None
395                              BranchConditional 88 89 90
396              89:               Label
397              91:    6(float)   Load 82(ii)
398              93:    6(float)   FAdd 91 92
399                                Store 82(ii) 93
400                                Branch 90
401              90:             Label
402              97:     94(int) Load 96(ii)
403              99:     94(int) IAdd 97 98
404                              Store 96(ii) 99
405             100:     94(int) Load 96(ii)
406             101:    6(float) ConvertSToF 100
407             102:    21(bool) FOrdEqual 101 92
408                              SelectionMerge 104 None
409                              BranchConditional 102 103 104
410             103:               Label
411             105:     94(int)   Load 96(ii)
412             106:     94(int)   IAdd 105 98
413                                Store 96(ii) 106
414                                Branch 104
415             104:             Label
416             107:    7(fvec4) Undef
417                              ReturnValue 107
418                              FunctionEnd
419