hlsl.hull.1.tesc
-Shader version: 450
+Shader version: 500
vertices = 4
+vertex spacing = equal_spacing
0:? Sequence
0:26 Function Definition: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
0:26 Function Parameters:
0:? 'm_cpid' ( temp uint)
0:? 'm_cpid' ( in uint InvocationID)
0:26 move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
-0:? '@entryPointOutput' (layout( location=0) out 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 4-element array of structure{ temp 3-component vector of float cpoint})
+0:? 'm_cpid' ( in uint InvocationID)
0:26 Function Call: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
0:? 'm_cpid' ( temp uint)
0:? Sequence
0:? move second child to first child ( temp float)
0:? direct index ( patch out float TessLevelOuter)
-0:? '@patchConstantOutput_edges' ( patch out 2-element array of 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:? 0 (const int)
0:? move second child to first child ( temp float)
0:? direct index ( patch out float TessLevelOuter)
-0:? '@patchConstantOutput_edges' ( patch out 2-element array of 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:38 Branch: Return with expression
0:38 'output' ( temp structure{ temp 2-element array of float edges})
0:? Linker Objects
-0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint})
+0:? '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
0:? 'm_cpid' ( in uint InvocationID)
0:? 'pid' ( in uint PrimitiveID)
-0:? '@patchConstantOutput' (layout( location=1) patch out structure{})
-0:? '@patchConstantOutput_edges' ( patch out 2-element array of float TessLevelOuter)
+0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
Linked tessellation control stage:
-Shader version: 450
+Shader version: 500
vertices = 4
+vertex spacing = equal_spacing
0:? Sequence
0:26 Function Definition: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
0:26 Function Parameters:
0:? 'm_cpid' ( temp uint)
0:? 'm_cpid' ( in uint InvocationID)
0:26 move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
-0:? '@entryPointOutput' (layout( location=0) out 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 4-element array of structure{ temp 3-component vector of float cpoint})
+0:? 'm_cpid' ( in uint InvocationID)
0:26 Function Call: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
0:? 'm_cpid' ( temp uint)
0:? Sequence
0:? move second child to first child ( temp float)
0:? direct index ( patch out float TessLevelOuter)
-0:? '@patchConstantOutput_edges' ( patch out 2-element array of 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:? 0 (const int)
0:? move second child to first child ( temp float)
0:? direct index ( patch out float TessLevelOuter)
-0:? '@patchConstantOutput_edges' ( patch out 2-element array of 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:38 Branch: Return with expression
0:38 'output' ( temp structure{ temp 2-element array of float edges})
0:? Linker Objects
-0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint})
+0:? '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
0:? 'm_cpid' ( in uint InvocationID)
0:? 'pid' ( in uint PrimitiveID)
-0:? '@patchConstantOutput' (layout( location=1) patch out structure{})
-0:? '@patchConstantOutput_edges' ( patch out 2-element array of float TessLevelOuter)
+0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 88
+// Generated by (magic number): 80002
+// Id's are bound by 89
Capability Tessellation
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint TessellationControl 4 "main" 40 44 47 62 67 87
+ EntryPoint TessellationControl 4 "main" 40 44 48 65 71
ExecutionMode 4 OutputVertices 4
+ ExecutionMode 4 Isolines
+ ExecutionMode 4 SpacingEqual
+ Source HLSL 500
Name 4 "main"
Name 8 "VS_OUT"
MemberName 8(VS_OUT) 0 "cpoint"
Name 40 "ip"
Name 42 "m_cpid"
Name 44 "m_cpid"
- Name 47 "@entryPointOutput"
- Name 48 "param"
+ Name 48 "@entryPointOutput"
Name 50 "param"
- Name 61 "@patchConstantResult"
- Name 62 "pid"
- Name 63 "param"
- Name 67 "@patchConstantOutput_edges"
- Name 77 "output"
- Name 85 "HS_CONSTANT_OUT"
- Name 87 "@patchConstantOutput"
+ Name 52 "param"
+ Name 64 "@patchConstantResult"
+ Name 65 "pid"
+ Name 66 "param"
+ Name 71 "@patchConstantOutput.edges"
+ Name 81 "output"
Decorate 40(ip) Location 0
Decorate 44(m_cpid) BuiltIn InvocationId
- Decorate 47(@entryPointOutput) Location 0
- Decorate 62(pid) BuiltIn PrimitiveId
- Decorate 67(@patchConstantOutput_edges) Patch
- Decorate 67(@patchConstantOutput_edges) BuiltIn TessLevelOuter
- Decorate 87(@patchConstantOutput) Patch
- Decorate 87(@patchConstantOutput) Location 1
+ Decorate 48(@entryPointOutput) Location 0
+ Decorate 65(pid) BuiltIn PrimitiveId
+ Decorate 71(@patchConstantOutput.edges) Patch
+ Decorate 71(@patchConstantOutput.edges) BuiltIn TessLevelOuter
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
40(ip): 39(ptr) Variable Input
43: TypePointer Input 9(int)
44(m_cpid): 43(ptr) Variable Input
- 46: TypePointer Output 14(HS_OUT)
-47(@entryPointOutput): 46(ptr) Variable Output
- 53: 9(int) Constant 1
- 54: 9(int) Constant 0
- 56: TypeBool
- 60: TypePointer Function 22(HS_CONSTANT_OUT)
- 62(pid): 43(ptr) Variable Input
- 66: TypePointer Output 21
-67(@patchConstantOutput_edges): 66(ptr) Variable Output
- 68: TypePointer Function 6(float)
- 71: TypePointer Output 6(float)
- 73: 29(int) Constant 1
- 78: 6(float) Constant 1073741824
- 80: 6(float) Constant 1090519040
-85(HS_CONSTANT_OUT): TypeStruct
- 86: TypePointer Output 85(HS_CONSTANT_OUT)
-87(@patchConstantOutput): 86(ptr) Variable Output
+ 46: TypeArray 14(HS_OUT) 10
+ 47: TypePointer Output 46
+48(@entryPointOutput): 47(ptr) Variable Output
+ 55: TypePointer Output 14(HS_OUT)
+ 57: 9(int) Constant 0
+ 59: TypeBool
+ 63: TypePointer Function 22(HS_CONSTANT_OUT)
+ 65(pid): 43(ptr) Variable Input
+ 69: TypeArray 6(float) 10
+ 70: TypePointer Output 69
+71(@patchConstantOutput.edges): 70(ptr) Variable Output
+ 72: TypePointer Function 6(float)
+ 75: TypePointer Output 6(float)
+ 77: 29(int) Constant 1
+ 82: 6(float) Constant 1073741824
+ 84: 6(float) Constant 1090519040
4(main): 2 Function None 3
5: Label
38(ip): 12(ptr) Variable Function
42(m_cpid): 13(ptr) Variable Function
- 48(param): 12(ptr) Variable Function
- 50(param): 13(ptr) Variable Function
-61(@patchConstantResult): 60(ptr) Variable Function
- 63(param): 13(ptr) Variable Function
+ 50(param): 12(ptr) Variable Function
+ 52(param): 13(ptr) Variable Function
+64(@patchConstantResult): 63(ptr) Variable Function
+ 66(param): 13(ptr) Variable Function
41: 11 Load 40(ip)
Store 38(ip) 41
45: 9(int) Load 44(m_cpid)
Store 42(m_cpid) 45
- 49: 11 Load 38(ip)
- Store 48(param) 49
- 51: 9(int) Load 42(m_cpid)
+ 49: 9(int) Load 44(m_cpid)
+ 51: 11 Load 38(ip)
Store 50(param) 51
- 52: 14(HS_OUT) FunctionCall 18(@main(struct-VS_OUT-vf31[4];u1;) 48(param) 50(param)
- Store 47(@entryPointOutput) 52
- ControlBarrier 20 53 54
- 55: 9(int) Load 44(m_cpid)
- 57: 56(bool) IEqual 55 30
- SelectionMerge 59 None
- BranchConditional 57 58 59
- 58: Label
- 64: 9(int) Load 62(pid)
- Store 63(param) 64
- 65:22(HS_CONSTANT_OUT) FunctionCall 25(PCF(u1;) 63(param)
- Store 61(@patchConstantResult) 65
- 69: 68(ptr) AccessChain 61(@patchConstantResult) 30 30
- 70: 6(float) Load 69
- 72: 71(ptr) AccessChain 67(@patchConstantOutput_edges) 30
- Store 72 70
- 74: 68(ptr) AccessChain 61(@patchConstantResult) 30 73
- 75: 6(float) Load 74
- 76: 71(ptr) AccessChain 67(@patchConstantOutput_edges) 73
- Store 76 75
- Branch 59
- 59: Label
+ 53: 9(int) Load 42(m_cpid)
+ Store 52(param) 53
+ 54: 14(HS_OUT) FunctionCall 18(@main(struct-VS_OUT-vf31[4];u1;) 50(param) 52(param)
+ 56: 55(ptr) AccessChain 48(@entryPointOutput) 49
+ Store 56 54
+ ControlBarrier 20 10 57
+ 58: 9(int) Load 44(m_cpid)
+ 60: 59(bool) IEqual 58 30
+ SelectionMerge 62 None
+ BranchConditional 60 61 62
+ 61: Label
+ 67: 9(int) Load 65(pid)
+ Store 66(param) 67
+ 68:22(HS_CONSTANT_OUT) FunctionCall 25(PCF(u1;) 66(param)
+ Store 64(@patchConstantResult) 68
+ 73: 72(ptr) AccessChain 64(@patchConstantResult) 30 30
+ 74: 6(float) Load 73
+ 76: 75(ptr) AccessChain 71(@patchConstantOutput.edges) 30
+ Store 76 74
+ 78: 72(ptr) AccessChain 64(@patchConstantResult) 30 77
+ 79: 6(float) Load 78
+ 80: 75(ptr) AccessChain 71(@patchConstantOutput.edges) 77
+ Store 80 79
+ Branch 62
+ 62: Label
Return
FunctionEnd
18(@main(struct-VS_OUT-vf31[4];u1;): 14(HS_OUT) Function None 15
25(PCF(u1;):22(HS_CONSTANT_OUT) Function None 23
24(pid): 13(ptr) FunctionParameter
26: Label
- 77(output): 60(ptr) Variable Function
- 79: 68(ptr) AccessChain 77(output) 30 30
- Store 79 78
- 81: 68(ptr) AccessChain 77(output) 30 73
- Store 81 80
- 82:22(HS_CONSTANT_OUT) Load 77(output)
- ReturnValue 82
+ 81(output): 63(ptr) Variable Function
+ 83: 72(ptr) AccessChain 81(output) 30 30
+ Store 83 82
+ 85: 72(ptr) AccessChain 81(output) 30 77
+ Store 85 84
+ 86:22(HS_CONSTANT_OUT) Load 81(output)
+ ReturnValue 86
FunctionEnd