HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.

This needs some render testing, but is destined to be part of master.

This also leads to a variety of other simplifications.
 - IO are global symbols, so only need one list of linkage nodes (deferred)
 - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized
 - several parts of splitting/flattening are now localized
This commit is contained in:
John Kessenich
2017-01-19 15:41:47 -07:00
parent 18adbdbbb8
commit 02467d8d94
171 changed files with 37604 additions and 32679 deletions

View File

@@ -2,7 +2,7 @@ hlsl.samplecmplevelzero.basic.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Parameters:
0:? Sequence
0:42 Sequence
@@ -157,24 +157,28 @@ gl_FragCoord origin is upper left
0:58 1 (const int)
0:58 Constant:
0:58 1.000000
0:60 Sequence
0:60 Sequence
0:60 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:60 Color: direct index for structure (temp 4-component vector of float)
0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:60 Constant:
0:60 0 (const int)
0:60 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:60 Depth: direct index for structure (temp float)
0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:60 Constant:
0:60 1 (const int)
0:60 Branch: Return
0:60 Branch: Return with expression
0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Definition: main( (temp void)
0:38 Function Parameters:
0:? Sequence
0:38 Sequence
0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:38 Color: direct index for structure (temp 4-component vector of float)
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Constant:
0:38 0 (const int)
0:38 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:38 Depth: direct index for structure (temp float)
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Constant:
0:38 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -197,6 +201,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -205,7 +211,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Parameters:
0:? Sequence
0:42 Sequence
@@ -360,24 +366,28 @@ gl_FragCoord origin is upper left
0:58 1 (const int)
0:58 Constant:
0:58 1.000000
0:60 Sequence
0:60 Sequence
0:60 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:60 Color: direct index for structure (temp 4-component vector of float)
0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:60 Constant:
0:60 0 (const int)
0:60 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:60 Depth: direct index for structure (temp float)
0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:60 Constant:
0:60 1 (const int)
0:60 Branch: Return
0:60 Branch: Return with expression
0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Definition: main( (temp void)
0:38 Function Parameters:
0:? Sequence
0:38 Sequence
0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:38 Color: direct index for structure (temp 4-component vector of float)
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Constant:
0:38 0 (const int)
0:38 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:38 Depth: direct index for structure (temp float)
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Constant:
0:38 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -400,292 +410,305 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 201
// Id's are bound by 208
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 157 161
EntryPoint Fragment 4 "main" 165 169
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r00"
Name 11 "g_tTex1df4"
Name 15 "g_sSamp"
Name 27 "r02"
Name 31 "g_tTex1di4"
Name 40 "r04"
Name 44 "g_tTex1du4"
Name 53 "r20"
Name 56 "g_tTex2df4"
Name 70 "r22"
Name 73 "g_tTex2di4"
Name 84 "r24"
Name 87 "g_tTex2du4"
Name 98 "r50"
Name 101 "g_tTexcdf4"
Name 116 "r52"
Name 119 "g_tTexcdi4"
Name 131 "r54"
Name 134 "g_tTexcdu4"
Name 146 "PS_OUTPUT"
MemberName 146(PS_OUTPUT) 0 "Color"
MemberName 146(PS_OUTPUT) 1 "Depth"
Name 148 "psout"
Name 157 "Color"
Name 161 "Depth"
Name 167 "g_tTex3df4"
Name 170 "g_tTex3di4"
Name 173 "g_tTex3du4"
Name 176 "g_tTex1df4a"
Name 179 "g_tTex1di4a"
Name 182 "g_tTex1du4a"
Name 185 "g_tTex2df4a"
Name 188 "g_tTex2di4a"
Name 191 "g_tTex2du4a"
Name 194 "g_tTexcdf4a"
Name 197 "g_tTexcdi4a"
Name 200 "g_tTexcdu4a"
Decorate 11(g_tTex1df4) DescriptorSet 0
Decorate 11(g_tTex1df4) Binding 0
Decorate 15(g_sSamp) DescriptorSet 0
Decorate 15(g_sSamp) Binding 0
Decorate 31(g_tTex1di4) DescriptorSet 0
Decorate 44(g_tTex1du4) DescriptorSet 0
Decorate 56(g_tTex2df4) DescriptorSet 0
Decorate 73(g_tTex2di4) DescriptorSet 0
Decorate 87(g_tTex2du4) DescriptorSet 0
Decorate 101(g_tTexcdf4) DescriptorSet 0
Decorate 119(g_tTexcdi4) DescriptorSet 0
Decorate 134(g_tTexcdu4) DescriptorSet 0
Decorate 157(Color) Location 0
Decorate 161(Depth) BuiltIn FragDepth
Decorate 167(g_tTex3df4) DescriptorSet 0
Decorate 170(g_tTex3di4) DescriptorSet 0
Decorate 173(g_tTex3du4) DescriptorSet 0
Decorate 176(g_tTex1df4a) DescriptorSet 0
Decorate 179(g_tTex1di4a) DescriptorSet 0
Decorate 182(g_tTex1du4a) DescriptorSet 0
Decorate 185(g_tTex2df4a) DescriptorSet 0
Decorate 188(g_tTex2di4a) DescriptorSet 0
Decorate 191(g_tTex2du4a) DescriptorSet 0
Decorate 194(g_tTexcdf4a) DescriptorSet 0
Decorate 197(g_tTexcdi4a) DescriptorSet 0
Decorate 200(g_tTexcdu4a) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "r00"
Name 16 "g_tTex1df4"
Name 20 "g_sSamp"
Name 32 "r02"
Name 36 "g_tTex1di4"
Name 45 "r04"
Name 49 "g_tTex1du4"
Name 58 "r20"
Name 61 "g_tTex2df4"
Name 75 "r22"
Name 78 "g_tTex2di4"
Name 89 "r24"
Name 92 "g_tTex2du4"
Name 103 "r50"
Name 106 "g_tTexcdf4"
Name 120 "r52"
Name 123 "g_tTexcdi4"
Name 135 "r54"
Name 138 "g_tTexcdu4"
Name 151 "psout"
Name 162 "flattenTemp"
Name 165 "Color"
Name 169 "Depth"
Name 174 "g_tTex3df4"
Name 177 "g_tTex3di4"
Name 180 "g_tTex3du4"
Name 183 "g_tTex1df4a"
Name 186 "g_tTex1di4a"
Name 189 "g_tTex1du4a"
Name 192 "g_tTex2df4a"
Name 195 "g_tTex2di4a"
Name 198 "g_tTex2du4a"
Name 201 "g_tTexcdf4a"
Name 204 "g_tTexcdi4a"
Name 207 "g_tTexcdu4a"
Decorate 16(g_tTex1df4) DescriptorSet 0
Decorate 16(g_tTex1df4) Binding 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 36(g_tTex1di4) DescriptorSet 0
Decorate 49(g_tTex1du4) DescriptorSet 0
Decorate 61(g_tTex2df4) DescriptorSet 0
Decorate 78(g_tTex2di4) DescriptorSet 0
Decorate 92(g_tTex2du4) DescriptorSet 0
Decorate 106(g_tTexcdf4) DescriptorSet 0
Decorate 123(g_tTexcdi4) DescriptorSet 0
Decorate 138(g_tTexcdu4) DescriptorSet 0
Decorate 165(Color) Location 0
Decorate 169(Depth) BuiltIn FragDepth
Decorate 174(g_tTex3df4) DescriptorSet 0
Decorate 177(g_tTex3di4) DescriptorSet 0
Decorate 180(g_tTex3du4) DescriptorSet 0
Decorate 183(g_tTex1df4a) DescriptorSet 0
Decorate 186(g_tTex1di4a) DescriptorSet 0
Decorate 189(g_tTex1du4a) DescriptorSet 0
Decorate 192(g_tTex2df4a) DescriptorSet 0
Decorate 195(g_tTex2di4a) DescriptorSet 0
Decorate 198(g_tTex2du4a) DescriptorSet 0
Decorate 201(g_tTexcdf4a) DescriptorSet 0
Decorate 204(g_tTexcdi4a) DescriptorSet 0
Decorate 207(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypeImage 6(float) 1D sampled format:Unknown
10: TypePointer UniformConstant 9
11(g_tTex1df4): 10(ptr) Variable UniformConstant
13: TypeSampler
14: TypePointer UniformConstant 13
15(g_sSamp): 14(ptr) Variable UniformConstant
17: TypeImage 6(float) 1D depth sampled format:Unknown
18: TypeSampledImage 17
20: 6(float) Constant 1036831949
21: 6(float) Constant 1061158912
22: TypeVector 6(float) 2
24: 6(float) Constant 0
28: TypeInt 32 1
29: TypeImage 28(int) 1D sampled format:Unknown
30: TypePointer UniformConstant 29
31(g_tTex1di4): 30(ptr) Variable UniformConstant
34: TypeImage 28(int) 1D depth sampled format:Unknown
35: TypeSampledImage 34
41: TypeInt 32 0
42: TypeImage 41(int) 1D sampled format:Unknown
43: TypePointer UniformConstant 42
44(g_tTex1du4): 43(ptr) Variable UniformConstant
47: TypeImage 41(int) 1D depth sampled format:Unknown
48: TypeSampledImage 47
54: TypeImage 6(float) 2D sampled format:Unknown
55: TypePointer UniformConstant 54
56(g_tTex2df4): 55(ptr) Variable UniformConstant
59: TypeImage 6(float) 2D depth sampled format:Unknown
60: TypeSampledImage 59
62: 6(float) Constant 1045220557
63: 22(fvec2) ConstantComposite 20 62
64: TypeVector 6(float) 3
71: TypeImage 28(int) 2D sampled format:Unknown
72: TypePointer UniformConstant 71
73(g_tTex2di4): 72(ptr) Variable UniformConstant
76: TypeImage 28(int) 2D depth sampled format:Unknown
77: TypeSampledImage 76
85: TypeImage 41(int) 2D sampled format:Unknown
86: TypePointer UniformConstant 85
87(g_tTex2du4): 86(ptr) Variable UniformConstant
90: TypeImage 41(int) 2D depth sampled format:Unknown
91: TypeSampledImage 90
99: TypeImage 6(float) Cube sampled format:Unknown
100: TypePointer UniformConstant 99
101(g_tTexcdf4): 100(ptr) Variable UniformConstant
104: TypeImage 6(float) Cube depth sampled format:Unknown
105: TypeSampledImage 104
107: 6(float) Constant 1050253722
108: 64(fvec3) ConstantComposite 20 62 107
109: TypeVector 6(float) 4
117: TypeImage 28(int) Cube sampled format:Unknown
118: TypePointer UniformConstant 117
119(g_tTexcdi4): 118(ptr) Variable UniformConstant
122: TypeImage 28(int) Cube depth sampled format:Unknown
123: TypeSampledImage 122
132: TypeImage 41(int) Cube sampled format:Unknown
133: TypePointer UniformConstant 132
134(g_tTexcdu4): 133(ptr) Variable UniformConstant
137: TypeImage 41(int) Cube depth sampled format:Unknown
138: TypeSampledImage 137
146(PS_OUTPUT): TypeStruct 109(fvec4) 6(float)
147: TypePointer Function 146(PS_OUTPUT)
149: 28(int) Constant 0
150: 6(float) Constant 1065353216
151: 109(fvec4) ConstantComposite 150 150 150 150
152: TypePointer Function 109(fvec4)
154: 28(int) Constant 1
156: TypePointer Output 109(fvec4)
157(Color): 156(ptr) Variable Output
160: TypePointer Output 6(float)
161(Depth): 160(ptr) Variable Output
165: TypeImage 6(float) 3D sampled format:Unknown
166: TypePointer UniformConstant 165
167(g_tTex3df4): 166(ptr) Variable UniformConstant
168: TypeImage 28(int) 3D sampled format:Unknown
169: TypePointer UniformConstant 168
170(g_tTex3di4): 169(ptr) Variable UniformConstant
171: TypeImage 41(int) 3D sampled format:Unknown
172: TypePointer UniformConstant 171
173(g_tTex3du4): 172(ptr) Variable UniformConstant
174: TypeImage 6(float) 1D array sampled format:Unknown
175: TypePointer UniformConstant 174
176(g_tTex1df4a): 175(ptr) Variable UniformConstant
177: TypeImage 28(int) 1D array sampled format:Unknown
178: TypePointer UniformConstant 177
179(g_tTex1di4a): 178(ptr) Variable UniformConstant
180: TypeImage 41(int) 1D array sampled format:Unknown
181: TypePointer UniformConstant 180
182(g_tTex1du4a): 181(ptr) Variable UniformConstant
183: TypeImage 6(float) 2D array sampled format:Unknown
184: TypePointer UniformConstant 183
185(g_tTex2df4a): 184(ptr) Variable UniformConstant
186: TypeImage 28(int) 2D array sampled format:Unknown
187: TypePointer UniformConstant 186
188(g_tTex2di4a): 187(ptr) Variable UniformConstant
189: TypeImage 41(int) 2D array sampled format:Unknown
190: TypePointer UniformConstant 189
191(g_tTex2du4a): 190(ptr) Variable UniformConstant
192: TypeImage 6(float) Cube array sampled format:Unknown
193: TypePointer UniformConstant 192
194(g_tTexcdf4a): 193(ptr) Variable UniformConstant
195: TypeImage 28(int) Cube array sampled format:Unknown
196: TypePointer UniformConstant 195
197(g_tTexcdi4a): 196(ptr) Variable UniformConstant
198: TypeImage 41(int) Cube array sampled format:Unknown
199: TypePointer UniformConstant 198
200(g_tTexcdu4a): 199(ptr) Variable UniformConstant
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 6(float)
14: TypeImage 6(float) 1D sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_tTex1df4): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeImage 6(float) 1D depth sampled format:Unknown
23: TypeSampledImage 22
25: 6(float) Constant 1036831949
26: 6(float) Constant 1061158912
27: TypeVector 6(float) 2
29: 6(float) Constant 0
33: TypeInt 32 1
34: TypeImage 33(int) 1D sampled format:Unknown
35: TypePointer UniformConstant 34
36(g_tTex1di4): 35(ptr) Variable UniformConstant
39: TypeImage 33(int) 1D depth sampled format:Unknown
40: TypeSampledImage 39
46: TypeInt 32 0
47: TypeImage 46(int) 1D sampled format:Unknown
48: TypePointer UniformConstant 47
49(g_tTex1du4): 48(ptr) Variable UniformConstant
52: TypeImage 46(int) 1D depth sampled format:Unknown
53: TypeSampledImage 52
59: TypeImage 6(float) 2D sampled format:Unknown
60: TypePointer UniformConstant 59
61(g_tTex2df4): 60(ptr) Variable UniformConstant
64: TypeImage 6(float) 2D depth sampled format:Unknown
65: TypeSampledImage 64
67: 6(float) Constant 1045220557
68: 27(fvec2) ConstantComposite 25 67
69: TypeVector 6(float) 3
76: TypeImage 33(int) 2D sampled format:Unknown
77: TypePointer UniformConstant 76
78(g_tTex2di4): 77(ptr) Variable UniformConstant
81: TypeImage 33(int) 2D depth sampled format:Unknown
82: TypeSampledImage 81
90: TypeImage 46(int) 2D sampled format:Unknown
91: TypePointer UniformConstant 90
92(g_tTex2du4): 91(ptr) Variable UniformConstant
95: TypeImage 46(int) 2D depth sampled format:Unknown
96: TypeSampledImage 95
104: TypeImage 6(float) Cube sampled format:Unknown
105: TypePointer UniformConstant 104
106(g_tTexcdf4): 105(ptr) Variable UniformConstant
109: TypeImage 6(float) Cube depth sampled format:Unknown
110: TypeSampledImage 109
112: 6(float) Constant 1050253722
113: 69(fvec3) ConstantComposite 25 67 112
121: TypeImage 33(int) Cube sampled format:Unknown
122: TypePointer UniformConstant 121
123(g_tTexcdi4): 122(ptr) Variable UniformConstant
126: TypeImage 33(int) Cube depth sampled format:Unknown
127: TypeSampledImage 126
136: TypeImage 46(int) Cube sampled format:Unknown
137: TypePointer UniformConstant 136
138(g_tTexcdu4): 137(ptr) Variable UniformConstant
141: TypeImage 46(int) Cube depth sampled format:Unknown
142: TypeSampledImage 141
150: TypePointer Function 8(PS_OUTPUT)
152: 33(int) Constant 0
153: 6(float) Constant 1065353216
154: 7(fvec4) ConstantComposite 153 153 153 153
155: TypePointer Function 7(fvec4)
157: 33(int) Constant 1
164: TypePointer Output 7(fvec4)
165(Color): 164(ptr) Variable Output
168: TypePointer Output 6(float)
169(Depth): 168(ptr) Variable Output
172: TypeImage 6(float) 3D sampled format:Unknown
173: TypePointer UniformConstant 172
174(g_tTex3df4): 173(ptr) Variable UniformConstant
175: TypeImage 33(int) 3D sampled format:Unknown
176: TypePointer UniformConstant 175
177(g_tTex3di4): 176(ptr) Variable UniformConstant
178: TypeImage 46(int) 3D sampled format:Unknown
179: TypePointer UniformConstant 178
180(g_tTex3du4): 179(ptr) Variable UniformConstant
181: TypeImage 6(float) 1D array sampled format:Unknown
182: TypePointer UniformConstant 181
183(g_tTex1df4a): 182(ptr) Variable UniformConstant
184: TypeImage 33(int) 1D array sampled format:Unknown
185: TypePointer UniformConstant 184
186(g_tTex1di4a): 185(ptr) Variable UniformConstant
187: TypeImage 46(int) 1D array sampled format:Unknown
188: TypePointer UniformConstant 187
189(g_tTex1du4a): 188(ptr) Variable UniformConstant
190: TypeImage 6(float) 2D array sampled format:Unknown
191: TypePointer UniformConstant 190
192(g_tTex2df4a): 191(ptr) Variable UniformConstant
193: TypeImage 33(int) 2D array sampled format:Unknown
194: TypePointer UniformConstant 193
195(g_tTex2di4a): 194(ptr) Variable UniformConstant
196: TypeImage 46(int) 2D array sampled format:Unknown
197: TypePointer UniformConstant 196
198(g_tTex2du4a): 197(ptr) Variable UniformConstant
199: TypeImage 6(float) Cube array sampled format:Unknown
200: TypePointer UniformConstant 199
201(g_tTexcdf4a): 200(ptr) Variable UniformConstant
202: TypeImage 33(int) Cube array sampled format:Unknown
203: TypePointer UniformConstant 202
204(g_tTexcdi4a): 203(ptr) Variable UniformConstant
205: TypeImage 46(int) Cube array sampled format:Unknown
206: TypePointer UniformConstant 205
207(g_tTexcdu4a): 206(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(r00): 7(ptr) Variable Function
27(r02): 7(ptr) Variable Function
40(r04): 7(ptr) Variable Function
53(r20): 7(ptr) Variable Function
70(r22): 7(ptr) Variable Function
84(r24): 7(ptr) Variable Function
98(r50): 7(ptr) Variable Function
116(r52): 7(ptr) Variable Function
131(r54): 7(ptr) Variable Function
148(psout): 147(ptr) Variable Function
12: 9 Load 11(g_tTex1df4)
16: 13 Load 15(g_sSamp)
19: 18 SampledImage 12 16
23: 22(fvec2) CompositeConstruct 20 21
25: 6(float) CompositeExtract 23 1
26: 6(float) ImageSampleDrefExplicitLod 19 23 25 Lod 24
Store 8(r00) 26
32: 29 Load 31(g_tTex1di4)
33: 13 Load 15(g_sSamp)
36: 35 SampledImage 32 33
37: 22(fvec2) CompositeConstruct 20 21
38: 6(float) CompositeExtract 37 1
39: 6(float) ImageSampleDrefExplicitLod 36 37 38 Lod 24
Store 27(r02) 39
45: 42 Load 44(g_tTex1du4)
46: 13 Load 15(g_sSamp)
49: 48 SampledImage 45 46
50: 22(fvec2) CompositeConstruct 20 21
51: 6(float) CompositeExtract 50 1
52: 6(float) ImageSampleDrefExplicitLod 49 50 51 Lod 24
Store 40(r04) 52
57: 54 Load 56(g_tTex2df4)
58: 13 Load 15(g_sSamp)
61: 60 SampledImage 57 58
65: 6(float) CompositeExtract 63 0
66: 6(float) CompositeExtract 63 1
67: 64(fvec3) CompositeConstruct 65 66 21
68: 6(float) CompositeExtract 67 2
69: 6(float) ImageSampleDrefExplicitLod 61 67 68 Lod 24
Store 53(r20) 69
74: 71 Load 73(g_tTex2di4)
75: 13 Load 15(g_sSamp)
78: 77 SampledImage 74 75
79: 6(float) CompositeExtract 63 0
80: 6(float) CompositeExtract 63 1
81: 64(fvec3) CompositeConstruct 79 80 21
82: 6(float) CompositeExtract 81 2
83: 6(float) ImageSampleDrefExplicitLod 78 81 82 Lod 24
Store 70(r22) 83
88: 85 Load 87(g_tTex2du4)
89: 13 Load 15(g_sSamp)
92: 91 SampledImage 88 89
93: 6(float) CompositeExtract 63 0
94: 6(float) CompositeExtract 63 1
95: 64(fvec3) CompositeConstruct 93 94 21
96: 6(float) CompositeExtract 95 2
97: 6(float) ImageSampleDrefExplicitLod 92 95 96 Lod 24
Store 84(r24) 97
102: 99 Load 101(g_tTexcdf4)
103: 13 Load 15(g_sSamp)
106: 105 SampledImage 102 103
110: 6(float) CompositeExtract 108 0
111: 6(float) CompositeExtract 108 1
112: 6(float) CompositeExtract 108 2
113: 109(fvec4) CompositeConstruct 110 111 112 21
114: 6(float) CompositeExtract 113 3
115: 6(float) ImageSampleDrefExplicitLod 106 113 114 Lod 24
Store 98(r50) 115
120: 117 Load 119(g_tTexcdi4)
121: 13 Load 15(g_sSamp)
124: 123 SampledImage 120 121
125: 6(float) CompositeExtract 108 0
126: 6(float) CompositeExtract 108 1
127: 6(float) CompositeExtract 108 2
128: 109(fvec4) CompositeConstruct 125 126 127 21
129: 6(float) CompositeExtract 128 3
130: 6(float) ImageSampleDrefExplicitLod 124 128 129 Lod 24
Store 116(r52) 130
135: 132 Load 134(g_tTexcdu4)
136: 13 Load 15(g_sSamp)
139: 138 SampledImage 135 136
140: 6(float) CompositeExtract 108 0
141: 6(float) CompositeExtract 108 1
142: 6(float) CompositeExtract 108 2
143: 109(fvec4) CompositeConstruct 140 141 142 21
144: 6(float) CompositeExtract 143 3
145: 6(float) ImageSampleDrefExplicitLod 139 143 144 Lod 24
Store 131(r54) 145
153: 152(ptr) AccessChain 148(psout) 149
Store 153 151
155: 7(ptr) AccessChain 148(psout) 154
Store 155 150
158: 152(ptr) AccessChain 148(psout) 149
159: 109(fvec4) Load 158
Store 157(Color) 159
162: 7(ptr) AccessChain 148(psout) 154
163: 6(float) Load 162
Store 161(Depth) 163
162(flattenTemp): 150(ptr) Variable Function
163:8(PS_OUTPUT) FunctionCall 10(@main()
Store 162(flattenTemp) 163
166: 155(ptr) AccessChain 162(flattenTemp) 152
167: 7(fvec4) Load 166
Store 165(Color) 167
170: 12(ptr) AccessChain 162(flattenTemp) 157
171: 6(float) Load 170
Store 169(Depth) 171
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r00): 12(ptr) Variable Function
32(r02): 12(ptr) Variable Function
45(r04): 12(ptr) Variable Function
58(r20): 12(ptr) Variable Function
75(r22): 12(ptr) Variable Function
89(r24): 12(ptr) Variable Function
103(r50): 12(ptr) Variable Function
120(r52): 12(ptr) Variable Function
135(r54): 12(ptr) Variable Function
151(psout): 150(ptr) Variable Function
17: 14 Load 16(g_tTex1df4)
21: 18 Load 20(g_sSamp)
24: 23 SampledImage 17 21
28: 27(fvec2) CompositeConstruct 25 26
30: 6(float) CompositeExtract 28 1
31: 6(float) ImageSampleDrefExplicitLod 24 28 30 Lod 29
Store 13(r00) 31
37: 34 Load 36(g_tTex1di4)
38: 18 Load 20(g_sSamp)
41: 40 SampledImage 37 38
42: 27(fvec2) CompositeConstruct 25 26
43: 6(float) CompositeExtract 42 1
44: 6(float) ImageSampleDrefExplicitLod 41 42 43 Lod 29
Store 32(r02) 44
50: 47 Load 49(g_tTex1du4)
51: 18 Load 20(g_sSamp)
54: 53 SampledImage 50 51
55: 27(fvec2) CompositeConstruct 25 26
56: 6(float) CompositeExtract 55 1
57: 6(float) ImageSampleDrefExplicitLod 54 55 56 Lod 29
Store 45(r04) 57
62: 59 Load 61(g_tTex2df4)
63: 18 Load 20(g_sSamp)
66: 65 SampledImage 62 63
70: 6(float) CompositeExtract 68 0
71: 6(float) CompositeExtract 68 1
72: 69(fvec3) CompositeConstruct 70 71 26
73: 6(float) CompositeExtract 72 2
74: 6(float) ImageSampleDrefExplicitLod 66 72 73 Lod 29
Store 58(r20) 74
79: 76 Load 78(g_tTex2di4)
80: 18 Load 20(g_sSamp)
83: 82 SampledImage 79 80
84: 6(float) CompositeExtract 68 0
85: 6(float) CompositeExtract 68 1
86: 69(fvec3) CompositeConstruct 84 85 26
87: 6(float) CompositeExtract 86 2
88: 6(float) ImageSampleDrefExplicitLod 83 86 87 Lod 29
Store 75(r22) 88
93: 90 Load 92(g_tTex2du4)
94: 18 Load 20(g_sSamp)
97: 96 SampledImage 93 94
98: 6(float) CompositeExtract 68 0
99: 6(float) CompositeExtract 68 1
100: 69(fvec3) CompositeConstruct 98 99 26
101: 6(float) CompositeExtract 100 2
102: 6(float) ImageSampleDrefExplicitLod 97 100 101 Lod 29
Store 89(r24) 102
107: 104 Load 106(g_tTexcdf4)
108: 18 Load 20(g_sSamp)
111: 110 SampledImage 107 108
114: 6(float) CompositeExtract 113 0
115: 6(float) CompositeExtract 113 1
116: 6(float) CompositeExtract 113 2
117: 7(fvec4) CompositeConstruct 114 115 116 26
118: 6(float) CompositeExtract 117 3
119: 6(float) ImageSampleDrefExplicitLod 111 117 118 Lod 29
Store 103(r50) 119
124: 121 Load 123(g_tTexcdi4)
125: 18 Load 20(g_sSamp)
128: 127 SampledImage 124 125
129: 6(float) CompositeExtract 113 0
130: 6(float) CompositeExtract 113 1
131: 6(float) CompositeExtract 113 2
132: 7(fvec4) CompositeConstruct 129 130 131 26
133: 6(float) CompositeExtract 132 3
134: 6(float) ImageSampleDrefExplicitLod 128 132 133 Lod 29
Store 120(r52) 134
139: 136 Load 138(g_tTexcdu4)
140: 18 Load 20(g_sSamp)
143: 142 SampledImage 139 140
144: 6(float) CompositeExtract 113 0
145: 6(float) CompositeExtract 113 1
146: 6(float) CompositeExtract 113 2
147: 7(fvec4) CompositeConstruct 144 145 146 26
148: 6(float) CompositeExtract 147 3
149: 6(float) ImageSampleDrefExplicitLod 143 147 148 Lod 29
Store 135(r54) 149
156: 155(ptr) AccessChain 151(psout) 152
Store 156 154
158: 12(ptr) AccessChain 151(psout) 157
Store 158 153
159:8(PS_OUTPUT) Load 151(psout)
ReturnValue 159
FunctionEnd