hlsl.color.hull.tesc
Shader version: 500
vertices = 3
vertex spacing = equal_spacing
triangle order = cw
0:? Sequence
0:37  Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:37    Function Parameters: 
0:37      'inputPatch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:37      'patchId' ( in uint)
0:?     Sequence
0:42      move second child to first child ( temp float)
0:42        direct index ( temp float)
0:42          edges: direct index for structure ( temp 3-element array of float)
0:42            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:42            Constant:
0:42              0 (const int)
0:42          Constant:
0:42            0 (const int)
0:42        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
0:42          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
0:42          Constant:
0:42            0 (const uint)
0:43      move second child to first child ( temp float)
0:43        direct index ( temp float)
0:43          edges: direct index for structure ( temp 3-element array of float)
0:43            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:43            Constant:
0:43              0 (const int)
0:43          Constant:
0:43            1 (const int)
0:43        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
0:43          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
0:43          Constant:
0:43            0 (const uint)
0:44      move second child to first child ( temp float)
0:44        direct index ( temp float)
0:44          edges: direct index for structure ( temp 3-element array of float)
0:44            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:44            Constant:
0:44              0 (const int)
0:44          Constant:
0:44            2 (const int)
0:44        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
0:44          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
0:44          Constant:
0:44            0 (const uint)
0:47      move second child to first child ( temp float)
0:47        inside: direct index for structure ( temp float)
0:47          'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:47          Constant:
0:47            1 (const int)
0:47        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
0:47          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
0:47          Constant:
0:47            0 (const uint)
0:49      Branch: Return with expression
0:49        'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:63  Function Definition: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:63    Function Parameters: 
0:63      'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:63      'pointId' ( in uint)
0:63      'patchId' ( in uint)
0:?     Sequence
0:67      move second child to first child ( temp 3-component vector of float)
0:67        position: direct index for structure ( temp 3-component vector of float)
0:67          'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:67          Constant:
0:67            0 (const int)
0:67        position: direct index for structure ( temp 3-component vector of float)
0:67          indirect index ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:67            'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:67            'pointId' ( in uint)
0:67          Constant:
0:67            0 (const int)
0:70      move second child to first child ( temp 4-component vector of float)
0:70        color: direct index for structure ( temp 4-component vector of float)
0:70          'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:70          Constant:
0:70            1 (const int)
0:70        color: direct index for structure ( temp 4-component vector of float)
0:70          indirect index ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:70            'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:70            'pointId' ( in uint)
0:70          Constant:
0:70            1 (const int)
0:72      Branch: Return with expression
0:72        'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:63  Function Definition: main( ( temp void)
0:63    Function Parameters: 
0:?     Sequence
0:63      move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?         'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?         'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:63      move second child to first child ( temp uint)
0:?         'pointId' ( temp uint)
0:?         'pointId' ( in uint InvocationID)
0:63      move second child to first child ( temp uint)
0:?         'patchId' ( temp uint)
0:?         'patchId' ( in uint PrimitiveID)
0:63      move second child to first child ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:63        indirect index (layout( location=0) out structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?           'pointId' ( in uint InvocationID)
0:63        Function Call: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?           'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?           'pointId' ( temp uint)
0:?           'patchId' ( temp uint)
0:?       Barrier ( temp void)
0:?       Test condition and select ( temp void)
0:?         Condition
0:?         Compare Equal ( temp bool)
0:?           'pointId' ( 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 edges,  temp float inside})
0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?             Function Call: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?               'patchId' ( in uint PrimitiveID)
0:?           Sequence
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   0 (const int)
0:?               direct index ( temp float)
0:?                 edges: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
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.edges' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   1 (const int)
0:?               direct index ( temp float)
0:?                 edges: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
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.edges' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   2 (const int)
0:?               direct index ( temp float)
0:?                 edges: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
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.inside' ( patch out 2-element array of float TessLevelInner)
0:?                 Constant:
0:?                   0 (const int)
0:?               inside: direct index for structure ( temp float)
0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?                 Constant:
0:?                   1 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
0:?     '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?     'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?     'pointId' ( in uint InvocationID)
0:?     'patchId' ( in uint PrimitiveID)
0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
0:?     '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)


Linked tessellation control stage:


Shader version: 500
vertices = 3
vertex spacing = equal_spacing
triangle order = cw
0:? Sequence
0:37  Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:37    Function Parameters: 
0:37      'inputPatch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:37      'patchId' ( in uint)
0:?     Sequence
0:42      move second child to first child ( temp float)
0:42        direct index ( temp float)
0:42          edges: direct index for structure ( temp 3-element array of float)
0:42            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:42            Constant:
0:42              0 (const int)
0:42          Constant:
0:42            0 (const int)
0:42        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
0:42          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
0:42          Constant:
0:42            0 (const uint)
0:43      move second child to first child ( temp float)
0:43        direct index ( temp float)
0:43          edges: direct index for structure ( temp 3-element array of float)
0:43            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:43            Constant:
0:43              0 (const int)
0:43          Constant:
0:43            1 (const int)
0:43        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
0:43          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
0:43          Constant:
0:43            0 (const uint)
0:44      move second child to first child ( temp float)
0:44        direct index ( temp float)
0:44          edges: direct index for structure ( temp 3-element array of float)
0:44            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:44            Constant:
0:44              0 (const int)
0:44          Constant:
0:44            2 (const int)
0:44        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
0:44          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
0:44          Constant:
0:44            0 (const uint)
0:47      move second child to first child ( temp float)
0:47        inside: direct index for structure ( temp float)
0:47          'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:47          Constant:
0:47            1 (const int)
0:47        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
0:47          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
0:47          Constant:
0:47            0 (const uint)
0:49      Branch: Return with expression
0:49        'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:63  Function Definition: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:63    Function Parameters: 
0:63      'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:63      'pointId' ( in uint)
0:63      'patchId' ( in uint)
0:?     Sequence
0:67      move second child to first child ( temp 3-component vector of float)
0:67        position: direct index for structure ( temp 3-component vector of float)
0:67          'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:67          Constant:
0:67            0 (const int)
0:67        position: direct index for structure ( temp 3-component vector of float)
0:67          indirect index ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:67            'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:67            'pointId' ( in uint)
0:67          Constant:
0:67            0 (const int)
0:70      move second child to first child ( temp 4-component vector of float)
0:70        color: direct index for structure ( temp 4-component vector of float)
0:70          'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:70          Constant:
0:70            1 (const int)
0:70        color: direct index for structure ( temp 4-component vector of float)
0:70          indirect index ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:70            'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:70            'pointId' ( in uint)
0:70          Constant:
0:70            1 (const int)
0:72      Branch: Return with expression
0:72        'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:63  Function Definition: main( ( temp void)
0:63    Function Parameters: 
0:?     Sequence
0:63      move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?         'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?         'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:63      move second child to first child ( temp uint)
0:?         'pointId' ( temp uint)
0:?         'pointId' ( in uint InvocationID)
0:63      move second child to first child ( temp uint)
0:?         'patchId' ( temp uint)
0:?         'patchId' ( in uint PrimitiveID)
0:63      move second child to first child ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:63        indirect index (layout( location=0) out structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?           'pointId' ( in uint InvocationID)
0:63        Function Call: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?           'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?           'pointId' ( temp uint)
0:?           'patchId' ( temp uint)
0:?       Barrier ( temp void)
0:?       Test condition and select ( temp void)
0:?         Condition
0:?         Compare Equal ( temp bool)
0:?           'pointId' ( 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 edges,  temp float inside})
0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?             Function Call: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?               'patchId' ( in uint PrimitiveID)
0:?           Sequence
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   0 (const int)
0:?               direct index ( temp float)
0:?                 edges: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
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.edges' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   1 (const int)
0:?               direct index ( temp float)
0:?                 edges: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
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.edges' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   2 (const int)
0:?               direct index ( temp float)
0:?                 edges: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
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.inside' ( patch out 2-element array of float TessLevelInner)
0:?                 Constant:
0:?                   0 (const int)
0:?               inside: direct index for structure ( temp float)
0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?                 Constant:
0:?                   1 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
0:?     '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?     'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
0:?     'pointId' ( in uint InvocationID)
0:?     'patchId' ( in uint PrimitiveID)
0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
0:?     '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)

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

                              Capability Tessellation
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TessellationControl 4  "main" 72 76 79 83 110 123
                              ExecutionMode 4 OutputVertices 3
                              ExecutionMode 4 Triangles
                              ExecutionMode 4 SpacingEqual
                              ExecutionMode 4 VertexOrderCw
                              Source HLSL 500
                              Name 4  "main"
                              Name 9  "HullInputType"
                              MemberName 9(HullInputType) 0  "position"
                              MemberName 9(HullInputType) 1  "color"
                              Name 16  "ConstantOutputType"
                              MemberName 16(ConstantOutputType) 0  "edges"
                              MemberName 16(ConstantOutputType) 1  "inside"
                              Name 20  "ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;"
                              Name 18  "inputPatch"
                              Name 19  "patchId"
                              Name 22  "HullOutputType"
                              MemberName 22(HullOutputType) 0  "position"
                              MemberName 22(HullOutputType) 1  "color"
                              Name 27  "@main(struct-HullInputType-vf3-vf41[3];u1;u1;"
                              Name 24  "patch"
                              Name 25  "pointId"
                              Name 26  "patchId"
                              Name 30  "output"
                              Name 33  "TessellationBuffer"
                              MemberName 33(TessellationBuffer) 0  "tessellationAmount"
                              MemberName 33(TessellationBuffer) 1  "padding"
                              Name 35  ""
                              Name 56  "output"
                              Name 70  "patch"
                              Name 72  "patch"
                              Name 74  "pointId"
                              Name 76  "pointId"
                              Name 78  "patchId"
                              Name 79  "patchId"
                              Name 83  "@entryPointOutput"
                              Name 85  "param"
                              Name 87  "param"
                              Name 89  "param"
                              Name 102  "@patchConstantResult"
                              Name 103  "param"
                              Name 105  "param"
                              Name 110  "@patchConstantOutput.edges"
                              Name 123  "@patchConstantOutput.inside"
                              MemberDecorate 33(TessellationBuffer) 0 Offset 0
                              MemberDecorate 33(TessellationBuffer) 1 Offset 4
                              Decorate 33(TessellationBuffer) Block
                              Decorate 35 DescriptorSet 0
                              Decorate 35 Binding 0
                              Decorate 72(patch) Location 0
                              Decorate 76(pointId) BuiltIn InvocationId
                              Decorate 79(patchId) BuiltIn PrimitiveId
                              Decorate 83(@entryPointOutput) Location 0
                              Decorate 110(@patchConstantOutput.edges) Patch
                              Decorate 110(@patchConstantOutput.edges) BuiltIn TessLevelOuter
                              Decorate 123(@patchConstantOutput.inside) Patch
                              Decorate 123(@patchConstantOutput.inside) BuiltIn TessLevelInner
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 3
               8:             TypeVector 6(float) 4
9(HullInputType):             TypeStruct 7(fvec3) 8(fvec4)
              10:             TypeInt 32 0
              11:     10(int) Constant 3
              12:             TypeArray 9(HullInputType) 11
              13:             TypePointer Function 12
              14:             TypePointer Function 10(int)
              15:             TypeArray 6(float) 11
16(ConstantOutputType):             TypeStruct 15 6(float)
              17:             TypeFunction 16(ConstantOutputType) 13(ptr) 14(ptr)
22(HullOutputType):             TypeStruct 7(fvec3) 8(fvec4)
              23:             TypeFunction 22(HullOutputType) 13(ptr) 14(ptr) 14(ptr)
              29:             TypePointer Function 16(ConstantOutputType)
              31:             TypeInt 32 1
              32:     31(int) Constant 0
33(TessellationBuffer):             TypeStruct 6(float) 7(fvec3)
              34:             TypePointer Uniform 33(TessellationBuffer)
              35:     34(ptr) Variable Uniform
              36:             TypePointer Uniform 6(float)
              39:             TypePointer Function 6(float)
              41:     31(int) Constant 1
              45:     31(int) Constant 2
              55:             TypePointer Function 22(HullOutputType)
              58:             TypePointer Function 7(fvec3)
              63:             TypePointer Function 8(fvec4)
              71:             TypePointer Input 12
       72(patch):     71(ptr) Variable Input
              75:             TypePointer Input 10(int)
     76(pointId):     75(ptr) Variable Input
     79(patchId):     75(ptr) Variable Input
              81:             TypeArray 22(HullOutputType) 11
              82:             TypePointer Output 81
83(@entryPointOutput):     82(ptr) Variable Output
              92:             TypePointer Output 22(HullOutputType)
              94:     10(int) Constant 2
              95:     10(int) Constant 4
              96:     10(int) Constant 0
              98:             TypeBool
             108:             TypeArray 6(float) 95
             109:             TypePointer Output 108
110(@patchConstantOutput.edges):    109(ptr) Variable Output
             113:             TypePointer Output 6(float)
             121:             TypeArray 6(float) 94
             122:             TypePointer Output 121
123(@patchConstantOutput.inside):    122(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
       70(patch):     13(ptr) Variable Function
     74(pointId):     14(ptr) Variable Function
     78(patchId):     14(ptr) Variable Function
       85(param):     13(ptr) Variable Function
       87(param):     14(ptr) Variable Function
       89(param):     14(ptr) Variable Function
102(@patchConstantResult):     29(ptr) Variable Function
      103(param):     13(ptr) Variable Function
      105(param):     14(ptr) Variable Function
              73:          12 Load 72(patch)
                              Store 70(patch) 73
              77:     10(int) Load 76(pointId)
                              Store 74(pointId) 77
              80:     10(int) Load 79(patchId)
                              Store 78(patchId) 80
              84:     10(int) Load 76(pointId)
              86:          12 Load 70(patch)
                              Store 85(param) 86
              88:     10(int) Load 74(pointId)
                              Store 87(param) 88
              90:     10(int) Load 78(patchId)
                              Store 89(param) 90
              91:22(HullOutputType) FunctionCall 27(@main(struct-HullInputType-vf3-vf41[3];u1;u1;) 85(param) 87(param) 89(param)
              93:     92(ptr) AccessChain 83(@entryPointOutput) 84
                              Store 93 91
                              ControlBarrier 94 95 96
              97:     10(int) Load 76(pointId)
              99:    98(bool) IEqual 97 32
                              SelectionMerge 101 None
                              BranchConditional 99 100 101
             100:               Label
             104:          12   Load 70(patch)
                                Store 103(param) 104
             106:     10(int)   Load 79(patchId)
                                Store 105(param) 106
             107:16(ConstantOutputType)   FunctionCall 20(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;) 103(param) 105(param)
                                Store 102(@patchConstantResult) 107
             111:     39(ptr)   AccessChain 102(@patchConstantResult) 32 32
             112:    6(float)   Load 111
             114:    113(ptr)   AccessChain 110(@patchConstantOutput.edges) 32
                                Store 114 112
             115:     39(ptr)   AccessChain 102(@patchConstantResult) 32 41
             116:    6(float)   Load 115
             117:    113(ptr)   AccessChain 110(@patchConstantOutput.edges) 41
                                Store 117 116
             118:     39(ptr)   AccessChain 102(@patchConstantResult) 32 45
             119:    6(float)   Load 118
             120:    113(ptr)   AccessChain 110(@patchConstantOutput.edges) 45
                                Store 120 119
             124:     39(ptr)   AccessChain 102(@patchConstantResult) 41
             125:    6(float)   Load 124
             126:    113(ptr)   AccessChain 123(@patchConstantOutput.inside) 32
                                Store 126 125
                                Branch 101
             101:             Label
                              Return
                              FunctionEnd
20(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;):16(ConstantOutputType) Function None 17
  18(inputPatch):     13(ptr) FunctionParameter
     19(patchId):     14(ptr) FunctionParameter
              21:             Label
      30(output):     29(ptr) Variable Function
              37:     36(ptr) AccessChain 35 32
              38:    6(float) Load 37
              40:     39(ptr) AccessChain 30(output) 32 32
                              Store 40 38
              42:     36(ptr) AccessChain 35 32
              43:    6(float) Load 42
              44:     39(ptr) AccessChain 30(output) 32 41
                              Store 44 43
              46:     36(ptr) AccessChain 35 32
              47:    6(float) Load 46
              48:     39(ptr) AccessChain 30(output) 32 45
                              Store 48 47
              49:     36(ptr) AccessChain 35 32
              50:    6(float) Load 49
              51:     39(ptr) AccessChain 30(output) 41
                              Store 51 50
              52:16(ConstantOutputType) Load 30(output)
                              ReturnValue 52
                              FunctionEnd
27(@main(struct-HullInputType-vf3-vf41[3];u1;u1;):22(HullOutputType) Function None 23
       24(patch):     13(ptr) FunctionParameter
     25(pointId):     14(ptr) FunctionParameter
     26(patchId):     14(ptr) FunctionParameter
              28:             Label
      56(output):     55(ptr) Variable Function
              57:     10(int) Load 25(pointId)
              59:     58(ptr) AccessChain 24(patch) 57 32
              60:    7(fvec3) Load 59
              61:     58(ptr) AccessChain 56(output) 32
                              Store 61 60
              62:     10(int) Load 25(pointId)
              64:     63(ptr) AccessChain 24(patch) 62 41
              65:    8(fvec4) Load 64
              66:     63(ptr) AccessChain 56(output) 41
                              Store 66 65
              67:22(HullOutputType) Load 56(output)
                              ReturnValue 67
                              FunctionEnd
