glslang/Test/baseResults/hlsl.color.hull.tesc.out
John Kessenich ac3707921e Revert the commits that change OpArrayLength type and bumped the version number.
Now, version 5.* is all connected to making the uint type, which doesn't quite work.
Generator versions 4 and 6 do not do this.
2018-03-07 11:48:25 -07:00

573 lines
35 KiB
Plaintext

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