1hlsl.hull.4.tesc
2Shader version: 500
3vertices = 3
4vertex spacing = fractional_odd_spacing
5triangle order = cw
60:? Sequence
70:25  Function Definition: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
80:25    Function Parameters:
90:25      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
100:?     Sequence
110:26      Sequence
120:26        move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
130:26          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
140:26          Constant:
150:26            0.000000
160:26            0.000000
170:26            0.000000
180:26            0.000000
190:28      move second child to first child ( temp float)
200:28        fInsideTessFactor: direct index for structure ( temp float)
210:28          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
220:28          Constant:
230:28            1 (const int)
240:28        add ( temp float)
250:28          direct index ( temp float)
260:28            m_Position: direct index for structure ( temp 4-component vector of float)
270:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
280:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
290:28                Constant:
300:28                  0 (const int)
310:28              Constant:
320:28                0 (const int)
330:28            Constant:
340:28              3 (const int)
350:28          direct index ( temp float)
360:28            m_Normal: direct index for structure ( temp 4-component vector of float)
370:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
380:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
390:28                Constant:
400:28                  0 (const int)
410:28              Constant:
420:28                1 (const int)
430:28            Constant:
440:28              3 (const int)
450:30      Branch: Return with expression
460:30        'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
470:39  Function Definition: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
480:39    Function Parameters:
490:39      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
500:39      'cpid' ( in uint)
510:?     Sequence
520:40      Sequence
530:40        move second child to first child ( temp structure{ temp 4-component vector of float m_Position})
540:40          'output' ( temp structure{ temp 4-component vector of float m_Position})
550:40          Constant:
560:40            0.000000
570:40            0.000000
580:40            0.000000
590:40            0.000000
600:41      move second child to first child ( temp 4-component vector of float)
610:41        m_Position: direct index for structure ( temp 4-component vector of float)
620:41          'output' ( temp structure{ temp 4-component vector of float m_Position})
630:41          Constant:
640:41            0 (const int)
650:41        Constant:
660:41          0.000000
670:41          0.000000
680:41          0.000000
690:41          0.000000
700:42      Branch: Return with expression
710:42        'output' ( temp structure{ temp 4-component vector of float m_Position})
720:39  Function Definition: main( ( temp void)
730:39    Function Parameters:
740:?     Sequence
750:39      Sequence
760:39        move second child to first child ( temp 4-component vector of float)
770:39          m_Position: direct index for structure ( temp 4-component vector of float)
780:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
790:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
800:39              Constant:
810:39                0 (const int)
820:39            Constant:
830:39              0 (const int)
840:39          direct index ( in 4-component vector of float Position)
850:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
860:39            Constant:
870:39              0 (const int)
880:39        move second child to first child ( temp 4-component vector of float)
890:39          m_Normal: direct index for structure ( temp 4-component vector of float)
900:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
910:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
920:39              Constant:
930:39                0 (const int)
940:39            Constant:
950:39              1 (const int)
960:39          m_Normal: direct index for structure ( temp 4-component vector of float)
970:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
980:39              'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
990:39              Constant:
1000:39                0 (const int)
1010:39            Constant:
1020:39              0 (const int)
1030:39        move second child to first child ( temp 4-component vector of float)
1040:39          m_Position: direct index for structure ( temp 4-component vector of float)
1050:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
1060:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
1070:39              Constant:
1080:39                1 (const int)
1090:39            Constant:
1100:39              0 (const int)
1110:39          direct index ( in 4-component vector of float Position)
1120:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
1130:39            Constant:
1140:39              1 (const int)
1150:39        move second child to first child ( temp 4-component vector of float)
1160:39          m_Normal: direct index for structure ( temp 4-component vector of float)
1170:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
1180:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
1190:39              Constant:
1200:39                1 (const int)
1210:39            Constant:
1220:39              1 (const int)
1230:39          m_Normal: direct index for structure ( temp 4-component vector of float)
1240:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
1250:39              'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
1260:39              Constant:
1270:39                1 (const int)
1280:39            Constant:
1290:39              0 (const int)
1300:39        move second child to first child ( temp 4-component vector of float)
1310:39          m_Position: direct index for structure ( temp 4-component vector of float)
1320:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
1330:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
1340:39              Constant:
1350:39                2 (const int)
1360:39            Constant:
1370:39              0 (const int)
1380:39          direct index ( in 4-component vector of float Position)
1390:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
1400:39            Constant:
1410:39              2 (const int)
1420:39        move second child to first child ( temp 4-component vector of float)
1430:39          m_Normal: direct index for structure ( temp 4-component vector of float)
1440:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
1450:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
1460:39              Constant:
1470:39                2 (const int)
1480:39            Constant:
1490:39              1 (const int)
1500:39          m_Normal: direct index for structure ( temp 4-component vector of float)
1510:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
1520:39              'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
1530:39              Constant:
1540:39                2 (const int)
1550:39            Constant:
1560:39              0 (const int)
1570:39      move second child to first child ( temp uint)
1580:?         'cpid' ( temp uint)
1590:?         'cpid' ( in uint InvocationID)
1600:39      Sequence
1610:39        move second child to first child ( temp 4-component vector of float)
1620:39          indirect index ( out 4-component vector of float Position)
1630:?             '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
1640:?             'cpid' ( in uint InvocationID)
1650:39          m_Position: direct index for structure ( temp 4-component vector of float)
1660:39            Function Call: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
1670:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
1680:?               'cpid' ( temp uint)
1690:39            Constant:
1700:39              0 (const int)
1710:?       Barrier ( temp void)
1720:?       Test condition and select ( temp void)
1730:?         Condition
1740:?         Compare Equal ( temp bool)
1750:?           'cpid' ( in uint InvocationID)
1760:?           Constant:
1770:?             0 (const int)
1780:?         true case
1790:?         Sequence
1800:?           move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
1810:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
1820:?             Function Call: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
1830:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
1840:?           Sequence
1850:?             move second child to first child ( temp float)
1860:?               direct index ( patch out float TessLevelOuter)
1870:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
1880:?                 Constant:
1890:?                   0 (const int)
1900:?               direct index ( temp float)
1910:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
1920:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
1930:?                   Constant:
1940:?                     0 (const int)
1950:?                 Constant:
1960:?                   0 (const int)
1970:?             move second child to first child ( temp float)
1980:?               direct index ( patch out float TessLevelOuter)
1990:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
2000:?                 Constant:
2010:?                   1 (const int)
2020:?               direct index ( temp float)
2030:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
2040:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
2050:?                   Constant:
2060:?                     0 (const int)
2070:?                 Constant:
2080:?                   1 (const int)
2090:?             move second child to first child ( temp float)
2100:?               direct index ( patch out float TessLevelOuter)
2110:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
2120:?                 Constant:
2130:?                   2 (const int)
2140:?               direct index ( temp float)
2150:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
2160:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
2170:?                   Constant:
2180:?                     0 (const int)
2190:?                 Constant:
2200:?                   2 (const int)
2210:?             move second child to first child ( temp float)
2220:?               direct index ( patch out float TessLevelInner)
2230:?                 '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
2240:?                 Constant:
2250:?                   0 (const int)
2260:?               fInsideTessFactor: direct index for structure ( temp float)
2270:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
2280:?                 Constant:
2290:?                   1 (const int)
2300:?   Linker Objects
2310:?     '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
2320:?     'I.m_Position' ( in 3-element array of 4-component vector of float Position)
2330:?     'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
2340:?     'cpid' ( in uint InvocationID)
2350:?     '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
2360:?     '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
237
238
239Linked tessellation control stage:
240
241
242Shader version: 500
243vertices = 3
244vertex spacing = fractional_odd_spacing
245triangle order = cw
2460:? Sequence
2470:25  Function Definition: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
2480:25    Function Parameters:
2490:25      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
2500:?     Sequence
2510:26      Sequence
2520:26        move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
2530:26          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
2540:26          Constant:
2550:26            0.000000
2560:26            0.000000
2570:26            0.000000
2580:26            0.000000
2590:28      move second child to first child ( temp float)
2600:28        fInsideTessFactor: direct index for structure ( temp float)
2610:28          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
2620:28          Constant:
2630:28            1 (const int)
2640:28        add ( temp float)
2650:28          direct index ( temp float)
2660:28            m_Position: direct index for structure ( temp 4-component vector of float)
2670:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
2680:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
2690:28                Constant:
2700:28                  0 (const int)
2710:28              Constant:
2720:28                0 (const int)
2730:28            Constant:
2740:28              3 (const int)
2750:28          direct index ( temp float)
2760:28            m_Normal: direct index for structure ( temp 4-component vector of float)
2770:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
2780:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
2790:28                Constant:
2800:28                  0 (const int)
2810:28              Constant:
2820:28                1 (const int)
2830:28            Constant:
2840:28              3 (const int)
2850:30      Branch: Return with expression
2860:30        'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
2870:39  Function Definition: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
2880:39    Function Parameters:
2890:39      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
2900:39      'cpid' ( in uint)
2910:?     Sequence
2920:40      Sequence
2930:40        move second child to first child ( temp structure{ temp 4-component vector of float m_Position})
2940:40          'output' ( temp structure{ temp 4-component vector of float m_Position})
2950:40          Constant:
2960:40            0.000000
2970:40            0.000000
2980:40            0.000000
2990:40            0.000000
3000:41      move second child to first child ( temp 4-component vector of float)
3010:41        m_Position: direct index for structure ( temp 4-component vector of float)
3020:41          'output' ( temp structure{ temp 4-component vector of float m_Position})
3030:41          Constant:
3040:41            0 (const int)
3050:41        Constant:
3060:41          0.000000
3070:41          0.000000
3080:41          0.000000
3090:41          0.000000
3100:42      Branch: Return with expression
3110:42        'output' ( temp structure{ temp 4-component vector of float m_Position})
3120:39  Function Definition: main( ( temp void)
3130:39    Function Parameters:
3140:?     Sequence
3150:39      Sequence
3160:39        move second child to first child ( temp 4-component vector of float)
3170:39          m_Position: direct index for structure ( temp 4-component vector of float)
3180:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
3190:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
3200:39              Constant:
3210:39                0 (const int)
3220:39            Constant:
3230:39              0 (const int)
3240:39          direct index ( in 4-component vector of float Position)
3250:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
3260:39            Constant:
3270:39              0 (const int)
3280:39        move second child to first child ( temp 4-component vector of float)
3290:39          m_Normal: direct index for structure ( temp 4-component vector of float)
3300:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
3310:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
3320:39              Constant:
3330:39                0 (const int)
3340:39            Constant:
3350:39              1 (const int)
3360:39          m_Normal: direct index for structure ( temp 4-component vector of float)
3370:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
3380:39              'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
3390:39              Constant:
3400:39                0 (const int)
3410:39            Constant:
3420:39              0 (const int)
3430:39        move second child to first child ( temp 4-component vector of float)
3440:39          m_Position: direct index for structure ( temp 4-component vector of float)
3450:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
3460:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
3470:39              Constant:
3480:39                1 (const int)
3490:39            Constant:
3500:39              0 (const int)
3510:39          direct index ( in 4-component vector of float Position)
3520:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
3530:39            Constant:
3540:39              1 (const int)
3550:39        move second child to first child ( temp 4-component vector of float)
3560:39          m_Normal: direct index for structure ( temp 4-component vector of float)
3570:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
3580:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
3590:39              Constant:
3600:39                1 (const int)
3610:39            Constant:
3620:39              1 (const int)
3630:39          m_Normal: direct index for structure ( temp 4-component vector of float)
3640:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
3650:39              'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
3660:39              Constant:
3670:39                1 (const int)
3680:39            Constant:
3690:39              0 (const int)
3700:39        move second child to first child ( temp 4-component vector of float)
3710:39          m_Position: direct index for structure ( temp 4-component vector of float)
3720:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
3730:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
3740:39              Constant:
3750:39                2 (const int)
3760:39            Constant:
3770:39              0 (const int)
3780:39          direct index ( in 4-component vector of float Position)
3790:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
3800:39            Constant:
3810:39              2 (const int)
3820:39        move second child to first child ( temp 4-component vector of float)
3830:39          m_Normal: direct index for structure ( temp 4-component vector of float)
3840:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
3850:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
3860:39              Constant:
3870:39                2 (const int)
3880:39            Constant:
3890:39              1 (const int)
3900:39          m_Normal: direct index for structure ( temp 4-component vector of float)
3910:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
3920:39              'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
3930:39              Constant:
3940:39                2 (const int)
3950:39            Constant:
3960:39              0 (const int)
3970:39      move second child to first child ( temp uint)
3980:?         'cpid' ( temp uint)
3990:?         'cpid' ( in uint InvocationID)
4000:39      Sequence
4010:39        move second child to first child ( temp 4-component vector of float)
4020:39          indirect index ( out 4-component vector of float Position)
4030:?             '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
4040:?             'cpid' ( in uint InvocationID)
4050:39          m_Position: direct index for structure ( temp 4-component vector of float)
4060:39            Function Call: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
4070:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
4080:?               'cpid' ( temp uint)
4090:39            Constant:
4100:39              0 (const int)
4110:?       Barrier ( temp void)
4120:?       Test condition and select ( temp void)
4130:?         Condition
4140:?         Compare Equal ( temp bool)
4150:?           'cpid' ( in uint InvocationID)
4160:?           Constant:
4170:?             0 (const int)
4180:?         true case
4190:?         Sequence
4200:?           move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
4210:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
4220:?             Function Call: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
4230:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
4240:?           Sequence
4250:?             move second child to first child ( temp float)
4260:?               direct index ( patch out float TessLevelOuter)
4270:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
4280:?                 Constant:
4290:?                   0 (const int)
4300:?               direct index ( temp float)
4310:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
4320:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
4330:?                   Constant:
4340:?                     0 (const int)
4350:?                 Constant:
4360:?                   0 (const int)
4370:?             move second child to first child ( temp float)
4380:?               direct index ( patch out float TessLevelOuter)
4390:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
4400:?                 Constant:
4410:?                   1 (const int)
4420:?               direct index ( temp float)
4430:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
4440:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
4450:?                   Constant:
4460:?                     0 (const int)
4470:?                 Constant:
4480:?                   1 (const int)
4490:?             move second child to first child ( temp float)
4500:?               direct index ( patch out float TessLevelOuter)
4510:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
4520:?                 Constant:
4530:?                   2 (const int)
4540:?               direct index ( temp float)
4550:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
4560:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
4570:?                   Constant:
4580:?                     0 (const int)
4590:?                 Constant:
4600:?                   2 (const int)
4610:?             move second child to first child ( temp float)
4620:?               direct index ( patch out float TessLevelInner)
4630:?                 '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
4640:?                 Constant:
4650:?                   0 (const int)
4660:?               fInsideTessFactor: direct index for structure ( temp float)
4670:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
4680:?                 Constant:
4690:?                   1 (const int)
4700:?   Linker Objects
4710:?     '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
4720:?     'I.m_Position' ( in 3-element array of 4-component vector of float Position)
4730:?     'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
4740:?     'cpid' ( in uint InvocationID)
4750:?     '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
4760:?     '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
477
478// Module Version 10000
479// Generated by (magic number): 80007
480// Id's are bound by 127
481
482                              Capability Tessellation
483               1:             ExtInstImport  "GLSL.std.450"
484                              MemoryModel Logical GLSL450
485                              EntryPoint TessellationControl 4  "main" 56 64 83 86 110 123
486                              ExecutionMode 4 OutputVertices 3
487                              ExecutionMode 4 Triangles
488                              ExecutionMode 4 SpacingFractionalOdd
489                              ExecutionMode 4 VertexOrderCw
490                              Source HLSL 500
491                              Name 4  "main"
492                              Name 8  "HS_Input"
493                              MemberName 8(HS_Input) 0  "m_Position"
494                              MemberName 8(HS_Input) 1  "m_Normal"
495                              Name 14  "HS_Output"
496                              MemberName 14(HS_Output) 0  "fTessFactor"
497                              MemberName 14(HS_Output) 1  "fInsideTessFactor"
498                              Name 17  "HS_ConstFunc(struct-HS_Input-vf4-vf41[3];"
499                              Name 16  "I"
500                              Name 20  "HS_Main_Output"
501                              MemberName 20(HS_Main_Output) 0  "m_Position"
502                              Name 24  "@main(struct-HS_Input-vf4-vf41[3];u1;"
503                              Name 22  "I"
504                              Name 23  "cpid"
505                              Name 27  "O"
506                              Name 45  "output"
507                              Name 53  "I"
508                              Name 56  "I.m_Position"
509                              Name 61  "HS_Input"
510                              MemberName 61(HS_Input) 0  "m_Normal"
511                              Name 64  "I"
512                              Name 81  "cpid"
513                              Name 83  "cpid"
514                              Name 86  "@entryPointOutput.m_Position"
515                              Name 88  "param"
516                              Name 90  "param"
517                              Name 104  "@patchConstantResult"
518                              Name 105  "param"
519                              Name 110  "@patchConstantOutput.fTessFactor"
520                              Name 123  "@patchConstantOutput.fInsideTessFactor"
521                              Decorate 56(I.m_Position) BuiltIn Position
522                              Decorate 64(I) Location 0
523                              Decorate 83(cpid) BuiltIn InvocationId
524                              Decorate 86(@entryPointOutput.m_Position) BuiltIn Position
525                              Decorate 110(@patchConstantOutput.fTessFactor) Patch
526                              Decorate 110(@patchConstantOutput.fTessFactor) BuiltIn TessLevelOuter
527                              Decorate 123(@patchConstantOutput.fInsideTessFactor) Patch
528                              Decorate 123(@patchConstantOutput.fInsideTessFactor) BuiltIn TessLevelInner
529               2:             TypeVoid
530               3:             TypeFunction 2
531               6:             TypeFloat 32
532               7:             TypeVector 6(float) 4
533     8(HS_Input):             TypeStruct 7(fvec4) 7(fvec4)
534               9:             TypeInt 32 0
535              10:      9(int) Constant 3
536              11:             TypeArray 8(HS_Input) 10
537              12:             TypePointer Function 11
538              13:             TypeArray 6(float) 10
539   14(HS_Output):             TypeStruct 13 6(float)
540              15:             TypeFunction 14(HS_Output) 12(ptr)
541              19:             TypePointer Function 9(int)
54220(HS_Main_Output):             TypeStruct 7(fvec4)
543              21:             TypeFunction 20(HS_Main_Output) 12(ptr) 19(ptr)
544              26:             TypePointer Function 14(HS_Output)
545              28:    6(float) Constant 0
546              29:          13 ConstantComposite 28 28 28
547              30:14(HS_Output) ConstantComposite 29 28
548              31:             TypeInt 32 1
549              32:     31(int) Constant 1
550              33:     31(int) Constant 0
551              34:             TypePointer Function 6(float)
552              44:             TypePointer Function 20(HS_Main_Output)
553              46:    7(fvec4) ConstantComposite 28 28 28 28
554              47:20(HS_Main_Output) ConstantComposite 46
555              48:             TypePointer Function 7(fvec4)
556              54:             TypeArray 7(fvec4) 10
557              55:             TypePointer Input 54
55856(I.m_Position):     55(ptr) Variable Input
559              57:             TypePointer Input 7(fvec4)
560    61(HS_Input):             TypeStruct 7(fvec4)
561              62:             TypeArray 61(HS_Input) 10
562              63:             TypePointer Input 62
563           64(I):     63(ptr) Variable Input
564              74:     31(int) Constant 2
565              82:             TypePointer Input 9(int)
566        83(cpid):     82(ptr) Variable Input
567              85:             TypePointer Output 54
56886(@entryPointOutput.m_Position):     85(ptr) Variable Output
569              94:             TypePointer Output 7(fvec4)
570              96:      9(int) Constant 2
571              97:      9(int) Constant 4
572              98:      9(int) Constant 0
573             100:             TypeBool
574             108:             TypeArray 6(float) 97
575             109:             TypePointer Output 108
576110(@patchConstantOutput.fTessFactor):    109(ptr) Variable Output
577             113:             TypePointer Output 6(float)
578             121:             TypeArray 6(float) 96
579             122:             TypePointer Output 121
580123(@patchConstantOutput.fInsideTessFactor):    122(ptr) Variable Output
581         4(main):           2 Function None 3
582               5:             Label
583           53(I):     12(ptr) Variable Function
584        81(cpid):     19(ptr) Variable Function
585       88(param):     12(ptr) Variable Function
586       90(param):     19(ptr) Variable Function
587104(@patchConstantResult):     26(ptr) Variable Function
588      105(param):     12(ptr) Variable Function
589              58:     57(ptr) AccessChain 56(I.m_Position) 33
590              59:    7(fvec4) Load 58
591              60:     48(ptr) AccessChain 53(I) 33 33
592                              Store 60 59
593              65:     57(ptr) AccessChain 64(I) 33 33
594              66:    7(fvec4) Load 65
595              67:     48(ptr) AccessChain 53(I) 33 32
596                              Store 67 66
597              68:     57(ptr) AccessChain 56(I.m_Position) 32
598              69:    7(fvec4) Load 68
599              70:     48(ptr) AccessChain 53(I) 32 33
600                              Store 70 69
601              71:     57(ptr) AccessChain 64(I) 32 33
602              72:    7(fvec4) Load 71
603              73:     48(ptr) AccessChain 53(I) 32 32
604                              Store 73 72
605              75:     57(ptr) AccessChain 56(I.m_Position) 74
606              76:    7(fvec4) Load 75
607              77:     48(ptr) AccessChain 53(I) 74 33
608                              Store 77 76
609              78:     57(ptr) AccessChain 64(I) 74 33
610              79:    7(fvec4) Load 78
611              80:     48(ptr) AccessChain 53(I) 74 32
612                              Store 80 79
613              84:      9(int) Load 83(cpid)
614                              Store 81(cpid) 84
615              87:      9(int) Load 83(cpid)
616              89:          11 Load 53(I)
617                              Store 88(param) 89
618              91:      9(int) Load 81(cpid)
619                              Store 90(param) 91
620              92:20(HS_Main_Output) FunctionCall 24(@main(struct-HS_Input-vf4-vf41[3];u1;) 88(param) 90(param)
621              93:    7(fvec4) CompositeExtract 92 0
622              95:     94(ptr) AccessChain 86(@entryPointOutput.m_Position) 87
623                              Store 95 93
624                              ControlBarrier 96 97 98
625              99:      9(int) Load 83(cpid)
626             101:   100(bool) IEqual 99 33
627                              SelectionMerge 103 None
628                              BranchConditional 101 102 103
629             102:               Label
630             106:          11   Load 53(I)
631                                Store 105(param) 106
632             107:14(HS_Output)   FunctionCall 17(HS_ConstFunc(struct-HS_Input-vf4-vf41[3];) 105(param)
633                                Store 104(@patchConstantResult) 107
634             111:     34(ptr)   AccessChain 104(@patchConstantResult) 33 33
635             112:    6(float)   Load 111
636             114:    113(ptr)   AccessChain 110(@patchConstantOutput.fTessFactor) 33
637                                Store 114 112
638             115:     34(ptr)   AccessChain 104(@patchConstantResult) 33 32
639             116:    6(float)   Load 115
640             117:    113(ptr)   AccessChain 110(@patchConstantOutput.fTessFactor) 32
641                                Store 117 116
642             118:     34(ptr)   AccessChain 104(@patchConstantResult) 33 74
643             119:    6(float)   Load 118
644             120:    113(ptr)   AccessChain 110(@patchConstantOutput.fTessFactor) 74
645                                Store 120 119
646             124:     34(ptr)   AccessChain 104(@patchConstantResult) 32
647             125:    6(float)   Load 124
648             126:    113(ptr)   AccessChain 123(@patchConstantOutput.fInsideTessFactor) 33
649                                Store 126 125
650                                Branch 103
651             103:             Label
652                              Return
653                              FunctionEnd
65417(HS_ConstFunc(struct-HS_Input-vf4-vf41[3];):14(HS_Output) Function None 15
655           16(I):     12(ptr) FunctionParameter
656              18:             Label
657           27(O):     26(ptr) Variable Function
658                              Store 27(O) 30
659              35:     34(ptr) AccessChain 16(I) 33 33 10
660              36:    6(float) Load 35
661              37:     34(ptr) AccessChain 16(I) 33 32 10
662              38:    6(float) Load 37
663              39:    6(float) FAdd 36 38
664              40:     34(ptr) AccessChain 27(O) 32
665                              Store 40 39
666              41:14(HS_Output) Load 27(O)
667                              ReturnValue 41
668                              FunctionEnd
66924(@main(struct-HS_Input-vf4-vf41[3];u1;):20(HS_Main_Output) Function None 21
670           22(I):     12(ptr) FunctionParameter
671        23(cpid):     19(ptr) FunctionParameter
672              25:             Label
673      45(output):     44(ptr) Variable Function
674                              Store 45(output) 47
675              49:     48(ptr) AccessChain 45(output) 33
676                              Store 49 46
677              50:20(HS_Main_Output) Load 45(output)
678                              ReturnValue 50
679                              FunctionEnd
680