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): 8000a
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 31 Binding 0
573                              Decorate 199(input) Location 0
574                              Decorate 202(@entryPointOutput) Location 0
575               2:             TypeVoid
576               3:             TypeFunction 2
577               6:             TypeFloat 32
578               7:             TypeVector 6(float) 4
579               8:             TypeFunction 7(fvec4)
580              13:             TypeBool
581              14:             TypeVector 13(bool) 2
582              15:             TypePointer Function 14(bvec2)
583              16:             TypeVector 6(float) 2
584              17:             TypePointer Function 16(fvec2)
585              18:             TypeFunction 16(fvec2) 15(ptr) 17(ptr) 17(ptr)
586              24:             TypePointer Function 7(fvec4)
587              25:             TypeFunction 7(fvec4) 24(ptr)
588     29($Global):             TypeStruct 7(fvec4) 7(fvec4) 7(fvec4) 6(float) 6(float)
589              30:             TypePointer Uniform 29($Global)
590              31:     30(ptr) Variable Uniform
591              32:             TypeInt 32 1
592              33:     32(int) Constant 2
593              34:             TypePointer Uniform 7(fvec4)
594              37:     32(int) Constant 1
595              40:     32(int) Constant 0
596              43:             TypeVector 13(bool) 4
597              44:    6(float) Constant 0
598              45:    7(fvec4) ConstantComposite 44 44 44 44
599              48:     32(int) Constant 4
600              49:             TypePointer Uniform 6(float)
601              53:     32(int) Constant 3
602              96:    6(float) Constant 1065353216
603              97:    7(fvec4) ConstantComposite 96 96 96 96
604             109:             TypePointer Function 32(int)
605             111:     32(int) Constant 5
606             113:     32(int) Constant 6
607             115:     32(int) Constant 7
608             139:             TypeInt 32 0
609             140:    139(int) Constant 0
610             143:     32(int) Constant 10
611             148:     32(int) Constant 11
612             151:             TypePointer Function 6(float)
613             154:    139(int) Constant 1
614             178:    13(bool) ConstantTrue
615             179:    13(bool) ConstantFalse
616             180:   14(bvec2) ConstantComposite 178 179
617             181:    6(float) Constant 1073741824
618             182:   16(fvec2) ConstantComposite 96 181
619             183:    6(float) Constant 1077936128
620             184:    6(float) Constant 1082130432
621             185:   16(fvec2) ConstantComposite 183 184
622             190:    6(float) Constant 1092616192
623             198:             TypePointer Input 7(fvec4)
624      199(input):    198(ptr) Variable Input
625             201:             TypePointer Output 7(fvec4)
626202(@entryPointOutput):    201(ptr) Variable Output
6274(PixelShaderFunction):           2 Function None 3
628               5:             Label
629      197(input):     24(ptr) Variable Function
630      203(param):     24(ptr) Variable Function
631             200:    7(fvec4) Load 199(input)
632                              Store 197(input) 200
633             204:    7(fvec4) Load 197(input)
634                              Store 203(param) 204
635             205:    7(fvec4) FunctionCall 27(@PixelShaderFunction(vf4;) 203(param)
636                              Store 202(@entryPointOutput) 205
637                              Return
638                              FunctionEnd
639  9(vectorCond():    7(fvec4) Function None 8
640              10:             Label
641              35:     34(ptr) AccessChain 31 33
642              36:    7(fvec4) Load 35
643              38:     34(ptr) AccessChain 31 37
644              39:    7(fvec4) Load 38
645              41:     34(ptr) AccessChain 31 40
646              42:    7(fvec4) Load 41
647              46:   43(bvec4) FUnordNotEqual 42 45
648              47:    7(fvec4) Select 46 39 36
649              50:     49(ptr) AccessChain 31 48
650              51:    6(float) Load 50
651              52:    7(fvec4) CompositeConstruct 51 51 51 51
652              54:     49(ptr) AccessChain 31 53
653              55:    6(float) Load 54
654              56:    7(fvec4) CompositeConstruct 55 55 55 55
655              57:     34(ptr) AccessChain 31 40
656              58:    7(fvec4) Load 57
657              59:   43(bvec4) FUnordNotEqual 58 45
658              60:    7(fvec4) Select 59 56 52
659              61:    7(fvec4) FAdd 47 60
660              62:     34(ptr) AccessChain 31 33
661              63:    7(fvec4) Load 62
662              64:     34(ptr) AccessChain 31 37
663              65:    7(fvec4) Load 64
664              66:     34(ptr) AccessChain 31 37
665              67:    7(fvec4) Load 66
666              68:     34(ptr) AccessChain 31 33
667              69:    7(fvec4) Load 68
668              70:   43(bvec4) FOrdLessThan 67 69
669              71:    7(fvec4) Select 70 65 63
670              72:    7(fvec4) FAdd 61 71
671              73:     34(ptr) AccessChain 31 33
672              74:    7(fvec4) Load 73
673              75:     49(ptr) AccessChain 31 53
674              76:    6(float) Load 75
675              77:    7(fvec4) CompositeConstruct 76 76 76 76
676              78:     34(ptr) AccessChain 31 40
677              79:    7(fvec4) Load 78
678              80:   43(bvec4) FUnordNotEqual 79 45
679              81:    7(fvec4) Select 80 77 74
680              82:    7(fvec4) FAdd 72 81
681                              ReturnValue 82
682                              FunctionEnd
683 11(scalarCond():    7(fvec4) Function None 8
684              12:             Label
685         85(ret):     24(ptr) Variable Function
686              86:     49(ptr) AccessChain 31 53
687              87:    6(float) Load 86
688              88:     49(ptr) AccessChain 31 48
689              89:    6(float) Load 88
690              90:    13(bool) FUnordNotEqual 87 89
691              91:     49(ptr) AccessChain 31 53
692              92:    6(float) Load 91
693              93:     34(ptr) AccessChain 31 33
694              94:    7(fvec4) Load 93
695              95:    7(fvec4) VectorTimesScalar 94 92
696              98:   43(bvec4) CompositeConstruct 90 90 90 90
697              99:    7(fvec4) Select 98 95 97
698                              Store 85(ret) 99
699             100:    7(fvec4) Load 85(ret)
700                              ReturnValue 100
701                              FunctionEnd
70222(fbSelect(vb2;vf2;vf2;):   16(fvec2) Function None 18
703         19(cnd):     15(ptr) FunctionParameter
704        20(src0):     17(ptr) FunctionParameter
705        21(src1):     17(ptr) FunctionParameter
706              23:             Label
707             103:   16(fvec2) Load 21(src1)
708             104:   16(fvec2) Load 20(src0)
709             105:   14(bvec2) Load 19(cnd)
710             106:   16(fvec2) Select 105 104 103
711                              ReturnValue 106
712                              FunctionEnd
71327(@PixelShaderFunction(vf4;):    7(fvec4) Function None 25
714       26(input):     24(ptr) FunctionParameter
715              28:             Label
716          110(a):    109(ptr) Variable Function
717          112(b):    109(ptr) Variable Function
718          114(c):    109(ptr) Variable Function
719          116(d):    109(ptr) Variable Function
720        117(ret):     24(ptr) Variable Function
721          137(e):    109(ptr) Variable Function
722          150(f):     24(ptr) Variable Function
723      186(param):     15(ptr) Variable Function
724      187(param):     17(ptr) Variable Function
725      188(param):     17(ptr) Variable Function
726                              Store 110(a) 111
727                              Store 112(b) 113
728                              Store 114(c) 115
729                              Store 116(d) 115
730             118:     32(int) Load 110(a)
731             119:    6(float) ConvertSToF 118
732             120:    7(fvec4) Load 26(input)
733             121:    7(fvec4) VectorTimesScalar 120 119
734             122:     32(int) Load 112(b)
735             123:    6(float) ConvertSToF 122
736             124:    7(fvec4) Load 26(input)
737             125:    7(fvec4) VectorTimesScalar 124 123
738             126:    7(fvec4) FAdd 121 125
739             127:     32(int) Load 114(c)
740             128:    6(float) ConvertSToF 127
741             129:    7(fvec4) Load 26(input)
742             130:    7(fvec4) VectorTimesScalar 129 128
743             131:    7(fvec4) FAdd 126 130
744             132:     32(int) Load 116(d)
745             133:    6(float) ConvertSToF 132
746             134:    7(fvec4) Load 26(input)
747             135:    7(fvec4) VectorTimesScalar 134 133
748             136:    7(fvec4) FAdd 131 135
749                              Store 117(ret) 136
750             138:     32(int) Load 112(b)
751             141:    13(bool) INotEqual 138 140
752             142:     32(int) Load 116(d)
753                              Store 114(c) 142
754             144:     32(int) Select 141 142 143
755                              Store 110(a) 144
756                              Store 137(e) 144
757             145:     32(int) Load 110(a)
758             146:    13(bool) INotEqual 145 140
759             147:     32(int) Load 114(c)
760                              Store 116(d) 147
761             149:     32(int) Select 146 147 148
762                              Store 112(b) 149
763             152:    151(ptr) AccessChain 117(ret) 140
764             153:    6(float) Load 152
765             155:    151(ptr) AccessChain 26(input) 154
766             156:    6(float) Load 155
767             157:    13(bool) FOrdLessThan 153 156
768             158:     32(int) Load 114(c)
769             159:    6(float) ConvertSToF 158
770             160:    7(fvec4) Load 26(input)
771             161:    7(fvec4) VectorTimesScalar 160 159
772             162:     32(int) Load 116(d)
773             163:    6(float) ConvertSToF 162
774             164:    7(fvec4) Load 26(input)
775             165:    7(fvec4) VectorTimesScalar 164 163
776             166:   43(bvec4) CompositeConstruct 157 157 157 157
777             167:    7(fvec4) Select 166 161 165
778                              Store 150(f) 167
779             168:     32(int) Load 137(e)
780             169:    6(float) ConvertSToF 168
781             170:    7(fvec4) Load 117(ret)
782             171:    7(fvec4) VectorTimesScalar 170 169
783             172:    7(fvec4) Load 150(f)
784             173:    7(fvec4) FAdd 171 172
785             174:    7(fvec4) FunctionCall 9(vectorCond()
786             175:    7(fvec4) FAdd 173 174
787             176:    7(fvec4) FunctionCall 11(scalarCond()
788             177:    7(fvec4) FAdd 175 176
789                              Store 186(param) 180
790                              Store 187(param) 182
791                              Store 188(param) 185
792             189:   16(fvec2) FunctionCall 22(fbSelect(vb2;vf2;vf2;) 186(param) 187(param) 188(param)
793             191:    6(float) CompositeExtract 189 0
794             192:    6(float) CompositeExtract 189 1
795             193:    7(fvec4) CompositeConstruct 191 192 190 190
796             194:    7(fvec4) FAdd 177 193
797                              ReturnValue 194
798                              FunctionEnd
799