hlsl.hull.4.tesc
Shader version: 500
vertices = 3
vertex spacing = fractional_odd_spacing
triangle order = cw
0:? Sequence
0:25  Function Definition: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:25    Function Parameters: 
0:25      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?     Sequence
0:26      Sequence
0:26        move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:26          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:26          Constant:
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:28      move second child to first child ( temp float)
0:28        fInsideTessFactor: direct index for structure ( temp float)
0:28          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:28          Constant:
0:28            1 (const int)
0:28        add ( temp float)
0:28          direct index ( temp float)
0:28            m_Position: direct index for structure ( temp 4-component vector of float)
0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:28                Constant:
0:28                  0 (const int)
0:28              Constant:
0:28                0 (const int)
0:28            Constant:
0:28              3 (const int)
0:28          direct index ( temp float)
0:28            m_Normal: direct index for structure ( temp 4-component vector of float)
0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:28                Constant:
0:28                  0 (const int)
0:28              Constant:
0:28                1 (const int)
0:28            Constant:
0:28              3 (const int)
0:30      Branch: Return with expression
0:30        'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:39  Function Definition: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
0:39    Function Parameters: 
0:39      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39      'cpid' ( in uint)
0:?     Sequence
0:40      Sequence
0:40        move second child to first child ( temp structure{ temp 4-component vector of float m_Position})
0:40          'output' ( temp structure{ temp 4-component vector of float m_Position})
0:40          Constant:
0:40            0.000000
0:40            0.000000
0:40            0.000000
0:40            0.000000
0:41      move second child to first child ( temp 4-component vector of float)
0:41        m_Position: direct index for structure ( temp 4-component vector of float)
0:41          'output' ( temp structure{ temp 4-component vector of float m_Position})
0:41          Constant:
0:41            0 (const int)
0:41        Constant:
0:41          0.000000
0:41          0.000000
0:41          0.000000
0:41          0.000000
0:42      Branch: Return with expression
0:42        'output' ( temp structure{ temp 4-component vector of float m_Position})
0:39  Function Definition: main( ( temp void)
0:39    Function Parameters: 
0:?     Sequence
0:39      Sequence
0:39        move second child to first child ( temp 4-component vector of float)
0:39          m_Position: direct index for structure ( temp 4-component vector of float)
0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39              Constant:
0:39                0 (const int)
0:39            Constant:
0:39              0 (const int)
0:39          direct index ( in 4-component vector of float Position)
0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
0:39            Constant:
0:39              0 (const int)
0:39        move second child to first child ( temp 4-component vector of float)
0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39              Constant:
0:39                0 (const int)
0:39            Constant:
0:39              1 (const int)
0:39          direct index (layout( location=0) in 4-component vector of float)
0:?             'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
0:39            Constant:
0:39              0 (const int)
0:39        move second child to first child ( temp 4-component vector of float)
0:39          m_Position: direct index for structure ( temp 4-component vector of float)
0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39              Constant:
0:39                1 (const int)
0:39            Constant:
0:39              0 (const int)
0:39          direct index ( in 4-component vector of float Position)
0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
0:39            Constant:
0:39              1 (const int)
0:39        move second child to first child ( temp 4-component vector of float)
0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39              Constant:
0:39                1 (const int)
0:39            Constant:
0:39              1 (const int)
0:39          direct index (layout( location=0) in 4-component vector of float)
0:?             'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
0:39            Constant:
0:39              1 (const int)
0:39        move second child to first child ( temp 4-component vector of float)
0:39          m_Position: direct index for structure ( temp 4-component vector of float)
0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39              Constant:
0:39                2 (const int)
0:39            Constant:
0:39              0 (const int)
0:39          direct index ( in 4-component vector of float Position)
0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
0:39            Constant:
0:39              2 (const int)
0:39        move second child to first child ( temp 4-component vector of float)
0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39              Constant:
0:39                2 (const int)
0:39            Constant:
0:39              1 (const int)
0:39          direct index (layout( location=0) in 4-component vector of float)
0:?             'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
0:39            Constant:
0:39              2 (const int)
0:39      move second child to first child ( temp uint)
0:?         'cpid' ( temp uint)
0:?         'cpid' ( in uint InvocationID)
0:39      Sequence
0:39        move second child to first child ( temp 4-component vector of float)
0:39          indirect index ( out 4-component vector of float Position)
0:?             '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
0:?             'cpid' ( in uint InvocationID)
0:39          m_Position: direct index for structure ( temp 4-component vector of float)
0:39            Function Call: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'cpid' ( temp uint)
0:39            Constant:
0:39              0 (const int)
0:?       Barrier ( temp void)
0:?       Test condition and select ( temp void)
0:?         Condition
0:?         Compare Equal ( temp bool)
0:?           'cpid' ( in uint InvocationID)
0:?           Constant:
0:?             0 (const int)
0:?         true case
0:?         Sequence
0:?           move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?             Function Call: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?           Sequence
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   0 (const int)
0:?               direct index ( temp float)
0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?                   Constant:
0:?                     0 (const int)
0:?                 Constant:
0:?                   0 (const int)
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   1 (const int)
0:?               direct index ( temp float)
0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?                   Constant:
0:?                     0 (const int)
0:?                 Constant:
0:?                   1 (const int)
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   2 (const int)
0:?               direct index ( temp float)
0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?                   Constant:
0:?                     0 (const int)
0:?                 Constant:
0:?                   2 (const int)
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelInner)
0:?                 '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
0:?                 Constant:
0:?                   0 (const int)
0:?               fInsideTessFactor: direct index for structure ( temp float)
0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?                 Constant:
0:?                   1 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
0:?     'I.m_Position' ( in 3-element array of 4-component vector of float Position)
0:?     'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
0:?     'cpid' ( in uint InvocationID)
0:?     '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
0:?     '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)


Linked tessellation control stage:


Shader version: 500
vertices = 3
vertex spacing = fractional_odd_spacing
triangle order = cw
0:? Sequence
0:25  Function Definition: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:25    Function Parameters: 
0:25      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?     Sequence
0:26      Sequence
0:26        move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:26          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:26          Constant:
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:28      move second child to first child ( temp float)
0:28        fInsideTessFactor: direct index for structure ( temp float)
0:28          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:28          Constant:
0:28            1 (const int)
0:28        add ( temp float)
0:28          direct index ( temp float)
0:28            m_Position: direct index for structure ( temp 4-component vector of float)
0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:28                Constant:
0:28                  0 (const int)
0:28              Constant:
0:28                0 (const int)
0:28            Constant:
0:28              3 (const int)
0:28          direct index ( temp float)
0:28            m_Normal: direct index for structure ( temp 4-component vector of float)
0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:28                Constant:
0:28                  0 (const int)
0:28              Constant:
0:28                1 (const int)
0:28            Constant:
0:28              3 (const int)
0:30      Branch: Return with expression
0:30        'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:39  Function Definition: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
0:39    Function Parameters: 
0:39      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39      'cpid' ( in uint)
0:?     Sequence
0:40      Sequence
0:40        move second child to first child ( temp structure{ temp 4-component vector of float m_Position})
0:40          'output' ( temp structure{ temp 4-component vector of float m_Position})
0:40          Constant:
0:40            0.000000
0:40            0.000000
0:40            0.000000
0:40            0.000000
0:41      move second child to first child ( temp 4-component vector of float)
0:41        m_Position: direct index for structure ( temp 4-component vector of float)
0:41          'output' ( temp structure{ temp 4-component vector of float m_Position})
0:41          Constant:
0:41            0 (const int)
0:41        Constant:
0:41          0.000000
0:41          0.000000
0:41          0.000000
0:41          0.000000
0:42      Branch: Return with expression
0:42        'output' ( temp structure{ temp 4-component vector of float m_Position})
0:39  Function Definition: main( ( temp void)
0:39    Function Parameters: 
0:?     Sequence
0:39      Sequence
0:39        move second child to first child ( temp 4-component vector of float)
0:39          m_Position: direct index for structure ( temp 4-component vector of float)
0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39              Constant:
0:39                0 (const int)
0:39            Constant:
0:39              0 (const int)
0:39          direct index ( in 4-component vector of float Position)
0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
0:39            Constant:
0:39              0 (const int)
0:39        move second child to first child ( temp 4-component vector of float)
0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39              Constant:
0:39                0 (const int)
0:39            Constant:
0:39              1 (const int)
0:39          direct index (layout( location=0) in 4-component vector of float)
0:?             'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
0:39            Constant:
0:39              0 (const int)
0:39        move second child to first child ( temp 4-component vector of float)
0:39          m_Position: direct index for structure ( temp 4-component vector of float)
0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39              Constant:
0:39                1 (const int)
0:39            Constant:
0:39              0 (const int)
0:39          direct index ( in 4-component vector of float Position)
0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
0:39            Constant:
0:39              1 (const int)
0:39        move second child to first child ( temp 4-component vector of float)
0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39              Constant:
0:39                1 (const int)
0:39            Constant:
0:39              1 (const int)
0:39          direct index (layout( location=0) in 4-component vector of float)
0:?             'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
0:39            Constant:
0:39              1 (const int)
0:39        move second child to first child ( temp 4-component vector of float)
0:39          m_Position: direct index for structure ( temp 4-component vector of float)
0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39              Constant:
0:39                2 (const int)
0:39            Constant:
0:39              0 (const int)
0:39          direct index ( in 4-component vector of float Position)
0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
0:39            Constant:
0:39              2 (const int)
0:39        move second child to first child ( temp 4-component vector of float)
0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:39              Constant:
0:39                2 (const int)
0:39            Constant:
0:39              1 (const int)
0:39          direct index (layout( location=0) in 4-component vector of float)
0:?             'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
0:39            Constant:
0:39              2 (const int)
0:39      move second child to first child ( temp uint)
0:?         'cpid' ( temp uint)
0:?         'cpid' ( in uint InvocationID)
0:39      Sequence
0:39        move second child to first child ( temp 4-component vector of float)
0:39          indirect index ( out 4-component vector of float Position)
0:?             '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
0:?             'cpid' ( in uint InvocationID)
0:39          m_Position: direct index for structure ( temp 4-component vector of float)
0:39            Function Call: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?               'cpid' ( temp uint)
0:39            Constant:
0:39              0 (const int)
0:?       Barrier ( temp void)
0:?       Test condition and select ( temp void)
0:?         Condition
0:?         Compare Equal ( temp bool)
0:?           'cpid' ( in uint InvocationID)
0:?           Constant:
0:?             0 (const int)
0:?         true case
0:?         Sequence
0:?           move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?             Function Call: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
0:?           Sequence
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   0 (const int)
0:?               direct index ( temp float)
0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?                   Constant:
0:?                     0 (const int)
0:?                 Constant:
0:?                   0 (const int)
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   1 (const int)
0:?               direct index ( temp float)
0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?                   Constant:
0:?                     0 (const int)
0:?                 Constant:
0:?                   1 (const int)
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   2 (const int)
0:?               direct index ( temp float)
0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?                   Constant:
0:?                     0 (const int)
0:?                 Constant:
0:?                   2 (const int)
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelInner)
0:?                 '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
0:?                 Constant:
0:?                   0 (const int)
0:?               fInsideTessFactor: direct index for structure ( temp float)
0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
0:?                 Constant:
0:?                   1 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
0:?     'I.m_Position' ( in 3-element array of 4-component vector of float Position)
0:?     'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
0:?     'cpid' ( in uint InvocationID)
0:?     '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
0:?     '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 124

                              Capability Tessellation
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TessellationControl 4  "main" 56 61 80 83 107 120
                              ExecutionMode 4 OutputVertices 3
                              ExecutionMode 4 Triangles
                              ExecutionMode 4 SpacingFractionalOdd
                              ExecutionMode 4 VertexOrderCw
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "HS_Input"
                              MemberName 8(HS_Input) 0  "m_Position"
                              MemberName 8(HS_Input) 1  "m_Normal"
                              Name 14  "HS_Output"
                              MemberName 14(HS_Output) 0  "fTessFactor"
                              MemberName 14(HS_Output) 1  "fInsideTessFactor"
                              Name 17  "HS_ConstFunc(struct-HS_Input-vf4-vf41[3];"
                              Name 16  "I"
                              Name 20  "HS_Main_Output"
                              MemberName 20(HS_Main_Output) 0  "m_Position"
                              Name 24  "@main(struct-HS_Input-vf4-vf41[3];u1;"
                              Name 22  "I"
                              Name 23  "cpid"
                              Name 27  "O"
                              Name 45  "output"
                              Name 53  "I"
                              Name 56  "I.m_Position"
                              Name 61  "I.m_Normal"
                              Name 78  "cpid"
                              Name 80  "cpid"
                              Name 83  "@entryPointOutput.m_Position"
                              Name 85  "param"
                              Name 87  "param"
                              Name 101  "@patchConstantResult"
                              Name 102  "param"
                              Name 107  "@patchConstantOutput.fTessFactor"
                              Name 120  "@patchConstantOutput.fInsideTessFactor"
                              Decorate 56(I.m_Position) BuiltIn Position
                              Decorate 61(I.m_Normal) Location 0
                              Decorate 80(cpid) BuiltIn InvocationId
                              Decorate 83(@entryPointOutput.m_Position) BuiltIn Position
                              Decorate 107(@patchConstantOutput.fTessFactor) Patch
                              Decorate 107(@patchConstantOutput.fTessFactor) BuiltIn TessLevelOuter
                              Decorate 120(@patchConstantOutput.fInsideTessFactor) Patch
                              Decorate 120(@patchConstantOutput.fInsideTessFactor) BuiltIn TessLevelInner
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
     8(HS_Input):             TypeStruct 7(fvec4) 7(fvec4)
               9:             TypeInt 32 0
              10:      9(int) Constant 3
              11:             TypeArray 8(HS_Input) 10
              12:             TypePointer Function 11
              13:             TypeArray 6(float) 10
   14(HS_Output):             TypeStruct 13 6(float)
              15:             TypeFunction 14(HS_Output) 12(ptr)
              19:             TypePointer Function 9(int)
20(HS_Main_Output):             TypeStruct 7(fvec4)
              21:             TypeFunction 20(HS_Main_Output) 12(ptr) 19(ptr)
              26:             TypePointer Function 14(HS_Output)
              28:    6(float) Constant 0
              29:          13 ConstantComposite 28 28 28
              30:14(HS_Output) ConstantComposite 29 28
              31:             TypeInt 32 1
              32:     31(int) Constant 1
              33:     31(int) Constant 0
              34:             TypePointer Function 6(float)
              44:             TypePointer Function 20(HS_Main_Output)
              46:    7(fvec4) ConstantComposite 28 28 28 28
              47:20(HS_Main_Output) ConstantComposite 46
              48:             TypePointer Function 7(fvec4)
              54:             TypeArray 7(fvec4) 10
              55:             TypePointer Input 54
56(I.m_Position):     55(ptr) Variable Input
              57:             TypePointer Input 7(fvec4)
  61(I.m_Normal):     55(ptr) Variable Input
              71:     31(int) Constant 2
              79:             TypePointer Input 9(int)
        80(cpid):     79(ptr) Variable Input
              82:             TypePointer Output 54
83(@entryPointOutput.m_Position):     82(ptr) Variable Output
              91:             TypePointer Output 7(fvec4)
              93:      9(int) Constant 2
              94:      9(int) Constant 4
              95:      9(int) Constant 0
              97:             TypeBool
             105:             TypeArray 6(float) 94
             106:             TypePointer Output 105
107(@patchConstantOutput.fTessFactor):    106(ptr) Variable Output
             110:             TypePointer Output 6(float)
             118:             TypeArray 6(float) 93
             119:             TypePointer Output 118
120(@patchConstantOutput.fInsideTessFactor):    119(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
           53(I):     12(ptr) Variable Function
        78(cpid):     19(ptr) Variable Function
       85(param):     12(ptr) Variable Function
       87(param):     19(ptr) Variable Function
101(@patchConstantResult):     26(ptr) Variable Function
      102(param):     12(ptr) Variable Function
              58:     57(ptr) AccessChain 56(I.m_Position) 33
              59:    7(fvec4) Load 58
              60:     48(ptr) AccessChain 53(I) 33 33
                              Store 60 59
              62:     57(ptr) AccessChain 61(I.m_Normal) 33
              63:    7(fvec4) Load 62
              64:     48(ptr) AccessChain 53(I) 33 32
                              Store 64 63
              65:     57(ptr) AccessChain 56(I.m_Position) 32
              66:    7(fvec4) Load 65
              67:     48(ptr) AccessChain 53(I) 32 33
                              Store 67 66
              68:     57(ptr) AccessChain 61(I.m_Normal) 32
              69:    7(fvec4) Load 68
              70:     48(ptr) AccessChain 53(I) 32 32
                              Store 70 69
              72:     57(ptr) AccessChain 56(I.m_Position) 71
              73:    7(fvec4) Load 72
              74:     48(ptr) AccessChain 53(I) 71 33
                              Store 74 73
              75:     57(ptr) AccessChain 61(I.m_Normal) 71
              76:    7(fvec4) Load 75
              77:     48(ptr) AccessChain 53(I) 71 32
                              Store 77 76
              81:      9(int) Load 80(cpid)
                              Store 78(cpid) 81
              84:      9(int) Load 80(cpid)
              86:          11 Load 53(I)
                              Store 85(param) 86
              88:      9(int) Load 78(cpid)
                              Store 87(param) 88
              89:20(HS_Main_Output) FunctionCall 24(@main(struct-HS_Input-vf4-vf41[3];u1;) 85(param) 87(param)
              90:    7(fvec4) CompositeExtract 89 0
              92:     91(ptr) AccessChain 83(@entryPointOutput.m_Position) 84
                              Store 92 90
                              ControlBarrier 93 94 95
              96:      9(int) Load 80(cpid)
              98:    97(bool) IEqual 96 33
                              SelectionMerge 100 None
                              BranchConditional 98 99 100
              99:               Label
             103:          11   Load 53(I)
                                Store 102(param) 103
             104:14(HS_Output)   FunctionCall 17(HS_ConstFunc(struct-HS_Input-vf4-vf41[3];) 102(param)
                                Store 101(@patchConstantResult) 104
             108:     34(ptr)   AccessChain 101(@patchConstantResult) 33 33
             109:    6(float)   Load 108
             111:    110(ptr)   AccessChain 107(@patchConstantOutput.fTessFactor) 33
                                Store 111 109
             112:     34(ptr)   AccessChain 101(@patchConstantResult) 33 32
             113:    6(float)   Load 112
             114:    110(ptr)   AccessChain 107(@patchConstantOutput.fTessFactor) 32
                                Store 114 113
             115:     34(ptr)   AccessChain 101(@patchConstantResult) 33 71
             116:    6(float)   Load 115
             117:    110(ptr)   AccessChain 107(@patchConstantOutput.fTessFactor) 71
                                Store 117 116
             121:     34(ptr)   AccessChain 101(@patchConstantResult) 32
             122:    6(float)   Load 121
             123:    110(ptr)   AccessChain 120(@patchConstantOutput.fInsideTessFactor) 33
                                Store 123 122
                                Branch 100
             100:             Label
                              Return
                              FunctionEnd
17(HS_ConstFunc(struct-HS_Input-vf4-vf41[3];):14(HS_Output) Function None 15
           16(I):     12(ptr) FunctionParameter
              18:             Label
           27(O):     26(ptr) Variable Function
                              Store 27(O) 30
              35:     34(ptr) AccessChain 16(I) 33 33 10
              36:    6(float) Load 35
              37:     34(ptr) AccessChain 16(I) 33 32 10
              38:    6(float) Load 37
              39:    6(float) FAdd 36 38
              40:     34(ptr) AccessChain 27(O) 32
                              Store 40 39
              41:14(HS_Output) Load 27(O)
                              ReturnValue 41
                              FunctionEnd
24(@main(struct-HS_Input-vf4-vf41[3];u1;):20(HS_Main_Output) Function None 21
           22(I):     12(ptr) FunctionParameter
        23(cpid):     19(ptr) FunctionParameter
              25:             Label
      45(output):     44(ptr) Variable Function
                              Store 45(output) 47
              49:     48(ptr) AccessChain 45(output) 33
                              Store 49 46
              50:20(HS_Main_Output) Load 45(output)
                              ReturnValue 50
                              FunctionEnd
