383 lines
20 KiB
Plaintext
383 lines
20 KiB
Plaintext
hlsl.hull.1.tesc
|
|
Shader version: 450
|
|
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:26 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
|
|
0:26 'm_cpid' ( in uint)
|
|
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 move second child to first child ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
|
|
0:? 'ip' ( temp 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:26 move second child to first child ( temp uint)
|
|
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:26 indirect index ( temp 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:? Barrier ( temp void)
|
|
0:? Test condition and select ( temp void)
|
|
0:? Condition
|
|
0:? Compare Equal ( temp bool)
|
|
0:? 'm_cpid' ( 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; ( temp structure{ temp 2-element array of float edges})
|
|
0:? 'pid' ( 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 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; ( temp structure{ temp 2-element array of float edges})
|
|
0:33 Function Parameters:
|
|
0:33 'pid' ( in uint)
|
|
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' (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 4-element array of float TessLevelOuter)
|
|
|
|
|
|
Linked tessellation control stage:
|
|
|
|
|
|
Shader version: 450
|
|
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:26 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
|
|
0:26 'm_cpid' ( in uint)
|
|
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 move second child to first child ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
|
|
0:? 'ip' ( temp 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:26 move second child to first child ( temp uint)
|
|
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:26 indirect index ( temp 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:? Barrier ( temp void)
|
|
0:? Test condition and select ( temp void)
|
|
0:? Condition
|
|
0:? Compare Equal ( temp bool)
|
|
0:? 'm_cpid' ( 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; ( temp structure{ temp 2-element array of float edges})
|
|
0:? 'pid' ( 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 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; ( temp structure{ temp 2-element array of float edges})
|
|
0:33 Function Parameters:
|
|
0:33 'pid' ( in uint)
|
|
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' (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 4-element array of float TessLevelOuter)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 93
|
|
|
|
Capability Tessellation
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint TessellationControl 4 "main" 40 44 48 66 72 92
|
|
ExecutionMode 4 OutputVertices 4
|
|
ExecutionMode 4 Isolines
|
|
ExecutionMode 4 SpacingEqual
|
|
Name 4 "main"
|
|
Name 8 "VS_OUT"
|
|
MemberName 8(VS_OUT) 0 "cpoint"
|
|
Name 14 "HS_OUT"
|
|
MemberName 14(HS_OUT) 0 "cpoint"
|
|
Name 18 "@main(struct-VS_OUT-vf31[4];u1;"
|
|
Name 16 "ip"
|
|
Name 17 "m_cpid"
|
|
Name 22 "HS_CONSTANT_OUT"
|
|
MemberName 22(HS_CONSTANT_OUT) 0 "edges"
|
|
Name 25 "PCF(u1;"
|
|
Name 24 "pid"
|
|
Name 28 "output"
|
|
Name 38 "ip"
|
|
Name 40 "ip"
|
|
Name 42 "m_cpid"
|
|
Name 44 "m_cpid"
|
|
Name 48 "@entryPointOutput"
|
|
Name 50 "param"
|
|
Name 52 "param"
|
|
Name 65 "@patchConstantResult"
|
|
Name 66 "pid"
|
|
Name 67 "param"
|
|
Name 72 "@patchConstantOutput_edges"
|
|
Name 82 "output"
|
|
Name 90 "HS_CONSTANT_OUT"
|
|
Name 92 "@patchConstantOutput"
|
|
Decorate 40(ip) Location 0
|
|
Decorate 44(m_cpid) BuiltIn InvocationId
|
|
Decorate 48(@entryPointOutput) Location 0
|
|
Decorate 66(pid) BuiltIn PrimitiveId
|
|
Decorate 72(@patchConstantOutput_edges) Patch
|
|
Decorate 72(@patchConstantOutput_edges) BuiltIn TessLevelOuter
|
|
Decorate 92(@patchConstantOutput) Patch
|
|
Decorate 92(@patchConstantOutput) Location 1
|
|
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: TypePointer Function 9(int)
|
|
14(HS_OUT): TypeStruct 7(fvec3)
|
|
15: TypeFunction 14(HS_OUT) 12(ptr) 13(ptr)
|
|
20: 9(int) Constant 2
|
|
21: TypeArray 6(float) 20
|
|
22(HS_CONSTANT_OUT): TypeStruct 21
|
|
23: TypeFunction 22(HS_CONSTANT_OUT) 13(ptr)
|
|
27: TypePointer Function 14(HS_OUT)
|
|
29: TypeInt 32 1
|
|
30: 29(int) Constant 0
|
|
31: TypePointer Function 7(fvec3)
|
|
39: TypePointer Input 11
|
|
40(ip): 39(ptr) Variable Input
|
|
43: TypePointer Input 9(int)
|
|
44(m_cpid): 43(ptr) Variable Input
|
|
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 1
|
|
58: 9(int) Constant 0
|
|
60: TypeBool
|
|
64: TypePointer Function 22(HS_CONSTANT_OUT)
|
|
66(pid): 43(ptr) Variable Input
|
|
70: TypeArray 6(float) 10
|
|
71: TypePointer Output 70
|
|
72(@patchConstantOutput_edges): 71(ptr) Variable Output
|
|
73: TypePointer Function 6(float)
|
|
76: TypePointer Output 6(float)
|
|
78: 29(int) Constant 1
|
|
83: 6(float) Constant 1073741824
|
|
85: 6(float) Constant 1090519040
|
|
90(HS_CONSTANT_OUT): TypeStruct
|
|
91: TypePointer Output 90(HS_CONSTANT_OUT)
|
|
92(@patchConstantOutput): 91(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
38(ip): 12(ptr) Variable Function
|
|
42(m_cpid): 13(ptr) Variable Function
|
|
50(param): 12(ptr) Variable Function
|
|
52(param): 13(ptr) Variable Function
|
|
65(@patchConstantResult): 64(ptr) Variable Function
|
|
67(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: 9(int) Load 44(m_cpid)
|
|
51: 11 Load 38(ip)
|
|
Store 50(param) 51
|
|
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 57 58
|
|
59: 9(int) Load 44(m_cpid)
|
|
61: 60(bool) IEqual 59 30
|
|
SelectionMerge 63 None
|
|
BranchConditional 61 62 63
|
|
62: Label
|
|
68: 9(int) Load 66(pid)
|
|
Store 67(param) 68
|
|
69:22(HS_CONSTANT_OUT) FunctionCall 25(PCF(u1;) 67(param)
|
|
Store 65(@patchConstantResult) 69
|
|
74: 73(ptr) AccessChain 65(@patchConstantResult) 30 30
|
|
75: 6(float) Load 74
|
|
77: 76(ptr) AccessChain 72(@patchConstantOutput_edges) 30
|
|
Store 77 75
|
|
79: 73(ptr) AccessChain 65(@patchConstantResult) 30 78
|
|
80: 6(float) Load 79
|
|
81: 76(ptr) AccessChain 72(@patchConstantOutput_edges) 78
|
|
Store 81 80
|
|
Branch 63
|
|
63: Label
|
|
Return
|
|
FunctionEnd
|
|
18(@main(struct-VS_OUT-vf31[4];u1;): 14(HS_OUT) Function None 15
|
|
16(ip): 12(ptr) FunctionParameter
|
|
17(m_cpid): 13(ptr) FunctionParameter
|
|
19: Label
|
|
28(output): 27(ptr) Variable Function
|
|
32: 31(ptr) AccessChain 16(ip) 30 30
|
|
33: 7(fvec3) Load 32
|
|
34: 31(ptr) AccessChain 28(output) 30
|
|
Store 34 33
|
|
35: 14(HS_OUT) Load 28(output)
|
|
ReturnValue 35
|
|
FunctionEnd
|
|
25(PCF(u1;):22(HS_CONSTANT_OUT) Function None 23
|
|
24(pid): 13(ptr) FunctionParameter
|
|
26: Label
|
|
82(output): 64(ptr) Variable Function
|
|
84: 73(ptr) AccessChain 82(output) 30 30
|
|
Store 84 83
|
|
86: 73(ptr) AccessChain 82(output) 30 78
|
|
Store 86 85
|
|
87:22(HS_CONSTANT_OUT) Load 82(output)
|
|
ReturnValue 87
|
|
FunctionEnd
|