hlsl.domain.2.tese
Shader version: 500
input primitive = triangles
vertex spacing = none
triangle order = none
0:? Sequence
0:25  Function Definition: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25    Function Parameters: 
0:25      'pcf_data' ( in structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:25      'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25      'tesscoord' ( in 3-component vector of float)
0:?     Sequence
0:28      move second child to first child ( temp 4-component vector of float)
0:28        pos: direct index for structure ( temp 4-component vector of float)
0:28          'o' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:28          Constant:
0:28            0 (const int)
0:28        add ( temp 4-component vector of float)
0:28          pos: direct index for structure ( temp 4-component vector of float)
0:28            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:28              'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:28              Constant:
0:28                0 (const int)
0:28            Constant:
0:28              0 (const int)
0:28          direct index ( temp float)
0:28            'tesscoord' ( in 3-component vector of float)
0:28            Constant:
0:28              0 (const int)
0:29      move second child to first child ( temp 3-component vector of float)
0:29        norm: direct index for structure ( temp 3-component vector of float)
0:29          'o' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:29          Constant:
0:29            1 (const int)
0:29        add ( temp 3-component vector of float)
0:29          norm: direct index for structure ( temp 3-component vector of float)
0:29            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:29              'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:29              Constant:
0:29                0 (const int)
0:29            Constant:
0:29              1 (const int)
0:29          direct index ( temp float)
0:29            'tesscoord' ( in 3-component vector of float)
0:29            Constant:
0:29              1 (const int)
0:31      direct index ( temp float)
0:31        'tesscoord' ( in 3-component vector of float)
0:31        Constant:
0:31          2 (const int)
0:33      Branch: Return with expression
0:33        'o' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25  Function Definition: main( ( temp void)
0:25    Function Parameters: 
0:?     Sequence
0:25      Sequence
0:25        move second child to first child ( temp float)
0:25          direct index ( temp float)
0:25            flTessFactor: direct index for structure ( temp 3-element array of float)
0:?               'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:25              Constant:
0:25                0 (const int)
0:25            Constant:
0:25              0 (const int)
0:25          direct index ( patch in float TessLevelOuter)
0:?             'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:25            Constant:
0:25              0 (const int)
0:25        move second child to first child ( temp float)
0:25          direct index ( temp float)
0:25            flTessFactor: direct index for structure ( temp 3-element array of float)
0:?               'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:25              Constant:
0:25                0 (const int)
0:25            Constant:
0:25              1 (const int)
0:25          direct index ( patch in float TessLevelOuter)
0:?             'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:25            Constant:
0:25              1 (const int)
0:25        move second child to first child ( temp float)
0:25          direct index ( temp float)
0:25            flTessFactor: direct index for structure ( temp 3-element array of float)
0:?               'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:25              Constant:
0:25                0 (const int)
0:25            Constant:
0:25              2 (const int)
0:25          direct index ( patch in float TessLevelOuter)
0:?             'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:25            Constant:
0:25              2 (const int)
0:25        move second child to first child ( temp float)
0:25          flInsideTessFactor: direct index for structure ( temp float)
0:?             'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:25            Constant:
0:25              1 (const int)
0:25          direct index ( patch in float TessLevelInner)
0:?             'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
0:25            Constant:
0:25              0 (const int)
0:25        move second child to first child ( temp float)
0:25          foo: direct index for structure ( temp float)
0:?             'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:25            Constant:
0:25              2 (const int)
0:?           'pcf_data.foo' (layout( location=2) patch in float)
0:25      Sequence
0:25        move second child to first child ( temp 4-component vector of float)
0:25          pos: direct index for structure ( temp 4-component vector of float)
0:25            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25              Constant:
0:25                0 (const int)
0:25            Constant:
0:25              0 (const int)
0:25          direct index (layout( location=0) in 4-component vector of float)
0:?             'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:25            Constant:
0:25              0 (const int)
0:25        move second child to first child ( temp 3-component vector of float)
0:25          norm: direct index for structure ( temp 3-component vector of float)
0:25            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25              Constant:
0:25                0 (const int)
0:25            Constant:
0:25              1 (const int)
0:25          direct index (layout( location=1) in 3-component vector of float)
0:?             'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:25            Constant:
0:25              0 (const int)
0:25        move second child to first child ( temp 4-component vector of float)
0:25          pos: direct index for structure ( temp 4-component vector of float)
0:25            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25              Constant:
0:25                1 (const int)
0:25            Constant:
0:25              0 (const int)
0:25          direct index (layout( location=0) in 4-component vector of float)
0:?             'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:25            Constant:
0:25              1 (const int)
0:25        move second child to first child ( temp 3-component vector of float)
0:25          norm: direct index for structure ( temp 3-component vector of float)
0:25            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25              Constant:
0:25                1 (const int)
0:25            Constant:
0:25              1 (const int)
0:25          direct index (layout( location=1) in 3-component vector of float)
0:?             'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:25            Constant:
0:25              1 (const int)
0:25        move second child to first child ( temp 4-component vector of float)
0:25          pos: direct index for structure ( temp 4-component vector of float)
0:25            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25              Constant:
0:25                2 (const int)
0:25            Constant:
0:25              0 (const int)
0:25          direct index (layout( location=0) in 4-component vector of float)
0:?             'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:25            Constant:
0:25              2 (const int)
0:25        move second child to first child ( temp 3-component vector of float)
0:25          norm: direct index for structure ( temp 3-component vector of float)
0:25            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25              Constant:
0:25                2 (const int)
0:25            Constant:
0:25              1 (const int)
0:25          direct index (layout( location=1) in 3-component vector of float)
0:?             'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:25            Constant:
0:25              2 (const int)
0:25      move second child to first child ( temp 3-component vector of float)
0:?         'tesscoord' ( temp 3-component vector of float)
0:?         'tesscoord' ( patch in 3-component vector of float TessCoord)
0:25      Sequence
0:25        move second child to first child ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25          'flattenTemp' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25          Function Call: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?             'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:?             'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?             'tesscoord' ( temp 3-component vector of float)
0:25        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.pos' (layout( location=0) out 4-component vector of float)
0:25          pos: direct index for structure ( temp 4-component vector of float)
0:25            'flattenTemp' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25            Constant:
0:25              0 (const int)
0:25        move second child to first child ( temp 3-component vector of float)
0:?           '@entryPointOutput.norm' (layout( location=1) out 3-component vector of float)
0:25          norm: direct index for structure ( temp 3-component vector of float)
0:25            'flattenTemp' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25            Constant:
0:25              1 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput.pos' (layout( location=0) out 4-component vector of float)
0:?     '@entryPointOutput.norm' (layout( location=1) out 3-component vector of float)
0:?     'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:?     'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:?     'tesscoord' ( patch in 3-component vector of float TessCoord)
0:?     'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:?     'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
0:?     'pcf_data.foo' (layout( location=2) patch in float)


Linked tessellation evaluation stage:


Shader version: 500
input primitive = triangles
vertex spacing = none
triangle order = none
0:? Sequence
0:25  Function Definition: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25    Function Parameters: 
0:25      'pcf_data' ( in structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:25      'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25      'tesscoord' ( in 3-component vector of float)
0:?     Sequence
0:28      move second child to first child ( temp 4-component vector of float)
0:28        pos: direct index for structure ( temp 4-component vector of float)
0:28          'o' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:28          Constant:
0:28            0 (const int)
0:28        add ( temp 4-component vector of float)
0:28          pos: direct index for structure ( temp 4-component vector of float)
0:28            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:28              'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:28              Constant:
0:28                0 (const int)
0:28            Constant:
0:28              0 (const int)
0:28          direct index ( temp float)
0:28            'tesscoord' ( in 3-component vector of float)
0:28            Constant:
0:28              0 (const int)
0:29      move second child to first child ( temp 3-component vector of float)
0:29        norm: direct index for structure ( temp 3-component vector of float)
0:29          'o' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:29          Constant:
0:29            1 (const int)
0:29        add ( temp 3-component vector of float)
0:29          norm: direct index for structure ( temp 3-component vector of float)
0:29            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:29              'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:29              Constant:
0:29                0 (const int)
0:29            Constant:
0:29              1 (const int)
0:29          direct index ( temp float)
0:29            'tesscoord' ( in 3-component vector of float)
0:29            Constant:
0:29              1 (const int)
0:31      direct index ( temp float)
0:31        'tesscoord' ( in 3-component vector of float)
0:31        Constant:
0:31          2 (const int)
0:33      Branch: Return with expression
0:33        'o' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25  Function Definition: main( ( temp void)
0:25    Function Parameters: 
0:?     Sequence
0:25      Sequence
0:25        move second child to first child ( temp float)
0:25          direct index ( temp float)
0:25            flTessFactor: direct index for structure ( temp 3-element array of float)
0:?               'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:25              Constant:
0:25                0 (const int)
0:25            Constant:
0:25              0 (const int)
0:25          direct index ( patch in float TessLevelOuter)
0:?             'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:25            Constant:
0:25              0 (const int)
0:25        move second child to first child ( temp float)
0:25          direct index ( temp float)
0:25            flTessFactor: direct index for structure ( temp 3-element array of float)
0:?               'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:25              Constant:
0:25                0 (const int)
0:25            Constant:
0:25              1 (const int)
0:25          direct index ( patch in float TessLevelOuter)
0:?             'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:25            Constant:
0:25              1 (const int)
0:25        move second child to first child ( temp float)
0:25          direct index ( temp float)
0:25            flTessFactor: direct index for structure ( temp 3-element array of float)
0:?               'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:25              Constant:
0:25                0 (const int)
0:25            Constant:
0:25              2 (const int)
0:25          direct index ( patch in float TessLevelOuter)
0:?             'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:25            Constant:
0:25              2 (const int)
0:25        move second child to first child ( temp float)
0:25          flInsideTessFactor: direct index for structure ( temp float)
0:?             'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:25            Constant:
0:25              1 (const int)
0:25          direct index ( patch in float TessLevelInner)
0:?             'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
0:25            Constant:
0:25              0 (const int)
0:25        move second child to first child ( temp float)
0:25          foo: direct index for structure ( temp float)
0:?             'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:25            Constant:
0:25              2 (const int)
0:?           'pcf_data.foo' (layout( location=2) patch in float)
0:25      Sequence
0:25        move second child to first child ( temp 4-component vector of float)
0:25          pos: direct index for structure ( temp 4-component vector of float)
0:25            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25              Constant:
0:25                0 (const int)
0:25            Constant:
0:25              0 (const int)
0:25          direct index (layout( location=0) in 4-component vector of float)
0:?             'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:25            Constant:
0:25              0 (const int)
0:25        move second child to first child ( temp 3-component vector of float)
0:25          norm: direct index for structure ( temp 3-component vector of float)
0:25            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25              Constant:
0:25                0 (const int)
0:25            Constant:
0:25              1 (const int)
0:25          direct index (layout( location=1) in 3-component vector of float)
0:?             'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:25            Constant:
0:25              0 (const int)
0:25        move second child to first child ( temp 4-component vector of float)
0:25          pos: direct index for structure ( temp 4-component vector of float)
0:25            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25              Constant:
0:25                1 (const int)
0:25            Constant:
0:25              0 (const int)
0:25          direct index (layout( location=0) in 4-component vector of float)
0:?             'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:25            Constant:
0:25              1 (const int)
0:25        move second child to first child ( temp 3-component vector of float)
0:25          norm: direct index for structure ( temp 3-component vector of float)
0:25            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25              Constant:
0:25                1 (const int)
0:25            Constant:
0:25              1 (const int)
0:25          direct index (layout( location=1) in 3-component vector of float)
0:?             'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:25            Constant:
0:25              1 (const int)
0:25        move second child to first child ( temp 4-component vector of float)
0:25          pos: direct index for structure ( temp 4-component vector of float)
0:25            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25              Constant:
0:25                2 (const int)
0:25            Constant:
0:25              0 (const int)
0:25          direct index (layout( location=0) in 4-component vector of float)
0:?             'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:25            Constant:
0:25              2 (const int)
0:25        move second child to first child ( temp 3-component vector of float)
0:25          norm: direct index for structure ( temp 3-component vector of float)
0:25            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25              Constant:
0:25                2 (const int)
0:25            Constant:
0:25              1 (const int)
0:25          direct index (layout( location=1) in 3-component vector of float)
0:?             'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:25            Constant:
0:25              2 (const int)
0:25      move second child to first child ( temp 3-component vector of float)
0:?         'tesscoord' ( temp 3-component vector of float)
0:?         'tesscoord' ( patch in 3-component vector of float TessCoord)
0:25      Sequence
0:25        move second child to first child ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25          'flattenTemp' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25          Function Call: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?             'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor,  temp float foo})
0:?             'i' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?             'tesscoord' ( temp 3-component vector of float)
0:25        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.pos' (layout( location=0) out 4-component vector of float)
0:25          pos: direct index for structure ( temp 4-component vector of float)
0:25            'flattenTemp' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25            Constant:
0:25              0 (const int)
0:25        move second child to first child ( temp 3-component vector of float)
0:?           '@entryPointOutput.norm' (layout( location=1) out 3-component vector of float)
0:25          norm: direct index for structure ( temp 3-component vector of float)
0:25            'flattenTemp' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:25            Constant:
0:25              1 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput.pos' (layout( location=0) out 4-component vector of float)
0:?     '@entryPointOutput.norm' (layout( location=1) out 3-component vector of float)
0:?     'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:?     'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:?     'tesscoord' ( patch in 3-component vector of float TessCoord)
0:?     'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:?     'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
0:?     'pcf_data.foo' (layout( location=2) patch in float)

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

                              Capability Tessellation
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TessellationEvaluation 4  "main" 52 67 71 78 85 103 113 117
                              ExecutionMode 4 Triangles
                              Source HLSL 500
                              Name 4  "main"
                              Name 10  "pcf_in_t"
                              MemberName 10(pcf_in_t) 0  "flTessFactor"
                              MemberName 10(pcf_in_t) 1  "flInsideTessFactor"
                              MemberName 10(pcf_in_t) 2  "foo"
                              Name 14  "ds_in_t"
                              MemberName 14(ds_in_t) 0  "pos"
                              MemberName 14(ds_in_t) 1  "norm"
                              Name 17  "gs_in_t"
                              MemberName 17(gs_in_t) 0  "pos"
                              MemberName 17(gs_in_t) 1  "norm"
                              Name 22  "@main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3;"
                              Name 19  "pcf_data"
                              Name 20  "i"
                              Name 21  "tesscoord"
                              Name 25  "o"
                              Name 48  "pcf_data"
                              Name 52  "pcf_data.flTessFactor"
                              Name 67  "pcf_data.flInsideTessFactor"
                              Name 71  "pcf_data.foo"
                              Name 75  "i"
                              Name 78  "i.pos"
                              Name 85  "i.norm"
                              Name 102  "tesscoord"
                              Name 103  "tesscoord"
                              Name 105  "flattenTemp"
                              Name 107  "param"
                              Name 109  "param"
                              Name 113  "@entryPointOutput.pos"
                              Name 117  "@entryPointOutput.norm"
                              Decorate 52(pcf_data.flTessFactor) Patch
                              Decorate 52(pcf_data.flTessFactor) BuiltIn TessLevelOuter
                              Decorate 67(pcf_data.flInsideTessFactor) Patch
                              Decorate 67(pcf_data.flInsideTessFactor) BuiltIn TessLevelInner
                              Decorate 71(pcf_data.foo) Patch
                              Decorate 71(pcf_data.foo) Location 2
                              Decorate 78(i.pos) Location 0
                              Decorate 85(i.norm) Location 1
                              Decorate 103(tesscoord) Patch
                              Decorate 103(tesscoord) BuiltIn TessCoord
                              Decorate 113(@entryPointOutput.pos) Location 0
                              Decorate 117(@entryPointOutput.norm) Location 1
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeInt 32 0
               8:      7(int) Constant 3
               9:             TypeArray 6(float) 8
    10(pcf_in_t):             TypeStruct 9 6(float) 6(float)
              11:             TypePointer Function 10(pcf_in_t)
              12:             TypeVector 6(float) 4
              13:             TypeVector 6(float) 3
     14(ds_in_t):             TypeStruct 12(fvec4) 13(fvec3)
              15:             TypeArray 14(ds_in_t) 8
              16:             TypePointer Function 13(fvec3)
     17(gs_in_t):             TypeStruct 12(fvec4) 13(fvec3)
              18:             TypeFunction 17(gs_in_t) 11(ptr) 15 16(ptr)
              24:             TypePointer Function 17(gs_in_t)
              26:             TypeInt 32 1
              27:     26(int) Constant 0
              29:      7(int) Constant 0
              30:             TypePointer Function 6(float)
              35:             TypePointer Function 12(fvec4)
              37:     26(int) Constant 1
              39:      7(int) Constant 1
              49:      7(int) Constant 4
              50:             TypeArray 6(float) 49
              51:             TypePointer Input 50
52(pcf_data.flTessFactor):     51(ptr) Variable Input
              53:             TypePointer Input 6(float)
              60:     26(int) Constant 2
              64:      7(int) Constant 2
              65:             TypeArray 6(float) 64
              66:             TypePointer Input 65
67(pcf_data.flInsideTessFactor):     66(ptr) Variable Input
71(pcf_data.foo):     53(ptr) Variable Input
              74:             TypePointer Function 15
              76:             TypeArray 12(fvec4) 8
              77:             TypePointer Input 76
       78(i.pos):     77(ptr) Variable Input
              79:             TypePointer Input 12(fvec4)
              83:             TypeArray 13(fvec3) 8
              84:             TypePointer Input 83
      85(i.norm):     84(ptr) Variable Input
              86:             TypePointer Input 13(fvec3)
  103(tesscoord):     86(ptr) Variable Input
             112:             TypePointer Output 12(fvec4)
113(@entryPointOutput.pos):    112(ptr) Variable Output
             116:             TypePointer Output 13(fvec3)
117(@entryPointOutput.norm):    116(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
    48(pcf_data):     11(ptr) Variable Function
           75(i):     74(ptr) Variable Function
  102(tesscoord):     16(ptr) Variable Function
105(flattenTemp):     24(ptr) Variable Function
      107(param):     11(ptr) Variable Function
      109(param):     16(ptr) Variable Function
              54:     53(ptr) AccessChain 52(pcf_data.flTessFactor) 27
              55:    6(float) Load 54
              56:     30(ptr) AccessChain 48(pcf_data) 27 27
                              Store 56 55
              57:     53(ptr) AccessChain 52(pcf_data.flTessFactor) 37
              58:    6(float) Load 57
              59:     30(ptr) AccessChain 48(pcf_data) 27 37
                              Store 59 58
              61:     53(ptr) AccessChain 52(pcf_data.flTessFactor) 60
              62:    6(float) Load 61
              63:     30(ptr) AccessChain 48(pcf_data) 27 60
                              Store 63 62
              68:     53(ptr) AccessChain 67(pcf_data.flInsideTessFactor) 27
              69:    6(float) Load 68
              70:     30(ptr) AccessChain 48(pcf_data) 37
                              Store 70 69
              72:    6(float) Load 71(pcf_data.foo)
              73:     30(ptr) AccessChain 48(pcf_data) 60
                              Store 73 72
              80:     79(ptr) AccessChain 78(i.pos) 27
              81:   12(fvec4) Load 80
              82:     35(ptr) AccessChain 75(i) 27 27
                              Store 82 81
              87:     86(ptr) AccessChain 85(i.norm) 27
              88:   13(fvec3) Load 87
              89:     16(ptr) AccessChain 75(i) 27 37
                              Store 89 88
              90:     79(ptr) AccessChain 78(i.pos) 37
              91:   12(fvec4) Load 90
              92:     35(ptr) AccessChain 75(i) 37 27
                              Store 92 91
              93:     86(ptr) AccessChain 85(i.norm) 37
              94:   13(fvec3) Load 93
              95:     16(ptr) AccessChain 75(i) 37 37
                              Store 95 94
              96:     79(ptr) AccessChain 78(i.pos) 60
              97:   12(fvec4) Load 96
              98:     35(ptr) AccessChain 75(i) 60 27
                              Store 98 97
              99:     86(ptr) AccessChain 85(i.norm) 60
             100:   13(fvec3) Load 99
             101:     16(ptr) AccessChain 75(i) 60 37
                              Store 101 100
             104:   13(fvec3) Load 103(tesscoord)
                              Store 102(tesscoord) 104
             106:          15 Load 75(i)
             108:10(pcf_in_t) Load 48(pcf_data)
                              Store 107(param) 108
             110:   13(fvec3) Load 102(tesscoord)
                              Store 109(param) 110
             111: 17(gs_in_t) FunctionCall 22(@main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3;) 107(param) 106 109(param)
                              Store 105(flattenTemp) 111
             114:     35(ptr) AccessChain 105(flattenTemp) 27
             115:   12(fvec4) Load 114
                              Store 113(@entryPointOutput.pos) 115
             118:     16(ptr) AccessChain 105(flattenTemp) 37
             119:   13(fvec3) Load 118
                              Store 117(@entryPointOutput.norm) 119
                              Return
                              FunctionEnd
22(@main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3;): 17(gs_in_t) Function None 18
    19(pcf_data):     11(ptr) FunctionParameter
           20(i):          15 FunctionParameter
   21(tesscoord):     16(ptr) FunctionParameter
              23:             Label
           25(o):     24(ptr) Variable Function
              28:   12(fvec4) CompositeExtract 20(i) 0 0
              31:     30(ptr) AccessChain 21(tesscoord) 29
              32:    6(float) Load 31
              33:   12(fvec4) CompositeConstruct 32 32 32 32
              34:   12(fvec4) FAdd 28 33
              36:     35(ptr) AccessChain 25(o) 27
                              Store 36 34
              38:   13(fvec3) CompositeExtract 20(i) 0 1
              40:     30(ptr) AccessChain 21(tesscoord) 39
              41:    6(float) Load 40
              42:   13(fvec3) CompositeConstruct 41 41 41
              43:   13(fvec3) FAdd 38 42
              44:     16(ptr) AccessChain 25(o) 37
                              Store 44 43
              45: 17(gs_in_t) Load 25(o)
                              ReturnValue 45
                              FunctionEnd
