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      move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
0:?         'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
0:?         'ip' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float cpoint})
0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float cpoint})
0:?           'InvocationId' ( in uint InvocationID)
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:?       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' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float cpoint})
0:?     'ip' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float cpoint})
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      move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
0:?         'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
0:?         'ip' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float cpoint})
0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float cpoint})
0:?           'InvocationId' ( in uint InvocationID)
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:?       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' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float cpoint})
0:?     'ip' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float cpoint})
0:?     'InvocationId' ( in uint InvocationID)

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

                              Capability Tessellation
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TessellationControl 4  "main" 33 37 39
                              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 33  "ip"
                              Name 37  "@entryPointOutput"
                              Name 39  "InvocationId"
                              Name 41  "param"
                              Decorate 33(ip) Location 0
                              Decorate 37(@entryPointOutput) Location 0
                              Decorate 39(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:             TypePointer Input 11
          33(ip):     32(ptr) Variable Input
              35:             TypeArray 13(HS_OUT) 10
              36:             TypePointer Output 35
37(@entryPointOutput):     36(ptr) Variable Output
              38:             TypePointer Input 9(int)
39(InvocationId):     38(ptr) Variable Input
              44:             TypePointer Output 13(HS_OUT)
              46:      9(int) Constant 2
              47:      9(int) Constant 4
              48:      9(int) Constant 0
              50:             TypeBool
         4(main):           2 Function None 3
               5:             Label
          31(ip):     12(ptr) Variable Function
       41(param):     12(ptr) Variable Function
              34:          11 Load 33(ip)
                              Store 31(ip) 34
              40:      9(int) Load 39(InvocationId)
              42:          11 Load 31(ip)
                              Store 41(param) 42
              43:  13(HS_OUT) FunctionCall 16(@main(struct-VS_OUT-vf31[3];) 41(param)
              45:     44(ptr) AccessChain 37(@entryPointOutput) 40
                              Store 45 43
                              ControlBarrier 46 47 48
              49:      9(int) Load 39(InvocationId)
              51:    50(bool) IEqual 49 23
                              SelectionMerge 53 None
                              BranchConditional 51 52 53
              52:               Label
              54:           2   FunctionCall 18(PCF()
                                Branch 53
              53:             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
