1hlsl.conditional.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:8  Function Definition: vectorCond( ( temp 4-component vector of float)
60:8    Function Parameters:
70:?     Sequence
80:12      Branch: Return with expression
90:11        add ( temp 4-component vector of float)
100:10          add ( temp 4-component vector of float)
110:9            add ( temp 4-component vector of float)
120:9              mix ( temp 4-component vector of float)
130:9                f4: direct index for structure ( uniform 4-component vector of float)
140:9                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
150:9                  Constant:
160:9                    2 (const uint)
170:9                t4: direct index for structure ( uniform 4-component vector of float)
180:9                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
190:9                  Constant:
200:9                    1 (const uint)
210:9                Convert float to bool ( temp 4-component vector of bool)
220:9                  c4: direct index for structure ( uniform 4-component vector of float)
230:9                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
240:9                    Constant:
250:9                      0 (const uint)
260:10              mix ( temp 4-component vector of float)
270:10                Construct vec4 ( temp 4-component vector of float)
280:10                  f: direct index for structure ( uniform float)
290:10                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
300:10                    Constant:
310:10                      4 (const uint)
320:10                Construct vec4 ( temp 4-component vector of float)
330:10                  t: direct index for structure ( uniform float)
340:10                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
350:10                    Constant:
360:10                      3 (const uint)
370:10                Convert float to bool ( temp 4-component vector of bool)
380:10                  c4: direct index for structure ( uniform 4-component vector of float)
390:10                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
400:10                    Constant:
410:10                      0 (const uint)
420:11            mix ( temp 4-component vector of float)
430:11              f4: direct index for structure ( uniform 4-component vector of float)
440:11                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
450:11                Constant:
460:11                  2 (const uint)
470:11              t4: direct index for structure ( uniform 4-component vector of float)
480:11                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
490:11                Constant:
500:11                  1 (const uint)
510:11              Compare Less Than ( temp 4-component vector of bool)
520:11                t4: direct index for structure ( uniform 4-component vector of float)
530:11                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
540:11                  Constant:
550:11                    1 (const uint)
560:11                f4: direct index for structure ( uniform 4-component vector of float)
570:11                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
580:11                  Constant:
590:11                    2 (const uint)
600:12          mix ( temp 4-component vector of float)
610:12            f4: direct index for structure ( uniform 4-component vector of float)
620:12              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
630:12              Constant:
640:12                2 (const uint)
650:12            Construct vec4 ( temp 4-component vector of float)
660:12              t: direct index for structure ( uniform float)
670:12                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
680:12                Constant:
690:12                  3 (const uint)
700:12            Convert float to bool ( temp 4-component vector of bool)
710:12              c4: direct index for structure ( uniform 4-component vector of float)
720:12                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
730:12                Constant:
740:12                  0 (const uint)
750:16  Function Definition: scalarCond( ( temp 4-component vector of float)
760:16    Function Parameters:
770:?     Sequence
780:17      Sequence
790:17        move second child to first child ( temp 4-component vector of float)
800:17          'ret' ( temp 4-component vector of float)
810:17          Test condition and select ( temp 4-component vector of float): no shortcircuit
820:17            Condition
830:17            Compare Not Equal ( temp bool)
840:17              t: direct index for structure ( uniform float)
850:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
860:17                Constant:
870:17                  3 (const uint)
880:17              f: direct index for structure ( uniform float)
890:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
900:17                Constant:
910:17                  4 (const uint)
920:17            true case
930:17            vector-scale ( temp 4-component vector of float)
940:17              t: direct index for structure ( uniform float)
950:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
960:17                Constant:
970:17                  3 (const uint)
980:17              f4: direct index for structure ( uniform 4-component vector of float)
990:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
1000:17                Constant:
1010:17                  2 (const uint)
1020:17            false case
1030:17            Constant:
1040:17              1.000000
1050:17              1.000000
1060:17              1.000000
1070:17              1.000000
1080:18      Branch: Return with expression
1090:18        'ret' ( temp 4-component vector of float)
1100:22  Function Definition: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
1110:22    Function Parameters:
1120:22      'cnd' ( in 2-component vector of bool)
1130:22      'src0' ( in 2-component vector of float)
1140:22      'src1' ( in 2-component vector of float)
1150:?     Sequence
1160:23      Branch: Return with expression
1170:23        mix ( temp 2-component vector of float)
1180:23          'src1' ( in 2-component vector of float)
1190:23          'src0' ( in 2-component vector of float)
1200:23          'cnd' ( in 2-component vector of bool)
1210:27  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
1220:27    Function Parameters:
1230:27      'input' ( in 4-component vector of float)
1240:?     Sequence
1250:28      Sequence
1260:28        move second child to first child ( temp int)
1270:28          'a' ( temp int)
1280:28          Constant:
1290:28            5 (const int)
1300:29      Sequence
1310:29        move second child to first child ( temp int)
1320:29          'b' ( temp int)
1330:29          Constant:
1340:29            6 (const int)
1350:30      Sequence
1360:30        move second child to first child ( temp int)
1370:30          'c' ( temp int)
1380:30          Constant:
1390:30            7 (const int)
1400:31      Sequence
1410:31        move second child to first child ( temp int)
1420:31          'd' ( temp int)
1430:31          Constant:
1440:31            7 (const int)
1450:32      Sequence
1460:32        move second child to first child ( temp 4-component vector of float)
1470:32          'ret' ( temp 4-component vector of float)
1480:34          add ( temp 4-component vector of float)
1490:33            add ( temp 4-component vector of float)
1500:32              add ( temp 4-component vector of float)
1510:32                vector-scale ( temp 4-component vector of float)
1520:32                  Convert int to float ( temp float)
1530:32                    'a' ( temp int)
1540:32                  'input' ( in 4-component vector of float)
1550:33                vector-scale ( temp 4-component vector of float)
1560:33                  Convert int to float ( temp float)
1570:33                    'b' ( temp int)
1580:33                  'input' ( in 4-component vector of float)
1590:34              vector-scale ( temp 4-component vector of float)
1600:34                Convert int to float ( temp float)
1610:34                  'c' ( temp int)
1620:34                'input' ( in 4-component vector of float)
1630:35            vector-scale ( temp 4-component vector of float)
1640:35              Convert int to float ( temp float)
1650:35                'd' ( temp int)
1660:35              'input' ( in 4-component vector of float)
1670:37      Comma ( temp int)
1680:37        move second child to first child ( temp int)
1690:37          'e' ( temp int)
1700:37          move second child to first child ( temp int)
1710:37            'a' ( temp int)
1720:37            Test condition and select ( temp int): no shortcircuit
1730:37              Condition
1740:37              Convert int to bool ( temp bool)
1750:37                'b' ( temp int)
1760:37              true case
1770:37              move second child to first child ( temp int)
1780:37                'c' ( temp int)
1790:37                'd' ( temp int)
1800:37              false case
1810:37              Constant:
1820:37                10 (const int)
1830:37        move second child to first child ( temp int)
1840:37          'b' ( temp int)
1850:37          Test condition and select ( temp int): no shortcircuit
1860:37            Condition
1870:37            Convert int to bool ( temp bool)
1880:37              'a' ( temp int)
1890:37            true case
1900:37            move second child to first child ( temp int)
1910:37              'd' ( temp int)
1920:37              'c' ( temp int)
1930:37            false case
1940:37            Constant:
1950:37              11 (const int)
1960:39      move second child to first child ( temp 4-component vector of float)
1970:39        'f' ( temp 4-component vector of float)
1980:39        Test condition and select ( temp 4-component vector of float): no shortcircuit
1990:39          Condition
2000:39          Compare Less Than ( temp bool)
2010:39            direct index ( temp float)
2020:39              'ret' ( temp 4-component vector of float)
2030:39              Constant:
2040:39                0 (const int)
2050:39            direct index ( temp float)
2060:39              'input' ( in 4-component vector of float)
2070:39              Constant:
2080:39                1 (const int)
2090:39          true case
2100:39          vector-scale ( temp 4-component vector of float)
2110:39            Convert int to float ( temp float)
2120:39              'c' ( temp int)
2130:39            'input' ( in 4-component vector of float)
2140:39          false case
2150:39          vector-scale ( temp 4-component vector of float)
2160:39            Convert int to float ( temp float)
2170:39              'd' ( temp int)
2180:39            'input' ( in 4-component vector of float)
2190:41      Branch: Return with expression
2200:40        add ( temp 4-component vector of float)
2210:40          add ( temp 4-component vector of float)
2220:40            add ( temp 4-component vector of float)
2230:40              add ( temp 4-component vector of float)
2240:40                vector-scale ( temp 4-component vector of float)
2250:40                  Convert int to float ( temp float)
2260:40                    'e' ( temp int)
2270:40                  'ret' ( temp 4-component vector of float)
2280:40                'f' ( temp 4-component vector of float)
2290:40              Function Call: vectorCond( ( temp 4-component vector of float)
2300:40            Function Call: scalarCond( ( temp 4-component vector of float)
2310:?           Construct vec4 ( temp 4-component vector of float)
2320:41            Function Call: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
2330:?               Constant:
2340:?                 true (const bool)
2350:?                 false (const bool)
2360:?               Constant:
2370:?                 1.000000
2380:?                 2.000000
2390:?               Constant:
2400:?                 3.000000
2410:?                 4.000000
2420:41            Constant:
2430:41              10.000000
2440:41            Constant:
2450:41              10.000000
2460:27  Function Definition: PixelShaderFunction( ( temp void)
2470:27    Function Parameters:
2480:?     Sequence
2490:27      move second child to first child ( temp 4-component vector of float)
2500:?         'input' ( temp 4-component vector of float)
2510:?         'input' (layout( location=0) in 4-component vector of float)
2520:27      move second child to first child ( temp 4-component vector of float)
2530:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2540:27        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
2550:?           'input' ( temp 4-component vector of float)
2560:?   Linker Objects
2570:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
2580:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2590:?     'input' (layout( location=0) in 4-component vector of float)
260
261
262Linked fragment stage:
263
264
265Shader version: 500
266gl_FragCoord origin is upper left
2670:? Sequence
2680:8  Function Definition: vectorCond( ( temp 4-component vector of float)
2690:8    Function Parameters:
2700:?     Sequence
2710:12      Branch: Return with expression
2720:11        add ( temp 4-component vector of float)
2730:10          add ( temp 4-component vector of float)
2740:9            add ( temp 4-component vector of float)
2750:9              mix ( temp 4-component vector of float)
2760:9                f4: direct index for structure ( uniform 4-component vector of float)
2770:9                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
2780:9                  Constant:
2790:9                    2 (const uint)
2800:9                t4: direct index for structure ( uniform 4-component vector of float)
2810:9                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
2820:9                  Constant:
2830:9                    1 (const uint)
2840:9                Convert float to bool ( temp 4-component vector of bool)
2850:9                  c4: direct index for structure ( uniform 4-component vector of float)
2860:9                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
2870:9                    Constant:
2880:9                      0 (const uint)
2890:10              mix ( temp 4-component vector of float)
2900:10                Construct vec4 ( temp 4-component vector of float)
2910:10                  f: direct index for structure ( uniform float)
2920:10                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
2930:10                    Constant:
2940:10                      4 (const uint)
2950:10                Construct vec4 ( temp 4-component vector of float)
2960:10                  t: direct index for structure ( uniform float)
2970:10                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
2980:10                    Constant:
2990:10                      3 (const uint)
3000:10                Convert float to bool ( temp 4-component vector of bool)
3010:10                  c4: direct index for structure ( uniform 4-component vector of float)
3020:10                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
3030:10                    Constant:
3040:10                      0 (const uint)
3050:11            mix ( temp 4-component vector of float)
3060:11              f4: direct index for structure ( uniform 4-component vector of float)
3070:11                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
3080:11                Constant:
3090:11                  2 (const uint)
3100:11              t4: direct index for structure ( uniform 4-component vector of float)
3110:11                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
3120:11                Constant:
3130:11                  1 (const uint)
3140:11              Compare Less Than ( temp 4-component vector of bool)
3150:11                t4: direct index for structure ( uniform 4-component vector of float)
3160:11                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
3170:11                  Constant:
3180:11                    1 (const uint)
3190:11                f4: direct index for structure ( uniform 4-component vector of float)
3200:11                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
3210:11                  Constant:
3220:11                    2 (const uint)
3230:12          mix ( temp 4-component vector of float)
3240:12            f4: direct index for structure ( uniform 4-component vector of float)
3250:12              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
3260:12              Constant:
3270:12                2 (const uint)
3280:12            Construct vec4 ( temp 4-component vector of float)
3290:12              t: direct index for structure ( uniform float)
3300:12                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
3310:12                Constant:
3320:12                  3 (const uint)
3330:12            Convert float to bool ( temp 4-component vector of bool)
3340:12              c4: direct index for structure ( uniform 4-component vector of float)
3350:12                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
3360:12                Constant:
3370:12                  0 (const uint)
3380:16  Function Definition: scalarCond( ( temp 4-component vector of float)
3390:16    Function Parameters:
3400:?     Sequence
3410:17      Sequence
3420:17        move second child to first child ( temp 4-component vector of float)
3430:17          'ret' ( temp 4-component vector of float)
3440:17          Test condition and select ( temp 4-component vector of float): no shortcircuit
3450:17            Condition
3460:17            Compare Not Equal ( temp bool)
3470:17              t: direct index for structure ( uniform float)
3480:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
3490:17                Constant:
3500:17                  3 (const uint)
3510:17              f: direct index for structure ( uniform float)
3520:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
3530:17                Constant:
3540:17                  4 (const uint)
3550:17            true case
3560:17            vector-scale ( temp 4-component vector of float)
3570:17              t: direct index for structure ( uniform float)
3580:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
3590:17                Constant:
3600:17                  3 (const uint)
3610:17              f4: direct index for structure ( uniform 4-component vector of float)
3620:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
3630:17                Constant:
3640:17                  2 (const uint)
3650:17            false case
3660:17            Constant:
3670:17              1.000000
3680:17              1.000000
3690:17              1.000000
3700:17              1.000000
3710:18      Branch: Return with expression
3720:18        'ret' ( temp 4-component vector of float)
3730:22  Function Definition: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
3740:22    Function Parameters:
3750:22      'cnd' ( in 2-component vector of bool)
3760:22      'src0' ( in 2-component vector of float)
3770:22      'src1' ( in 2-component vector of float)
3780:?     Sequence
3790:23      Branch: Return with expression
3800:23        mix ( temp 2-component vector of float)
3810:23          'src1' ( in 2-component vector of float)
3820:23          'src0' ( in 2-component vector of float)
3830:23          'cnd' ( in 2-component vector of bool)
3840:27  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
3850:27    Function Parameters:
3860:27      'input' ( in 4-component vector of float)
3870:?     Sequence
3880:28      Sequence
3890:28        move second child to first child ( temp int)
3900:28          'a' ( temp int)
3910:28          Constant:
3920:28            5 (const int)
3930:29      Sequence
3940:29        move second child to first child ( temp int)
3950:29          'b' ( temp int)
3960:29          Constant:
3970:29            6 (const int)
3980:30      Sequence
3990:30        move second child to first child ( temp int)
4000:30          'c' ( temp int)
4010:30          Constant:
4020:30            7 (const int)
4030:31      Sequence
4040:31        move second child to first child ( temp int)
4050:31          'd' ( temp int)
4060:31          Constant:
4070:31            7 (const int)
4080:32      Sequence
4090:32        move second child to first child ( temp 4-component vector of float)
4100:32          'ret' ( temp 4-component vector of float)
4110:34          add ( temp 4-component vector of float)
4120:33            add ( temp 4-component vector of float)
4130:32              add ( temp 4-component vector of float)
4140:32                vector-scale ( temp 4-component vector of float)
4150:32                  Convert int to float ( temp float)
4160:32                    'a' ( temp int)
4170:32                  'input' ( in 4-component vector of float)
4180:33                vector-scale ( temp 4-component vector of float)
4190:33                  Convert int to float ( temp float)
4200:33                    'b' ( temp int)
4210:33                  'input' ( in 4-component vector of float)
4220:34              vector-scale ( temp 4-component vector of float)
4230:34                Convert int to float ( temp float)
4240:34                  'c' ( temp int)
4250:34                'input' ( in 4-component vector of float)
4260:35            vector-scale ( temp 4-component vector of float)
4270:35              Convert int to float ( temp float)
4280:35                'd' ( temp int)
4290:35              'input' ( in 4-component vector of float)
4300:37      Comma ( temp int)
4310:37        move second child to first child ( temp int)
4320:37          'e' ( temp int)
4330:37          move second child to first child ( temp int)
4340:37            'a' ( temp int)
4350:37            Test condition and select ( temp int): no shortcircuit
4360:37              Condition
4370:37              Convert int to bool ( temp bool)
4380:37                'b' ( temp int)
4390:37              true case
4400:37              move second child to first child ( temp int)
4410:37                'c' ( temp int)
4420:37                'd' ( temp int)
4430:37              false case
4440:37              Constant:
4450:37                10 (const int)
4460:37        move second child to first child ( temp int)
4470:37          'b' ( temp int)
4480:37          Test condition and select ( temp int): no shortcircuit
4490:37            Condition
4500:37            Convert int to bool ( temp bool)
4510:37              'a' ( temp int)
4520:37            true case
4530:37            move second child to first child ( temp int)
4540:37              'd' ( temp int)
4550:37              'c' ( temp int)
4560:37            false case
4570:37            Constant:
4580:37              11 (const int)
4590:39      move second child to first child ( temp 4-component vector of float)
4600:39        'f' ( temp 4-component vector of float)
4610:39        Test condition and select ( temp 4-component vector of float): no shortcircuit
4620:39          Condition
4630:39          Compare Less Than ( temp bool)
4640:39            direct index ( temp float)
4650:39              'ret' ( temp 4-component vector of float)
4660:39              Constant:
4670:39                0 (const int)
4680:39            direct index ( temp float)
4690:39              'input' ( in 4-component vector of float)
4700:39              Constant:
4710:39                1 (const int)
4720:39          true case
4730:39          vector-scale ( temp 4-component vector of float)
4740:39            Convert int to float ( temp float)
4750:39              'c' ( temp int)
4760:39            'input' ( in 4-component vector of float)
4770:39          false case
4780:39          vector-scale ( temp 4-component vector of float)
4790:39            Convert int to float ( temp float)
4800:39              'd' ( temp int)
4810:39            'input' ( in 4-component vector of float)
4820:41      Branch: Return with expression
4830:40        add ( temp 4-component vector of float)
4840:40          add ( temp 4-component vector of float)
4850:40            add ( temp 4-component vector of float)
4860:40              add ( temp 4-component vector of float)
4870:40                vector-scale ( temp 4-component vector of float)
4880:40                  Convert int to float ( temp float)
4890:40                    'e' ( temp int)
4900:40                  'ret' ( temp 4-component vector of float)
4910:40                'f' ( temp 4-component vector of float)
4920:40              Function Call: vectorCond( ( temp 4-component vector of float)
4930:40            Function Call: scalarCond( ( temp 4-component vector of float)
4940:?           Construct vec4 ( temp 4-component vector of float)
4950:41            Function Call: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
4960:?               Constant:
4970:?                 true (const bool)
4980:?                 false (const bool)
4990:?               Constant:
5000:?                 1.000000
5010:?                 2.000000
5020:?               Constant:
5030:?                 3.000000
5040:?                 4.000000
5050:41            Constant:
5060:41              10.000000
5070:41            Constant:
5080:41              10.000000
5090:27  Function Definition: PixelShaderFunction( ( temp void)
5100:27    Function Parameters:
5110:?     Sequence
5120:27      move second child to first child ( temp 4-component vector of float)
5130:?         'input' ( temp 4-component vector of float)
5140:?         'input' (layout( location=0) in 4-component vector of float)
5150:27      move second child to first child ( temp 4-component vector of float)
5160:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
5170:27        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
5180:?           'input' ( temp 4-component vector of float)
5190:?   Linker Objects
5200:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
5210:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
5220:?     'input' (layout( location=0) in 4-component vector of float)
523
524// Module Version 10000
525// Generated by (magic number): 80007
526// Id's are bound by 206
527
528                              Capability Shader
529               1:             ExtInstImport  "GLSL.std.450"
530                              MemoryModel Logical GLSL450
531                              EntryPoint Fragment 4  "PixelShaderFunction" 199 202
532                              ExecutionMode 4 OriginUpperLeft
533                              Source HLSL 500
534                              Name 4  "PixelShaderFunction"
535                              Name 9  "vectorCond("
536                              Name 11  "scalarCond("
537                              Name 22  "fbSelect(vb2;vf2;vf2;"
538                              Name 19  "cnd"
539                              Name 20  "src0"
540                              Name 21  "src1"
541                              Name 27  "@PixelShaderFunction(vf4;"
542                              Name 26  "input"
543                              Name 29  "$Global"
544                              MemberName 29($Global) 0  "c4"
545                              MemberName 29($Global) 1  "t4"
546                              MemberName 29($Global) 2  "f4"
547                              MemberName 29($Global) 3  "t"
548                              MemberName 29($Global) 4  "f"
549                              Name 31  ""
550                              Name 85  "ret"
551                              Name 110  "a"
552                              Name 112  "b"
553                              Name 114  "c"
554                              Name 116  "d"
555                              Name 117  "ret"
556                              Name 137  "e"
557                              Name 150  "f"
558                              Name 186  "param"
559                              Name 187  "param"
560                              Name 188  "param"
561                              Name 197  "input"
562                              Name 199  "input"
563                              Name 202  "@entryPointOutput"
564                              Name 203  "param"
565                              MemberDecorate 29($Global) 0 Offset 0
566                              MemberDecorate 29($Global) 1 Offset 16
567                              MemberDecorate 29($Global) 2 Offset 32
568                              MemberDecorate 29($Global) 3 Offset 48
569                              MemberDecorate 29($Global) 4 Offset 52
570                              Decorate 29($Global) Block
571                              Decorate 31 DescriptorSet 0
572                              Decorate 199(input) Location 0
573                              Decorate 202(@entryPointOutput) Location 0
574               2:             TypeVoid
575               3:             TypeFunction 2
576               6:             TypeFloat 32
577               7:             TypeVector 6(float) 4
578               8:             TypeFunction 7(fvec4)
579              13:             TypeBool
580              14:             TypeVector 13(bool) 2
581              15:             TypePointer Function 14(bvec2)
582              16:             TypeVector 6(float) 2
583              17:             TypePointer Function 16(fvec2)
584              18:             TypeFunction 16(fvec2) 15(ptr) 17(ptr) 17(ptr)
585              24:             TypePointer Function 7(fvec4)
586              25:             TypeFunction 7(fvec4) 24(ptr)
587     29($Global):             TypeStruct 7(fvec4) 7(fvec4) 7(fvec4) 6(float) 6(float)
588              30:             TypePointer Uniform 29($Global)
589              31:     30(ptr) Variable Uniform
590              32:             TypeInt 32 1
591              33:     32(int) Constant 2
592              34:             TypePointer Uniform 7(fvec4)
593              37:     32(int) Constant 1
594              40:     32(int) Constant 0
595              43:             TypeVector 13(bool) 4
596              44:    6(float) Constant 0
597              45:    7(fvec4) ConstantComposite 44 44 44 44
598              48:     32(int) Constant 4
599              49:             TypePointer Uniform 6(float)
600              53:     32(int) Constant 3
601              96:    6(float) Constant 1065353216
602              97:    7(fvec4) ConstantComposite 96 96 96 96
603             109:             TypePointer Function 32(int)
604             111:     32(int) Constant 5
605             113:     32(int) Constant 6
606             115:     32(int) Constant 7
607             139:             TypeInt 32 0
608             140:    139(int) Constant 0
609             143:     32(int) Constant 10
610             148:     32(int) Constant 11
611             151:             TypePointer Function 6(float)
612             154:    139(int) Constant 1
613             178:    13(bool) ConstantTrue
614             179:    13(bool) ConstantFalse
615             180:   14(bvec2) ConstantComposite 178 179
616             181:    6(float) Constant 1073741824
617             182:   16(fvec2) ConstantComposite 96 181
618             183:    6(float) Constant 1077936128
619             184:    6(float) Constant 1082130432
620             185:   16(fvec2) ConstantComposite 183 184
621             190:    6(float) Constant 1092616192
622             198:             TypePointer Input 7(fvec4)
623      199(input):    198(ptr) Variable Input
624             201:             TypePointer Output 7(fvec4)
625202(@entryPointOutput):    201(ptr) Variable Output
6264(PixelShaderFunction):           2 Function None 3
627               5:             Label
628      197(input):     24(ptr) Variable Function
629      203(param):     24(ptr) Variable Function
630             200:    7(fvec4) Load 199(input)
631                              Store 197(input) 200
632             204:    7(fvec4) Load 197(input)
633                              Store 203(param) 204
634             205:    7(fvec4) FunctionCall 27(@PixelShaderFunction(vf4;) 203(param)
635                              Store 202(@entryPointOutput) 205
636                              Return
637                              FunctionEnd
638  9(vectorCond():    7(fvec4) Function None 8
639              10:             Label
640              35:     34(ptr) AccessChain 31 33
641              36:    7(fvec4) Load 35
642              38:     34(ptr) AccessChain 31 37
643              39:    7(fvec4) Load 38
644              41:     34(ptr) AccessChain 31 40
645              42:    7(fvec4) Load 41
646              46:   43(bvec4) FOrdNotEqual 42 45
647              47:    7(fvec4) Select 46 39 36
648              50:     49(ptr) AccessChain 31 48
649              51:    6(float) Load 50
650              52:    7(fvec4) CompositeConstruct 51 51 51 51
651              54:     49(ptr) AccessChain 31 53
652              55:    6(float) Load 54
653              56:    7(fvec4) CompositeConstruct 55 55 55 55
654              57:     34(ptr) AccessChain 31 40
655              58:    7(fvec4) Load 57
656              59:   43(bvec4) FOrdNotEqual 58 45
657              60:    7(fvec4) Select 59 56 52
658              61:    7(fvec4) FAdd 47 60
659              62:     34(ptr) AccessChain 31 33
660              63:    7(fvec4) Load 62
661              64:     34(ptr) AccessChain 31 37
662              65:    7(fvec4) Load 64
663              66:     34(ptr) AccessChain 31 37
664              67:    7(fvec4) Load 66
665              68:     34(ptr) AccessChain 31 33
666              69:    7(fvec4) Load 68
667              70:   43(bvec4) FOrdLessThan 67 69
668              71:    7(fvec4) Select 70 65 63
669              72:    7(fvec4) FAdd 61 71
670              73:     34(ptr) AccessChain 31 33
671              74:    7(fvec4) Load 73
672              75:     49(ptr) AccessChain 31 53
673              76:    6(float) Load 75
674              77:    7(fvec4) CompositeConstruct 76 76 76 76
675              78:     34(ptr) AccessChain 31 40
676              79:    7(fvec4) Load 78
677              80:   43(bvec4) FOrdNotEqual 79 45
678              81:    7(fvec4) Select 80 77 74
679              82:    7(fvec4) FAdd 72 81
680                              ReturnValue 82
681                              FunctionEnd
682 11(scalarCond():    7(fvec4) Function None 8
683              12:             Label
684         85(ret):     24(ptr) Variable Function
685              86:     49(ptr) AccessChain 31 53
686              87:    6(float) Load 86
687              88:     49(ptr) AccessChain 31 48
688              89:    6(float) Load 88
689              90:    13(bool) FOrdNotEqual 87 89
690              91:     49(ptr) AccessChain 31 53
691              92:    6(float) Load 91
692              93:     34(ptr) AccessChain 31 33
693              94:    7(fvec4) Load 93
694              95:    7(fvec4) VectorTimesScalar 94 92
695              98:   43(bvec4) CompositeConstruct 90 90 90 90
696              99:    7(fvec4) Select 98 95 97
697                              Store 85(ret) 99
698             100:    7(fvec4) Load 85(ret)
699                              ReturnValue 100
700                              FunctionEnd
70122(fbSelect(vb2;vf2;vf2;):   16(fvec2) Function None 18
702         19(cnd):     15(ptr) FunctionParameter
703        20(src0):     17(ptr) FunctionParameter
704        21(src1):     17(ptr) FunctionParameter
705              23:             Label
706             103:   16(fvec2) Load 21(src1)
707             104:   16(fvec2) Load 20(src0)
708             105:   14(bvec2) Load 19(cnd)
709             106:   16(fvec2) Select 105 104 103
710                              ReturnValue 106
711                              FunctionEnd
71227(@PixelShaderFunction(vf4;):    7(fvec4) Function None 25
713       26(input):     24(ptr) FunctionParameter
714              28:             Label
715          110(a):    109(ptr) Variable Function
716          112(b):    109(ptr) Variable Function
717          114(c):    109(ptr) Variable Function
718          116(d):    109(ptr) Variable Function
719        117(ret):     24(ptr) Variable Function
720          137(e):    109(ptr) Variable Function
721          150(f):     24(ptr) Variable Function
722      186(param):     15(ptr) Variable Function
723      187(param):     17(ptr) Variable Function
724      188(param):     17(ptr) Variable Function
725                              Store 110(a) 111
726                              Store 112(b) 113
727                              Store 114(c) 115
728                              Store 116(d) 115
729             118:     32(int) Load 110(a)
730             119:    6(float) ConvertSToF 118
731             120:    7(fvec4) Load 26(input)
732             121:    7(fvec4) VectorTimesScalar 120 119
733             122:     32(int) Load 112(b)
734             123:    6(float) ConvertSToF 122
735             124:    7(fvec4) Load 26(input)
736             125:    7(fvec4) VectorTimesScalar 124 123
737             126:    7(fvec4) FAdd 121 125
738             127:     32(int) Load 114(c)
739             128:    6(float) ConvertSToF 127
740             129:    7(fvec4) Load 26(input)
741             130:    7(fvec4) VectorTimesScalar 129 128
742             131:    7(fvec4) FAdd 126 130
743             132:     32(int) Load 116(d)
744             133:    6(float) ConvertSToF 132
745             134:    7(fvec4) Load 26(input)
746             135:    7(fvec4) VectorTimesScalar 134 133
747             136:    7(fvec4) FAdd 131 135
748                              Store 117(ret) 136
749             138:     32(int) Load 112(b)
750             141:    13(bool) INotEqual 138 140
751             142:     32(int) Load 116(d)
752                              Store 114(c) 142
753             144:     32(int) Select 141 142 143
754                              Store 110(a) 144
755                              Store 137(e) 144
756             145:     32(int) Load 110(a)
757             146:    13(bool) INotEqual 145 140
758             147:     32(int) Load 114(c)
759                              Store 116(d) 147
760             149:     32(int) Select 146 147 148
761                              Store 112(b) 149
762             152:    151(ptr) AccessChain 117(ret) 140
763             153:    6(float) Load 152
764             155:    151(ptr) AccessChain 26(input) 154
765             156:    6(float) Load 155
766             157:    13(bool) FOrdLessThan 153 156
767             158:     32(int) Load 114(c)
768             159:    6(float) ConvertSToF 158
769             160:    7(fvec4) Load 26(input)
770             161:    7(fvec4) VectorTimesScalar 160 159
771             162:     32(int) Load 116(d)
772             163:    6(float) ConvertSToF 162
773             164:    7(fvec4) Load 26(input)
774             165:    7(fvec4) VectorTimesScalar 164 163
775             166:   43(bvec4) CompositeConstruct 157 157 157 157
776             167:    7(fvec4) Select 166 161 165
777                              Store 150(f) 167
778             168:     32(int) Load 137(e)
779             169:    6(float) ConvertSToF 168
780             170:    7(fvec4) Load 117(ret)
781             171:    7(fvec4) VectorTimesScalar 170 169
782             172:    7(fvec4) Load 150(f)
783             173:    7(fvec4) FAdd 171 172
784             174:    7(fvec4) FunctionCall 9(vectorCond()
785             175:    7(fvec4) FAdd 173 174
786             176:    7(fvec4) FunctionCall 11(scalarCond()
787             177:    7(fvec4) FAdd 175 176
788                              Store 186(param) 180
789                              Store 187(param) 182
790                              Store 188(param) 185
791             189:   16(fvec2) FunctionCall 22(fbSelect(vb2;vf2;vf2;) 186(param) 187(param) 188(param)
792             191:    6(float) CompositeExtract 189 0
793             192:    6(float) CompositeExtract 189 1
794             193:    7(fvec4) CompositeConstruct 191 192 190 190
795             194:    7(fvec4) FAdd 177 193
796                              ReturnValue 194
797                              FunctionEnd
798