hlsl.domain.3.tese
Shader version: 500
input primitive = isolines
vertex spacing = none
triangle order = none
0:? Sequence
0:24  Function Definition: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24    Function Parameters: 
0:24      'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24      'tesscoord' ( in 2-component vector of float)
0:24      'pcf_data' ( in structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor})
0:?     Sequence
0:27      move second child to first child ( temp 4-component vector of float)
0:27        pos: direct index for structure ( temp 4-component vector of float)
0:27          'o' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:27          Constant:
0:27            0 (const int)
0:27        add ( temp 4-component vector of float)
0:27          pos: direct index for structure ( temp 4-component vector of float)
0:27            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:27              'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:27              Constant:
0:27                0 (const int)
0:27            Constant:
0:27              0 (const int)
0:27          direct index ( temp float)
0:27            'tesscoord' ( in 2-component vector of float)
0:27            Constant:
0:27              0 (const int)
0:28      move second child to first child ( temp 3-component vector of float)
0:28        norm: direct index for structure ( temp 3-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            1 (const int)
0:28        add ( temp 3-component vector of float)
0:28          norm: direct index for structure ( temp 3-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) 2-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              1 (const int)
0:28          direct index ( temp float)
0:28            'tesscoord' ( in 2-component vector of float)
0:28            Constant:
0:28              1 (const int)
0:30      Branch: Return with expression
0:30        'o' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24  Function Definition: main( ( temp void)
0:24    Function Parameters: 
0:?     Sequence
0:24      move second child to first child ( temp 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?         'i' ( temp 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?         'i' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24      move second child to first child ( temp 2-component vector of float)
0:?         'tesscoord' ( temp 2-component vector of float)
0:?         Construct vec2 ( temp 2-component vector of float)
0:?           'tesscoord' ( patch in 3-component vector of float TessCoord)
0:24      Sequence
0:24        move second child to first child ( temp float)
0:24          direct index ( temp float)
0:24            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})
0:24              Constant:
0:24                0 (const int)
0:24            Constant:
0:24              0 (const int)
0:24          direct index ( patch in float TessLevelOuter)
0:?             'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:24            Constant:
0:24              0 (const int)
0:24        move second child to first child ( temp float)
0:24          direct index ( temp float)
0:24            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})
0:24              Constant:
0:24                0 (const int)
0:24            Constant:
0:24              1 (const int)
0:24          direct index ( patch in float TessLevelOuter)
0:?             'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:24            Constant:
0:24              1 (const int)
0:24        move second child to first child ( temp float)
0:24          direct index ( temp float)
0:24            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})
0:24              Constant:
0:24                0 (const int)
0:24            Constant:
0:24              2 (const int)
0:24          direct index ( patch in float TessLevelOuter)
0:?             'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:24            Constant:
0:24              2 (const int)
0:24        move second child to first child ( temp float)
0:24          flInsideTessFactor: direct index for structure ( temp float)
0:?             'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor})
0:24            Constant:
0:24              1 (const int)
0:24          direct index ( patch in float TessLevelInner)
0:?             'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
0:24            Constant:
0:24              0 (const int)
0:24      Sequence
0:24        move second child to first child ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24          'flattenTemp' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24          Function Call: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?             'i' ( temp 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?             'tesscoord' ( temp 2-component vector of float)
0:?             'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor})
0:24        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:24          pos: direct index for structure ( temp 4-component vector of float)
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24            Constant:
0:24              0 (const int)
0:24        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:24          norm: direct index for structure ( temp 3-component vector of float)
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24            Constant:
0:24              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' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
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)


Linked tessellation evaluation stage:


Shader version: 500
input primitive = isolines
vertex spacing = none
triangle order = none
0:? Sequence
0:24  Function Definition: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24    Function Parameters: 
0:24      'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24      'tesscoord' ( in 2-component vector of float)
0:24      'pcf_data' ( in structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor})
0:?     Sequence
0:27      move second child to first child ( temp 4-component vector of float)
0:27        pos: direct index for structure ( temp 4-component vector of float)
0:27          'o' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:27          Constant:
0:27            0 (const int)
0:27        add ( temp 4-component vector of float)
0:27          pos: direct index for structure ( temp 4-component vector of float)
0:27            direct index ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:27              'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:27              Constant:
0:27                0 (const int)
0:27            Constant:
0:27              0 (const int)
0:27          direct index ( temp float)
0:27            'tesscoord' ( in 2-component vector of float)
0:27            Constant:
0:27              0 (const int)
0:28      move second child to first child ( temp 3-component vector of float)
0:28        norm: direct index for structure ( temp 3-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            1 (const int)
0:28        add ( temp 3-component vector of float)
0:28          norm: direct index for structure ( temp 3-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) 2-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              1 (const int)
0:28          direct index ( temp float)
0:28            'tesscoord' ( in 2-component vector of float)
0:28            Constant:
0:28              1 (const int)
0:30      Branch: Return with expression
0:30        'o' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24  Function Definition: main( ( temp void)
0:24    Function Parameters: 
0:?     Sequence
0:24      move second child to first child ( temp 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?         'i' ( temp 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?         'i' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24      move second child to first child ( temp 2-component vector of float)
0:?         'tesscoord' ( temp 2-component vector of float)
0:?         Construct vec2 ( temp 2-component vector of float)
0:?           'tesscoord' ( patch in 3-component vector of float TessCoord)
0:24      Sequence
0:24        move second child to first child ( temp float)
0:24          direct index ( temp float)
0:24            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})
0:24              Constant:
0:24                0 (const int)
0:24            Constant:
0:24              0 (const int)
0:24          direct index ( patch in float TessLevelOuter)
0:?             'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:24            Constant:
0:24              0 (const int)
0:24        move second child to first child ( temp float)
0:24          direct index ( temp float)
0:24            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})
0:24              Constant:
0:24                0 (const int)
0:24            Constant:
0:24              1 (const int)
0:24          direct index ( patch in float TessLevelOuter)
0:?             'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:24            Constant:
0:24              1 (const int)
0:24        move second child to first child ( temp float)
0:24          direct index ( temp float)
0:24            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})
0:24              Constant:
0:24                0 (const int)
0:24            Constant:
0:24              2 (const int)
0:24          direct index ( patch in float TessLevelOuter)
0:?             'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:24            Constant:
0:24              2 (const int)
0:24        move second child to first child ( temp float)
0:24          flInsideTessFactor: direct index for structure ( temp float)
0:?             'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor})
0:24            Constant:
0:24              1 (const int)
0:24          direct index ( patch in float TessLevelInner)
0:?             'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
0:24            Constant:
0:24              0 (const int)
0:24      Sequence
0:24        move second child to first child ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24          'flattenTemp' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24          Function Call: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?             'i' ( temp 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:?             'tesscoord' ( temp 2-component vector of float)
0:?             'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor,  temp float flInsideTessFactor})
0:24        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:24          pos: direct index for structure ( temp 4-component vector of float)
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24            Constant:
0:24              0 (const int)
0:24        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:24          norm: direct index for structure ( temp 3-component vector of float)
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
0:24            Constant:
0:24              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' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos,  temp 3-component vector of float norm})
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)

// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 100

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