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.offsetarray.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
@@ -130,24 +130,28 @@ gl_FragCoord origin is upper left
0:64 1 (const int)
0:64 Constant:
0:64 1.000000
0:66 Sequence
0:66 Sequence
0:66 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:66 Color: direct index for structure (temp 4-component vector of float)
0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:66 Constant:
0:66 0 (const int)
0:66 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:66 Depth: direct index for structure (temp float)
0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:66 Constant:
0:66 1 (const int)
0:66 Branch: Return
0:66 Branch: Return with expression
0:66 '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)
@@ -170,6 +174,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:
@@ -178,7 +184,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
@@ -306,24 +312,28 @@ gl_FragCoord origin is upper left
0:64 1 (const int)
0:64 Constant:
0:64 1.000000
0:66 Sequence
0:66 Sequence
0:66 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:66 Color: direct index for structure (temp 4-component vector of float)
0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:66 Constant:
0:66 0 (const int)
0:66 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:66 Depth: direct index for structure (temp float)
0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:66 Constant:
0:66 1 (const int)
0:66 Branch: Return
0:66 Branch: Return with expression
0:66 '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)
@@ -346,263 +356,276 @@ 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 178
// Id's are bound by 185
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 125 129
EntryPoint Fragment 4 "main" 133 137
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r11"
Name 11 "g_tTex1df4a"
Name 15 "g_sSamp"
Name 34 "r13"
Name 37 "g_tTex1di4a"
Name 48 "r15"
Name 52 "g_tTex1du4a"
Name 63 "r31"
Name 66 "g_tTex2df4a"
Name 84 "r33"
Name 87 "g_tTex2di4a"
Name 99 "r35"
Name 102 "g_tTex2du4a"
Name 114 "PS_OUTPUT"
MemberName 114(PS_OUTPUT) 0 "Color"
MemberName 114(PS_OUTPUT) 1 "Depth"
Name 116 "psout"
Name 125 "Color"
Name 129 "Depth"
Name 135 "g_tTex1df4"
Name 138 "g_tTex1di4"
Name 141 "g_tTex1du4"
Name 144 "g_tTex2df4"
Name 147 "g_tTex2di4"
Name 150 "g_tTex2du4"
Name 153 "g_tTex3df4"
Name 156 "g_tTex3di4"
Name 159 "g_tTex3du4"
Name 162 "g_tTexcdf4"
Name 165 "g_tTexcdi4"
Name 168 "g_tTexcdu4"
Name 171 "g_tTexcdf4a"
Name 174 "g_tTexcdi4a"
Name 177 "g_tTexcdu4a"
Decorate 11(g_tTex1df4a) DescriptorSet 0
Decorate 15(g_sSamp) DescriptorSet 0
Decorate 15(g_sSamp) Binding 0
Decorate 37(g_tTex1di4a) DescriptorSet 0
Decorate 52(g_tTex1du4a) DescriptorSet 0
Decorate 66(g_tTex2df4a) DescriptorSet 0
Decorate 87(g_tTex2di4a) DescriptorSet 0
Decorate 102(g_tTex2du4a) DescriptorSet 0
Decorate 125(Color) Location 0
Decorate 129(Depth) BuiltIn FragDepth
Decorate 135(g_tTex1df4) DescriptorSet 0
Decorate 135(g_tTex1df4) Binding 0
Decorate 138(g_tTex1di4) DescriptorSet 0
Decorate 141(g_tTex1du4) DescriptorSet 0
Decorate 144(g_tTex2df4) DescriptorSet 0
Decorate 147(g_tTex2di4) DescriptorSet 0
Decorate 150(g_tTex2du4) DescriptorSet 0
Decorate 153(g_tTex3df4) DescriptorSet 0
Decorate 156(g_tTex3di4) DescriptorSet 0
Decorate 159(g_tTex3du4) DescriptorSet 0
Decorate 162(g_tTexcdf4) DescriptorSet 0
Decorate 165(g_tTexcdi4) DescriptorSet 0
Decorate 168(g_tTexcdu4) DescriptorSet 0
Decorate 171(g_tTexcdf4a) DescriptorSet 0
Decorate 174(g_tTexcdi4a) DescriptorSet 0
Decorate 177(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 "r11"
Name 16 "g_tTex1df4a"
Name 20 "g_sSamp"
Name 39 "r13"
Name 42 "g_tTex1di4a"
Name 53 "r15"
Name 57 "g_tTex1du4a"
Name 68 "r31"
Name 71 "g_tTex2df4a"
Name 88 "r33"
Name 91 "g_tTex2di4a"
Name 103 "r35"
Name 106 "g_tTex2du4a"
Name 119 "psout"
Name 130 "flattenTemp"
Name 133 "Color"
Name 137 "Depth"
Name 142 "g_tTex1df4"
Name 145 "g_tTex1di4"
Name 148 "g_tTex1du4"
Name 151 "g_tTex2df4"
Name 154 "g_tTex2di4"
Name 157 "g_tTex2du4"
Name 160 "g_tTex3df4"
Name 163 "g_tTex3di4"
Name 166 "g_tTex3du4"
Name 169 "g_tTexcdf4"
Name 172 "g_tTexcdi4"
Name 175 "g_tTexcdu4"
Name 178 "g_tTexcdf4a"
Name 181 "g_tTexcdi4a"
Name 184 "g_tTexcdu4a"
Decorate 16(g_tTex1df4a) DescriptorSet 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 42(g_tTex1di4a) DescriptorSet 0
Decorate 57(g_tTex1du4a) DescriptorSet 0
Decorate 71(g_tTex2df4a) DescriptorSet 0
Decorate 91(g_tTex2di4a) DescriptorSet 0
Decorate 106(g_tTex2du4a) DescriptorSet 0
Decorate 133(Color) Location 0
Decorate 137(Depth) BuiltIn FragDepth
Decorate 142(g_tTex1df4) DescriptorSet 0
Decorate 142(g_tTex1df4) Binding 0
Decorate 145(g_tTex1di4) DescriptorSet 0
Decorate 148(g_tTex1du4) DescriptorSet 0
Decorate 151(g_tTex2df4) DescriptorSet 0
Decorate 154(g_tTex2di4) DescriptorSet 0
Decorate 157(g_tTex2du4) DescriptorSet 0
Decorate 160(g_tTex3df4) DescriptorSet 0
Decorate 163(g_tTex3di4) DescriptorSet 0
Decorate 166(g_tTex3du4) DescriptorSet 0
Decorate 169(g_tTexcdf4) DescriptorSet 0
Decorate 172(g_tTexcdi4) DescriptorSet 0
Decorate 175(g_tTexcdu4) DescriptorSet 0
Decorate 178(g_tTexcdf4a) DescriptorSet 0
Decorate 181(g_tTexcdi4a) DescriptorSet 0
Decorate 184(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypeImage 6(float) 1D array sampled format:Unknown
10: TypePointer UniformConstant 9
11(g_tTex1df4a): 10(ptr) Variable UniformConstant
13: TypeSampler
14: TypePointer UniformConstant 13
15(g_sSamp): 14(ptr) Variable UniformConstant
17: TypeImage 6(float) 1D depth array sampled format:Unknown
18: TypeSampledImage 17
20: TypeVector 6(float) 2
21: 6(float) Constant 1036831949
22: 6(float) Constant 1045220557
23: 20(fvec2) ConstantComposite 21 22
24: 6(float) Constant 1061158912
25: TypeVector 6(float) 3
29: 6(float) Constant 0
30: TypeInt 32 1
31: 30(int) Constant 2
35: TypeImage 30(int) 1D array sampled format:Unknown
36: TypePointer UniformConstant 35
37(g_tTex1di4a): 36(ptr) Variable UniformConstant
40: TypeImage 30(int) 1D depth array sampled format:Unknown
41: TypeSampledImage 40
49: TypeInt 32 0
50: TypeImage 49(int) 1D array sampled format:Unknown
51: TypePointer UniformConstant 50
52(g_tTex1du4a): 51(ptr) Variable UniformConstant
55: TypeImage 49(int) 1D depth array sampled format:Unknown
56: TypeSampledImage 55
64: TypeImage 6(float) 2D array sampled format:Unknown
65: TypePointer UniformConstant 64
66(g_tTex2df4a): 65(ptr) Variable UniformConstant
69: TypeImage 6(float) 2D depth array sampled format:Unknown
70: TypeSampledImage 69
72: 6(float) Constant 1050253722
73: 25(fvec3) ConstantComposite 21 22 72
74: TypeVector 6(float) 4
79: TypeVector 30(int) 2
80: 30(int) Constant 3
81: 79(ivec2) ConstantComposite 31 80
85: TypeImage 30(int) 2D array sampled format:Unknown
86: TypePointer UniformConstant 85
87(g_tTex2di4a): 86(ptr) Variable UniformConstant
90: TypeImage 30(int) 2D depth array sampled format:Unknown
91: TypeSampledImage 90
100: TypeImage 49(int) 2D array sampled format:Unknown
101: TypePointer UniformConstant 100
102(g_tTex2du4a): 101(ptr) Variable UniformConstant
105: TypeImage 49(int) 2D depth array sampled format:Unknown
106: TypeSampledImage 105
114(PS_OUTPUT): TypeStruct 74(fvec4) 6(float)
115: TypePointer Function 114(PS_OUTPUT)
117: 30(int) Constant 0
118: 6(float) Constant 1065353216
119: 74(fvec4) ConstantComposite 118 118 118 118
120: TypePointer Function 74(fvec4)
122: 30(int) Constant 1
124: TypePointer Output 74(fvec4)
125(Color): 124(ptr) Variable Output
128: TypePointer Output 6(float)
129(Depth): 128(ptr) Variable Output
133: TypeImage 6(float) 1D sampled format:Unknown
134: TypePointer UniformConstant 133
135(g_tTex1df4): 134(ptr) Variable UniformConstant
136: TypeImage 30(int) 1D sampled format:Unknown
137: TypePointer UniformConstant 136
138(g_tTex1di4): 137(ptr) Variable UniformConstant
139: TypeImage 49(int) 1D sampled format:Unknown
140: TypePointer UniformConstant 139
141(g_tTex1du4): 140(ptr) Variable UniformConstant
142: TypeImage 6(float) 2D sampled format:Unknown
143: TypePointer UniformConstant 142
144(g_tTex2df4): 143(ptr) Variable UniformConstant
145: TypeImage 30(int) 2D sampled format:Unknown
146: TypePointer UniformConstant 145
147(g_tTex2di4): 146(ptr) Variable UniformConstant
148: TypeImage 49(int) 2D sampled format:Unknown
149: TypePointer UniformConstant 148
150(g_tTex2du4): 149(ptr) Variable UniformConstant
151: TypeImage 6(float) 3D sampled format:Unknown
152: TypePointer UniformConstant 151
153(g_tTex3df4): 152(ptr) Variable UniformConstant
154: TypeImage 30(int) 3D sampled format:Unknown
155: TypePointer UniformConstant 154
156(g_tTex3di4): 155(ptr) Variable UniformConstant
157: TypeImage 49(int) 3D sampled format:Unknown
158: TypePointer UniformConstant 157
159(g_tTex3du4): 158(ptr) Variable UniformConstant
160: TypeImage 6(float) Cube sampled format:Unknown
161: TypePointer UniformConstant 160
162(g_tTexcdf4): 161(ptr) Variable UniformConstant
163: TypeImage 30(int) Cube sampled format:Unknown
164: TypePointer UniformConstant 163
165(g_tTexcdi4): 164(ptr) Variable UniformConstant
166: TypeImage 49(int) Cube sampled format:Unknown
167: TypePointer UniformConstant 166
168(g_tTexcdu4): 167(ptr) Variable UniformConstant
169: TypeImage 6(float) Cube array sampled format:Unknown
170: TypePointer UniformConstant 169
171(g_tTexcdf4a): 170(ptr) Variable UniformConstant
172: TypeImage 30(int) Cube array sampled format:Unknown
173: TypePointer UniformConstant 172
174(g_tTexcdi4a): 173(ptr) Variable UniformConstant
175: TypeImage 49(int) Cube array sampled format:Unknown
176: TypePointer UniformConstant 175
177(g_tTexcdu4a): 176(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 array sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_tTex1df4a): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeImage 6(float) 1D depth array sampled format:Unknown
23: TypeSampledImage 22
25: TypeVector 6(float) 2
26: 6(float) Constant 1036831949
27: 6(float) Constant 1045220557
28: 25(fvec2) ConstantComposite 26 27
29: 6(float) Constant 1061158912
30: TypeVector 6(float) 3
34: 6(float) Constant 0
35: TypeInt 32 1
36: 35(int) Constant 2
40: TypeImage 35(int) 1D array sampled format:Unknown
41: TypePointer UniformConstant 40
42(g_tTex1di4a): 41(ptr) Variable UniformConstant
45: TypeImage 35(int) 1D depth array sampled format:Unknown
46: TypeSampledImage 45
54: TypeInt 32 0
55: TypeImage 54(int) 1D array sampled format:Unknown
56: TypePointer UniformConstant 55
57(g_tTex1du4a): 56(ptr) Variable UniformConstant
60: TypeImage 54(int) 1D depth array sampled format:Unknown
61: TypeSampledImage 60
69: TypeImage 6(float) 2D array sampled format:Unknown
70: TypePointer UniformConstant 69
71(g_tTex2df4a): 70(ptr) Variable UniformConstant
74: TypeImage 6(float) 2D depth array sampled format:Unknown
75: TypeSampledImage 74
77: 6(float) Constant 1050253722
78: 30(fvec3) ConstantComposite 26 27 77
83: TypeVector 35(int) 2
84: 35(int) Constant 3
85: 83(ivec2) ConstantComposite 36 84
89: TypeImage 35(int) 2D array sampled format:Unknown
90: TypePointer UniformConstant 89
91(g_tTex2di4a): 90(ptr) Variable UniformConstant
94: TypeImage 35(int) 2D depth array sampled format:Unknown
95: TypeSampledImage 94
104: TypeImage 54(int) 2D array sampled format:Unknown
105: TypePointer UniformConstant 104
106(g_tTex2du4a): 105(ptr) Variable UniformConstant
109: TypeImage 54(int) 2D depth array sampled format:Unknown
110: TypeSampledImage 109
118: TypePointer Function 8(PS_OUTPUT)
120: 35(int) Constant 0
121: 6(float) Constant 1065353216
122: 7(fvec4) ConstantComposite 121 121 121 121
123: TypePointer Function 7(fvec4)
125: 35(int) Constant 1
132: TypePointer Output 7(fvec4)
133(Color): 132(ptr) Variable Output
136: TypePointer Output 6(float)
137(Depth): 136(ptr) Variable Output
140: TypeImage 6(float) 1D sampled format:Unknown
141: TypePointer UniformConstant 140
142(g_tTex1df4): 141(ptr) Variable UniformConstant
143: TypeImage 35(int) 1D sampled format:Unknown
144: TypePointer UniformConstant 143
145(g_tTex1di4): 144(ptr) Variable UniformConstant
146: TypeImage 54(int) 1D sampled format:Unknown
147: TypePointer UniformConstant 146
148(g_tTex1du4): 147(ptr) Variable UniformConstant
149: TypeImage 6(float) 2D sampled format:Unknown
150: TypePointer UniformConstant 149
151(g_tTex2df4): 150(ptr) Variable UniformConstant
152: TypeImage 35(int) 2D sampled format:Unknown
153: TypePointer UniformConstant 152
154(g_tTex2di4): 153(ptr) Variable UniformConstant
155: TypeImage 54(int) 2D sampled format:Unknown
156: TypePointer UniformConstant 155
157(g_tTex2du4): 156(ptr) Variable UniformConstant
158: TypeImage 6(float) 3D sampled format:Unknown
159: TypePointer UniformConstant 158
160(g_tTex3df4): 159(ptr) Variable UniformConstant
161: TypeImage 35(int) 3D sampled format:Unknown
162: TypePointer UniformConstant 161
163(g_tTex3di4): 162(ptr) Variable UniformConstant
164: TypeImage 54(int) 3D sampled format:Unknown
165: TypePointer UniformConstant 164
166(g_tTex3du4): 165(ptr) Variable UniformConstant
167: TypeImage 6(float) Cube sampled format:Unknown
168: TypePointer UniformConstant 167
169(g_tTexcdf4): 168(ptr) Variable UniformConstant
170: TypeImage 35(int) Cube sampled format:Unknown
171: TypePointer UniformConstant 170
172(g_tTexcdi4): 171(ptr) Variable UniformConstant
173: TypeImage 54(int) Cube sampled format:Unknown
174: TypePointer UniformConstant 173
175(g_tTexcdu4): 174(ptr) Variable UniformConstant
176: TypeImage 6(float) Cube array sampled format:Unknown
177: TypePointer UniformConstant 176
178(g_tTexcdf4a): 177(ptr) Variable UniformConstant
179: TypeImage 35(int) Cube array sampled format:Unknown
180: TypePointer UniformConstant 179
181(g_tTexcdi4a): 180(ptr) Variable UniformConstant
182: TypeImage 54(int) Cube array sampled format:Unknown
183: TypePointer UniformConstant 182
184(g_tTexcdu4a): 183(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(r11): 7(ptr) Variable Function
34(r13): 7(ptr) Variable Function
48(r15): 7(ptr) Variable Function
63(r31): 7(ptr) Variable Function
84(r33): 7(ptr) Variable Function
99(r35): 7(ptr) Variable Function
116(psout): 115(ptr) Variable Function
12: 9 Load 11(g_tTex1df4a)
16: 13 Load 15(g_sSamp)
19: 18 SampledImage 12 16
26: 6(float) CompositeExtract 23 0
27: 6(float) CompositeExtract 23 1
28: 25(fvec3) CompositeConstruct 26 27 24
32: 6(float) CompositeExtract 28 2
33: 6(float) ImageSampleDrefExplicitLod 19 28 32 Lod ConstOffset 29 31
Store 8(r11) 33
38: 35 Load 37(g_tTex1di4a)
39: 13 Load 15(g_sSamp)
42: 41 SampledImage 38 39
43: 6(float) CompositeExtract 23 0
44: 6(float) CompositeExtract 23 1
45: 25(fvec3) CompositeConstruct 43 44 24
46: 6(float) CompositeExtract 45 2
47: 6(float) ImageSampleDrefExplicitLod 42 45 46 Lod ConstOffset 29 31
Store 34(r13) 47
53: 50 Load 52(g_tTex1du4a)
54: 13 Load 15(g_sSamp)
57: 56 SampledImage 53 54
58: 6(float) CompositeExtract 23 0
59: 6(float) CompositeExtract 23 1
60: 25(fvec3) CompositeConstruct 58 59 24
61: 6(float) CompositeExtract 60 2
62: 6(float) ImageSampleDrefExplicitLod 57 60 61 Lod ConstOffset 29 31
Store 48(r15) 62
67: 64 Load 66(g_tTex2df4a)
68: 13 Load 15(g_sSamp)
71: 70 SampledImage 67 68
75: 6(float) CompositeExtract 73 0
76: 6(float) CompositeExtract 73 1
77: 6(float) CompositeExtract 73 2
78: 74(fvec4) CompositeConstruct 75 76 77 24
82: 6(float) CompositeExtract 78 3
83: 6(float) ImageSampleDrefExplicitLod 71 78 82 Lod ConstOffset 29 81
Store 63(r31) 83
88: 85 Load 87(g_tTex2di4a)
89: 13 Load 15(g_sSamp)
92: 91 SampledImage 88 89
93: 6(float) CompositeExtract 73 0
94: 6(float) CompositeExtract 73 1
95: 6(float) CompositeExtract 73 2
96: 74(fvec4) CompositeConstruct 93 94 95 24
97: 6(float) CompositeExtract 96 3
98: 6(float) ImageSampleDrefExplicitLod 92 96 97 Lod ConstOffset 29 81
Store 84(r33) 98
103: 100 Load 102(g_tTex2du4a)
104: 13 Load 15(g_sSamp)
107: 106 SampledImage 103 104
108: 6(float) CompositeExtract 73 0
109: 6(float) CompositeExtract 73 1
110: 6(float) CompositeExtract 73 2
111: 74(fvec4) CompositeConstruct 108 109 110 24
112: 6(float) CompositeExtract 111 3
113: 6(float) ImageSampleDrefExplicitLod 107 111 112 Lod ConstOffset 29 81
Store 99(r35) 113
121: 120(ptr) AccessChain 116(psout) 117
Store 121 119
123: 7(ptr) AccessChain 116(psout) 122
Store 123 118
126: 120(ptr) AccessChain 116(psout) 117
127: 74(fvec4) Load 126
Store 125(Color) 127
130: 7(ptr) AccessChain 116(psout) 122
131: 6(float) Load 130
Store 129(Depth) 131
130(flattenTemp): 118(ptr) Variable Function
131:8(PS_OUTPUT) FunctionCall 10(@main()
Store 130(flattenTemp) 131
134: 123(ptr) AccessChain 130(flattenTemp) 120
135: 7(fvec4) Load 134
Store 133(Color) 135
138: 12(ptr) AccessChain 130(flattenTemp) 125
139: 6(float) Load 138
Store 137(Depth) 139
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r11): 12(ptr) Variable Function
39(r13): 12(ptr) Variable Function
53(r15): 12(ptr) Variable Function
68(r31): 12(ptr) Variable Function
88(r33): 12(ptr) Variable Function
103(r35): 12(ptr) Variable Function
119(psout): 118(ptr) Variable Function
17: 14 Load 16(g_tTex1df4a)
21: 18 Load 20(g_sSamp)
24: 23 SampledImage 17 21
31: 6(float) CompositeExtract 28 0
32: 6(float) CompositeExtract 28 1
33: 30(fvec3) CompositeConstruct 31 32 29
37: 6(float) CompositeExtract 33 2
38: 6(float) ImageSampleDrefExplicitLod 24 33 37 Lod ConstOffset 34 36
Store 13(r11) 38
43: 40 Load 42(g_tTex1di4a)
44: 18 Load 20(g_sSamp)
47: 46 SampledImage 43 44
48: 6(float) CompositeExtract 28 0
49: 6(float) CompositeExtract 28 1
50: 30(fvec3) CompositeConstruct 48 49 29
51: 6(float) CompositeExtract 50 2
52: 6(float) ImageSampleDrefExplicitLod 47 50 51 Lod ConstOffset 34 36
Store 39(r13) 52
58: 55 Load 57(g_tTex1du4a)
59: 18 Load 20(g_sSamp)
62: 61 SampledImage 58 59
63: 6(float) CompositeExtract 28 0
64: 6(float) CompositeExtract 28 1
65: 30(fvec3) CompositeConstruct 63 64 29
66: 6(float) CompositeExtract 65 2
67: 6(float) ImageSampleDrefExplicitLod 62 65 66 Lod ConstOffset 34 36
Store 53(r15) 67
72: 69 Load 71(g_tTex2df4a)
73: 18 Load 20(g_sSamp)
76: 75 SampledImage 72 73
79: 6(float) CompositeExtract 78 0
80: 6(float) CompositeExtract 78 1
81: 6(float) CompositeExtract 78 2
82: 7(fvec4) CompositeConstruct 79 80 81 29
86: 6(float) CompositeExtract 82 3
87: 6(float) ImageSampleDrefExplicitLod 76 82 86 Lod ConstOffset 34 85
Store 68(r31) 87
92: 89 Load 91(g_tTex2di4a)
93: 18 Load 20(g_sSamp)
96: 95 SampledImage 92 93
97: 6(float) CompositeExtract 78 0
98: 6(float) CompositeExtract 78 1
99: 6(float) CompositeExtract 78 2
100: 7(fvec4) CompositeConstruct 97 98 99 29
101: 6(float) CompositeExtract 100 3
102: 6(float) ImageSampleDrefExplicitLod 96 100 101 Lod ConstOffset 34 85
Store 88(r33) 102
107: 104 Load 106(g_tTex2du4a)
108: 18 Load 20(g_sSamp)
111: 110 SampledImage 107 108
112: 6(float) CompositeExtract 78 0
113: 6(float) CompositeExtract 78 1
114: 6(float) CompositeExtract 78 2
115: 7(fvec4) CompositeConstruct 112 113 114 29
116: 6(float) CompositeExtract 115 3
117: 6(float) ImageSampleDrefExplicitLod 111 115 116 Lod ConstOffset 34 85
Store 103(r35) 117
124: 123(ptr) AccessChain 119(psout) 120
Store 124 122
126: 12(ptr) AccessChain 119(psout) 125
Store 126 121
127:8(PS_OUTPUT) Load 119(psout)
ReturnValue 127
FunctionEnd