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): 80006 // 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