blob: 4e8a50c2d9622dd585d139d2bfd811c9b7bb6724 [file] [log] [blame]
hlsl.hull.2.tesc
Shader version: 500
vertices = 4
vertex spacing = equal_spacing
0:? Sequence
0:26 Function Definition: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
0:26 Function Parameters:
0:26 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
0:? Sequence
0:28 move second child to first child ( temp 3-component vector of float)
0:28 cpoint: direct index for structure ( temp 3-component vector of float)
0:28 'output' ( temp structure{ temp 3-component vector of float cpoint})
0:28 Constant:
0:28 0 (const int)
0:28 cpoint: direct index for structure ( temp 3-component vector of float)
0:28 direct index ( temp structure{ temp 3-component vector of float cpoint})
0:28 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
0:28 Constant:
0:28 0 (const int)
0:28 Constant:
0:28 0 (const int)
0:29 Branch: Return with expression
0:29 'output' ( temp structure{ temp 3-component vector of float cpoint})
0:26 Function Definition: main( ( temp void)
0:26 Function Parameters:
0:? Sequence
0:26 Sequence
0:26 move second child to first child ( temp 3-component vector of float)
0:26 cpoint: direct index for structure ( temp 3-component vector of float)
0:26 direct index ( 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:26 Constant:
0:26 0 (const int)
0:26 Constant:
0:26 0 (const int)
0:26 direct index (layout( location=0) in 3-component vector of float)
0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
0:26 Constant:
0:26 0 (const int)
0:26 move second child to first child ( temp 3-component vector of float)
0:26 cpoint: direct index for structure ( temp 3-component vector of float)
0:26 direct index ( 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:26 Constant:
0:26 1 (const int)
0:26 Constant:
0:26 0 (const int)
0:26 direct index (layout( location=0) in 3-component vector of float)
0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
0:26 Constant:
0:26 1 (const int)
0:26 move second child to first child ( temp 3-component vector of float)
0:26 cpoint: direct index for structure ( temp 3-component vector of float)
0:26 direct index ( 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:26 Constant:
0:26 2 (const int)
0:26 Constant:
0:26 0 (const int)
0:26 direct index (layout( location=0) in 3-component vector of float)
0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
0:26 Constant:
0:26 2 (const int)
0:26 move second child to first child ( temp 3-component vector of float)
0:26 cpoint: direct index for structure ( temp 3-component vector of float)
0:26 direct index ( 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:26 Constant:
0:26 3 (const int)
0:26 Constant:
0:26 0 (const int)
0:26 direct index (layout( location=0) in 3-component vector of float)
0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
0:26 Constant:
0:26 3 (const int)
0:26 Sequence
0:26 move second child to first child ( temp 3-component vector of float)
0:26 indirect index (layout( location=0) out 3-component vector of float)
0:? '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float)
0:? 'InvocationId' ( in uint InvocationID)
0:26 cpoint: direct index for structure ( temp 3-component vector of float)
0:26 Function Call: @main(struct-VS_OUT-vf31[4]; ( 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:26 Constant:
0:26 0 (const int)
0:? Barrier ( temp void)
0:? Test condition and select ( temp void)
0:? Condition
0:? Compare Equal ( temp bool)
0:? 'InvocationId' ( in uint InvocationID)
0:? Constant:
0:? 0 (const int)
0:? true case
0:? Sequence
0:? move second child to first child ( temp structure{ temp 2-element array of float edges})
0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
0:? Function Call: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges})
0:? 'pid' ( in uint PrimitiveID)
0:? 'pos' ( in 4-component vector of float Position)
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 2-element array of float)
0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
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 2-element array of float)
0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
0:? Constant:
0:? 0 (const int)
0:? Constant:
0:? 1 (const int)
0:33 Function Definition: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges})
0:33 Function Parameters:
0:33 'pid' ( in uint)
0:33 'pos' ( in 4-component vector of float)
0:? Sequence
0:36 move second child to first child ( temp float)
0:36 direct index ( temp float)
0:36 edges: direct index for structure ( temp 2-element array of float)
0:36 'output' ( temp structure{ temp 2-element array of float edges})
0:36 Constant:
0:36 0 (const int)
0:36 Constant:
0:36 0 (const int)
0:36 Constant:
0:36 2.000000
0:37 move second child to first child ( temp float)
0:37 direct index ( temp float)
0:37 edges: direct index for structure ( temp 2-element array of float)
0:37 'output' ( temp structure{ temp 2-element array of float edges})
0:37 Constant:
0:37 0 (const int)
0:37 Constant:
0:37 1 (const int)
0:37 Constant:
0:37 8.000000
0:38 Branch: Return with expression
0:38 'output' ( temp structure{ temp 2-element array of float edges})
0:? Linker Objects
0:? '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float)
0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
0:? 'InvocationId' ( in uint InvocationID)
0:? 'pid' ( in uint PrimitiveID)
0:? 'pos' ( in 4-component vector of float Position)
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
Linked tessellation control stage:
Shader version: 500
vertices = 4
vertex spacing = equal_spacing
0:? Sequence
0:26 Function Definition: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
0:26 Function Parameters:
0:26 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
0:? Sequence
0:28 move second child to first child ( temp 3-component vector of float)
0:28 cpoint: direct index for structure ( temp 3-component vector of float)
0:28 'output' ( temp structure{ temp 3-component vector of float cpoint})
0:28 Constant:
0:28 0 (const int)
0:28 cpoint: direct index for structure ( temp 3-component vector of float)
0:28 direct index ( temp structure{ temp 3-component vector of float cpoint})
0:28 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
0:28 Constant:
0:28 0 (const int)
0:28 Constant:
0:28 0 (const int)
0:29 Branch: Return with expression
0:29 'output' ( temp structure{ temp 3-component vector of float cpoint})
0:26 Function Definition: main( ( temp void)
0:26 Function Parameters:
0:? Sequence
0:26 Sequence
0:26 move second child to first child ( temp 3-component vector of float)
0:26 cpoint: direct index for structure ( temp 3-component vector of float)
0:26 direct index ( 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:26 Constant:
0:26 0 (const int)
0:26 Constant:
0:26 0 (const int)
0:26 direct index (layout( location=0) in 3-component vector of float)
0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
0:26 Constant:
0:26 0 (const int)
0:26 move second child to first child ( temp 3-component vector of float)
0:26 cpoint: direct index for structure ( temp 3-component vector of float)
0:26 direct index ( 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:26 Constant:
0:26 1 (const int)
0:26 Constant:
0:26 0 (const int)
0:26 direct index (layout( location=0) in 3-component vector of float)
0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
0:26 Constant:
0:26 1 (const int)
0:26 move second child to first child ( temp 3-component vector of float)
0:26 cpoint: direct index for structure ( temp 3-component vector of float)
0:26 direct index ( 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:26 Constant:
0:26 2 (const int)
0:26 Constant:
0:26 0 (const int)
0:26 direct index (layout( location=0) in 3-component vector of float)
0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
0:26 Constant:
0:26 2 (const int)
0:26 move second child to first child ( temp 3-component vector of float)
0:26 cpoint: direct index for structure ( temp 3-component vector of float)
0:26 direct index ( 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:26 Constant:
0:26 3 (const int)
0:26 Constant:
0:26 0 (const int)
0:26 direct index (layout( location=0) in 3-component vector of float)
0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
0:26 Constant:
0:26 3 (const int)
0:26 Sequence
0:26 move second child to first child ( temp 3-component vector of float)
0:26 indirect index (layout( location=0) out 3-component vector of float)
0:? '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float)
0:? 'InvocationId' ( in uint InvocationID)
0:26 cpoint: direct index for structure ( temp 3-component vector of float)
0:26 Function Call: @main(struct-VS_OUT-vf31[4]; ( 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:26 Constant:
0:26 0 (const int)
0:? Barrier ( temp void)
0:? Test condition and select ( temp void)
0:? Condition
0:? Compare Equal ( temp bool)
0:? 'InvocationId' ( in uint InvocationID)
0:? Constant:
0:? 0 (const int)
0:? true case
0:? Sequence
0:? move second child to first child ( temp structure{ temp 2-element array of float edges})
0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
0:? Function Call: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges})
0:? 'pid' ( in uint PrimitiveID)
0:? 'pos' ( in 4-component vector of float Position)
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 2-element array of float)
0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
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 2-element array of float)
0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
0:? Constant:
0:? 0 (const int)
0:? Constant:
0:? 1 (const int)
0:33 Function Definition: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges})
0:33 Function Parameters:
0:33 'pid' ( in uint)
0:33 'pos' ( in 4-component vector of float)
0:? Sequence
0:36 move second child to first child ( temp float)
0:36 direct index ( temp float)
0:36 edges: direct index for structure ( temp 2-element array of float)
0:36 'output' ( temp structure{ temp 2-element array of float edges})
0:36 Constant:
0:36 0 (const int)
0:36 Constant:
0:36 0 (const int)
0:36 Constant:
0:36 2.000000
0:37 move second child to first child ( temp float)
0:37 direct index ( temp float)
0:37 edges: direct index for structure ( temp 2-element array of float)
0:37 'output' ( temp structure{ temp 2-element array of float edges})
0:37 Constant:
0:37 0 (const int)
0:37 Constant:
0:37 1 (const int)
0:37 Constant:
0:37 8.000000
0:38 Branch: Return with expression
0:38 'output' ( temp structure{ temp 2-element array of float edges})
0:? Linker Objects
0:? '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float)
0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
0:? 'InvocationId' ( in uint InvocationID)
0:? 'pid' ( in uint PrimitiveID)
0:? 'pos' ( in 4-component vector of float Position)
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 106
Capability Tessellation
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint TessellationControl 4 "main" 43 61 63 79 81 89
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 13 "HS_OUT"
MemberName 13(HS_OUT) 0 "cpoint"
Name 16 "@main(struct-VS_OUT-vf31[4];"
Name 15 "ip"
Name 23 "HS_CONSTANT_OUT"
MemberName 23(HS_CONSTANT_OUT) 0 "edges"
Name 27 "PCF(u1;vf4;"
Name 25 "pid"
Name 26 "pos"
Name 30 "output"
Name 40 "ip"
Name 43 "ip.cpoint"
Name 61 "@entryPointOutput.cpoint"
Name 63 "InvocationId"
Name 65 "param"
Name 78 "@patchConstantResult"
Name 79 "pid"
Name 81 "pos"
Name 82 "param"
Name 84 "param"
Name 89 "@patchConstantOutput.edges"
Name 98 "output"
Decorate 43(ip.cpoint) Location 0
Decorate 61(@entryPointOutput.cpoint) Location 0
Decorate 63(InvocationId) BuiltIn InvocationId
Decorate 79(pid) BuiltIn PrimitiveId
Decorate 81(pos) BuiltIn Position
Decorate 89(@patchConstantOutput.edges) Patch
Decorate 89(@patchConstantOutput.edges) BuiltIn TessLevelOuter
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 3
8(VS_OUT): TypeStruct 7(fvec3)
9: TypeInt 32 0
10: 9(int) Constant 4
11: TypeArray 8(VS_OUT) 10
12: TypePointer Function 11
13(HS_OUT): TypeStruct 7(fvec3)
14: TypeFunction 13(HS_OUT) 12(ptr)
18: TypePointer Function 9(int)
19: TypeVector 6(float) 4
20: TypePointer Function 19(fvec4)
21: 9(int) Constant 2
22: TypeArray 6(float) 21
23(HS_CONSTANT_OUT): TypeStruct 22
24: TypeFunction 23(HS_CONSTANT_OUT) 18(ptr) 20(ptr)
29: TypePointer Function 13(HS_OUT)
31: TypeInt 32 1
32: 31(int) Constant 0
33: TypePointer Function 7(fvec3)
41: TypeArray 7(fvec3) 10
42: TypePointer Input 41
43(ip.cpoint): 42(ptr) Variable Input
44: TypePointer Input 7(fvec3)
48: 31(int) Constant 1
52: 31(int) Constant 2
56: 31(int) Constant 3
60: TypePointer Output 41
61(@entryPointOutput.cpoint): 60(ptr) Variable Output
62: TypePointer Input 9(int)
63(InvocationId): 62(ptr) Variable Input
69: TypePointer Output 7(fvec3)
71: 9(int) Constant 0
73: TypeBool
77: TypePointer Function 23(HS_CONSTANT_OUT)
79(pid): 62(ptr) Variable Input
80: TypePointer Input 19(fvec4)
81(pos): 80(ptr) Variable Input
87: TypeArray 6(float) 10
88: TypePointer Output 87
89(@patchConstantOutput.edges): 88(ptr) Variable Output
90: TypePointer Function 6(float)
93: TypePointer Output 6(float)
99: 6(float) Constant 1073741824
101: 6(float) Constant 1090519040
4(main): 2 Function None 3
5: Label
40(ip): 12(ptr) Variable Function
65(param): 12(ptr) Variable Function
78(@patchConstantResult): 77(ptr) Variable Function
82(param): 18(ptr) Variable Function
84(param): 20(ptr) Variable Function
45: 44(ptr) AccessChain 43(ip.cpoint) 32
46: 7(fvec3) Load 45
47: 33(ptr) AccessChain 40(ip) 32 32
Store 47 46
49: 44(ptr) AccessChain 43(ip.cpoint) 48
50: 7(fvec3) Load 49
51: 33(ptr) AccessChain 40(ip) 48 32
Store 51 50
53: 44(ptr) AccessChain 43(ip.cpoint) 52
54: 7(fvec3) Load 53
55: 33(ptr) AccessChain 40(ip) 52 32
Store 55 54
57: 44(ptr) AccessChain 43(ip.cpoint) 56
58: 7(fvec3) Load 57
59: 33(ptr) AccessChain 40(ip) 56 32
Store 59 58
64: 9(int) Load 63(InvocationId)
66: 11 Load 40(ip)
Store 65(param) 66
67: 13(HS_OUT) FunctionCall 16(@main(struct-VS_OUT-vf31[4];) 65(param)
68: 7(fvec3) CompositeExtract 67 0
70: 69(ptr) AccessChain 61(@entryPointOutput.cpoint) 64
Store 70 68
ControlBarrier 21 10 71
72: 9(int) Load 63(InvocationId)
74: 73(bool) IEqual 72 32
SelectionMerge 76 None
BranchConditional 74 75 76
75: Label
83: 9(int) Load 79(pid)
Store 82(param) 83
85: 19(fvec4) Load 81(pos)
Store 84(param) 85
86:23(HS_CONSTANT_OUT) FunctionCall 27(PCF(u1;vf4;) 82(param) 84(param)
Store 78(@patchConstantResult) 86
91: 90(ptr) AccessChain 78(@patchConstantResult) 32 32
92: 6(float) Load 91
94: 93(ptr) AccessChain 89(@patchConstantOutput.edges) 32
Store 94 92
95: 90(ptr) AccessChain 78(@patchConstantResult) 32 48
96: 6(float) Load 95
97: 93(ptr) AccessChain 89(@patchConstantOutput.edges) 48
Store 97 96
Branch 76
76: Label
Return
FunctionEnd
16(@main(struct-VS_OUT-vf31[4];): 13(HS_OUT) Function None 14
15(ip): 12(ptr) FunctionParameter
17: Label
30(output): 29(ptr) Variable Function
34: 33(ptr) AccessChain 15(ip) 32 32
35: 7(fvec3) Load 34
36: 33(ptr) AccessChain 30(output) 32
Store 36 35
37: 13(HS_OUT) Load 30(output)
ReturnValue 37
FunctionEnd
27(PCF(u1;vf4;):23(HS_CONSTANT_OUT) Function None 24
25(pid): 18(ptr) FunctionParameter
26(pos): 20(ptr) FunctionParameter
28: Label
98(output): 77(ptr) Variable Function
100: 90(ptr) AccessChain 98(output) 32 32
Store 100 99
102: 90(ptr) AccessChain 98(output) 32 48
Store 102 101
103:23(HS_CONSTANT_OUT) Load 98(output)
ReturnValue 103
FunctionEnd