xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/baseResults/hlsl.conditional.frag.out (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
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:40      Sequence
2200:40        move second child to first child ( temp uint)
2210:40          'g' ( temp uint)
2220:40          Test condition and select ( temp uint): no shortcircuit
2230:40            Condition
2240:40            Compare Greater Than ( temp bool)
2250:40              Convert int to float ( temp float)
2260:40                'd' ( temp int)
2270:40              Constant:
2280:40                0.000000
2290:40            true case
2300:40            Constant:
2310:40              21 (const uint)
2320:40            false case
2330:40            Constant:
2340:40              0 (const uint)
2350:41      Sequence
2360:41        move second child to first child ( temp uint)
2370:41          'h' ( temp uint)
2380:41          Test condition and select ( temp uint): no shortcircuit
2390:41            Condition
2400:41            Compare Greater Than ( temp bool)
2410:41              Convert uint to float ( temp float)
2420:41                'g' ( temp uint)
2430:41              Constant:
2440:41                0.000000
2450:41            true case
2460:41            Constant:
2470:41              63 (const uint)
2480:41            false case
2490:41            Constant:
2500:41              0 (const uint)
2510:42      Sequence
2520:42        move second child to first child ( temp uint)
2530:42          'i' ( temp uint)
2540:42          Test condition and select ( temp uint): no shortcircuit
2550:42            Condition
2560:42            Compare Greater Than ( temp bool)
2570:42              Convert uint to float ( temp float)
2580:42                'h' ( temp uint)
2590:42              Constant:
2600:42                0.000000
2610:42            true case
2620:42            Constant:
2630:42              5 (const uint)
2640:42            false case
2650:42            Constant:
2660:42              1 (const uint)
2670:43      Sequence
2680:43        move second child to first child ( temp uint)
2690:43          'j' ( temp uint)
2700:43          Convert int to uint ( temp uint)
2710:43            Test condition and select ( temp int): no shortcircuit
2720:43              Condition
2730:43              Compare Greater Than ( temp bool)
2740:43                Convert uint to float ( temp float)
2750:43                  'i' ( temp uint)
2760:43                Constant:
2770:43                  0.000000
2780:43              true case
2790:43              Constant:
2800:43                43981 (const int)
2810:43              false case
2820:43              Constant:
2830:43                48346 (const int)
2840:45      Branch: Return with expression
2850:44        add ( temp 4-component vector of float)
2860:44          add ( temp 4-component vector of float)
2870:44            add ( temp 4-component vector of float)
2880:44              add ( temp 4-component vector of float)
2890:44                vector-scale ( temp 4-component vector of float)
2900:44                  Convert int to float ( temp float)
2910:44                    'e' ( temp int)
2920:44                  'ret' ( temp 4-component vector of float)
2930:44                'f' ( temp 4-component vector of float)
2940:44              Function Call: vectorCond( ( temp 4-component vector of float)
2950:44            Function Call: scalarCond( ( temp 4-component vector of float)
2960:45          Construct vec4 ( temp 4-component vector of float)
2970:45            Function Call: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
2980:45              Constant:
2990:45                true (const bool)
3000:45                false (const bool)
3010:45              Constant:
3020:45                1.000000
3030:45                2.000000
3040:45              Constant:
3050:45                3.000000
3060:45                4.000000
3070:45            Constant:
3080:45              10.000000
3090:45            Constant:
3100:45              10.000000
3110:27  Function Definition: PixelShaderFunction( ( temp void)
3120:27    Function Parameters:
3130:?     Sequence
3140:27      move second child to first child ( temp 4-component vector of float)
3150:?         'input' ( temp 4-component vector of float)
3160:?         'input' (layout( location=0) in 4-component vector of float)
3170:27      move second child to first child ( temp 4-component vector of float)
3180:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
3190:27        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
3200:?           'input' ( temp 4-component vector of float)
3210:?   Linker Objects
3220:?     '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})
3230:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
3240:?     'input' (layout( location=0) in 4-component vector of float)
325
326
327Linked fragment stage:
328
329
330Shader version: 500
331gl_FragCoord origin is upper left
3320:? Sequence
3330:8  Function Definition: vectorCond( ( temp 4-component vector of float)
3340:8    Function Parameters:
3350:?     Sequence
3360:12      Branch: Return with expression
3370:11        add ( temp 4-component vector of float)
3380:10          add ( temp 4-component vector of float)
3390:9            add ( temp 4-component vector of float)
3400:9              mix ( temp 4-component vector of float)
3410:9                f4: direct index for structure ( uniform 4-component vector of float)
3420: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})
3430:9                  Constant:
3440:9                    2 (const uint)
3450:9                t4: direct index for structure ( uniform 4-component vector of float)
3460: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})
3470:9                  Constant:
3480:9                    1 (const uint)
3490:9                Convert float to bool ( temp 4-component vector of bool)
3500:9                  c4: direct index for structure ( uniform 4-component vector of float)
3510: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})
3520:9                    Constant:
3530:9                      0 (const uint)
3540:10              mix ( temp 4-component vector of float)
3550:10                Construct vec4 ( temp 4-component vector of float)
3560:10                  f: direct index for structure ( uniform float)
3570: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})
3580:10                    Constant:
3590:10                      4 (const uint)
3600:10                Construct vec4 ( temp 4-component vector of float)
3610:10                  t: direct index for structure ( uniform float)
3620: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})
3630:10                    Constant:
3640:10                      3 (const uint)
3650:10                Convert float to bool ( temp 4-component vector of bool)
3660:10                  c4: direct index for structure ( uniform 4-component vector of float)
3670: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})
3680:10                    Constant:
3690:10                      0 (const uint)
3700:11            mix ( temp 4-component vector of float)
3710:11              f4: direct index for structure ( uniform 4-component vector of float)
3720: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})
3730:11                Constant:
3740:11                  2 (const uint)
3750:11              t4: direct index for structure ( uniform 4-component vector of float)
3760: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})
3770:11                Constant:
3780:11                  1 (const uint)
3790:11              Compare Less Than ( temp 4-component vector of bool)
3800:11                t4: direct index for structure ( uniform 4-component vector of float)
3810: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})
3820:11                  Constant:
3830:11                    1 (const uint)
3840:11                f4: direct index for structure ( uniform 4-component vector of float)
3850: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})
3860:11                  Constant:
3870:11                    2 (const uint)
3880:12          mix ( temp 4-component vector of float)
3890:12            f4: direct index for structure ( uniform 4-component vector of float)
3900: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})
3910:12              Constant:
3920:12                2 (const uint)
3930:12            Construct vec4 ( temp 4-component vector of float)
3940:12              t: direct index for structure ( uniform float)
3950: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})
3960:12                Constant:
3970:12                  3 (const uint)
3980:12            Convert float to bool ( temp 4-component vector of bool)
3990:12              c4: direct index for structure ( uniform 4-component vector of float)
4000: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})
4010:12                Constant:
4020:12                  0 (const uint)
4030:16  Function Definition: scalarCond( ( temp 4-component vector of float)
4040:16    Function Parameters:
4050:?     Sequence
4060:17      Sequence
4070:17        move second child to first child ( temp 4-component vector of float)
4080:17          'ret' ( temp 4-component vector of float)
4090:17          Test condition and select ( temp 4-component vector of float): no shortcircuit
4100:17            Condition
4110:17            Compare Not Equal ( temp bool)
4120:17              t: direct index for structure ( uniform float)
4130: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})
4140:17                Constant:
4150:17                  3 (const uint)
4160:17              f: direct index for structure ( uniform float)
4170: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})
4180:17                Constant:
4190:17                  4 (const uint)
4200:17            true case
4210:17            vector-scale ( temp 4-component vector of float)
4220:17              t: direct index for structure ( uniform float)
4230: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})
4240:17                Constant:
4250:17                  3 (const uint)
4260:17              f4: direct index for structure ( uniform 4-component vector of float)
4270: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})
4280:17                Constant:
4290:17                  2 (const uint)
4300:17            false case
4310:17            Constant:
4320:17              1.000000
4330:17              1.000000
4340:17              1.000000
4350:17              1.000000
4360:18      Branch: Return with expression
4370:18        'ret' ( temp 4-component vector of float)
4380:22  Function Definition: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
4390:22    Function Parameters:
4400:22      'cnd' ( in 2-component vector of bool)
4410:22      'src0' ( in 2-component vector of float)
4420:22      'src1' ( in 2-component vector of float)
4430:?     Sequence
4440:23      Branch: Return with expression
4450:23        mix ( temp 2-component vector of float)
4460:23          'src1' ( in 2-component vector of float)
4470:23          'src0' ( in 2-component vector of float)
4480:23          'cnd' ( in 2-component vector of bool)
4490:27  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
4500:27    Function Parameters:
4510:27      'input' ( in 4-component vector of float)
4520:?     Sequence
4530:28      Sequence
4540:28        move second child to first child ( temp int)
4550:28          'a' ( temp int)
4560:28          Constant:
4570:28            5 (const int)
4580:29      Sequence
4590:29        move second child to first child ( temp int)
4600:29          'b' ( temp int)
4610:29          Constant:
4620:29            6 (const int)
4630:30      Sequence
4640:30        move second child to first child ( temp int)
4650:30          'c' ( temp int)
4660:30          Constant:
4670:30            7 (const int)
4680:31      Sequence
4690:31        move second child to first child ( temp int)
4700:31          'd' ( temp int)
4710:31          Constant:
4720:31            7 (const int)
4730:32      Sequence
4740:32        move second child to first child ( temp 4-component vector of float)
4750:32          'ret' ( temp 4-component vector of float)
4760:34          add ( temp 4-component vector of float)
4770:33            add ( temp 4-component vector of float)
4780:32              add ( temp 4-component vector of float)
4790:32                vector-scale ( temp 4-component vector of float)
4800:32                  Convert int to float ( temp float)
4810:32                    'a' ( temp int)
4820:32                  'input' ( in 4-component vector of float)
4830:33                vector-scale ( temp 4-component vector of float)
4840:33                  Convert int to float ( temp float)
4850:33                    'b' ( temp int)
4860:33                  'input' ( in 4-component vector of float)
4870:34              vector-scale ( temp 4-component vector of float)
4880:34                Convert int to float ( temp float)
4890:34                  'c' ( temp int)
4900:34                'input' ( in 4-component vector of float)
4910:35            vector-scale ( temp 4-component vector of float)
4920:35              Convert int to float ( temp float)
4930:35                'd' ( temp int)
4940:35              'input' ( in 4-component vector of float)
4950:37      Comma ( temp int)
4960:37        move second child to first child ( temp int)
4970:37          'e' ( temp int)
4980:37          move second child to first child ( temp int)
4990:37            'a' ( temp int)
5000:37            Test condition and select ( temp int): no shortcircuit
5010:37              Condition
5020:37              Convert int to bool ( temp bool)
5030:37                'b' ( temp int)
5040:37              true case
5050:37              move second child to first child ( temp int)
5060:37                'c' ( temp int)
5070:37                'd' ( temp int)
5080:37              false case
5090:37              Constant:
5100:37                10 (const int)
5110:37        move second child to first child ( temp int)
5120:37          'b' ( temp int)
5130:37          Test condition and select ( temp int): no shortcircuit
5140:37            Condition
5150:37            Convert int to bool ( temp bool)
5160:37              'a' ( temp int)
5170:37            true case
5180:37            move second child to first child ( temp int)
5190:37              'd' ( temp int)
5200:37              'c' ( temp int)
5210:37            false case
5220:37            Constant:
5230:37              11 (const int)
5240:39      move second child to first child ( temp 4-component vector of float)
5250:39        'f' ( temp 4-component vector of float)
5260:39        Test condition and select ( temp 4-component vector of float): no shortcircuit
5270:39          Condition
5280:39          Compare Less Than ( temp bool)
5290:39            direct index ( temp float)
5300:39              'ret' ( temp 4-component vector of float)
5310:39              Constant:
5320:39                0 (const int)
5330:39            direct index ( temp float)
5340:39              'input' ( in 4-component vector of float)
5350:39              Constant:
5360:39                1 (const int)
5370:39          true case
5380:39          vector-scale ( temp 4-component vector of float)
5390:39            Convert int to float ( temp float)
5400:39              'c' ( temp int)
5410:39            'input' ( in 4-component vector of float)
5420:39          false case
5430:39          vector-scale ( temp 4-component vector of float)
5440:39            Convert int to float ( temp float)
5450:39              'd' ( temp int)
5460:39            'input' ( in 4-component vector of float)
5470:40      Sequence
5480:40        move second child to first child ( temp uint)
5490:40          'g' ( temp uint)
5500:40          Test condition and select ( temp uint): no shortcircuit
5510:40            Condition
5520:40            Compare Greater Than ( temp bool)
5530:40              Convert int to float ( temp float)
5540:40                'd' ( temp int)
5550:40              Constant:
5560:40                0.000000
5570:40            true case
5580:40            Constant:
5590:40              21 (const uint)
5600:40            false case
5610:40            Constant:
5620:40              0 (const uint)
5630:41      Sequence
5640:41        move second child to first child ( temp uint)
5650:41          'h' ( temp uint)
5660:41          Test condition and select ( temp uint): no shortcircuit
5670:41            Condition
5680:41            Compare Greater Than ( temp bool)
5690:41              Convert uint to float ( temp float)
5700:41                'g' ( temp uint)
5710:41              Constant:
5720:41                0.000000
5730:41            true case
5740:41            Constant:
5750:41              63 (const uint)
5760:41            false case
5770:41            Constant:
5780:41              0 (const uint)
5790:42      Sequence
5800:42        move second child to first child ( temp uint)
5810:42          'i' ( temp uint)
5820:42          Test condition and select ( temp uint): no shortcircuit
5830:42            Condition
5840:42            Compare Greater Than ( temp bool)
5850:42              Convert uint to float ( temp float)
5860:42                'h' ( temp uint)
5870:42              Constant:
5880:42                0.000000
5890:42            true case
5900:42            Constant:
5910:42              5 (const uint)
5920:42            false case
5930:42            Constant:
5940:42              1 (const uint)
5950:43      Sequence
5960:43        move second child to first child ( temp uint)
5970:43          'j' ( temp uint)
5980:43          Convert int to uint ( temp uint)
5990:43            Test condition and select ( temp int): no shortcircuit
6000:43              Condition
6010:43              Compare Greater Than ( temp bool)
6020:43                Convert uint to float ( temp float)
6030:43                  'i' ( temp uint)
6040:43                Constant:
6050:43                  0.000000
6060:43              true case
6070:43              Constant:
6080:43                43981 (const int)
6090:43              false case
6100:43              Constant:
6110:43                48346 (const int)
6120:45      Branch: Return with expression
6130:44        add ( temp 4-component vector of float)
6140:44          add ( temp 4-component vector of float)
6150:44            add ( temp 4-component vector of float)
6160:44              add ( temp 4-component vector of float)
6170:44                vector-scale ( temp 4-component vector of float)
6180:44                  Convert int to float ( temp float)
6190:44                    'e' ( temp int)
6200:44                  'ret' ( temp 4-component vector of float)
6210:44                'f' ( temp 4-component vector of float)
6220:44              Function Call: vectorCond( ( temp 4-component vector of float)
6230:44            Function Call: scalarCond( ( temp 4-component vector of float)
6240:45          Construct vec4 ( temp 4-component vector of float)
6250:45            Function Call: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
6260:45              Constant:
6270:45                true (const bool)
6280:45                false (const bool)
6290:45              Constant:
6300:45                1.000000
6310:45                2.000000
6320:45              Constant:
6330:45                3.000000
6340:45                4.000000
6350:45            Constant:
6360:45              10.000000
6370:45            Constant:
6380:45              10.000000
6390:27  Function Definition: PixelShaderFunction( ( temp void)
6400:27    Function Parameters:
6410:?     Sequence
6420:27      move second child to first child ( temp 4-component vector of float)
6430:?         'input' ( temp 4-component vector of float)
6440:?         'input' (layout( location=0) in 4-component vector of float)
6450:27      move second child to first child ( temp 4-component vector of float)
6460:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
6470:27        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
6480:?           'input' ( temp 4-component vector of float)
6490:?   Linker Objects
6500:?     '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})
6510:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
6520:?     'input' (layout( location=0) in 4-component vector of float)
653
654// Module Version 10000
655// Generated by (magic number): 8000b
656// Id's are bound by 233
657
658                              Capability Shader
659               1:             ExtInstImport  "GLSL.std.450"
660                              MemoryModel Logical GLSL450
661                              EntryPoint Fragment 4  "PixelShaderFunction" 226 229
662                              ExecutionMode 4 OriginUpperLeft
663                              Source HLSL 500
664                              Name 4  "PixelShaderFunction"
665                              Name 9  "vectorCond("
666                              Name 11  "scalarCond("
667                              Name 22  "fbSelect(vb2;vf2;vf2;"
668                              Name 19  "cnd"
669                              Name 20  "src0"
670                              Name 21  "src1"
671                              Name 27  "@PixelShaderFunction(vf4;"
672                              Name 26  "input"
673                              Name 29  "$Global"
674                              MemberName 29($Global) 0  "c4"
675                              MemberName 29($Global) 1  "t4"
676                              MemberName 29($Global) 2  "f4"
677                              MemberName 29($Global) 3  "t"
678                              MemberName 29($Global) 4  "f"
679                              Name 31  ""
680                              Name 85  "ret"
681                              Name 110  "a"
682                              Name 112  "b"
683                              Name 114  "c"
684                              Name 116  "d"
685                              Name 117  "ret"
686                              Name 137  "e"
687                              Name 150  "f"
688                              Name 169  "g"
689                              Name 175  "h"
690                              Name 181  "i"
691                              Name 187  "j"
692                              Name 213  "param"
693                              Name 214  "param"
694                              Name 215  "param"
695                              Name 224  "input"
696                              Name 226  "input"
697                              Name 229  "@entryPointOutput"
698                              Name 230  "param"
699                              Decorate 29($Global) Block
700                              MemberDecorate 29($Global) 0 Offset 0
701                              MemberDecorate 29($Global) 1 Offset 16
702                              MemberDecorate 29($Global) 2 Offset 32
703                              MemberDecorate 29($Global) 3 Offset 48
704                              MemberDecorate 29($Global) 4 Offset 52
705                              Decorate 31 Binding 0
706                              Decorate 31 DescriptorSet 0
707                              Decorate 226(input) Location 0
708                              Decorate 229(@entryPointOutput) Location 0
709               2:             TypeVoid
710               3:             TypeFunction 2
711               6:             TypeFloat 32
712               7:             TypeVector 6(float) 4
713               8:             TypeFunction 7(fvec4)
714              13:             TypeBool
715              14:             TypeVector 13(bool) 2
716              15:             TypePointer Function 14(bvec2)
717              16:             TypeVector 6(float) 2
718              17:             TypePointer Function 16(fvec2)
719              18:             TypeFunction 16(fvec2) 15(ptr) 17(ptr) 17(ptr)
720              24:             TypePointer Function 7(fvec4)
721              25:             TypeFunction 7(fvec4) 24(ptr)
722     29($Global):             TypeStruct 7(fvec4) 7(fvec4) 7(fvec4) 6(float) 6(float)
723              30:             TypePointer Uniform 29($Global)
724              31:     30(ptr) Variable Uniform
725              32:             TypeInt 32 1
726              33:     32(int) Constant 2
727              34:             TypePointer Uniform 7(fvec4)
728              37:     32(int) Constant 1
729              40:     32(int) Constant 0
730              43:             TypeVector 13(bool) 4
731              44:    6(float) Constant 0
732              45:    7(fvec4) ConstantComposite 44 44 44 44
733              48:     32(int) Constant 4
734              49:             TypePointer Uniform 6(float)
735              53:     32(int) Constant 3
736              96:    6(float) Constant 1065353216
737              97:    7(fvec4) ConstantComposite 96 96 96 96
738             109:             TypePointer Function 32(int)
739             111:     32(int) Constant 5
740             113:     32(int) Constant 6
741             115:     32(int) Constant 7
742             139:             TypeInt 32 0
743             140:    139(int) Constant 0
744             143:     32(int) Constant 10
745             148:     32(int) Constant 11
746             151:             TypePointer Function 6(float)
747             154:    139(int) Constant 1
748             168:             TypePointer Function 139(int)
749             173:    139(int) Constant 21
750             179:    139(int) Constant 63
751             185:    139(int) Constant 5
752             191:     32(int) Constant 43981
753             192:     32(int) Constant 48346
754             205:    13(bool) ConstantTrue
755             206:    13(bool) ConstantFalse
756             207:   14(bvec2) ConstantComposite 205 206
757             208:    6(float) Constant 1073741824
758             209:   16(fvec2) ConstantComposite 96 208
759             210:    6(float) Constant 1077936128
760             211:    6(float) Constant 1082130432
761             212:   16(fvec2) ConstantComposite 210 211
762             217:    6(float) Constant 1092616192
763             225:             TypePointer Input 7(fvec4)
764      226(input):    225(ptr) Variable Input
765             228:             TypePointer Output 7(fvec4)
766229(@entryPointOutput):    228(ptr) Variable Output
7674(PixelShaderFunction):           2 Function None 3
768               5:             Label
769      224(input):     24(ptr) Variable Function
770      230(param):     24(ptr) Variable Function
771             227:    7(fvec4) Load 226(input)
772                              Store 224(input) 227
773             231:    7(fvec4) Load 224(input)
774                              Store 230(param) 231
775             232:    7(fvec4) FunctionCall 27(@PixelShaderFunction(vf4;) 230(param)
776                              Store 229(@entryPointOutput) 232
777                              Return
778                              FunctionEnd
779  9(vectorCond():    7(fvec4) Function None 8
780              10:             Label
781              35:     34(ptr) AccessChain 31 33
782              36:    7(fvec4) Load 35
783              38:     34(ptr) AccessChain 31 37
784              39:    7(fvec4) Load 38
785              41:     34(ptr) AccessChain 31 40
786              42:    7(fvec4) Load 41
787              46:   43(bvec4) FUnordNotEqual 42 45
788              47:    7(fvec4) Select 46 39 36
789              50:     49(ptr) AccessChain 31 48
790              51:    6(float) Load 50
791              52:    7(fvec4) CompositeConstruct 51 51 51 51
792              54:     49(ptr) AccessChain 31 53
793              55:    6(float) Load 54
794              56:    7(fvec4) CompositeConstruct 55 55 55 55
795              57:     34(ptr) AccessChain 31 40
796              58:    7(fvec4) Load 57
797              59:   43(bvec4) FUnordNotEqual 58 45
798              60:    7(fvec4) Select 59 56 52
799              61:    7(fvec4) FAdd 47 60
800              62:     34(ptr) AccessChain 31 33
801              63:    7(fvec4) Load 62
802              64:     34(ptr) AccessChain 31 37
803              65:    7(fvec4) Load 64
804              66:     34(ptr) AccessChain 31 37
805              67:    7(fvec4) Load 66
806              68:     34(ptr) AccessChain 31 33
807              69:    7(fvec4) Load 68
808              70:   43(bvec4) FOrdLessThan 67 69
809              71:    7(fvec4) Select 70 65 63
810              72:    7(fvec4) FAdd 61 71
811              73:     34(ptr) AccessChain 31 33
812              74:    7(fvec4) Load 73
813              75:     49(ptr) AccessChain 31 53
814              76:    6(float) Load 75
815              77:    7(fvec4) CompositeConstruct 76 76 76 76
816              78:     34(ptr) AccessChain 31 40
817              79:    7(fvec4) Load 78
818              80:   43(bvec4) FUnordNotEqual 79 45
819              81:    7(fvec4) Select 80 77 74
820              82:    7(fvec4) FAdd 72 81
821                              ReturnValue 82
822                              FunctionEnd
823 11(scalarCond():    7(fvec4) Function None 8
824              12:             Label
825         85(ret):     24(ptr) Variable Function
826              86:     49(ptr) AccessChain 31 53
827              87:    6(float) Load 86
828              88:     49(ptr) AccessChain 31 48
829              89:    6(float) Load 88
830              90:    13(bool) FUnordNotEqual 87 89
831              91:     49(ptr) AccessChain 31 53
832              92:    6(float) Load 91
833              93:     34(ptr) AccessChain 31 33
834              94:    7(fvec4) Load 93
835              95:    7(fvec4) VectorTimesScalar 94 92
836              98:   43(bvec4) CompositeConstruct 90 90 90 90
837              99:    7(fvec4) Select 98 95 97
838                              Store 85(ret) 99
839             100:    7(fvec4) Load 85(ret)
840                              ReturnValue 100
841                              FunctionEnd
84222(fbSelect(vb2;vf2;vf2;):   16(fvec2) Function None 18
843         19(cnd):     15(ptr) FunctionParameter
844        20(src0):     17(ptr) FunctionParameter
845        21(src1):     17(ptr) FunctionParameter
846              23:             Label
847             103:   16(fvec2) Load 21(src1)
848             104:   16(fvec2) Load 20(src0)
849             105:   14(bvec2) Load 19(cnd)
850             106:   16(fvec2) Select 105 104 103
851                              ReturnValue 106
852                              FunctionEnd
85327(@PixelShaderFunction(vf4;):    7(fvec4) Function None 25
854       26(input):     24(ptr) FunctionParameter
855              28:             Label
856          110(a):    109(ptr) Variable Function
857          112(b):    109(ptr) Variable Function
858          114(c):    109(ptr) Variable Function
859          116(d):    109(ptr) Variable Function
860        117(ret):     24(ptr) Variable Function
861          137(e):    109(ptr) Variable Function
862          150(f):     24(ptr) Variable Function
863          169(g):    168(ptr) Variable Function
864          175(h):    168(ptr) Variable Function
865          181(i):    168(ptr) Variable Function
866          187(j):    168(ptr) Variable Function
867      213(param):     15(ptr) Variable Function
868      214(param):     17(ptr) Variable Function
869      215(param):     17(ptr) Variable Function
870                              Store 110(a) 111
871                              Store 112(b) 113
872                              Store 114(c) 115
873                              Store 116(d) 115
874             118:     32(int) Load 110(a)
875             119:    6(float) ConvertSToF 118
876             120:    7(fvec4) Load 26(input)
877             121:    7(fvec4) VectorTimesScalar 120 119
878             122:     32(int) Load 112(b)
879             123:    6(float) ConvertSToF 122
880             124:    7(fvec4) Load 26(input)
881             125:    7(fvec4) VectorTimesScalar 124 123
882             126:    7(fvec4) FAdd 121 125
883             127:     32(int) Load 114(c)
884             128:    6(float) ConvertSToF 127
885             129:    7(fvec4) Load 26(input)
886             130:    7(fvec4) VectorTimesScalar 129 128
887             131:    7(fvec4) FAdd 126 130
888             132:     32(int) Load 116(d)
889             133:    6(float) ConvertSToF 132
890             134:    7(fvec4) Load 26(input)
891             135:    7(fvec4) VectorTimesScalar 134 133
892             136:    7(fvec4) FAdd 131 135
893                              Store 117(ret) 136
894             138:     32(int) Load 112(b)
895             141:    13(bool) INotEqual 138 140
896             142:     32(int) Load 116(d)
897                              Store 114(c) 142
898             144:     32(int) Select 141 142 143
899                              Store 110(a) 144
900                              Store 137(e) 144
901             145:     32(int) Load 110(a)
902             146:    13(bool) INotEqual 145 140
903             147:     32(int) Load 114(c)
904                              Store 116(d) 147
905             149:     32(int) Select 146 147 148
906                              Store 112(b) 149
907             152:    151(ptr) AccessChain 117(ret) 140
908             153:    6(float) Load 152
909             155:    151(ptr) AccessChain 26(input) 154
910             156:    6(float) Load 155
911             157:    13(bool) FOrdLessThan 153 156
912             158:     32(int) Load 114(c)
913             159:    6(float) ConvertSToF 158
914             160:    7(fvec4) Load 26(input)
915             161:    7(fvec4) VectorTimesScalar 160 159
916             162:     32(int) Load 116(d)
917             163:    6(float) ConvertSToF 162
918             164:    7(fvec4) Load 26(input)
919             165:    7(fvec4) VectorTimesScalar 164 163
920             166:   43(bvec4) CompositeConstruct 157 157 157 157
921             167:    7(fvec4) Select 166 161 165
922                              Store 150(f) 167
923             170:     32(int) Load 116(d)
924             171:    6(float) ConvertSToF 170
925             172:    13(bool) FOrdGreaterThan 171 44
926             174:    139(int) Select 172 173 140
927                              Store 169(g) 174
928             176:    139(int) Load 169(g)
929             177:    6(float) ConvertUToF 176
930             178:    13(bool) FOrdGreaterThan 177 44
931             180:    139(int) Select 178 179 140
932                              Store 175(h) 180
933             182:    139(int) Load 175(h)
934             183:    6(float) ConvertUToF 182
935             184:    13(bool) FOrdGreaterThan 183 44
936             186:    139(int) Select 184 185 154
937                              Store 181(i) 186
938             188:    139(int) Load 181(i)
939             189:    6(float) ConvertUToF 188
940             190:    13(bool) FOrdGreaterThan 189 44
941             193:     32(int) Select 190 191 192
942             194:    139(int) Bitcast 193
943                              Store 187(j) 194
944             195:     32(int) Load 137(e)
945             196:    6(float) ConvertSToF 195
946             197:    7(fvec4) Load 117(ret)
947             198:    7(fvec4) VectorTimesScalar 197 196
948             199:    7(fvec4) Load 150(f)
949             200:    7(fvec4) FAdd 198 199
950             201:    7(fvec4) FunctionCall 9(vectorCond()
951             202:    7(fvec4) FAdd 200 201
952             203:    7(fvec4) FunctionCall 11(scalarCond()
953             204:    7(fvec4) FAdd 202 203
954                              Store 213(param) 207
955                              Store 214(param) 209
956                              Store 215(param) 212
957             216:   16(fvec2) FunctionCall 22(fbSelect(vb2;vf2;vf2;) 213(param) 214(param) 215(param)
958             218:    6(float) CompositeExtract 216 0
959             219:    6(float) CompositeExtract 216 1
960             220:    7(fvec4) CompositeConstruct 218 219 217 217
961             221:    7(fvec4) FAdd 204 220
962                              ReturnValue 221
963                              FunctionEnd
964