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          m_Normal: direct index for structure ( temp 4-component vector of float)
0:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
0:39              'I' (layout( location=0) in 3-element array of structure{ 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        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          m_Normal: direct index for structure ( temp 4-component vector of float)
0:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
0:39              'I' (layout( location=0) in 3-element array of structure{ 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        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          m_Normal: direct index for structure ( temp 4-component vector of float)
0:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
0:39              'I' (layout( location=0) in 3-element array of structure{ 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      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          direct index ( out 4-component vector of float Position)
0:?             '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
0:39            Constant:
0:39              0 (const int)
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' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
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          m_Normal: direct index for structure ( temp 4-component vector of float)
0:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
0:39              'I' (layout( location=0) in 3-element array of structure{ 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        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          m_Normal: direct index for structure ( temp 4-component vector of float)
0:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
0:39              'I' (layout( location=0) in 3-element array of structure{ 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        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          m_Normal: direct index for structure ( temp 4-component vector of float)
0:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
0:39              'I' (layout( location=0) in 3-element array of structure{ 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      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          direct index ( out 4-component vector of float Position)
0:?             '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
0:39            Constant:
0:39              0 (const int)
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' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
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): 80001
// Id's are bound by 127

                              Capability Tessellation
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TessellationControl 4  "main" 56 64 83 86 110 123
                              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  "HS_Input"
                              MemberName 61(HS_Input) 0  "m_Normal"
                              Name 64  "I"
                              Name 81  "cpid"
                              Name 83  "cpid"
                              Name 86  "@entryPointOutput.m_Position"
                              Name 87  "param"
                              Name 89  "param"
                              Name 103  "@patchConstantResult"
                              Name 104  "param"
                              Name 110  "@patchConstantOutput.fTessFactor"
                              Name 123  "@patchConstantOutput.fInsideTessFactor"
                              Decorate 56(I.m_Position) BuiltIn Position
                              Decorate 64(I) Location 0
                              Decorate 83(cpid) BuiltIn InvocationId
                              Decorate 86(@entryPointOutput.m_Position) BuiltIn Position
                              Decorate 110(@patchConstantOutput.fTessFactor) Patch
                              Decorate 110(@patchConstantOutput.fTessFactor) BuiltIn TessLevelOuter
                              Decorate 123(@patchConstantOutput.fInsideTessFactor) Patch
                              Decorate 123(@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(HS_Input):             TypeStruct 7(fvec4)
              62:             TypeArray 61(HS_Input) 10
              63:             TypePointer Input 62
           64(I):     63(ptr) Variable Input
              74:     31(int) Constant 2
              82:             TypePointer Input 9(int)
        83(cpid):     82(ptr) Variable Input
              85:             TypePointer Output 54
86(@entryPointOutput.m_Position):     85(ptr) Variable Output
              93:             TypePointer Output 7(fvec4)
              95:      9(int) Constant 2
              96:      9(int) Constant 1
              97:      9(int) Constant 0
              99:             TypeBool
             107:      9(int) Constant 4
             108:             TypeArray 6(float) 107
             109:             TypePointer Output 108
110(@patchConstantOutput.fTessFactor):    109(ptr) Variable Output
             113:             TypePointer Output 6(float)
             121:             TypeArray 6(float) 95
             122:             TypePointer Output 121
123(@patchConstantOutput.fInsideTessFactor):    122(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
           53(I):     12(ptr) Variable Function
        81(cpid):     19(ptr) Variable Function
       87(param):     12(ptr) Variable Function
       89(param):     19(ptr) Variable Function
103(@patchConstantResult):     26(ptr) Variable Function
      104(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
              65:     57(ptr) AccessChain 64(I) 33 33
              66:    7(fvec4) Load 65
              67:     48(ptr) AccessChain 53(I) 33 32
                              Store 67 66
              68:     57(ptr) AccessChain 56(I.m_Position) 32
              69:    7(fvec4) Load 68
              70:     48(ptr) AccessChain 53(I) 32 33
                              Store 70 69
              71:     57(ptr) AccessChain 64(I) 32 33
              72:    7(fvec4) Load 71
              73:     48(ptr) AccessChain 53(I) 32 32
                              Store 73 72
              75:     57(ptr) AccessChain 56(I.m_Position) 74
              76:    7(fvec4) Load 75
              77:     48(ptr) AccessChain 53(I) 74 33
                              Store 77 76
              78:     57(ptr) AccessChain 64(I) 74 33
              79:    7(fvec4) Load 78
              80:     48(ptr) AccessChain 53(I) 74 32
                              Store 80 79
              84:      9(int) Load 83(cpid)
                              Store 81(cpid) 84
              88:          11 Load 53(I)
                              Store 87(param) 88
              90:      9(int) Load 81(cpid)
                              Store 89(param) 90
              91:20(HS_Main_Output) FunctionCall 24(@main(struct-HS_Input-vf4-vf41[3];u1;) 87(param) 89(param)
              92:    7(fvec4) CompositeExtract 91 0
              94:     93(ptr) AccessChain 86(@entryPointOutput.m_Position) 33
                              Store 94 92
                              ControlBarrier 95 96 97
              98:      9(int) Load 83(cpid)
             100:    99(bool) IEqual 98 33
                              SelectionMerge 102 None
                              BranchConditional 100 101 102
             101:               Label
             105:          11   Load 53(I)
                                Store 104(param) 105
             106:14(HS_Output)   FunctionCall 17(HS_ConstFunc(struct-HS_Input-vf4-vf41[3];) 104(param)
                                Store 103(@patchConstantResult) 106
             111:     34(ptr)   AccessChain 103(@patchConstantResult) 33 33
             112:    6(float)   Load 111
             114:    113(ptr)   AccessChain 110(@patchConstantOutput.fTessFactor) 33
                                Store 114 112
             115:     34(ptr)   AccessChain 103(@patchConstantResult) 33 32
             116:    6(float)   Load 115
             117:    113(ptr)   AccessChain 110(@patchConstantOutput.fTessFactor) 32
                                Store 117 116
             118:     34(ptr)   AccessChain 103(@patchConstantResult) 33 74
             119:    6(float)   Load 118
             120:    113(ptr)   AccessChain 110(@patchConstantOutput.fTessFactor) 74
                                Store 120 119
             124:     34(ptr)   AccessChain 103(@patchConstantResult) 32
             125:    6(float)   Load 124
             126:    113(ptr)   AccessChain 123(@patchConstantOutput.fInsideTessFactor) 33
                                Store 126 125
                                Branch 102
             102:             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
