1hlsl.gs-hs-mix.tesc
2Shader version: 500
3vertices = 3
4vertex spacing = fractional_odd_spacing
5triangle order = ccw
60:? Sequence
70:31  Function Definition: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
80:31    Function Parameters:
90:31      'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
100:?     Sequence
110:32      Sequence
120:32        move second child to first child ( temp 3-component vector of float)
130:32          'roundedEdgeTessFactor' ( temp 3-component vector of float)
140:32          tess_factor: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
150:32            'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
160:32            Constant:
170:32              6 (const uint)
180:33      Sequence
190:33        move second child to first child ( temp float)
200:33          'roundedInsideTessFactor' ( temp float)
210:33          Constant:
220:33            3.000000
230:34      Sequence
240:34        move second child to first child ( temp float)
250:34          'insideTessFactor' ( temp float)
260:34          Constant:
270:34            1.000000
280:39      move second child to first child ( temp float)
290:39        direct index ( temp float)
300:39          EdgeTessFactor: direct index for structure ( temp 3-element array of float)
310:39            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
320:39            Constant:
330:39              0 (const int)
340:39          Constant:
350:39            0 (const int)
360:39        direct index ( temp float)
370:39          'roundedEdgeTessFactor' ( temp 3-component vector of float)
380:39          Constant:
390:39            0 (const int)
400:40      move second child to first child ( temp float)
410:40        direct index ( temp float)
420:40          EdgeTessFactor: direct index for structure ( temp 3-element array of float)
430:40            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
440:40            Constant:
450:40              0 (const int)
460:40          Constant:
470:40            1 (const int)
480:40        direct index ( temp float)
490:40          'roundedEdgeTessFactor' ( temp 3-component vector of float)
500:40          Constant:
510:40            1 (const int)
520:41      move second child to first child ( temp float)
530:41        direct index ( temp float)
540:41          EdgeTessFactor: direct index for structure ( temp 3-element array of float)
550:41            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
560:41            Constant:
570:41              0 (const int)
580:41          Constant:
590:41            2 (const int)
600:41        direct index ( temp float)
610:41          'roundedEdgeTessFactor' ( temp 3-component vector of float)
620:41          Constant:
630:41            2 (const int)
640:42      move second child to first child ( temp float)
650:42        InsideTessFactor: direct index for structure ( temp float)
660:42          'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
670:42          Constant:
680:42            1 (const int)
690:42        'roundedInsideTessFactor' ( temp float)
700:45      move second child to first child ( temp 3-component vector of float)
710:45        direct index ( temp 3-component vector of float)
720:45          NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
730:45            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
740:45            Constant:
750:45              2 (const int)
760:45          Constant:
770:45            0 (const int)
780:45        NormalWS: direct index for structure ( temp 3-component vector of float)
790:45          direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
800:45            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
810:45            Constant:
820:45              0 (const int)
830:45          Constant:
840:45            1 (const int)
850:46      move second child to first child ( temp 3-component vector of float)
860:46        direct index ( temp 3-component vector of float)
870:46          NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
880:46            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
890:46            Constant:
900:46              2 (const int)
910:46          Constant:
920:46            1 (const int)
930:46        NormalWS: direct index for structure ( temp 3-component vector of float)
940:46          direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
950:46            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
960:46            Constant:
970:46              1 (const int)
980:46          Constant:
990:46            1 (const int)
1000:47      move second child to first child ( temp 3-component vector of float)
1010:47        direct index ( temp 3-component vector of float)
1020:47          NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
1030:47            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
1040:47            Constant:
1050:47              2 (const int)
1060:47          Constant:
1070:47            2 (const int)
1080:47        NormalWS: direct index for structure ( temp 3-component vector of float)
1090:47          direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1100:47            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1110:47            Constant:
1120:47              2 (const int)
1130:47          Constant:
1140:47            1 (const int)
1150:49      Branch: Return with expression
1160:49        'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
1170:61  Function Definition: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
1180:61    Function Parameters:
1190:61      'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1200:61      'id' ( in uint)
1210:?     Sequence
1220:63      move second child to first child ( temp 3-component vector of float)
1230:63        PositionWS: direct index for structure ( temp 3-component vector of float)
1240:63          'output' ( temp structure{ temp 3-component vector of float PositionWS})
1250:63          Constant:
1260:63            0 (const int)
1270:63        PositionWS: direct index for structure ( temp 3-component vector of float)
1280:63          indirect index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1290:63            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1300:63            'id' ( in uint)
1310:63          Constant:
1320:63            0 (const int)
1330:64      Branch: Return with expression
1340:64        'output' ( temp structure{ temp 3-component vector of float PositionWS})
1350:61  Function Definition: HSMain( ( temp void)
1360:61    Function Parameters:
1370:?     Sequence
1380:61      Sequence
1390:61        move second child to first child ( temp 3-component vector of float)
1400:61          PositionWS: direct index for structure ( temp 3-component vector of float)
1410:61            direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1420:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1430:61              Constant:
1440:61                0 (const int)
1450:61            Constant:
1460:61              0 (const int)
1470:61          direct index (layout( location=0) in 3-component vector of float)
1480:?             'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
1490:61            Constant:
1500:61              0 (const int)
1510:61        move second child to first child ( temp 3-component vector of float)
1520:61          NormalWS: direct index for structure ( temp 3-component vector of float)
1530:61            direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1540:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1550:61              Constant:
1560:61                0 (const int)
1570:61            Constant:
1580:61              1 (const int)
1590:61          direct index (layout( location=1) in 3-component vector of float)
1600:?             'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
1610:61            Constant:
1620:61              0 (const int)
1630:61        move second child to first child ( temp 3-component vector of float)
1640:61          PositionWS: direct index for structure ( temp 3-component vector of float)
1650:61            direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1660:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1670:61              Constant:
1680:61                1 (const int)
1690:61            Constant:
1700:61              0 (const int)
1710:61          direct index (layout( location=0) in 3-component vector of float)
1720:?             'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
1730:61            Constant:
1740:61              1 (const int)
1750:61        move second child to first child ( temp 3-component vector of float)
1760:61          NormalWS: direct index for structure ( temp 3-component vector of float)
1770:61            direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1780:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1790:61              Constant:
1800:61                1 (const int)
1810:61            Constant:
1820:61              1 (const int)
1830:61          direct index (layout( location=1) in 3-component vector of float)
1840:?             'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
1850:61            Constant:
1860:61              1 (const int)
1870:61        move second child to first child ( temp 3-component vector of float)
1880:61          PositionWS: direct index for structure ( temp 3-component vector of float)
1890:61            direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1900:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
1910:61              Constant:
1920:61                2 (const int)
1930:61            Constant:
1940:61              0 (const int)
1950:61          direct index (layout( location=0) in 3-component vector of float)
1960:?             'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
1970:61            Constant:
1980:61              2 (const int)
1990:61        move second child to first child ( temp 3-component vector of float)
2000:61          NormalWS: direct index for structure ( temp 3-component vector of float)
2010:61            direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
2020:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
2030:61              Constant:
2040:61                2 (const int)
2050:61            Constant:
2060:61              1 (const int)
2070:61          direct index (layout( location=1) in 3-component vector of float)
2080:?             'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
2090:61            Constant:
2100:61              2 (const int)
2110:61      move second child to first child ( temp uint)
2120:?         'id' ( temp uint)
2130:?         'id' ( in uint InvocationID)
2140:61      Sequence
2150:61        move second child to first child ( temp 3-component vector of float)
2160:61          indirect index (layout( location=0) out 3-component vector of float)
2170:?             '@entryPointOutput.PositionWS' (layout( location=0) out 3-element array of 3-component vector of float)
2180:?             'id' ( in uint InvocationID)
2190:61          PositionWS: direct index for structure ( temp 3-component vector of float)
2200:61            Function Call: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
2210:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
2220:?               'id' ( temp uint)
2230:61            Constant:
2240:61              0 (const int)
2250:?       Barrier ( temp void)
2260:?       Test condition and select ( temp void)
2270:?         Condition
2280:?         Compare Equal ( temp bool)
2290:?           'id' ( in uint InvocationID)
2300:?           Constant:
2310:?             0 (const int)
2320:?         true case
2330:?         Sequence
2340:?           move second child to first child ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
2350:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
2360:?             Function Call: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
2370:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
2380:?           Sequence
2390:?             move second child to first child ( temp float)
2400:?               direct index ( patch out float TessLevelOuter)
2410:?                 '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
2420:?                 Constant:
2430:?                   0 (const int)
2440:?               direct index ( temp float)
2450:?                 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
2460:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
2470:?                   Constant:
2480:?                     0 (const int)
2490:?                 Constant:
2500:?                   0 (const int)
2510:?             move second child to first child ( temp float)
2520:?               direct index ( patch out float TessLevelOuter)
2530:?                 '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
2540:?                 Constant:
2550:?                   1 (const int)
2560:?               direct index ( temp float)
2570:?                 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
2580:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
2590:?                   Constant:
2600:?                     0 (const int)
2610:?                 Constant:
2620:?                   1 (const int)
2630:?             move second child to first child ( temp float)
2640:?               direct index ( patch out float TessLevelOuter)
2650:?                 '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
2660:?                 Constant:
2670:?                   2 (const int)
2680:?               direct index ( temp float)
2690:?                 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
2700:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
2710:?                   Constant:
2720:?                     0 (const int)
2730:?                 Constant:
2740:?                   2 (const int)
2750:?             move second child to first child ( temp float)
2760:?               direct index ( patch out float TessLevelInner)
2770:?                 '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
2780:?                 Constant:
2790:?                   0 (const int)
2800:?               InsideTessFactor: direct index for structure ( temp float)
2810:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
2820:?                 Constant:
2830:?                   1 (const int)
2840:?             move second child to first child ( temp 3-component vector of float)
2850:?               '@patchConstantOutput.NormalWS[0]' (layout( location=1) patch out 3-component vector of float)
2860:?               direct index ( temp 3-component vector of float)
2870:?                 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
2880:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
2890:?                   Constant:
2900:?                     2 (const int)
2910:?                 Constant:
2920:?                   0 (const int)
2930:?             move second child to first child ( temp 3-component vector of float)
2940:?               '@patchConstantOutput.NormalWS[1]' (layout( location=2) patch out 3-component vector of float)
2950:?               direct index ( temp 3-component vector of float)
2960:?                 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
2970:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
2980:?                   Constant:
2990:?                     2 (const int)
3000:?                 Constant:
3010:?                   1 (const int)
3020:?             move second child to first child ( temp 3-component vector of float)
3030:?               '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float)
3040:?               direct index ( temp 3-component vector of float)
3050:?                 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
3060:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
3070:?                   Constant:
3080:?                     2 (const int)
3090:?                 Constant:
3100:?                   2 (const int)
3110:84  Function Definition: GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41; ( temp void)
3120:84    Function Parameters:
3130:84      'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
3140:84      'output' ( out structure{ temp 4-component vector of float PositionCS})
3150:?     Sequence
3160:86      Sequence
3170:86        move second child to first child ( temp 3-component vector of float)
3180:86          'P0' ( temp 3-component vector of float)
3190:86          vector swizzle ( temp 3-component vector of float)
3200:86            PositionWS: direct index for structure ( temp 3-component vector of float)
3210:86              direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
3220:86                'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
3230:86                Constant:
3240:86                  0 (const int)
3250:86              Constant:
3260:86                0 (const int)
3270:86            Sequence
3280:86              Constant:
3290:86                0 (const int)
3300:86              Constant:
3310:86                1 (const int)
3320:86              Constant:
3330:86                2 (const int)
3340:87      Sequence
3350:87        move second child to first child ( temp 3-component vector of float)
3360:87          'P1' ( temp 3-component vector of float)
3370:87          vector swizzle ( temp 3-component vector of float)
3380:87            PositionWS: direct index for structure ( temp 3-component vector of float)
3390:87              direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
3400:87                'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
3410:87                Constant:
3420:87                  1 (const int)
3430:87              Constant:
3440:87                0 (const int)
3450:87            Sequence
3460:87              Constant:
3470:87                0 (const int)
3480:87              Constant:
3490:87                1 (const int)
3500:87              Constant:
3510:87                2 (const int)
3520:88      Sequence
3530:88        move second child to first child ( temp 3-component vector of float)
3540:88          'P2' ( temp 3-component vector of float)
3550:88          vector swizzle ( temp 3-component vector of float)
3560:88            PositionWS: direct index for structure ( temp 3-component vector of float)
3570:88              direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
3580:88                'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
3590:88                Constant:
3600:88                  2 (const int)
3610:88              Constant:
3620:88                0 (const int)
3630:88            Sequence
3640:88              Constant:
3650:88                0 (const int)
3660:88              Constant:
3670:88                1 (const int)
3680:88              Constant:
3690:88                2 (const int)
3700:92      add second child into first child ( temp float)
3710:92        direct index ( temp float)
3720:92          'P0' ( temp 3-component vector of float)
3730:92          Constant:
3740:92            2 (const int)
3750:92        Constant:
3760:92          0.001000
3770:93      add second child into first child ( temp float)
3780:93        direct index ( temp float)
3790:93          'P1' ( temp 3-component vector of float)
3800:93          Constant:
3810:93            2 (const int)
3820:93        Constant:
3830:93          0.001000
3840:94      add second child into first child ( temp float)
3850:94        direct index ( temp float)
3860:94          'P2' ( temp 3-component vector of float)
3870:94          Constant:
3880:94            2 (const int)
3890:94        Constant:
3900:94          0.001000
3910:95      Sequence
3920:95        move second child to first child ( temp 4-component vector of float)
3930:95          'Q0' ( temp 4-component vector of float)
3940:95          vector-times-matrix ( temp 4-component vector of float)
3950:?             Construct vec4 ( temp 4-component vector of float)
3960:95              'P0' ( temp 3-component vector of float)
3970:95              Constant:
3980:95                1.000000
3990:95            proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
4000:95              'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
4010:95              Constant:
4020:95                1 (const uint)
4030:96      Sequence
4040:96        move second child to first child ( temp 4-component vector of float)
4050:96          'Q1' ( temp 4-component vector of float)
4060:96          vector-times-matrix ( temp 4-component vector of float)
4070:?             Construct vec4 ( temp 4-component vector of float)
4080:96              'P1' ( temp 3-component vector of float)
4090:96              Constant:
4100:96                1.000000
4110:96            proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
4120:96              'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
4130:96              Constant:
4140:96                1 (const uint)
4150:97      Sequence
4160:97        move second child to first child ( temp 4-component vector of float)
4170:97          'Q2' ( temp 4-component vector of float)
4180:97          vector-times-matrix ( temp 4-component vector of float)
4190:?             Construct vec4 ( temp 4-component vector of float)
4200:97              'P2' ( temp 3-component vector of float)
4210:97              Constant:
4220:97                1.000000
4230:97            proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
4240:97              'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
4250:97              Constant:
4260:97                1 (const uint)
4270:100      move second child to first child ( temp 4-component vector of float)
4280:100        PositionCS: direct index for structure ( temp 4-component vector of float)
4290:100          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
4300:100          Constant:
4310:100            0 (const int)
4320:100        'Q0' ( temp 4-component vector of float)
4330:101      Constant:
4340:101        0.000000
4350:102      move second child to first child ( temp 4-component vector of float)
4360:102        PositionCS: direct index for structure ( temp 4-component vector of float)
4370:102          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
4380:102          Constant:
4390:102            0 (const int)
4400:102        'Q1' ( temp 4-component vector of float)
4410:103      Constant:
4420:103        0.000000
4430:104      Constant:
4440:104        0.000000
4450:107      move second child to first child ( temp 4-component vector of float)
4460:107        PositionCS: direct index for structure ( temp 4-component vector of float)
4470:107          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
4480:107          Constant:
4490:107            0 (const int)
4500:107        'Q1' ( temp 4-component vector of float)
4510:108      Constant:
4520:108        0.000000
4530:109      move second child to first child ( temp 4-component vector of float)
4540:109        PositionCS: direct index for structure ( temp 4-component vector of float)
4550:109          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
4560:109          Constant:
4570:109            0 (const int)
4580:109        'Q2' ( temp 4-component vector of float)
4590:110      Constant:
4600:110        0.000000
4610:111      Constant:
4620:111        0.000000
4630:114      move second child to first child ( temp 4-component vector of float)
4640:114        PositionCS: direct index for structure ( temp 4-component vector of float)
4650:114          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
4660:114          Constant:
4670:114            0 (const int)
4680:114        'Q2' ( temp 4-component vector of float)
4690:115      Constant:
4700:115        0.000000
4710:116      move second child to first child ( temp 4-component vector of float)
4720:116        PositionCS: direct index for structure ( temp 4-component vector of float)
4730:116          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
4740:116          Constant:
4750:116            0 (const int)
4760:116        'Q0' ( temp 4-component vector of float)
4770:117      Constant:
4780:117        0.000000
4790:118      Constant:
4800:118        0.000000
4810:?   Linker Objects
4820:?     'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
4830:?     '@entryPointOutput.PositionWS' (layout( location=0) out 3-element array of 3-component vector of float)
4840:?     'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
4850:?     'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
4860:?     'id' ( in uint InvocationID)
4870:?     '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
4880:?     '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
4890:?     '@patchConstantOutput.NormalWS[0]' (layout( location=1) patch out 3-component vector of float)
4900:?     '@patchConstantOutput.NormalWS[1]' (layout( location=2) patch out 3-component vector of float)
4910:?     '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float)
492
493
494Linked tessellation control stage:
495
496
497Shader version: 500
498vertices = 3
499vertex spacing = fractional_odd_spacing
500triangle order = ccw
5010:? Sequence
5020:31  Function Definition: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
5030:31    Function Parameters:
5040:31      'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
5050:?     Sequence
5060:32      Sequence
5070:32        move second child to first child ( temp 3-component vector of float)
5080:32          'roundedEdgeTessFactor' ( temp 3-component vector of float)
5090:32          tess_factor: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
5100:32            'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
5110:32            Constant:
5120:32              6 (const uint)
5130:33      Sequence
5140:33        move second child to first child ( temp float)
5150:33          'roundedInsideTessFactor' ( temp float)
5160:33          Constant:
5170:33            3.000000
5180:34      Sequence
5190:34        move second child to first child ( temp float)
5200:34          'insideTessFactor' ( temp float)
5210:34          Constant:
5220:34            1.000000
5230:39      move second child to first child ( temp float)
5240:39        direct index ( temp float)
5250:39          EdgeTessFactor: direct index for structure ( temp 3-element array of float)
5260:39            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
5270:39            Constant:
5280:39              0 (const int)
5290:39          Constant:
5300:39            0 (const int)
5310:39        direct index ( temp float)
5320:39          'roundedEdgeTessFactor' ( temp 3-component vector of float)
5330:39          Constant:
5340:39            0 (const int)
5350:40      move second child to first child ( temp float)
5360:40        direct index ( temp float)
5370:40          EdgeTessFactor: direct index for structure ( temp 3-element array of float)
5380:40            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
5390:40            Constant:
5400:40              0 (const int)
5410:40          Constant:
5420:40            1 (const int)
5430:40        direct index ( temp float)
5440:40          'roundedEdgeTessFactor' ( temp 3-component vector of float)
5450:40          Constant:
5460:40            1 (const int)
5470:41      move second child to first child ( temp float)
5480:41        direct index ( temp float)
5490:41          EdgeTessFactor: direct index for structure ( temp 3-element array of float)
5500:41            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
5510:41            Constant:
5520:41              0 (const int)
5530:41          Constant:
5540:41            2 (const int)
5550:41        direct index ( temp float)
5560:41          'roundedEdgeTessFactor' ( temp 3-component vector of float)
5570:41          Constant:
5580:41            2 (const int)
5590:42      move second child to first child ( temp float)
5600:42        InsideTessFactor: direct index for structure ( temp float)
5610:42          'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
5620:42          Constant:
5630:42            1 (const int)
5640:42        'roundedInsideTessFactor' ( temp float)
5650:45      move second child to first child ( temp 3-component vector of float)
5660:45        direct index ( temp 3-component vector of float)
5670:45          NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
5680:45            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
5690:45            Constant:
5700:45              2 (const int)
5710:45          Constant:
5720:45            0 (const int)
5730:45        NormalWS: direct index for structure ( temp 3-component vector of float)
5740:45          direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
5750:45            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
5760:45            Constant:
5770:45              0 (const int)
5780:45          Constant:
5790:45            1 (const int)
5800:46      move second child to first child ( temp 3-component vector of float)
5810:46        direct index ( temp 3-component vector of float)
5820:46          NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
5830:46            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
5840:46            Constant:
5850:46              2 (const int)
5860:46          Constant:
5870:46            1 (const int)
5880:46        NormalWS: direct index for structure ( temp 3-component vector of float)
5890:46          direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
5900:46            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
5910:46            Constant:
5920:46              1 (const int)
5930:46          Constant:
5940:46            1 (const int)
5950:47      move second child to first child ( temp 3-component vector of float)
5960:47        direct index ( temp 3-component vector of float)
5970:47          NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
5980:47            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
5990:47            Constant:
6000:47              2 (const int)
6010:47          Constant:
6020:47            2 (const int)
6030:47        NormalWS: direct index for structure ( temp 3-component vector of float)
6040:47          direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6050:47            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6060:47            Constant:
6070:47              2 (const int)
6080:47          Constant:
6090:47            1 (const int)
6100:49      Branch: Return with expression
6110:49        'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
6120:61  Function Definition: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
6130:61    Function Parameters:
6140:61      'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6150:61      'id' ( in uint)
6160:?     Sequence
6170:63      move second child to first child ( temp 3-component vector of float)
6180:63        PositionWS: direct index for structure ( temp 3-component vector of float)
6190:63          'output' ( temp structure{ temp 3-component vector of float PositionWS})
6200:63          Constant:
6210:63            0 (const int)
6220:63        PositionWS: direct index for structure ( temp 3-component vector of float)
6230:63          indirect index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6240:63            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6250:63            'id' ( in uint)
6260:63          Constant:
6270:63            0 (const int)
6280:64      Branch: Return with expression
6290:64        'output' ( temp structure{ temp 3-component vector of float PositionWS})
6300:61  Function Definition: HSMain( ( temp void)
6310:61    Function Parameters:
6320:?     Sequence
6330:61      Sequence
6340:61        move second child to first child ( temp 3-component vector of float)
6350:61          PositionWS: direct index for structure ( temp 3-component vector of float)
6360:61            direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6370:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6380:61              Constant:
6390:61                0 (const int)
6400:61            Constant:
6410:61              0 (const int)
6420:61          direct index (layout( location=0) in 3-component vector of float)
6430:?             'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
6440:61            Constant:
6450:61              0 (const int)
6460:61        move second child to first child ( temp 3-component vector of float)
6470:61          NormalWS: direct index for structure ( temp 3-component vector of float)
6480:61            direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6490:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6500:61              Constant:
6510:61                0 (const int)
6520:61            Constant:
6530:61              1 (const int)
6540:61          direct index (layout( location=1) in 3-component vector of float)
6550:?             'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
6560:61            Constant:
6570:61              0 (const int)
6580:61        move second child to first child ( temp 3-component vector of float)
6590:61          PositionWS: direct index for structure ( temp 3-component vector of float)
6600:61            direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6610:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6620:61              Constant:
6630:61                1 (const int)
6640:61            Constant:
6650:61              0 (const int)
6660:61          direct index (layout( location=0) in 3-component vector of float)
6670:?             'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
6680:61            Constant:
6690:61              1 (const int)
6700:61        move second child to first child ( temp 3-component vector of float)
6710:61          NormalWS: direct index for structure ( temp 3-component vector of float)
6720:61            direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6730:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6740:61              Constant:
6750:61                1 (const int)
6760:61            Constant:
6770:61              1 (const int)
6780:61          direct index (layout( location=1) in 3-component vector of float)
6790:?             'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
6800:61            Constant:
6810:61              1 (const int)
6820:61        move second child to first child ( temp 3-component vector of float)
6830:61          PositionWS: direct index for structure ( temp 3-component vector of float)
6840:61            direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6850:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6860:61              Constant:
6870:61                2 (const int)
6880:61            Constant:
6890:61              0 (const int)
6900:61          direct index (layout( location=0) in 3-component vector of float)
6910:?             'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
6920:61            Constant:
6930:61              2 (const int)
6940:61        move second child to first child ( temp 3-component vector of float)
6950:61          NormalWS: direct index for structure ( temp 3-component vector of float)
6960:61            direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6970:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
6980:61              Constant:
6990:61                2 (const int)
7000:61            Constant:
7010:61              1 (const int)
7020:61          direct index (layout( location=1) in 3-component vector of float)
7030:?             'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
7040:61            Constant:
7050:61              2 (const int)
7060:61      move second child to first child ( temp uint)
7070:?         'id' ( temp uint)
7080:?         'id' ( in uint InvocationID)
7090:61      Sequence
7100:61        move second child to first child ( temp 3-component vector of float)
7110:61          indirect index (layout( location=0) out 3-component vector of float)
7120:?             '@entryPointOutput.PositionWS' (layout( location=0) out 3-element array of 3-component vector of float)
7130:?             'id' ( in uint InvocationID)
7140:61          PositionWS: direct index for structure ( temp 3-component vector of float)
7150:61            Function Call: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
7160:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
7170:?               'id' ( temp uint)
7180:61            Constant:
7190:61              0 (const int)
7200:?       Barrier ( temp void)
7210:?       Test condition and select ( temp void)
7220:?         Condition
7230:?         Compare Equal ( temp bool)
7240:?           'id' ( in uint InvocationID)
7250:?           Constant:
7260:?             0 (const int)
7270:?         true case
7280:?         Sequence
7290:?           move second child to first child ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
7300:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
7310:?             Function Call: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
7320:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
7330:?           Sequence
7340:?             move second child to first child ( temp float)
7350:?               direct index ( patch out float TessLevelOuter)
7360:?                 '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
7370:?                 Constant:
7380:?                   0 (const int)
7390:?               direct index ( temp float)
7400:?                 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
7410:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
7420:?                   Constant:
7430:?                     0 (const int)
7440:?                 Constant:
7450:?                   0 (const int)
7460:?             move second child to first child ( temp float)
7470:?               direct index ( patch out float TessLevelOuter)
7480:?                 '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
7490:?                 Constant:
7500:?                   1 (const int)
7510:?               direct index ( temp float)
7520:?                 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
7530:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
7540:?                   Constant:
7550:?                     0 (const int)
7560:?                 Constant:
7570:?                   1 (const int)
7580:?             move second child to first child ( temp float)
7590:?               direct index ( patch out float TessLevelOuter)
7600:?                 '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
7610:?                 Constant:
7620:?                   2 (const int)
7630:?               direct index ( temp float)
7640:?                 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
7650:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
7660:?                   Constant:
7670:?                     0 (const int)
7680:?                 Constant:
7690:?                   2 (const int)
7700:?             move second child to first child ( temp float)
7710:?               direct index ( patch out float TessLevelInner)
7720:?                 '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
7730:?                 Constant:
7740:?                   0 (const int)
7750:?               InsideTessFactor: direct index for structure ( temp float)
7760:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
7770:?                 Constant:
7780:?                   1 (const int)
7790:?             move second child to first child ( temp 3-component vector of float)
7800:?               '@patchConstantOutput.NormalWS[0]' (layout( location=1) patch out 3-component vector of float)
7810:?               direct index ( temp 3-component vector of float)
7820:?                 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
7830:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
7840:?                   Constant:
7850:?                     2 (const int)
7860:?                 Constant:
7870:?                   0 (const int)
7880:?             move second child to first child ( temp 3-component vector of float)
7890:?               '@patchConstantOutput.NormalWS[1]' (layout( location=2) patch out 3-component vector of float)
7900:?               direct index ( temp 3-component vector of float)
7910:?                 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
7920:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
7930:?                   Constant:
7940:?                     2 (const int)
7950:?                 Constant:
7960:?                   1 (const int)
7970:?             move second child to first child ( temp 3-component vector of float)
7980:?               '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float)
7990:?               direct index ( temp 3-component vector of float)
8000:?                 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
8010:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
8020:?                   Constant:
8030:?                     2 (const int)
8040:?                 Constant:
8050:?                   2 (const int)
8060:84  Function Definition: GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41; ( temp void)
8070:84    Function Parameters:
8080:84      'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
8090:84      'output' ( out structure{ temp 4-component vector of float PositionCS})
8100:?     Sequence
8110:86      Sequence
8120:86        move second child to first child ( temp 3-component vector of float)
8130:86          'P0' ( temp 3-component vector of float)
8140:86          vector swizzle ( temp 3-component vector of float)
8150:86            PositionWS: direct index for structure ( temp 3-component vector of float)
8160:86              direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
8170:86                'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
8180:86                Constant:
8190:86                  0 (const int)
8200:86              Constant:
8210:86                0 (const int)
8220:86            Sequence
8230:86              Constant:
8240:86                0 (const int)
8250:86              Constant:
8260:86                1 (const int)
8270:86              Constant:
8280:86                2 (const int)
8290:87      Sequence
8300:87        move second child to first child ( temp 3-component vector of float)
8310:87          'P1' ( temp 3-component vector of float)
8320:87          vector swizzle ( temp 3-component vector of float)
8330:87            PositionWS: direct index for structure ( temp 3-component vector of float)
8340:87              direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
8350:87                'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
8360:87                Constant:
8370:87                  1 (const int)
8380:87              Constant:
8390:87                0 (const int)
8400:87            Sequence
8410:87              Constant:
8420:87                0 (const int)
8430:87              Constant:
8440:87                1 (const int)
8450:87              Constant:
8460:87                2 (const int)
8470:88      Sequence
8480:88        move second child to first child ( temp 3-component vector of float)
8490:88          'P2' ( temp 3-component vector of float)
8500:88          vector swizzle ( temp 3-component vector of float)
8510:88            PositionWS: direct index for structure ( temp 3-component vector of float)
8520:88              direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
8530:88                'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
8540:88                Constant:
8550:88                  2 (const int)
8560:88              Constant:
8570:88                0 (const int)
8580:88            Sequence
8590:88              Constant:
8600:88                0 (const int)
8610:88              Constant:
8620:88                1 (const int)
8630:88              Constant:
8640:88                2 (const int)
8650:92      add second child into first child ( temp float)
8660:92        direct index ( temp float)
8670:92          'P0' ( temp 3-component vector of float)
8680:92          Constant:
8690:92            2 (const int)
8700:92        Constant:
8710:92          0.001000
8720:93      add second child into first child ( temp float)
8730:93        direct index ( temp float)
8740:93          'P1' ( temp 3-component vector of float)
8750:93          Constant:
8760:93            2 (const int)
8770:93        Constant:
8780:93          0.001000
8790:94      add second child into first child ( temp float)
8800:94        direct index ( temp float)
8810:94          'P2' ( temp 3-component vector of float)
8820:94          Constant:
8830:94            2 (const int)
8840:94        Constant:
8850:94          0.001000
8860:95      Sequence
8870:95        move second child to first child ( temp 4-component vector of float)
8880:95          'Q0' ( temp 4-component vector of float)
8890:95          vector-times-matrix ( temp 4-component vector of float)
8900:?             Construct vec4 ( temp 4-component vector of float)
8910:95              'P0' ( temp 3-component vector of float)
8920:95              Constant:
8930:95                1.000000
8940:95            proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
8950:95              'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
8960:95              Constant:
8970:95                1 (const uint)
8980:96      Sequence
8990:96        move second child to first child ( temp 4-component vector of float)
9000:96          'Q1' ( temp 4-component vector of float)
9010:96          vector-times-matrix ( temp 4-component vector of float)
9020:?             Construct vec4 ( temp 4-component vector of float)
9030:96              'P1' ( temp 3-component vector of float)
9040:96              Constant:
9050:96                1.000000
9060:96            proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
9070:96              'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
9080:96              Constant:
9090:96                1 (const uint)
9100:97      Sequence
9110:97        move second child to first child ( temp 4-component vector of float)
9120:97          'Q2' ( temp 4-component vector of float)
9130:97          vector-times-matrix ( temp 4-component vector of float)
9140:?             Construct vec4 ( temp 4-component vector of float)
9150:97              'P2' ( temp 3-component vector of float)
9160:97              Constant:
9170:97                1.000000
9180:97            proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
9190:97              'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
9200:97              Constant:
9210:97                1 (const uint)
9220:100      move second child to first child ( temp 4-component vector of float)
9230:100        PositionCS: direct index for structure ( temp 4-component vector of float)
9240:100          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
9250:100          Constant:
9260:100            0 (const int)
9270:100        'Q0' ( temp 4-component vector of float)
9280:101      Constant:
9290:101        0.000000
9300:102      move second child to first child ( temp 4-component vector of float)
9310:102        PositionCS: direct index for structure ( temp 4-component vector of float)
9320:102          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
9330:102          Constant:
9340:102            0 (const int)
9350:102        'Q1' ( temp 4-component vector of float)
9360:103      Constant:
9370:103        0.000000
9380:104      Constant:
9390:104        0.000000
9400:107      move second child to first child ( temp 4-component vector of float)
9410:107        PositionCS: direct index for structure ( temp 4-component vector of float)
9420:107          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
9430:107          Constant:
9440:107            0 (const int)
9450:107        'Q1' ( temp 4-component vector of float)
9460:108      Constant:
9470:108        0.000000
9480:109      move second child to first child ( temp 4-component vector of float)
9490:109        PositionCS: direct index for structure ( temp 4-component vector of float)
9500:109          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
9510:109          Constant:
9520:109            0 (const int)
9530:109        'Q2' ( temp 4-component vector of float)
9540:110      Constant:
9550:110        0.000000
9560:111      Constant:
9570:111        0.000000
9580:114      move second child to first child ( temp 4-component vector of float)
9590:114        PositionCS: direct index for structure ( temp 4-component vector of float)
9600:114          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
9610:114          Constant:
9620:114            0 (const int)
9630:114        'Q2' ( temp 4-component vector of float)
9640:115      Constant:
9650:115        0.000000
9660:116      move second child to first child ( temp 4-component vector of float)
9670:116        PositionCS: direct index for structure ( temp 4-component vector of float)
9680:116          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
9690:116          Constant:
9700:116            0 (const int)
9710:116        'Q0' ( temp 4-component vector of float)
9720:117      Constant:
9730:117        0.000000
9740:118      Constant:
9750:118        0.000000
9760:?   Linker Objects
9770:?     'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
9780:?     '@entryPointOutput.PositionWS' (layout( location=0) out 3-element array of 3-component vector of float)
9790:?     'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
9800:?     'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
9810:?     'id' ( in uint InvocationID)
9820:?     '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
9830:?     '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
9840:?     '@patchConstantOutput.NormalWS[0]' (layout( location=1) patch out 3-component vector of float)
9850:?     '@patchConstantOutput.NormalWS[1]' (layout( location=2) patch out 3-component vector of float)
9860:?     '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float)
987
988// Module Version 10000
989// Generated by (magic number): 8000a
990// Id's are bound by 236
991
992                              Capability Tessellation
993               1:             ExtInstImport  "GLSL.std.450"
994                              MemoryModel Logical GLSL450
995                              EntryPoint TessellationControl 4  "HSMain" 97 102 120 123 145 158 162 165 168
996                              ExecutionMode 4 OutputVertices 3
997                              ExecutionMode 4 Triangles
998                              ExecutionMode 4 SpacingFractionalOdd
999                              ExecutionMode 4 VertexOrderCcw
1000                              Source HLSL 500
1001                              Name 4  "HSMain"
1002                              Name 8  "HSInput"
1003                              MemberName 8(HSInput) 0  "PositionWS"
1004                              MemberName 8(HSInput) 1  "NormalWS"
1005                              Name 15  "HSTrianglePatchConstant"
1006                              MemberName 15(HSTrianglePatchConstant) 0  "EdgeTessFactor"
1007                              MemberName 15(HSTrianglePatchConstant) 1  "InsideTessFactor"
1008                              MemberName 15(HSTrianglePatchConstant) 2  "NormalWS"
1009                              Name 18  "HSPatchConstant(struct-HSInput-vf3-vf31[3];"
1010                              Name 17  "patch"
1011                              Name 21  "HSOutput"
1012                              MemberName 21(HSOutput) 0  "PositionWS"
1013                              Name 25  "@HSMain(struct-HSInput-vf3-vf31[3];u1;"
1014                              Name 23  "patch"
1015                              Name 24  "id"
1016                              Name 27  "GSVertexInput"
1017                              MemberName 27(GSVertexInput) 0  "PositionWS"
1018                              MemberName 27(GSVertexInput) 1  "NormalWS"
1019                              Name 31  "GSVertexOutput"
1020                              MemberName 31(GSVertexOutput) 0  "PositionCS"
1021                              Name 36  "GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41;"
1022                              Name 34  "input"
1023                              Name 35  "output"
1024                              Name 39  "roundedEdgeTessFactor"
1025                              Name 42  "UniformBlock0"
1026                              MemberName 42(UniformBlock0) 0  "model_view_matrix"
1027                              MemberName 42(UniformBlock0) 1  "proj_matrix"
1028                              MemberName 42(UniformBlock0) 2  "model_view_proj_matrix"
1029                              MemberName 42(UniformBlock0) 3  "normal_matrix"
1030                              MemberName 42(UniformBlock0) 4  "color"
1031                              MemberName 42(UniformBlock0) 5  "view_dir"
1032                              MemberName 42(UniformBlock0) 6  "tess_factor"
1033                              Name 44  ""
1034                              Name 51  "roundedInsideTessFactor"
1035                              Name 53  "insideTessFactor"
1036                              Name 56  "result"
1037                              Name 87  "output"
1038                              Name 95  "patch"
1039                              Name 97  "patch.PositionWS"
1040                              Name 102  "patch.NormalWS"
1041                              Name 118  "id"
1042                              Name 120  "id"
1043                              Name 123  "@entryPointOutput.PositionWS"
1044                              Name 125  "param"
1045                              Name 127  "param"
1046                              Name 139  "@patchConstantResult"
1047                              Name 140  "param"
1048                              Name 145  "@patchConstantOutput.EdgeTessFactor"
1049                              Name 158  "@patchConstantOutput.InsideTessFactor"
1050                              Name 162  "@patchConstantOutput.NormalWS[0]"
1051                              Name 165  "@patchConstantOutput.NormalWS[1]"
1052                              Name 168  "@patchConstantOutput.NormalWS[2]"
1053                              Name 171  "P0"
1054                              Name 174  "P1"
1055                              Name 177  "P2"
1056                              Name 194  "Q0"
1057                              Name 204  "Q1"
1058                              Name 213  "Q2"
1059                              Name 222  "vertex"
1060                              MemberDecorate 42(UniformBlock0) 0 RowMajor
1061                              MemberDecorate 42(UniformBlock0) 0 Offset 0
1062                              MemberDecorate 42(UniformBlock0) 0 MatrixStride 16
1063                              MemberDecorate 42(UniformBlock0) 1 RowMajor
1064                              MemberDecorate 42(UniformBlock0) 1 Offset 64
1065                              MemberDecorate 42(UniformBlock0) 1 MatrixStride 16
1066                              MemberDecorate 42(UniformBlock0) 2 RowMajor
1067                              MemberDecorate 42(UniformBlock0) 2 Offset 128
1068                              MemberDecorate 42(UniformBlock0) 2 MatrixStride 16
1069                              MemberDecorate 42(UniformBlock0) 3 RowMajor
1070                              MemberDecorate 42(UniformBlock0) 3 Offset 192
1071                              MemberDecorate 42(UniformBlock0) 3 MatrixStride 16
1072                              MemberDecorate 42(UniformBlock0) 4 Offset 240
1073                              MemberDecorate 42(UniformBlock0) 5 Offset 256
1074                              MemberDecorate 42(UniformBlock0) 6 Offset 272
1075                              Decorate 42(UniformBlock0) Block
1076                              Decorate 44 DescriptorSet 0
1077                              Decorate 44 Binding 0
1078                              Decorate 97(patch.PositionWS) Location 0
1079                              Decorate 102(patch.NormalWS) Location 1
1080                              Decorate 120(id) BuiltIn InvocationId
1081                              Decorate 123(@entryPointOutput.PositionWS) Location 0
1082                              Decorate 145(@patchConstantOutput.EdgeTessFactor) Patch
1083                              Decorate 145(@patchConstantOutput.EdgeTessFactor) BuiltIn TessLevelOuter
1084                              Decorate 158(@patchConstantOutput.InsideTessFactor) Patch
1085                              Decorate 158(@patchConstantOutput.InsideTessFactor) BuiltIn TessLevelInner
1086                              Decorate 162(@patchConstantOutput.NormalWS[0]) Patch
1087                              Decorate 162(@patchConstantOutput.NormalWS[0]) Location 1
1088                              Decorate 165(@patchConstantOutput.NormalWS[1]) Patch
1089                              Decorate 165(@patchConstantOutput.NormalWS[1]) Location 2
1090                              Decorate 168(@patchConstantOutput.NormalWS[2]) Patch
1091                              Decorate 168(@patchConstantOutput.NormalWS[2]) Location 3
1092               2:             TypeVoid
1093               3:             TypeFunction 2
1094               6:             TypeFloat 32
1095               7:             TypeVector 6(float) 3
1096      8(HSInput):             TypeStruct 7(fvec3) 7(fvec3)
1097               9:             TypeInt 32 0
1098              10:      9(int) Constant 3
1099              11:             TypeArray 8(HSInput) 10
1100              12:             TypePointer Function 11
1101              13:             TypeArray 6(float) 10
1102              14:             TypeArray 7(fvec3) 10
110315(HSTrianglePatchConstant):             TypeStruct 13 6(float) 14
1104              16:             TypeFunction 15(HSTrianglePatchConstant) 12(ptr)
1105              20:             TypePointer Function 9(int)
1106    21(HSOutput):             TypeStruct 7(fvec3)
1107              22:             TypeFunction 21(HSOutput) 12(ptr) 20(ptr)
110827(GSVertexInput):             TypeStruct 7(fvec3) 7(fvec3)
1109              28:             TypeArray 27(GSVertexInput) 10
1110              29:             TypePointer Function 28
1111              30:             TypeVector 6(float) 4
111231(GSVertexOutput):             TypeStruct 30(fvec4)
1113              32:             TypePointer Function 31(GSVertexOutput)
1114              33:             TypeFunction 2 29(ptr) 32(ptr)
1115              38:             TypePointer Function 7(fvec3)
1116              40:             TypeMatrix 30(fvec4) 4
1117              41:             TypeMatrix 7(fvec3) 3
111842(UniformBlock0):             TypeStruct 40 40 40 41 7(fvec3) 7(fvec3) 7(fvec3)
1119              43:             TypePointer Uniform 42(UniformBlock0)
1120              44:     43(ptr) Variable Uniform
1121              45:             TypeInt 32 1
1122              46:     45(int) Constant 6
1123              47:             TypePointer Uniform 7(fvec3)
1124              50:             TypePointer Function 6(float)
1125              52:    6(float) Constant 1077936128
1126              54:    6(float) Constant 1065353216
1127              55:             TypePointer Function 15(HSTrianglePatchConstant)
1128              57:     45(int) Constant 0
1129              58:      9(int) Constant 0
1130              62:     45(int) Constant 1
1131              63:      9(int) Constant 1
1132              67:     45(int) Constant 2
1133              68:      9(int) Constant 2
1134              86:             TypePointer Function 21(HSOutput)
1135              96:             TypePointer Input 14
113697(patch.PositionWS):     96(ptr) Variable Input
1137              98:             TypePointer Input 7(fvec3)
1138102(patch.NormalWS):     96(ptr) Variable Input
1139             119:             TypePointer Input 9(int)
1140         120(id):    119(ptr) Variable Input
1141             122:             TypePointer Output 14
1142123(@entryPointOutput.PositionWS):    122(ptr) Variable Output
1143             131:             TypePointer Output 7(fvec3)
1144             133:      9(int) Constant 4
1145             135:             TypeBool
1146             143:             TypeArray 6(float) 133
1147             144:             TypePointer Output 143
1148145(@patchConstantOutput.EdgeTessFactor):    144(ptr) Variable Output
1149             148:             TypePointer Output 6(float)
1150             156:             TypeArray 6(float) 68
1151             157:             TypePointer Output 156
1152158(@patchConstantOutput.InsideTessFactor):    157(ptr) Variable Output
1153162(@patchConstantOutput.NormalWS[0]):    131(ptr) Variable Output
1154165(@patchConstantOutput.NormalWS[1]):    131(ptr) Variable Output
1155168(@patchConstantOutput.NormalWS[2]):    131(ptr) Variable Output
1156             180:    6(float) Constant 981668463
1157             193:             TypePointer Function 30(fvec4)
1158             200:             TypePointer Uniform 40
1159             225:    6(float) Constant 0
1160       4(HSMain):           2 Function None 3
1161               5:             Label
1162       95(patch):     12(ptr) Variable Function
1163         118(id):     20(ptr) Variable Function
1164      125(param):     12(ptr) Variable Function
1165      127(param):     20(ptr) Variable Function
1166139(@patchConstantResult):     55(ptr) Variable Function
1167      140(param):     12(ptr) Variable Function
1168              99:     98(ptr) AccessChain 97(patch.PositionWS) 57
1169             100:    7(fvec3) Load 99
1170             101:     38(ptr) AccessChain 95(patch) 57 57
1171                              Store 101 100
1172             103:     98(ptr) AccessChain 102(patch.NormalWS) 57
1173             104:    7(fvec3) Load 103
1174             105:     38(ptr) AccessChain 95(patch) 57 62
1175                              Store 105 104
1176             106:     98(ptr) AccessChain 97(patch.PositionWS) 62
1177             107:    7(fvec3) Load 106
1178             108:     38(ptr) AccessChain 95(patch) 62 57
1179                              Store 108 107
1180             109:     98(ptr) AccessChain 102(patch.NormalWS) 62
1181             110:    7(fvec3) Load 109
1182             111:     38(ptr) AccessChain 95(patch) 62 62
1183                              Store 111 110
1184             112:     98(ptr) AccessChain 97(patch.PositionWS) 67
1185             113:    7(fvec3) Load 112
1186             114:     38(ptr) AccessChain 95(patch) 67 57
1187                              Store 114 113
1188             115:     98(ptr) AccessChain 102(patch.NormalWS) 67
1189             116:    7(fvec3) Load 115
1190             117:     38(ptr) AccessChain 95(patch) 67 62
1191                              Store 117 116
1192             121:      9(int) Load 120(id)
1193                              Store 118(id) 121
1194             124:      9(int) Load 120(id)
1195             126:          11 Load 95(patch)
1196                              Store 125(param) 126
1197             128:      9(int) Load 118(id)
1198                              Store 127(param) 128
1199             129:21(HSOutput) FunctionCall 25(@HSMain(struct-HSInput-vf3-vf31[3];u1;) 125(param) 127(param)
1200             130:    7(fvec3) CompositeExtract 129 0
1201             132:    131(ptr) AccessChain 123(@entryPointOutput.PositionWS) 124
1202                              Store 132 130
1203                              ControlBarrier 68 133 58
1204             134:      9(int) Load 120(id)
1205             136:   135(bool) IEqual 134 57
1206                              SelectionMerge 138 None
1207                              BranchConditional 136 137 138
1208             137:               Label
1209             141:          11   Load 95(patch)
1210                                Store 140(param) 141
1211             142:15(HSTrianglePatchConstant)   FunctionCall 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];) 140(param)
1212                                Store 139(@patchConstantResult) 142
1213             146:     50(ptr)   AccessChain 139(@patchConstantResult) 57 57
1214             147:    6(float)   Load 146
1215             149:    148(ptr)   AccessChain 145(@patchConstantOutput.EdgeTessFactor) 57
1216                                Store 149 147
1217             150:     50(ptr)   AccessChain 139(@patchConstantResult) 57 62
1218             151:    6(float)   Load 150
1219             152:    148(ptr)   AccessChain 145(@patchConstantOutput.EdgeTessFactor) 62
1220                                Store 152 151
1221             153:     50(ptr)   AccessChain 139(@patchConstantResult) 57 67
1222             154:    6(float)   Load 153
1223             155:    148(ptr)   AccessChain 145(@patchConstantOutput.EdgeTessFactor) 67
1224                                Store 155 154
1225             159:     50(ptr)   AccessChain 139(@patchConstantResult) 62
1226             160:    6(float)   Load 159
1227             161:    148(ptr)   AccessChain 158(@patchConstantOutput.InsideTessFactor) 57
1228                                Store 161 160
1229             163:     38(ptr)   AccessChain 139(@patchConstantResult) 67 57
1230             164:    7(fvec3)   Load 163
1231                                Store 162(@patchConstantOutput.NormalWS[0]) 164
1232             166:     38(ptr)   AccessChain 139(@patchConstantResult) 67 62
1233             167:    7(fvec3)   Load 166
1234                                Store 165(@patchConstantOutput.NormalWS[1]) 167
1235             169:     38(ptr)   AccessChain 139(@patchConstantResult) 67 67
1236             170:    7(fvec3)   Load 169
1237                                Store 168(@patchConstantOutput.NormalWS[2]) 170
1238                                Branch 138
1239             138:             Label
1240                              Return
1241                              FunctionEnd
124218(HSPatchConstant(struct-HSInput-vf3-vf31[3];):15(HSTrianglePatchConstant) Function None 16
1243       17(patch):     12(ptr) FunctionParameter
1244              19:             Label
124539(roundedEdgeTessFactor):     38(ptr) Variable Function
124651(roundedInsideTessFactor):     50(ptr) Variable Function
124753(insideTessFactor):     50(ptr) Variable Function
1248      56(result):     55(ptr) Variable Function
1249              48:     47(ptr) AccessChain 44 46
1250              49:    7(fvec3) Load 48
1251                              Store 39(roundedEdgeTessFactor) 49
1252                              Store 51(roundedInsideTessFactor) 52
1253                              Store 53(insideTessFactor) 54
1254              59:     50(ptr) AccessChain 39(roundedEdgeTessFactor) 58
1255              60:    6(float) Load 59
1256              61:     50(ptr) AccessChain 56(result) 57 57
1257                              Store 61 60
1258              64:     50(ptr) AccessChain 39(roundedEdgeTessFactor) 63
1259              65:    6(float) Load 64
1260              66:     50(ptr) AccessChain 56(result) 57 62
1261                              Store 66 65
1262              69:     50(ptr) AccessChain 39(roundedEdgeTessFactor) 68
1263              70:    6(float) Load 69
1264              71:     50(ptr) AccessChain 56(result) 57 67
1265                              Store 71 70
1266              72:    6(float) Load 51(roundedInsideTessFactor)
1267              73:     50(ptr) AccessChain 56(result) 62
1268                              Store 73 72
1269              74:     38(ptr) AccessChain 17(patch) 57 62
1270              75:    7(fvec3) Load 74
1271              76:     38(ptr) AccessChain 56(result) 67 57
1272                              Store 76 75
1273              77:     38(ptr) AccessChain 17(patch) 62 62
1274              78:    7(fvec3) Load 77
1275              79:     38(ptr) AccessChain 56(result) 67 62
1276                              Store 79 78
1277              80:     38(ptr) AccessChain 17(patch) 67 62
1278              81:    7(fvec3) Load 80
1279              82:     38(ptr) AccessChain 56(result) 67 67
1280                              Store 82 81
1281              83:15(HSTrianglePatchConstant) Load 56(result)
1282                              ReturnValue 83
1283                              FunctionEnd
128425(@HSMain(struct-HSInput-vf3-vf31[3];u1;):21(HSOutput) Function None 22
1285       23(patch):     12(ptr) FunctionParameter
1286          24(id):     20(ptr) FunctionParameter
1287              26:             Label
1288      87(output):     86(ptr) Variable Function
1289              88:      9(int) Load 24(id)
1290              89:     38(ptr) AccessChain 23(patch) 88 57
1291              90:    7(fvec3) Load 89
1292              91:     38(ptr) AccessChain 87(output) 57
1293                              Store 91 90
1294              92:21(HSOutput) Load 87(output)
1295                              ReturnValue 92
1296                              FunctionEnd
129736(GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41;):           2 Function None 33
1298       34(input):     29(ptr) FunctionParameter
1299      35(output):     32(ptr) FunctionParameter
1300              37:             Label
1301         171(P0):     38(ptr) Variable Function
1302         174(P1):     38(ptr) Variable Function
1303         177(P2):     38(ptr) Variable Function
1304         194(Q0):    193(ptr) Variable Function
1305         204(Q1):    193(ptr) Variable Function
1306         213(Q2):    193(ptr) Variable Function
1307     222(vertex):     32(ptr) Variable Function
1308             172:     38(ptr) AccessChain 34(input) 57 57
1309             173:    7(fvec3) Load 172
1310                              Store 171(P0) 173
1311             175:     38(ptr) AccessChain 34(input) 62 57
1312             176:    7(fvec3) Load 175
1313                              Store 174(P1) 176
1314             178:     38(ptr) AccessChain 34(input) 67 57
1315             179:    7(fvec3) Load 178
1316                              Store 177(P2) 179
1317             181:     50(ptr) AccessChain 171(P0) 68
1318             182:    6(float) Load 181
1319             183:    6(float) FAdd 182 180
1320             184:     50(ptr) AccessChain 171(P0) 68
1321                              Store 184 183
1322             185:     50(ptr) AccessChain 174(P1) 68
1323             186:    6(float) Load 185
1324             187:    6(float) FAdd 186 180
1325             188:     50(ptr) AccessChain 174(P1) 68
1326                              Store 188 187
1327             189:     50(ptr) AccessChain 177(P2) 68
1328             190:    6(float) Load 189
1329             191:    6(float) FAdd 190 180
1330             192:     50(ptr) AccessChain 177(P2) 68
1331                              Store 192 191
1332             195:    7(fvec3) Load 171(P0)
1333             196:    6(float) CompositeExtract 195 0
1334             197:    6(float) CompositeExtract 195 1
1335             198:    6(float) CompositeExtract 195 2
1336             199:   30(fvec4) CompositeConstruct 196 197 198 54
1337             201:    200(ptr) AccessChain 44 62
1338             202:          40 Load 201
1339             203:   30(fvec4) VectorTimesMatrix 199 202
1340                              Store 194(Q0) 203
1341             205:    7(fvec3) Load 174(P1)
1342             206:    6(float) CompositeExtract 205 0
1343             207:    6(float) CompositeExtract 205 1
1344             208:    6(float) CompositeExtract 205 2
1345             209:   30(fvec4) CompositeConstruct 206 207 208 54
1346             210:    200(ptr) AccessChain 44 62
1347             211:          40 Load 210
1348             212:   30(fvec4) VectorTimesMatrix 209 211
1349                              Store 204(Q1) 212
1350             214:    7(fvec3) Load 177(P2)
1351             215:    6(float) CompositeExtract 214 0
1352             216:    6(float) CompositeExtract 214 1
1353             217:    6(float) CompositeExtract 214 2
1354             218:   30(fvec4) CompositeConstruct 215 216 217 54
1355             219:    200(ptr) AccessChain 44 62
1356             220:          40 Load 219
1357             221:   30(fvec4) VectorTimesMatrix 218 220
1358                              Store 213(Q2) 221
1359             223:   30(fvec4) Load 194(Q0)
1360             224:    193(ptr) AccessChain 222(vertex) 57
1361                              Store 224 223
1362             226:   30(fvec4) Load 204(Q1)
1363             227:    193(ptr) AccessChain 222(vertex) 57
1364                              Store 227 226
1365             228:   30(fvec4) Load 204(Q1)
1366             229:    193(ptr) AccessChain 222(vertex) 57
1367                              Store 229 228
1368             230:   30(fvec4) Load 213(Q2)
1369             231:    193(ptr) AccessChain 222(vertex) 57
1370                              Store 231 230
1371             232:   30(fvec4) Load 213(Q2)
1372             233:    193(ptr) AccessChain 222(vertex) 57
1373                              Store 233 232
1374             234:   30(fvec4) Load 194(Q0)
1375             235:    193(ptr) AccessChain 222(vertex) 57
1376                              Store 235 234
1377                              Return
1378                              FunctionEnd
1379