hlsl.hull.void.tesc
Shader version: 500
vertices = 3
vertex spacing = fractional_even_spacing
triangle order = ccw
0:? Sequence
0:26  Function Definition: @main(struct-VS_OUT-vf31[3]; ( temp structure{ temp 3-component vector of float cpoint})
0:26    Function Parameters: 
0:26      'ip' ( in 3-element array of structure{ temp 3-component vector of float cpoint})
0:?     Sequence
0:28      move second child to first child ( temp 3-component vector of float)
0:28        cpoint: direct index for structure ( temp 3-component vector of float)
0:28          'output' ( temp structure{ temp 3-component vector of float cpoint})
0:28          Constant:
0:28            0 (const int)
0:28        cpoint: direct index for structure ( temp 3-component vector of float)
0:28          direct index ( temp structure{ temp 3-component vector of float cpoint})
0:28            'ip' ( in 3-element array of structure{ temp 3-component vector of float cpoint})
0:28            Constant:
0:28              0 (const int)
0:28          Constant:
0:28            0 (const int)
0:29      Branch: Return with expression
0:29        'output' ( temp structure{ temp 3-component vector of float cpoint})
0:26  Function Definition: main( ( temp void)
0:26    Function Parameters: 
0:?     Sequence
0:26      Sequence
0:26        move second child to first child ( temp 3-component vector of float)
0:26          cpoint: direct index for structure ( temp 3-component vector of float)
0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
0:?               'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
0:26              Constant:
0:26                0 (const int)
0:26            Constant:
0:26              0 (const int)
0:26          direct index (layout( location=0) in 3-component vector of float)
0:?             'ip.cpoint' (layout( location=0) in 3-element array of 3-component vector of float)
0:26            Constant:
0:26              0 (const int)
0:26        move second child to first child ( temp 3-component vector of float)
0:26          cpoint: direct index for structure ( temp 3-component vector of float)
0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
0:?               'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
0:26              Constant:
0:26                1 (const int)
0:26            Constant:
0:26              0 (const int)
0:26          direct index (layout( location=0) in 3-component vector of float)
0:?             'ip.cpoint' (layout( location=0) in 3-element array of 3-component vector of float)
0:26            Constant:
0:26              1 (const int)
0:26        move second child to first child ( temp 3-component vector of float)
0:26          cpoint: direct index for structure ( temp 3-component vector of float)
0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
0:?               'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
0:26              Constant:
0:26                2 (const int)
0:26            Constant:
0:26              0 (const int)
0:26          direct index (layout( location=0) in 3-component vector of float)
0:?             'ip.cpoint' (layout( location=0) in 3-element array of 3-component vector of float)
0:26            Constant:
0:26              2 (const int)
0:26      Sequence
0:26        move second child to first child ( temp 3-component vector of float)
0:26          indirect index (layout( location=0) out 3-component vector of float)
0:?             '@entryPointOutput.cpoint' (layout( location=0) out 3-element array of 3-component vector of float)
0:?             'InvocationId' ( in uint InvocationID)
0:26          cpoint: direct index for structure ( temp 3-component vector of float)
0:26            Function Call: @main(struct-VS_OUT-vf31[3]; ( temp structure{ temp 3-component vector of float cpoint})
0:?               'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
0:26            Constant:
0:26              0 (const int)
0:?       Barrier ( temp void)
0:?       Test condition and select ( temp void)
0:?         Condition
0:?         Compare Equal ( temp bool)
0:?           'InvocationId' ( in uint InvocationID)
0:?           Constant:
0:?             0 (const int)
0:?         true case
0:?         Sequence
0:?           Function Call: PCF( ( temp void)
0:33  Function Definition: PCF( ( temp void)
0:33    Function Parameters: 
0:?   Linker Objects
0:?     '@entryPointOutput.cpoint' (layout( location=0) out 3-element array of 3-component vector of float)
0:?     'ip.cpoint' (layout( location=0) in 3-element array of 3-component vector of float)
0:?     'InvocationId' ( in uint InvocationID)


Linked tessellation control stage:


Shader version: 500
vertices = 3
vertex spacing = fractional_even_spacing
triangle order = ccw
0:? Sequence
0:26  Function Definition: @main(struct-VS_OUT-vf31[3]; ( temp structure{ temp 3-component vector of float cpoint})
0:26    Function Parameters: 
0:26      'ip' ( in 3-element array of structure{ temp 3-component vector of float cpoint})
0:?     Sequence
0:28      move second child to first child ( temp 3-component vector of float)
0:28        cpoint: direct index for structure ( temp 3-component vector of float)
0:28          'output' ( temp structure{ temp 3-component vector of float cpoint})
0:28          Constant:
0:28            0 (const int)
0:28        cpoint: direct index for structure ( temp 3-component vector of float)
0:28          direct index ( temp structure{ temp 3-component vector of float cpoint})
0:28            'ip' ( in 3-element array of structure{ temp 3-component vector of float cpoint})
0:28            Constant:
0:28              0 (const int)
0:28          Constant:
0:28            0 (const int)
0:29      Branch: Return with expression
0:29        'output' ( temp structure{ temp 3-component vector of float cpoint})
0:26  Function Definition: main( ( temp void)
0:26    Function Parameters: 
0:?     Sequence
0:26      Sequence
0:26        move second child to first child ( temp 3-component vector of float)
0:26          cpoint: direct index for structure ( temp 3-component vector of float)
0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
0:?               'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
0:26              Constant:
0:26                0 (const int)
0:26            Constant:
0:26              0 (const int)
0:26          direct index (layout( location=0) in 3-component vector of float)
0:?             'ip.cpoint' (layout( location=0) in 3-element array of 3-component vector of float)
0:26            Constant:
0:26              0 (const int)
0:26        move second child to first child ( temp 3-component vector of float)
0:26          cpoint: direct index for structure ( temp 3-component vector of float)
0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
0:?               'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
0:26              Constant:
0:26                1 (const int)
0:26            Constant:
0:26              0 (const int)
0:26          direct index (layout( location=0) in 3-component vector of float)
0:?             'ip.cpoint' (layout( location=0) in 3-element array of 3-component vector of float)
0:26            Constant:
0:26              1 (const int)
0:26        move second child to first child ( temp 3-component vector of float)
0:26          cpoint: direct index for structure ( temp 3-component vector of float)
0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
0:?               'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
0:26              Constant:
0:26                2 (const int)
0:26            Constant:
0:26              0 (const int)
0:26          direct index (layout( location=0) in 3-component vector of float)
0:?             'ip.cpoint' (layout( location=0) in 3-element array of 3-component vector of float)
0:26            Constant:
0:26              2 (const int)
0:26      Sequence
0:26        move second child to first child ( temp 3-component vector of float)
0:26          indirect index (layout( location=0) out 3-component vector of float)
0:?             '@entryPointOutput.cpoint' (layout( location=0) out 3-element array of 3-component vector of float)
0:?             'InvocationId' ( in uint InvocationID)
0:26          cpoint: direct index for structure ( temp 3-component vector of float)
0:26            Function Call: @main(struct-VS_OUT-vf31[3]; ( temp structure{ temp 3-component vector of float cpoint})
0:?               'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
0:26            Constant:
0:26              0 (const int)
0:?       Barrier ( temp void)
0:?       Test condition and select ( temp void)
0:?         Condition
0:?         Compare Equal ( temp bool)
0:?           'InvocationId' ( in uint InvocationID)
0:?           Constant:
0:?             0 (const int)
0:?         true case
0:?         Sequence
0:?           Function Call: PCF( ( temp void)
0:33  Function Definition: PCF( ( temp void)
0:33    Function Parameters: 
0:?   Linker Objects
0:?     '@entryPointOutput.cpoint' (layout( location=0) out 3-element array of 3-component vector of float)
0:?     'ip.cpoint' (layout( location=0) in 3-element array of 3-component vector of float)
0:?     'InvocationId' ( in uint InvocationID)

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

                              Capability Tessellation
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TessellationControl 4  "main" 34 48 50
                              ExecutionMode 4 OutputVertices 3
                              ExecutionMode 4 Triangles
                              ExecutionMode 4 SpacingFractionalEven
                              ExecutionMode 4 VertexOrderCcw
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "VS_OUT"
                              MemberName 8(VS_OUT) 0  "cpoint"
                              Name 13  "HS_OUT"
                              MemberName 13(HS_OUT) 0  "cpoint"
                              Name 16  "@main(struct-VS_OUT-vf31[3];"
                              Name 15  "ip"
                              Name 18  "PCF("
                              Name 21  "output"
                              Name 31  "ip"
                              Name 34  "ip.cpoint"
                              Name 48  "@entryPointOutput.cpoint"
                              Name 50  "InvocationId"
                              Name 52  "param"
                              Decorate 34(ip.cpoint) Location 0
                              Decorate 48(@entryPointOutput.cpoint) Location 0
                              Decorate 50(InvocationId) BuiltIn InvocationId
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 3
       8(VS_OUT):             TypeStruct 7(fvec3)
               9:             TypeInt 32 0
              10:      9(int) Constant 3
              11:             TypeArray 8(VS_OUT) 10
              12:             TypePointer Function 11
      13(HS_OUT):             TypeStruct 7(fvec3)
              14:             TypeFunction 13(HS_OUT) 12(ptr)
              20:             TypePointer Function 13(HS_OUT)
              22:             TypeInt 32 1
              23:     22(int) Constant 0
              24:             TypePointer Function 7(fvec3)
              32:             TypeArray 7(fvec3) 10
              33:             TypePointer Input 32
   34(ip.cpoint):     33(ptr) Variable Input
              35:             TypePointer Input 7(fvec3)
              39:     22(int) Constant 1
              43:     22(int) Constant 2
              47:             TypePointer Output 32
48(@entryPointOutput.cpoint):     47(ptr) Variable Output
              49:             TypePointer Input 9(int)
50(InvocationId):     49(ptr) Variable Input
              56:             TypePointer Output 7(fvec3)
              58:      9(int) Constant 2
              59:      9(int) Constant 4
              60:      9(int) Constant 0
              62:             TypeBool
         4(main):           2 Function None 3
               5:             Label
          31(ip):     12(ptr) Variable Function
       52(param):     12(ptr) Variable Function
              36:     35(ptr) AccessChain 34(ip.cpoint) 23
              37:    7(fvec3) Load 36
              38:     24(ptr) AccessChain 31(ip) 23 23
                              Store 38 37
              40:     35(ptr) AccessChain 34(ip.cpoint) 39
              41:    7(fvec3) Load 40
              42:     24(ptr) AccessChain 31(ip) 39 23
                              Store 42 41
              44:     35(ptr) AccessChain 34(ip.cpoint) 43
              45:    7(fvec3) Load 44
              46:     24(ptr) AccessChain 31(ip) 43 23
                              Store 46 45
              51:      9(int) Load 50(InvocationId)
              53:          11 Load 31(ip)
                              Store 52(param) 53
              54:  13(HS_OUT) FunctionCall 16(@main(struct-VS_OUT-vf31[3];) 52(param)
              55:    7(fvec3) CompositeExtract 54 0
              57:     56(ptr) AccessChain 48(@entryPointOutput.cpoint) 51
                              Store 57 55
                              ControlBarrier 58 59 60
              61:      9(int) Load 50(InvocationId)
              63:    62(bool) IEqual 61 23
                              SelectionMerge 65 None
                              BranchConditional 63 64 65
              64:               Label
              66:           2   FunctionCall 18(PCF()
                                Branch 65
              65:             Label
                              Return
                              FunctionEnd
16(@main(struct-VS_OUT-vf31[3];):  13(HS_OUT) Function None 14
          15(ip):     12(ptr) FunctionParameter
              17:             Label
      21(output):     20(ptr) Variable Function
              25:     24(ptr) AccessChain 15(ip) 23 23
              26:    7(fvec3) Load 25
              27:     24(ptr) AccessChain 21(output) 23
                              Store 27 26
              28:  13(HS_OUT) Load 21(output)
                              ReturnValue 28
                              FunctionEnd
        18(PCF():           2 Function None 3
              19:             Label
                              Return
                              FunctionEnd
