blob: 2f864738618ae8444bd8d8af7614bb480196a60c [file] [log] [blame]
hlsl.domain.3.tese
Shader version: 500
input primitive = isolines
vertex spacing = none
triangle order = none
0:? Sequence
0:24 Function Definition: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 Function Parameters:
0:24 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 'tesscoord' ( in 2-component vector of float)
0:24 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:? Sequence
0:27 move second child to first child ( temp 4-component vector of float)
0:27 pos: direct index for structure ( temp 4-component vector of float)
0:27 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:27 Constant:
0:27 0 (const int)
0:27 add ( temp 4-component vector of float)
0:27 pos: direct index for structure ( temp 4-component vector of float)
0:27 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:27 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:27 Constant:
0:27 0 (const int)
0:27 Constant:
0:27 0 (const int)
0:27 direct index ( temp float)
0:27 'tesscoord' ( in 2-component vector of float)
0:27 Constant:
0:27 0 (const int)
0:28 move second child to first child ( temp 3-component vector of float)
0:28 norm: direct index for structure ( temp 3-component vector of float)
0:28 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:28 Constant:
0:28 1 (const int)
0:28 add ( temp 3-component vector of float)
0:28 norm: direct index for structure ( temp 3-component vector of float)
0:28 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:28 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:28 Constant:
0:28 0 (const int)
0:28 Constant:
0:28 1 (const int)
0:28 direct index ( temp float)
0:28 'tesscoord' ( in 2-component vector of float)
0:28 Constant:
0:28 1 (const int)
0:30 Branch: Return with expression
0:30 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 Function Definition: main( ( temp void)
0:24 Function Parameters:
0:? Sequence
0:24 move second child to first child ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 move second child to first child ( temp 2-component vector of float)
0:? 'tesscoord' ( temp 2-component vector of float)
0:? Construct vec2 ( temp 2-component vector of float)
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
0:24 Sequence
0:24 move second child to first child ( temp float)
0:24 direct index ( temp float)
0:24 flTessFactor: direct index for structure ( temp 3-element array of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:24 Constant:
0:24 0 (const int)
0:24 Constant:
0:24 0 (const int)
0:24 direct index ( patch in float TessLevelOuter)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child ( temp float)
0:24 direct index ( temp float)
0:24 flTessFactor: direct index for structure ( temp 3-element array of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:24 Constant:
0:24 0 (const int)
0:24 Constant:
0:24 1 (const int)
0:24 direct index ( patch in float TessLevelOuter)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:24 Constant:
0:24 1 (const int)
0:24 move second child to first child ( temp float)
0:24 direct index ( temp float)
0:24 flTessFactor: direct index for structure ( temp 3-element array of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:24 Constant:
0:24 0 (const int)
0:24 Constant:
0:24 2 (const int)
0:24 direct index ( patch in float TessLevelOuter)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:24 Constant:
0:24 2 (const int)
0:24 move second child to first child ( temp float)
0:24 flInsideTessFactor: direct index for structure ( temp float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:24 Constant:
0:24 1 (const int)
0:24 direct index ( patch in float TessLevelInner)
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
0:24 Constant:
0:24 0 (const int)
0:24 Sequence
0:24 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 Function Call: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'tesscoord' ( temp 2-component vector of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:24 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput.pos' (layout( location=0) out 4-component vector of float)
0:24 pos: direct index for structure ( temp 4-component vector of float)
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child ( temp 3-component vector of float)
0:? '@entryPointOutput.norm' (layout( location=1) out 3-component vector of float)
0:24 norm: direct index for structure ( temp 3-component vector of float)
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? '@entryPointOutput.pos' (layout( location=0) out 4-component vector of float)
0:? '@entryPointOutput.norm' (layout( location=1) out 3-component vector of float)
0:? 'i' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
Linked tessellation evaluation stage:
Shader version: 500
input primitive = isolines
vertex spacing = none
triangle order = none
0:? Sequence
0:24 Function Definition: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 Function Parameters:
0:24 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 'tesscoord' ( in 2-component vector of float)
0:24 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:? Sequence
0:27 move second child to first child ( temp 4-component vector of float)
0:27 pos: direct index for structure ( temp 4-component vector of float)
0:27 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:27 Constant:
0:27 0 (const int)
0:27 add ( temp 4-component vector of float)
0:27 pos: direct index for structure ( temp 4-component vector of float)
0:27 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:27 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:27 Constant:
0:27 0 (const int)
0:27 Constant:
0:27 0 (const int)
0:27 direct index ( temp float)
0:27 'tesscoord' ( in 2-component vector of float)
0:27 Constant:
0:27 0 (const int)
0:28 move second child to first child ( temp 3-component vector of float)
0:28 norm: direct index for structure ( temp 3-component vector of float)
0:28 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:28 Constant:
0:28 1 (const int)
0:28 add ( temp 3-component vector of float)
0:28 norm: direct index for structure ( temp 3-component vector of float)
0:28 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:28 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:28 Constant:
0:28 0 (const int)
0:28 Constant:
0:28 1 (const int)
0:28 direct index ( temp float)
0:28 'tesscoord' ( in 2-component vector of float)
0:28 Constant:
0:28 1 (const int)
0:30 Branch: Return with expression
0:30 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 Function Definition: main( ( temp void)
0:24 Function Parameters:
0:? Sequence
0:24 move second child to first child ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 move second child to first child ( temp 2-component vector of float)
0:? 'tesscoord' ( temp 2-component vector of float)
0:? Construct vec2 ( temp 2-component vector of float)
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
0:24 Sequence
0:24 move second child to first child ( temp float)
0:24 direct index ( temp float)
0:24 flTessFactor: direct index for structure ( temp 3-element array of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:24 Constant:
0:24 0 (const int)
0:24 Constant:
0:24 0 (const int)
0:24 direct index ( patch in float TessLevelOuter)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child ( temp float)
0:24 direct index ( temp float)
0:24 flTessFactor: direct index for structure ( temp 3-element array of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:24 Constant:
0:24 0 (const int)
0:24 Constant:
0:24 1 (const int)
0:24 direct index ( patch in float TessLevelOuter)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:24 Constant:
0:24 1 (const int)
0:24 move second child to first child ( temp float)
0:24 direct index ( temp float)
0:24 flTessFactor: direct index for structure ( temp 3-element array of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:24 Constant:
0:24 0 (const int)
0:24 Constant:
0:24 2 (const int)
0:24 direct index ( patch in float TessLevelOuter)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:24 Constant:
0:24 2 (const int)
0:24 move second child to first child ( temp float)
0:24 flInsideTessFactor: direct index for structure ( temp float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:24 Constant:
0:24 1 (const int)
0:24 direct index ( patch in float TessLevelInner)
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
0:24 Constant:
0:24 0 (const int)
0:24 Sequence
0:24 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 Function Call: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'tesscoord' ( temp 2-component vector of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:24 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput.pos' (layout( location=0) out 4-component vector of float)
0:24 pos: direct index for structure ( temp 4-component vector of float)
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child ( temp 3-component vector of float)
0:? '@entryPointOutput.norm' (layout( location=1) out 3-component vector of float)
0:24 norm: direct index for structure ( temp 3-component vector of float)
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? '@entryPointOutput.pos' (layout( location=0) out 4-component vector of float)
0:? '@entryPointOutput.norm' (layout( location=1) out 3-component vector of float)
0:? 'i' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
// Module Version 10000
// Generated by (magic number): 80006
// Id's are bound by 100
Capability Tessellation
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint TessellationEvaluation 4 "main" 54 58 67 81 93 97
ExecutionMode 4 Isolines
Source HLSL 500
Name 4 "main"
Name 9 "ds_in_t"
MemberName 9(ds_in_t) 0 "pos"
MemberName 9(ds_in_t) 1 "norm"
Name 17 "pcf_in_t"
MemberName 17(pcf_in_t) 0 "flTessFactor"
MemberName 17(pcf_in_t) 1 "flInsideTessFactor"
Name 19 "gs_in_t"
MemberName 19(gs_in_t) 0 "pos"
MemberName 19(gs_in_t) 1 "norm"
Name 24 "@main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11;"
Name 21 "i"
Name 22 "tesscoord"
Name 23 "pcf_data"
Name 27 "o"
Name 52 "i"
Name 54 "i"
Name 56 "tesscoord"
Name 58 "tesscoord"
Name 63 "pcf_data"
Name 67 "pcf_data.flTessFactor"
Name 81 "pcf_data.flInsideTessFactor"
Name 85 "flattenTemp"
Name 87 "param"
Name 89 "param"
Name 93 "@entryPointOutput.pos"
Name 97 "@entryPointOutput.norm"
Decorate 54(i) Location 0
Decorate 58(tesscoord) Patch
Decorate 58(tesscoord) BuiltIn TessCoord
Decorate 67(pcf_data.flTessFactor) Patch
Decorate 67(pcf_data.flTessFactor) BuiltIn TessLevelOuter
Decorate 81(pcf_data.flInsideTessFactor) Patch
Decorate 81(pcf_data.flInsideTessFactor) BuiltIn TessLevelInner
Decorate 93(@entryPointOutput.pos) Location 0
Decorate 97(@entryPointOutput.norm) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeVector 6(float) 3
9(ds_in_t): TypeStruct 7(fvec4) 8(fvec3)
10: TypeInt 32 0
11: 10(int) Constant 2
12: TypeArray 9(ds_in_t) 11
13: TypeVector 6(float) 2
14: TypePointer Function 13(fvec2)
15: 10(int) Constant 3
16: TypeArray 6(float) 15
17(pcf_in_t): TypeStruct 16 6(float)
18: TypePointer Function 17(pcf_in_t)
19(gs_in_t): TypeStruct 7(fvec4) 8(fvec3)
20: TypeFunction 19(gs_in_t) 12 14(ptr) 18(ptr)
26: TypePointer Function 19(gs_in_t)
28: TypeInt 32 1
29: 28(int) Constant 0
31: 10(int) Constant 0
32: TypePointer Function 6(float)
37: TypePointer Function 7(fvec4)
39: 28(int) Constant 1
41: 10(int) Constant 1
46: TypePointer Function 8(fvec3)
51: TypePointer Function 12
53: TypePointer Input 12
54(i): 53(ptr) Variable Input
57: TypePointer Input 8(fvec3)
58(tesscoord): 57(ptr) Variable Input
64: 10(int) Constant 4
65: TypeArray 6(float) 64
66: TypePointer Input 65
67(pcf_data.flTessFactor): 66(ptr) Variable Input
68: TypePointer Input 6(float)
75: 28(int) Constant 2
79: TypeArray 6(float) 11
80: TypePointer Input 79
81(pcf_data.flInsideTessFactor): 80(ptr) Variable Input
92: TypePointer Output 7(fvec4)
93(@entryPointOutput.pos): 92(ptr) Variable Output
96: TypePointer Output 8(fvec3)
97(@entryPointOutput.norm): 96(ptr) Variable Output
4(main): 2 Function None 3
5: Label
52(i): 51(ptr) Variable Function
56(tesscoord): 14(ptr) Variable Function
63(pcf_data): 18(ptr) Variable Function
85(flattenTemp): 26(ptr) Variable Function
87(param): 14(ptr) Variable Function
89(param): 18(ptr) Variable Function
55: 12 Load 54(i)
Store 52(i) 55
59: 8(fvec3) Load 58(tesscoord)
60: 6(float) CompositeExtract 59 0
61: 6(float) CompositeExtract 59 1
62: 13(fvec2) CompositeConstruct 60 61
Store 56(tesscoord) 62
69: 68(ptr) AccessChain 67(pcf_data.flTessFactor) 29
70: 6(float) Load 69
71: 32(ptr) AccessChain 63(pcf_data) 29 29
Store 71 70
72: 68(ptr) AccessChain 67(pcf_data.flTessFactor) 39
73: 6(float) Load 72
74: 32(ptr) AccessChain 63(pcf_data) 29 39
Store 74 73
76: 68(ptr) AccessChain 67(pcf_data.flTessFactor) 75
77: 6(float) Load 76
78: 32(ptr) AccessChain 63(pcf_data) 29 75
Store 78 77
82: 68(ptr) AccessChain 81(pcf_data.flInsideTessFactor) 29
83: 6(float) Load 82
84: 32(ptr) AccessChain 63(pcf_data) 39
Store 84 83
86: 12 Load 52(i)
88: 13(fvec2) Load 56(tesscoord)
Store 87(param) 88
90:17(pcf_in_t) Load 63(pcf_data)
Store 89(param) 90
91: 19(gs_in_t) FunctionCall 24(@main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11;) 86 87(param) 89(param)
Store 85(flattenTemp) 91
94: 37(ptr) AccessChain 85(flattenTemp) 29
95: 7(fvec4) Load 94
Store 93(@entryPointOutput.pos) 95
98: 46(ptr) AccessChain 85(flattenTemp) 39
99: 8(fvec3) Load 98
Store 97(@entryPointOutput.norm) 99
Return
FunctionEnd
24(@main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11;): 19(gs_in_t) Function None 20
21(i): 12 FunctionParameter
22(tesscoord): 14(ptr) FunctionParameter
23(pcf_data): 18(ptr) FunctionParameter
25: Label
27(o): 26(ptr) Variable Function
30: 7(fvec4) CompositeExtract 21(i) 0 0
33: 32(ptr) AccessChain 22(tesscoord) 31
34: 6(float) Load 33
35: 7(fvec4) CompositeConstruct 34 34 34 34
36: 7(fvec4) FAdd 30 35
38: 37(ptr) AccessChain 27(o) 29
Store 38 36
40: 8(fvec3) CompositeExtract 21(i) 0 1
42: 32(ptr) AccessChain 22(tesscoord) 41
43: 6(float) Load 42
44: 8(fvec3) CompositeConstruct 43 43 43
45: 8(fvec3) FAdd 40 44
47: 46(ptr) AccessChain 27(o) 39
Store 47 45
48: 19(gs_in_t) Load 27(o)
ReturnValue 48
FunctionEnd