SPV: projective texturing: move the project coordinate.

SPV doesn't allow gaps in the components of the texturing coordinate.
It also removes the shadow reference.
So, close up the components so all used components are together.
This commit is contained in:
John Kessenich 2016-06-16 14:06:26 -06:00
parent 76d4dfcd51
commit 65336488a8
5 changed files with 1908 additions and 1858 deletions

View File

@ -2677,6 +2677,30 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
}
}
// projective component (might not to move)
// GLSL: "The texture coordinates consumed from P, not including the last component of P,
// are divided by the last component of P."
// SPIR-V: "... (u [, v] [, w], q)... It may be a vector larger than needed, but all
// unused components will appear after all used components."
if (cracked.proj) {
int projSourceComp = builder.getNumComponents(params.coords) - 1;
int projTargetComp;
switch (sampler.dim) {
case glslang::Esd1D: projTargetComp = 1; break;
case glslang::Esd2D: projTargetComp = 2; break;
case glslang::EsdRect: projTargetComp = 2; break;
default: projTargetComp = projSourceComp; break;
}
// copy the projective coordinate if we have to
if (projTargetComp != projSourceComp) {
spv::Id projComp = builder.createCompositeExtract(params.coords,
builder.getScalarTypeId(builder.getTypeId(params.coords)),
projSourceComp);
params.coords = builder.createCompositeInsert(projComp, params.coords,
builder.getTypeId(params.coords), projTargetComp);
}
}
return builder.createTextureCall(precision, convertGlslangToSpvType(node->getType()), sparse, cracked.fetch, cracked.proj, cracked.gather, noImplicitLod, params);
}

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ Linked fragment stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 282
// Id's are bound by 284
Capability Shader
Capability SampledRect
@ -15,7 +15,7 @@ Linked fragment stage:
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 17 26 29 55 81 84 92 251 281
EntryPoint Fragment 4 "main" 17 26 29 55 81 84 92 253 283
ExecutionMode 4 OriginUpperLeft
Source GLSL 430
Name 4 "main"
@ -37,18 +37,18 @@ Linked fragment stage:
Name 139 "s2DArrayShadow"
Name 167 "iv"
Name 171 "is2D"
Name 206 "is3D"
Name 218 "isCube"
Name 230 "is2DArray"
Name 241 "iv2"
Name 245 "sCubeShadow"
Name 251 "FragData"
Name 263 "is2Dms"
Name 267 "us2D"
Name 271 "us3D"
Name 275 "usCube"
Name 279 "us2DArray"
Name 281 "ic4D"
Name 208 "is3D"
Name 220 "isCube"
Name 232 "is2DArray"
Name 243 "iv2"
Name 247 "sCubeShadow"
Name 253 "FragData"
Name 265 "is2Dms"
Name 269 "us2D"
Name 273 "us3D"
Name 277 "usCube"
Name 281 "us2DArray"
Name 283 "ic4D"
Decorate 13(s2D) DescriptorSet 0
Decorate 23(sCubeArrayShadow) DescriptorSet 0
Decorate 42(s3D) DescriptorSet 0
@ -61,16 +61,16 @@ Linked fragment stage:
Decorate 128(sCube) DescriptorSet 0
Decorate 139(s2DArrayShadow) DescriptorSet 0
Decorate 171(is2D) DescriptorSet 0
Decorate 206(is3D) DescriptorSet 0
Decorate 218(isCube) DescriptorSet 0
Decorate 230(is2DArray) DescriptorSet 0
Decorate 245(sCubeShadow) DescriptorSet 0
Decorate 263(is2Dms) DescriptorSet 0
Decorate 267(us2D) DescriptorSet 0
Decorate 271(us3D) DescriptorSet 0
Decorate 275(usCube) DescriptorSet 0
Decorate 279(us2DArray) DescriptorSet 0
Decorate 281(ic4D) Flat
Decorate 208(is3D) DescriptorSet 0
Decorate 220(isCube) DescriptorSet 0
Decorate 232(is2DArray) DescriptorSet 0
Decorate 247(sCubeShadow) DescriptorSet 0
Decorate 265(is2Dms) DescriptorSet 0
Decorate 269(us2D) DescriptorSet 0
Decorate 273(us3D) DescriptorSet 0
Decorate 277(usCube) DescriptorSet 0
Decorate 281(us2DArray) DescriptorSet 0
Decorate 283(ic4D) Flat
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -142,55 +142,55 @@ Linked fragment stage:
169: TypeSampledImage 168
170: TypePointer UniformConstant 169
171(is2D): 170(ptr) Variable UniformConstant
203: TypeImage 67(int) 3D sampled format:Unknown
204: TypeSampledImage 203
205: TypePointer UniformConstant 204
206(is3D): 205(ptr) Variable UniformConstant
209: 6(float) Constant 1082549862
215: TypeImage 67(int) Cube sampled format:Unknown
216: TypeSampledImage 215
217: TypePointer UniformConstant 216
218(isCube): 217(ptr) Variable UniformConstant
227: TypeImage 67(int) 2D array sampled format:Unknown
228: TypeSampledImage 227
229: TypePointer UniformConstant 228
230(is2DArray): 229(ptr) Variable UniformConstant
240: TypePointer Function 68(ivec2)
242: TypeImage 6(float) Cube depth sampled format:Unknown
243: TypeSampledImage 242
244: TypePointer UniformConstant 243
245(sCubeShadow): 244(ptr) Variable UniformConstant
247: 67(int) Constant 2
250: TypePointer Output 7(fvec4)
251(FragData): 250(ptr) Variable Output
255: 6(float) Constant 0
260: TypeImage 67(int) 2D multi-sampled sampled format:Unknown
261: TypeSampledImage 260
262: TypePointer UniformConstant 261
263(is2Dms): 262(ptr) Variable UniformConstant
264: TypeImage 32(int) 2D sampled format:Unknown
265: TypeSampledImage 264
266: TypePointer UniformConstant 265
267(us2D): 266(ptr) Variable UniformConstant
268: TypeImage 32(int) 3D sampled format:Unknown
269: TypeSampledImage 268
270: TypePointer UniformConstant 269
271(us3D): 270(ptr) Variable UniformConstant
272: TypeImage 32(int) Cube sampled format:Unknown
273: TypeSampledImage 272
274: TypePointer UniformConstant 273
275(usCube): 274(ptr) Variable UniformConstant
276: TypeImage 32(int) 2D array sampled format:Unknown
277: TypeSampledImage 276
278: TypePointer UniformConstant 277
279(us2DArray): 278(ptr) Variable UniformConstant
280: TypePointer Input 165(ivec4)
281(ic4D): 280(ptr) Variable Input
205: TypeImage 67(int) 3D sampled format:Unknown
206: TypeSampledImage 205
207: TypePointer UniformConstant 206
208(is3D): 207(ptr) Variable UniformConstant
211: 6(float) Constant 1082549862
217: TypeImage 67(int) Cube sampled format:Unknown
218: TypeSampledImage 217
219: TypePointer UniformConstant 218
220(isCube): 219(ptr) Variable UniformConstant
229: TypeImage 67(int) 2D array sampled format:Unknown
230: TypeSampledImage 229
231: TypePointer UniformConstant 230
232(is2DArray): 231(ptr) Variable UniformConstant
242: TypePointer Function 68(ivec2)
244: TypeImage 6(float) Cube depth sampled format:Unknown
245: TypeSampledImage 244
246: TypePointer UniformConstant 245
247(sCubeShadow): 246(ptr) Variable UniformConstant
249: 67(int) Constant 2
252: TypePointer Output 7(fvec4)
253(FragData): 252(ptr) Variable Output
257: 6(float) Constant 0
262: TypeImage 67(int) 2D multi-sampled sampled format:Unknown
263: TypeSampledImage 262
264: TypePointer UniformConstant 263
265(is2Dms): 264(ptr) Variable UniformConstant
266: TypeImage 32(int) 2D sampled format:Unknown
267: TypeSampledImage 266
268: TypePointer UniformConstant 267
269(us2D): 268(ptr) Variable UniformConstant
270: TypeImage 32(int) 3D sampled format:Unknown
271: TypeSampledImage 270
272: TypePointer UniformConstant 271
273(us3D): 272(ptr) Variable UniformConstant
274: TypeImage 32(int) Cube sampled format:Unknown
275: TypeSampledImage 274
276: TypePointer UniformConstant 275
277(usCube): 276(ptr) Variable UniformConstant
278: TypeImage 32(int) 2D array sampled format:Unknown
279: TypeSampledImage 278
280: TypePointer UniformConstant 279
281(us2DArray): 280(ptr) Variable UniformConstant
282: TypePointer Input 165(ivec4)
283(ic4D): 282(ptr) Variable Input
4(main): 2 Function None 3
5: Label
9(v): 8(ptr) Variable Function
167(iv): 166(ptr) Variable Function
241(iv2): 240(ptr) Variable Function
243(iv2): 242(ptr) Variable Function
14: 11 Load 13(s2D)
18: 15(fvec2) Load 17(c2D)
19: 7(fvec4) ImageSampleImplicitLod 14 18
@ -311,75 +311,77 @@ Linked fragment stage:
Store 9(v) 178
179: 169 Load 171(is2D)
180: 7(fvec4) Load 26(c4D)
181: 165(ivec4) ImageSampleProjImplicitLod 179 180 ConstOffset 70
Store 167(iv) 181
182: 165(ivec4) Load 167(iv)
183: 7(fvec4) ConvertSToF 182
184: 7(fvec4) Load 9(v)
185: 7(fvec4) FAdd 184 183
Store 9(v) 185
186: 169 Load 171(is2D)
187: 53(fvec3) Load 55(c3D)
188: 6(float) Load 29(c1D)
189: 165(ivec4) ImageSampleProjExplicitLod 186 187 Lod 188
Store 167(iv) 189
190: 165(ivec4) Load 167(iv)
191: 7(fvec4) ConvertSToF 190
192: 7(fvec4) Load 9(v)
193: 7(fvec4) FAdd 192 191
Store 9(v) 193
194: 169 Load 171(is2D)
195: 53(fvec3) Load 55(c3D)
196: 15(fvec2) Load 17(c2D)
197: 15(fvec2) Load 17(c2D)
198: 165(ivec4) ImageSampleProjExplicitLod 194 195 Grad 196 197
Store 167(iv) 198
199: 165(ivec4) Load 167(iv)
200: 7(fvec4) ConvertSToF 199
201: 7(fvec4) Load 9(v)
202: 7(fvec4) FAdd 201 200
Store 9(v) 202
207: 204 Load 206(is3D)
208: 53(fvec3) Load 55(c3D)
210: 165(ivec4) ImageSampleImplicitLod 207 208 Bias 209
Store 167(iv) 210
211: 165(ivec4) Load 167(iv)
212: 7(fvec4) ConvertSToF 211
213: 7(fvec4) Load 9(v)
214: 7(fvec4) FAdd 213 212
Store 9(v) 214
219: 216 Load 218(isCube)
220: 53(fvec3) Load 55(c3D)
221: 6(float) Load 29(c1D)
222: 165(ivec4) ImageSampleExplicitLod 219 220 Lod 221
Store 167(iv) 222
223: 165(ivec4) Load 167(iv)
224: 7(fvec4) ConvertSToF 223
225: 7(fvec4) Load 9(v)
226: 7(fvec4) FAdd 225 224
Store 9(v) 226
231: 228 Load 230(is2DArray)
232: 79(ivec3) Load 81(ic3D)
233: 67(int) Load 84(ic1D)
234: 227 Image 231
235: 165(ivec4) ImageFetch 234 232 Lod 233
Store 167(iv) 235
236: 165(ivec4) Load 167(iv)
237: 7(fvec4) ConvertSToF 236
238: 7(fvec4) Load 9(v)
239: 7(fvec4) FAdd 238 237
Store 9(v) 239
246: 243 Load 245(sCubeShadow)
248: 242 Image 246
249: 68(ivec2) ImageQuerySizeLod 248 247
Store 241(iv2) 249
252: 7(fvec4) Load 9(v)
253: 68(ivec2) Load 241(iv2)
254: 15(fvec2) ConvertSToF 253
256: 6(float) CompositeExtract 254 0
257: 6(float) CompositeExtract 254 1
258: 7(fvec4) CompositeConstruct 256 257 255 255
259: 7(fvec4) FAdd 252 258
Store 251(FragData) 259
181: 6(float) CompositeExtract 180 3
182: 7(fvec4) CompositeInsert 181 180 2
183: 165(ivec4) ImageSampleProjImplicitLod 179 182 ConstOffset 70
Store 167(iv) 183
184: 165(ivec4) Load 167(iv)
185: 7(fvec4) ConvertSToF 184
186: 7(fvec4) Load 9(v)
187: 7(fvec4) FAdd 186 185
Store 9(v) 187
188: 169 Load 171(is2D)
189: 53(fvec3) Load 55(c3D)
190: 6(float) Load 29(c1D)
191: 165(ivec4) ImageSampleProjExplicitLod 188 189 Lod 190
Store 167(iv) 191
192: 165(ivec4) Load 167(iv)
193: 7(fvec4) ConvertSToF 192
194: 7(fvec4) Load 9(v)
195: 7(fvec4) FAdd 194 193
Store 9(v) 195
196: 169 Load 171(is2D)
197: 53(fvec3) Load 55(c3D)
198: 15(fvec2) Load 17(c2D)
199: 15(fvec2) Load 17(c2D)
200: 165(ivec4) ImageSampleProjExplicitLod 196 197 Grad 198 199
Store 167(iv) 200
201: 165(ivec4) Load 167(iv)
202: 7(fvec4) ConvertSToF 201
203: 7(fvec4) Load 9(v)
204: 7(fvec4) FAdd 203 202
Store 9(v) 204
209: 206 Load 208(is3D)
210: 53(fvec3) Load 55(c3D)
212: 165(ivec4) ImageSampleImplicitLod 209 210 Bias 211
Store 167(iv) 212
213: 165(ivec4) Load 167(iv)
214: 7(fvec4) ConvertSToF 213
215: 7(fvec4) Load 9(v)
216: 7(fvec4) FAdd 215 214
Store 9(v) 216
221: 218 Load 220(isCube)
222: 53(fvec3) Load 55(c3D)
223: 6(float) Load 29(c1D)
224: 165(ivec4) ImageSampleExplicitLod 221 222 Lod 223
Store 167(iv) 224
225: 165(ivec4) Load 167(iv)
226: 7(fvec4) ConvertSToF 225
227: 7(fvec4) Load 9(v)
228: 7(fvec4) FAdd 227 226
Store 9(v) 228
233: 230 Load 232(is2DArray)
234: 79(ivec3) Load 81(ic3D)
235: 67(int) Load 84(ic1D)
236: 229 Image 233
237: 165(ivec4) ImageFetch 236 234 Lod 235
Store 167(iv) 237
238: 165(ivec4) Load 167(iv)
239: 7(fvec4) ConvertSToF 238
240: 7(fvec4) Load 9(v)
241: 7(fvec4) FAdd 240 239
Store 9(v) 241
248: 245 Load 247(sCubeShadow)
250: 244 Image 248
251: 68(ivec2) ImageQuerySizeLod 250 249
Store 243(iv2) 251
254: 7(fvec4) Load 9(v)
255: 68(ivec2) Load 243(iv2)
256: 15(fvec2) ConvertSToF 255
258: 6(float) CompositeExtract 256 0
259: 6(float) CompositeExtract 256 1
260: 7(fvec4) CompositeConstruct 258 259 257 257
261: 7(fvec4) FAdd 254 260
Store 253(FragData) 261
Return
FunctionEnd

View File

@ -9,13 +9,13 @@ Linked fragment stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 291
// Id's are bound by 305
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 47 277 280 283 289 290
EntryPoint Fragment 4 "main" 47 291 294 297 303 304
ExecutionMode 4 OriginUpperLeft
Source GLSL 140
Name 4 "main"
@ -29,26 +29,26 @@ Linked fragment stage:
Name 26 "color"
Name 32 "texSampler1D"
Name 47 "coords2D"
Name 72 "texSampler2D"
Name 98 "texSampler3D"
Name 124 "texSamplerCube"
Name 139 "shadowSampler1D"
Name 158 "shadowSampler2D"
Name 207 "iCoords2D"
Name 212 "iLod"
Name 222 "gradX"
Name 225 "gradY"
Name 277 "gl_FragColor"
Name 280 "u"
Name 283 "blend"
Name 289 "scale"
Name 290 "t"
Name 76 "texSampler2D"
Name 104 "texSampler3D"
Name 130 "texSamplerCube"
Name 145 "shadowSampler1D"
Name 164 "shadowSampler2D"
Name 221 "iCoords2D"
Name 226 "iLod"
Name 236 "gradX"
Name 239 "gradY"
Name 291 "gl_FragColor"
Name 294 "u"
Name 297 "blend"
Name 303 "scale"
Name 304 "t"
Decorate 32(texSampler1D) DescriptorSet 0
Decorate 72(texSampler2D) DescriptorSet 0
Decorate 98(texSampler3D) DescriptorSet 0
Decorate 124(texSamplerCube) DescriptorSet 0
Decorate 139(shadowSampler1D) DescriptorSet 0
Decorate 158(shadowSampler2D) DescriptorSet 0
Decorate 76(texSampler2D) DescriptorSet 0
Decorate 104(texSampler3D) DescriptorSet 0
Decorate 130(texSamplerCube) DescriptorSet 0
Decorate 145(shadowSampler1D) DescriptorSet 0
Decorate 164(shadowSampler2D) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -73,46 +73,46 @@ Linked fragment stage:
45: TypeVector 6(float) 2
46: TypePointer Input 45(fvec2)
47(coords2D): 46(ptr) Variable Input
69: TypeImage 6(float) 2D sampled format:Unknown
70: TypeSampledImage 69
71: TypePointer UniformConstant 70
72(texSampler2D): 71(ptr) Variable UniformConstant
95: TypeImage 6(float) 3D sampled format:Unknown
96: TypeSampledImage 95
97: TypePointer UniformConstant 96
98(texSampler3D): 97(ptr) Variable UniformConstant
121: TypeImage 6(float) Cube sampled format:Unknown
122: TypeSampledImage 121
123: TypePointer UniformConstant 122
124(texSamplerCube): 123(ptr) Variable UniformConstant
136: TypeImage 6(float) 1D depth sampled format:Unknown
137: TypeSampledImage 136
138: TypePointer UniformConstant 137
139(shadowSampler1D): 138(ptr) Variable UniformConstant
155: TypeImage 6(float) 2D depth sampled format:Unknown
156: TypeSampledImage 155
157: TypePointer UniformConstant 156
158(shadowSampler2D): 157(ptr) Variable UniformConstant
204: TypeInt 32 1
205: TypeVector 204(int) 2
206: TypePointer Function 205(ivec2)
208: 204(int) Constant 0
209: 204(int) Constant 5
210: 205(ivec2) ConstantComposite 208 209
211: TypePointer Function 204(int)
213: 204(int) Constant 1
221: TypePointer Function 45(fvec2)
250: 204(int) Constant 3
251: 204(int) Constant 4294967289
252: 205(ivec2) ConstantComposite 250 251
276: TypePointer Output 22(fvec4)
277(gl_FragColor): 276(ptr) Variable Output
279: TypePointer Input 22(fvec4)
280(u): 279(ptr) Variable Input
282: TypePointer Input 6(float)
283(blend): 282(ptr) Variable Input
289(scale): 46(ptr) Variable Input
290(t): 46(ptr) Variable Input
73: TypeImage 6(float) 2D sampled format:Unknown
74: TypeSampledImage 73
75: TypePointer UniformConstant 74
76(texSampler2D): 75(ptr) Variable UniformConstant
101: TypeImage 6(float) 3D sampled format:Unknown
102: TypeSampledImage 101
103: TypePointer UniformConstant 102
104(texSampler3D): 103(ptr) Variable UniformConstant
127: TypeImage 6(float) Cube sampled format:Unknown
128: TypeSampledImage 127
129: TypePointer UniformConstant 128
130(texSamplerCube): 129(ptr) Variable UniformConstant
142: TypeImage 6(float) 1D depth sampled format:Unknown
143: TypeSampledImage 142
144: TypePointer UniformConstant 143
145(shadowSampler1D): 144(ptr) Variable UniformConstant
161: TypeImage 6(float) 2D depth sampled format:Unknown
162: TypeSampledImage 161
163: TypePointer UniformConstant 162
164(shadowSampler2D): 163(ptr) Variable UniformConstant
218: TypeInt 32 1
219: TypeVector 218(int) 2
220: TypePointer Function 219(ivec2)
222: 218(int) Constant 0
223: 218(int) Constant 5
224: 219(ivec2) ConstantComposite 222 223
225: TypePointer Function 218(int)
227: 218(int) Constant 1
235: TypePointer Function 45(fvec2)
264: 218(int) Constant 3
265: 218(int) Constant 4294967289
266: 219(ivec2) ConstantComposite 264 265
290: TypePointer Output 22(fvec4)
291(gl_FragColor): 290(ptr) Variable Output
293: TypePointer Input 22(fvec4)
294(u): 293(ptr) Variable Input
296: TypePointer Input 6(float)
297(blend): 296(ptr) Variable Input
303(scale): 46(ptr) Variable Input
304(t): 46(ptr) Variable Input
4(main): 2 Function None 3
5: Label
8(blendscale): 7(ptr) Variable Function
@ -123,10 +123,10 @@ Linked fragment stage:
18(coords3D): 17(ptr) Variable Function
24(coords4D): 23(ptr) Variable Function
26(color): 23(ptr) Variable Function
207(iCoords2D): 206(ptr) Variable Function
212(iLod): 211(ptr) Variable Function
222(gradX): 221(ptr) Variable Function
225(gradY): 221(ptr) Variable Function
221(iCoords2D): 220(ptr) Variable Function
226(iLod): 225(ptr) Variable Function
236(gradX): 235(ptr) Variable Function
239(gradY): 235(ptr) Variable Function
Store 8(blendscale) 9
Store 10(bias) 11
Store 12(lod) 13
@ -156,230 +156,244 @@ Linked fragment stage:
Store 26(color) 51
52: 30 Load 32(texSampler1D)
53: 22(fvec4) Load 24(coords4D)
54: 22(fvec4) ImageSampleProjImplicitLod 52 53
55: 22(fvec4) Load 26(color)
56: 22(fvec4) FAdd 55 54
Store 26(color) 56
57: 30 Load 32(texSampler1D)
58: 45(fvec2) Load 47(coords2D)
59: 6(float) Load 10(bias)
60: 22(fvec4) ImageSampleProjImplicitLod 57 58 Bias 59
61: 22(fvec4) Load 26(color)
62: 22(fvec4) FAdd 61 60
Store 26(color) 62
63: 30 Load 32(texSampler1D)
64: 22(fvec4) Load 24(coords4D)
65: 6(float) Load 10(bias)
66: 22(fvec4) ImageSampleProjImplicitLod 63 64 Bias 65
67: 22(fvec4) Load 26(color)
68: 22(fvec4) FAdd 67 66
Store 26(color) 68
73: 70 Load 72(texSampler2D)
74: 45(fvec2) Load 47(coords2D)
75: 22(fvec4) ImageSampleImplicitLod 73 74
76: 22(fvec4) Load 26(color)
77: 22(fvec4) FAdd 76 75
Store 26(color) 77
78: 70 Load 72(texSampler2D)
79: 45(fvec2) Load 47(coords2D)
80: 6(float) Load 10(bias)
81: 22(fvec4) ImageSampleImplicitLod 78 79 Bias 80
82: 22(fvec4) Load 26(color)
83: 22(fvec4) FAdd 82 81
Store 26(color) 83
84: 70 Load 72(texSampler2D)
85: 16(fvec3) Load 18(coords3D)
86: 22(fvec4) ImageSampleProjImplicitLod 84 85
87: 22(fvec4) Load 26(color)
88: 22(fvec4) FAdd 87 86
Store 26(color) 88
89: 70 Load 72(texSampler2D)
90: 22(fvec4) Load 24(coords4D)
91: 6(float) Load 10(bias)
92: 22(fvec4) ImageSampleProjImplicitLod 89 90 Bias 91
93: 22(fvec4) Load 26(color)
94: 22(fvec4) FAdd 93 92
Store 26(color) 94
99: 96 Load 98(texSampler3D)
100: 16(fvec3) Load 18(coords3D)
101: 22(fvec4) ImageSampleImplicitLod 99 100
102: 22(fvec4) Load 26(color)
103: 22(fvec4) FAdd 102 101
Store 26(color) 103
104: 96 Load 98(texSampler3D)
105: 16(fvec3) Load 18(coords3D)
106: 6(float) Load 10(bias)
107: 22(fvec4) ImageSampleImplicitLod 104 105 Bias 106
54: 6(float) CompositeExtract 53 3
55: 22(fvec4) CompositeInsert 54 53 1
56: 22(fvec4) ImageSampleProjImplicitLod 52 55
57: 22(fvec4) Load 26(color)
58: 22(fvec4) FAdd 57 56
Store 26(color) 58
59: 30 Load 32(texSampler1D)
60: 45(fvec2) Load 47(coords2D)
61: 6(float) Load 10(bias)
62: 22(fvec4) ImageSampleProjImplicitLod 59 60 Bias 61
63: 22(fvec4) Load 26(color)
64: 22(fvec4) FAdd 63 62
Store 26(color) 64
65: 30 Load 32(texSampler1D)
66: 22(fvec4) Load 24(coords4D)
67: 6(float) Load 10(bias)
68: 6(float) CompositeExtract 66 3
69: 22(fvec4) CompositeInsert 68 66 1
70: 22(fvec4) ImageSampleProjImplicitLod 65 69 Bias 67
71: 22(fvec4) Load 26(color)
72: 22(fvec4) FAdd 71 70
Store 26(color) 72
77: 74 Load 76(texSampler2D)
78: 45(fvec2) Load 47(coords2D)
79: 22(fvec4) ImageSampleImplicitLod 77 78
80: 22(fvec4) Load 26(color)
81: 22(fvec4) FAdd 80 79
Store 26(color) 81
82: 74 Load 76(texSampler2D)
83: 45(fvec2) Load 47(coords2D)
84: 6(float) Load 10(bias)
85: 22(fvec4) ImageSampleImplicitLod 82 83 Bias 84
86: 22(fvec4) Load 26(color)
87: 22(fvec4) FAdd 86 85
Store 26(color) 87
88: 74 Load 76(texSampler2D)
89: 16(fvec3) Load 18(coords3D)
90: 22(fvec4) ImageSampleProjImplicitLod 88 89
91: 22(fvec4) Load 26(color)
92: 22(fvec4) FAdd 91 90
Store 26(color) 92
93: 74 Load 76(texSampler2D)
94: 22(fvec4) Load 24(coords4D)
95: 6(float) Load 10(bias)
96: 6(float) CompositeExtract 94 3
97: 22(fvec4) CompositeInsert 96 94 2
98: 22(fvec4) ImageSampleProjImplicitLod 93 97 Bias 95
99: 22(fvec4) Load 26(color)
100: 22(fvec4) FAdd 99 98
Store 26(color) 100
105: 102 Load 104(texSampler3D)
106: 16(fvec3) Load 18(coords3D)
107: 22(fvec4) ImageSampleImplicitLod 105 106
108: 22(fvec4) Load 26(color)
109: 22(fvec4) FAdd 108 107
Store 26(color) 109
110: 96 Load 98(texSampler3D)
111: 22(fvec4) Load 24(coords4D)
112: 22(fvec4) ImageSampleProjImplicitLod 110 111
113: 22(fvec4) Load 26(color)
114: 22(fvec4) FAdd 113 112
Store 26(color) 114
115: 96 Load 98(texSampler3D)
116: 22(fvec4) Load 24(coords4D)
117: 6(float) Load 10(bias)
118: 22(fvec4) ImageSampleProjImplicitLod 115 116 Bias 117
110: 102 Load 104(texSampler3D)
111: 16(fvec3) Load 18(coords3D)
112: 6(float) Load 10(bias)
113: 22(fvec4) ImageSampleImplicitLod 110 111 Bias 112
114: 22(fvec4) Load 26(color)
115: 22(fvec4) FAdd 114 113
Store 26(color) 115
116: 102 Load 104(texSampler3D)
117: 22(fvec4) Load 24(coords4D)
118: 22(fvec4) ImageSampleProjImplicitLod 116 117
119: 22(fvec4) Load 26(color)
120: 22(fvec4) FAdd 119 118
Store 26(color) 120
125: 122 Load 124(texSamplerCube)
126: 16(fvec3) Load 18(coords3D)
127: 22(fvec4) ImageSampleImplicitLod 125 126
128: 22(fvec4) Load 26(color)
129: 22(fvec4) FAdd 128 127
Store 26(color) 129
130: 122 Load 124(texSamplerCube)
131: 16(fvec3) Load 18(coords3D)
132: 6(float) Load 10(bias)
133: 22(fvec4) ImageSampleImplicitLod 130 131 Bias 132
121: 102 Load 104(texSampler3D)
122: 22(fvec4) Load 24(coords4D)
123: 6(float) Load 10(bias)
124: 22(fvec4) ImageSampleProjImplicitLod 121 122 Bias 123
125: 22(fvec4) Load 26(color)
126: 22(fvec4) FAdd 125 124
Store 26(color) 126
131: 128 Load 130(texSamplerCube)
132: 16(fvec3) Load 18(coords3D)
133: 22(fvec4) ImageSampleImplicitLod 131 132
134: 22(fvec4) Load 26(color)
135: 22(fvec4) FAdd 134 133
Store 26(color) 135
140: 137 Load 139(shadowSampler1D)
141: 16(fvec3) Load 18(coords3D)
142: 6(float) CompositeExtract 141 2
143: 6(float) ImageSampleDrefImplicitLod 140 141 142
144: 22(fvec4) Load 26(color)
145: 22(fvec4) CompositeConstruct 143 143 143 143
146: 22(fvec4) FAdd 144 145
Store 26(color) 146
147: 137 Load 139(shadowSampler1D)
148: 16(fvec3) Load 18(coords3D)
149: 6(float) Load 10(bias)
150: 6(float) CompositeExtract 148 2
151: 6(float) ImageSampleDrefImplicitLod 147 148 150 Bias 149
152: 22(fvec4) Load 26(color)
153: 22(fvec4) CompositeConstruct 151 151 151 151
154: 22(fvec4) FAdd 152 153
Store 26(color) 154
159: 156 Load 158(shadowSampler2D)
160: 16(fvec3) Load 18(coords3D)
161: 6(float) CompositeExtract 160 2
162: 6(float) ImageSampleDrefImplicitLod 159 160 161
163: 22(fvec4) Load 26(color)
164: 22(fvec4) CompositeConstruct 162 162 162 162
165: 22(fvec4) FAdd 163 164
Store 26(color) 165
166: 156 Load 158(shadowSampler2D)
167: 16(fvec3) Load 18(coords3D)
168: 6(float) Load 10(bias)
169: 6(float) CompositeExtract 167 2
170: 6(float) ImageSampleDrefImplicitLod 166 167 169 Bias 168
171: 22(fvec4) Load 26(color)
172: 22(fvec4) CompositeConstruct 170 170 170 170
173: 22(fvec4) FAdd 171 172
Store 26(color) 173
174: 137 Load 139(shadowSampler1D)
175: 22(fvec4) Load 24(coords4D)
176: 6(float) CompositeExtract 175 2
177: 6(float) ImageSampleProjDrefImplicitLod 174 175 176
178: 22(fvec4) Load 26(color)
179: 22(fvec4) CompositeConstruct 177 177 177 177
180: 22(fvec4) FAdd 178 179
Store 26(color) 180
181: 137 Load 139(shadowSampler1D)
182: 22(fvec4) Load 24(coords4D)
183: 6(float) Load 10(bias)
184: 6(float) CompositeExtract 182 2
185: 6(float) ImageSampleProjDrefImplicitLod 181 182 184 Bias 183
136: 128 Load 130(texSamplerCube)
137: 16(fvec3) Load 18(coords3D)
138: 6(float) Load 10(bias)
139: 22(fvec4) ImageSampleImplicitLod 136 137 Bias 138
140: 22(fvec4) Load 26(color)
141: 22(fvec4) FAdd 140 139
Store 26(color) 141
146: 143 Load 145(shadowSampler1D)
147: 16(fvec3) Load 18(coords3D)
148: 6(float) CompositeExtract 147 2
149: 6(float) ImageSampleDrefImplicitLod 146 147 148
150: 22(fvec4) Load 26(color)
151: 22(fvec4) CompositeConstruct 149 149 149 149
152: 22(fvec4) FAdd 150 151
Store 26(color) 152
153: 143 Load 145(shadowSampler1D)
154: 16(fvec3) Load 18(coords3D)
155: 6(float) Load 10(bias)
156: 6(float) CompositeExtract 154 2
157: 6(float) ImageSampleDrefImplicitLod 153 154 156 Bias 155
158: 22(fvec4) Load 26(color)
159: 22(fvec4) CompositeConstruct 157 157 157 157
160: 22(fvec4) FAdd 158 159
Store 26(color) 160
165: 162 Load 164(shadowSampler2D)
166: 16(fvec3) Load 18(coords3D)
167: 6(float) CompositeExtract 166 2
168: 6(float) ImageSampleDrefImplicitLod 165 166 167
169: 22(fvec4) Load 26(color)
170: 22(fvec4) CompositeConstruct 168 168 168 168
171: 22(fvec4) FAdd 169 170
Store 26(color) 171
172: 162 Load 164(shadowSampler2D)
173: 16(fvec3) Load 18(coords3D)
174: 6(float) Load 10(bias)
175: 6(float) CompositeExtract 173 2
176: 6(float) ImageSampleDrefImplicitLod 172 173 175 Bias 174
177: 22(fvec4) Load 26(color)
178: 22(fvec4) CompositeConstruct 176 176 176 176
179: 22(fvec4) FAdd 177 178
Store 26(color) 179
180: 143 Load 145(shadowSampler1D)
181: 22(fvec4) Load 24(coords4D)
182: 6(float) CompositeExtract 181 2
183: 6(float) CompositeExtract 181 3
184: 22(fvec4) CompositeInsert 183 181 1
185: 6(float) ImageSampleProjDrefImplicitLod 180 184 182
186: 22(fvec4) Load 26(color)
187: 22(fvec4) CompositeConstruct 185 185 185 185
188: 22(fvec4) FAdd 186 187
Store 26(color) 188
189: 156 Load 158(shadowSampler2D)
189: 143 Load 145(shadowSampler1D)
190: 22(fvec4) Load 24(coords4D)
191: 6(float) CompositeExtract 190 2
192: 6(float) ImageSampleProjDrefImplicitLod 189 190 191
193: 22(fvec4) Load 26(color)
194: 22(fvec4) CompositeConstruct 192 192 192 192
195: 22(fvec4) FAdd 193 194
Store 26(color) 195
196: 156 Load 158(shadowSampler2D)
197: 22(fvec4) Load 24(coords4D)
198: 6(float) Load 10(bias)
199: 6(float) CompositeExtract 197 2
200: 6(float) ImageSampleProjDrefImplicitLod 196 197 199 Bias 198
201: 22(fvec4) Load 26(color)
202: 22(fvec4) CompositeConstruct 200 200 200 200
203: 22(fvec4) FAdd 201 202
Store 26(color) 203
Store 207(iCoords2D) 210
Store 212(iLod) 213
214: 70 Load 72(texSampler2D)
215: 205(ivec2) Load 207(iCoords2D)
216: 204(int) Load 212(iLod)
217: 69 Image 214
218: 22(fvec4) ImageFetch 217 215 Lod 216
219: 22(fvec4) Load 26(color)
220: 22(fvec4) FAdd 219 218
Store 26(color) 220
223: 45(fvec2) Load 47(coords2D)
224: 45(fvec2) DPdx 223
Store 222(gradX) 224
226: 45(fvec2) Load 47(coords2D)
227: 45(fvec2) DPdy 226
Store 225(gradY) 227
228: 70 Load 72(texSampler2D)
229: 45(fvec2) Load 47(coords2D)
230: 45(fvec2) Load 222(gradX)
231: 45(fvec2) Load 225(gradY)
232: 22(fvec4) ImageSampleExplicitLod 228 229 Grad 230 231
191: 6(float) Load 10(bias)
192: 6(float) CompositeExtract 190 2
193: 6(float) CompositeExtract 190 3
194: 22(fvec4) CompositeInsert 193 190 1
195: 6(float) ImageSampleProjDrefImplicitLod 189 194 192 Bias 191
196: 22(fvec4) Load 26(color)
197: 22(fvec4) CompositeConstruct 195 195 195 195
198: 22(fvec4) FAdd 196 197
Store 26(color) 198
199: 162 Load 164(shadowSampler2D)
200: 22(fvec4) Load 24(coords4D)
201: 6(float) CompositeExtract 200 2
202: 6(float) CompositeExtract 200 3
203: 22(fvec4) CompositeInsert 202 200 2
204: 6(float) ImageSampleProjDrefImplicitLod 199 203 201
205: 22(fvec4) Load 26(color)
206: 22(fvec4) CompositeConstruct 204 204 204 204
207: 22(fvec4) FAdd 205 206
Store 26(color) 207
208: 162 Load 164(shadowSampler2D)
209: 22(fvec4) Load 24(coords4D)
210: 6(float) Load 10(bias)
211: 6(float) CompositeExtract 209 2
212: 6(float) CompositeExtract 209 3
213: 22(fvec4) CompositeInsert 212 209 2
214: 6(float) ImageSampleProjDrefImplicitLod 208 213 211 Bias 210
215: 22(fvec4) Load 26(color)
216: 22(fvec4) CompositeConstruct 214 214 214 214
217: 22(fvec4) FAdd 215 216
Store 26(color) 217
Store 221(iCoords2D) 224
Store 226(iLod) 227
228: 74 Load 76(texSampler2D)
229: 219(ivec2) Load 221(iCoords2D)
230: 218(int) Load 226(iLod)
231: 73 Image 228
232: 22(fvec4) ImageFetch 231 229 Lod 230
233: 22(fvec4) Load 26(color)
234: 22(fvec4) FAdd 233 232
Store 26(color) 234
235: 70 Load 72(texSampler2D)
236: 45(fvec2) Load 47(coords2D)
237: 6(float) Load 14(proj)
238: 6(float) CompositeExtract 236 0
239: 6(float) CompositeExtract 236 1
240: 16(fvec3) CompositeConstruct 238 239 237
241: 45(fvec2) Load 222(gradX)
242: 45(fvec2) Load 225(gradY)
243: 22(fvec4) ImageSampleProjExplicitLod 235 240 Grad 241 242
244: 22(fvec4) Load 26(color)
245: 22(fvec4) FAdd 244 243
Store 26(color) 245
246: 70 Load 72(texSampler2D)
247: 45(fvec2) Load 47(coords2D)
248: 45(fvec2) Load 222(gradX)
249: 45(fvec2) Load 225(gradY)
253: 22(fvec4) ImageSampleExplicitLod 246 247 Grad ConstOffset 248 249 252
254: 22(fvec4) Load 26(color)
255: 22(fvec4) FAdd 254 253
Store 26(color) 255
256: 70 Load 72(texSampler2D)
257: 16(fvec3) Load 18(coords3D)
258: 45(fvec2) Load 222(gradX)
259: 45(fvec2) Load 225(gradY)
260: 22(fvec4) ImageSampleProjExplicitLod 256 257 Grad ConstOffset 258 259 252
261: 22(fvec4) Load 26(color)
262: 22(fvec4) FAdd 261 260
Store 26(color) 262
263: 156 Load 158(shadowSampler2D)
264: 45(fvec2) Load 47(coords2D)
265: 6(float) Load 12(lod)
266: 6(float) CompositeExtract 264 0
267: 6(float) CompositeExtract 264 1
268: 16(fvec3) CompositeConstruct 266 267 265
269: 45(fvec2) Load 222(gradX)
270: 45(fvec2) Load 225(gradY)
271: 6(float) CompositeExtract 268 2
272: 6(float) ImageSampleDrefExplicitLod 263 268 271 Grad 269 270
273: 22(fvec4) Load 26(color)
274: 22(fvec4) CompositeConstruct 272 272 272 272
275: 22(fvec4) FAdd 273 274
Store 26(color) 275
278: 22(fvec4) Load 26(color)
281: 22(fvec4) Load 280(u)
284: 6(float) Load 283(blend)
285: 6(float) Load 8(blendscale)
286: 6(float) FMul 284 285
287: 22(fvec4) CompositeConstruct 286 286 286 286
288: 22(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 278 281 287
Store 277(gl_FragColor) 288
237: 45(fvec2) Load 47(coords2D)
238: 45(fvec2) DPdx 237
Store 236(gradX) 238
240: 45(fvec2) Load 47(coords2D)
241: 45(fvec2) DPdy 240
Store 239(gradY) 241
242: 74 Load 76(texSampler2D)
243: 45(fvec2) Load 47(coords2D)
244: 45(fvec2) Load 236(gradX)
245: 45(fvec2) Load 239(gradY)
246: 22(fvec4) ImageSampleExplicitLod 242 243 Grad 244 245
247: 22(fvec4) Load 26(color)
248: 22(fvec4) FAdd 247 246
Store 26(color) 248
249: 74 Load 76(texSampler2D)
250: 45(fvec2) Load 47(coords2D)
251: 6(float) Load 14(proj)
252: 6(float) CompositeExtract 250 0
253: 6(float) CompositeExtract 250 1
254: 16(fvec3) CompositeConstruct 252 253 251
255: 45(fvec2) Load 236(gradX)
256: 45(fvec2) Load 239(gradY)
257: 22(fvec4) ImageSampleProjExplicitLod 249 254 Grad 255 256
258: 22(fvec4) Load 26(color)
259: 22(fvec4) FAdd 258 257
Store 26(color) 259
260: 74 Load 76(texSampler2D)
261: 45(fvec2) Load 47(coords2D)
262: 45(fvec2) Load 236(gradX)
263: 45(fvec2) Load 239(gradY)
267: 22(fvec4) ImageSampleExplicitLod 260 261 Grad ConstOffset 262 263 266
268: 22(fvec4) Load 26(color)
269: 22(fvec4) FAdd 268 267
Store 26(color) 269
270: 74 Load 76(texSampler2D)
271: 16(fvec3) Load 18(coords3D)
272: 45(fvec2) Load 236(gradX)
273: 45(fvec2) Load 239(gradY)
274: 22(fvec4) ImageSampleProjExplicitLod 270 271 Grad ConstOffset 272 273 266
275: 22(fvec4) Load 26(color)
276: 22(fvec4) FAdd 275 274
Store 26(color) 276
277: 162 Load 164(shadowSampler2D)
278: 45(fvec2) Load 47(coords2D)
279: 6(float) Load 12(lod)
280: 6(float) CompositeExtract 278 0
281: 6(float) CompositeExtract 278 1
282: 16(fvec3) CompositeConstruct 280 281 279
283: 45(fvec2) Load 236(gradX)
284: 45(fvec2) Load 239(gradY)
285: 6(float) CompositeExtract 282 2
286: 6(float) ImageSampleDrefExplicitLod 277 282 285 Grad 283 284
287: 22(fvec4) Load 26(color)
288: 22(fvec4) CompositeConstruct 286 286 286 286
289: 22(fvec4) FAdd 287 288
Store 26(color) 289
292: 22(fvec4) Load 26(color)
295: 22(fvec4) Load 294(u)
298: 6(float) Load 297(blend)
299: 6(float) Load 8(blendscale)
300: 6(float) FMul 298 299
301: 22(fvec4) CompositeConstruct 300 300 300 300
302: 22(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 292 295 301
Store 291(gl_FragColor) 302
Return
FunctionEnd

View File

@ -5,13 +5,13 @@ Linked vertex stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 142
// Id's are bound by 150
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 39 140
EntryPoint Vertex 4 "main" 39 148
Source GLSL 140
Name 4 "main"
Name 8 "lod"
@ -21,19 +21,19 @@ Linked vertex stage:
Name 23 "color"
Name 29 "texSampler1D"
Name 39 "coords2D"
Name 54 "texSampler2D"
Name 76 "texSampler3D"
Name 92 "texSamplerCube"
Name 102 "shadowSampler1D"
Name 114 "shadowSampler2D"
Name 140 "gl_Position"
Name 56 "texSampler2D"
Name 80 "texSampler3D"
Name 96 "texSamplerCube"
Name 106 "shadowSampler1D"
Name 118 "shadowSampler2D"
Name 148 "gl_Position"
Decorate 29(texSampler1D) DescriptorSet 0
Decorate 54(texSampler2D) DescriptorSet 0
Decorate 76(texSampler3D) DescriptorSet 0
Decorate 92(texSamplerCube) DescriptorSet 0
Decorate 102(shadowSampler1D) DescriptorSet 0
Decorate 114(shadowSampler2D) DescriptorSet 0
Decorate 140(gl_Position) BuiltIn Position
Decorate 56(texSampler2D) DescriptorSet 0
Decorate 80(texSampler3D) DescriptorSet 0
Decorate 96(texSamplerCube) DescriptorSet 0
Decorate 106(shadowSampler1D) DescriptorSet 0
Decorate 118(shadowSampler2D) DescriptorSet 0
Decorate 148(gl_Position) BuiltIn Position
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -58,28 +58,28 @@ Linked vertex stage:
37: TypeVector 6(float) 2
38: TypePointer Input 37(fvec2)
39(coords2D): 38(ptr) Variable Input
51: TypeImage 6(float) 2D sampled format:Unknown
52: TypeSampledImage 51
53: TypePointer UniformConstant 52
54(texSampler2D): 53(ptr) Variable UniformConstant
73: TypeImage 6(float) 3D sampled format:Unknown
74: TypeSampledImage 73
75: TypePointer UniformConstant 74
76(texSampler3D): 75(ptr) Variable UniformConstant
89: TypeImage 6(float) Cube sampled format:Unknown
90: TypeSampledImage 89
91: TypePointer UniformConstant 90
92(texSamplerCube): 91(ptr) Variable UniformConstant
99: TypeImage 6(float) 1D depth sampled format:Unknown
100: TypeSampledImage 99
101: TypePointer UniformConstant 100
102(shadowSampler1D): 101(ptr) Variable UniformConstant
111: TypeImage 6(float) 2D depth sampled format:Unknown
112: TypeSampledImage 111
113: TypePointer UniformConstant 112
114(shadowSampler2D): 113(ptr) Variable UniformConstant
139: TypePointer Output 18(fvec4)
140(gl_Position): 139(ptr) Variable Output
53: TypeImage 6(float) 2D sampled format:Unknown
54: TypeSampledImage 53
55: TypePointer UniformConstant 54
56(texSampler2D): 55(ptr) Variable UniformConstant
77: TypeImage 6(float) 3D sampled format:Unknown
78: TypeSampledImage 77
79: TypePointer UniformConstant 78
80(texSampler3D): 79(ptr) Variable UniformConstant
93: TypeImage 6(float) Cube sampled format:Unknown
94: TypeSampledImage 93
95: TypePointer UniformConstant 94
96(texSamplerCube): 95(ptr) Variable UniformConstant
103: TypeImage 6(float) 1D depth sampled format:Unknown
104: TypeSampledImage 103
105: TypePointer UniformConstant 104
106(shadowSampler1D): 105(ptr) Variable UniformConstant
115: TypeImage 6(float) 2D depth sampled format:Unknown
116: TypeSampledImage 115
117: TypePointer UniformConstant 116
118(shadowSampler2D): 117(ptr) Variable UniformConstant
147: TypePointer Output 18(fvec4)
148(gl_Position): 147(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(lod): 7(ptr) Variable Function
@ -109,89 +109,97 @@ Linked vertex stage:
45: 27 Load 29(texSampler1D)
46: 18(fvec4) Load 20(coords4D)
47: 6(float) Load 8(lod)
48: 18(fvec4) ImageSampleProjExplicitLod 45 46 Lod 47
49: 18(fvec4) Load 23(color)
50: 18(fvec4) FAdd 49 48
Store 23(color) 50
55: 52 Load 54(texSampler2D)
56: 37(fvec2) Load 39(coords2D)
57: 6(float) Load 8(lod)
58: 18(fvec4) ImageSampleExplicitLod 55 56 Lod 57
59: 18(fvec4) Load 23(color)
60: 18(fvec4) FAdd 59 58
Store 23(color) 60
61: 52 Load 54(texSampler2D)
62: 12(fvec3) Load 14(coords3D)
63: 6(float) Load 8(lod)
64: 18(fvec4) ImageSampleProjExplicitLod 61 62 Lod 63
65: 18(fvec4) Load 23(color)
66: 18(fvec4) FAdd 65 64
Store 23(color) 66
67: 52 Load 54(texSampler2D)
68: 18(fvec4) Load 20(coords4D)
69: 6(float) Load 8(lod)
70: 18(fvec4) ImageSampleProjExplicitLod 67 68 Lod 69
71: 18(fvec4) Load 23(color)
72: 18(fvec4) FAdd 71 70
Store 23(color) 72
77: 74 Load 76(texSampler3D)
78: 12(fvec3) Load 14(coords3D)
79: 6(float) Load 8(lod)
80: 18(fvec4) ImageSampleExplicitLod 77 78 Lod 79
81: 18(fvec4) Load 23(color)
82: 18(fvec4) FAdd 81 80
Store 23(color) 82
83: 74 Load 76(texSampler3D)
84: 18(fvec4) Load 20(coords4D)
85: 6(float) Load 8(lod)
86: 18(fvec4) ImageSampleProjExplicitLod 83 84 Lod 85
87: 18(fvec4) Load 23(color)
88: 18(fvec4) FAdd 87 86
Store 23(color) 88
93: 90 Load 92(texSamplerCube)
94: 12(fvec3) Load 14(coords3D)
95: 6(float) Load 8(lod)
96: 18(fvec4) ImageSampleExplicitLod 93 94 Lod 95
97: 18(fvec4) Load 23(color)
98: 18(fvec4) FAdd 97 96
Store 23(color) 98
103: 100 Load 102(shadowSampler1D)
104: 12(fvec3) Load 14(coords3D)
105: 6(float) Load 8(lod)
106: 6(float) CompositeExtract 104 2
107: 6(float) ImageSampleDrefExplicitLod 103 104 106 Lod 105
108: 18(fvec4) Load 23(color)
109: 18(fvec4) CompositeConstruct 107 107 107 107
110: 18(fvec4) FAdd 108 109
Store 23(color) 110
115: 112 Load 114(shadowSampler2D)
116: 12(fvec3) Load 14(coords3D)
117: 6(float) Load 8(lod)
118: 6(float) CompositeExtract 116 2
119: 6(float) ImageSampleDrefExplicitLod 115 116 118 Lod 117
120: 18(fvec4) Load 23(color)
121: 18(fvec4) CompositeConstruct 119 119 119 119
122: 18(fvec4) FAdd 120 121
Store 23(color) 122
123: 100 Load 102(shadowSampler1D)
124: 18(fvec4) Load 20(coords4D)
125: 6(float) Load 8(lod)
126: 6(float) CompositeExtract 124 2
127: 6(float) ImageSampleProjDrefExplicitLod 123 124 126 Lod 125
128: 18(fvec4) Load 23(color)
129: 18(fvec4) CompositeConstruct 127 127 127 127
130: 18(fvec4) FAdd 128 129
Store 23(color) 130
131: 112 Load 114(shadowSampler2D)
132: 18(fvec4) Load 20(coords4D)
133: 6(float) Load 8(lod)
134: 6(float) CompositeExtract 132 2
135: 6(float) ImageSampleProjDrefExplicitLod 131 132 134 Lod 133
136: 18(fvec4) Load 23(color)
137: 18(fvec4) CompositeConstruct 135 135 135 135
138: 18(fvec4) FAdd 136 137
Store 23(color) 138
141: 18(fvec4) Load 23(color)
Store 140(gl_Position) 141
48: 6(float) CompositeExtract 46 3
49: 18(fvec4) CompositeInsert 48 46 1
50: 18(fvec4) ImageSampleProjExplicitLod 45 49 Lod 47
51: 18(fvec4) Load 23(color)
52: 18(fvec4) FAdd 51 50
Store 23(color) 52
57: 54 Load 56(texSampler2D)
58: 37(fvec2) Load 39(coords2D)
59: 6(float) Load 8(lod)
60: 18(fvec4) ImageSampleExplicitLod 57 58 Lod 59
61: 18(fvec4) Load 23(color)
62: 18(fvec4) FAdd 61 60
Store 23(color) 62
63: 54 Load 56(texSampler2D)
64: 12(fvec3) Load 14(coords3D)
65: 6(float) Load 8(lod)
66: 18(fvec4) ImageSampleProjExplicitLod 63 64 Lod 65
67: 18(fvec4) Load 23(color)
68: 18(fvec4) FAdd 67 66
Store 23(color) 68
69: 54 Load 56(texSampler2D)
70: 18(fvec4) Load 20(coords4D)
71: 6(float) Load 8(lod)
72: 6(float) CompositeExtract 70 3
73: 18(fvec4) CompositeInsert 72 70 2
74: 18(fvec4) ImageSampleProjExplicitLod 69 73 Lod 71
75: 18(fvec4) Load 23(color)
76: 18(fvec4) FAdd 75 74
Store 23(color) 76
81: 78 Load 80(texSampler3D)
82: 12(fvec3) Load 14(coords3D)
83: 6(float) Load 8(lod)
84: 18(fvec4) ImageSampleExplicitLod 81 82 Lod 83
85: 18(fvec4) Load 23(color)
86: 18(fvec4) FAdd 85 84
Store 23(color) 86
87: 78 Load 80(texSampler3D)
88: 18(fvec4) Load 20(coords4D)
89: 6(float) Load 8(lod)
90: 18(fvec4) ImageSampleProjExplicitLod 87 88 Lod 89
91: 18(fvec4) Load 23(color)
92: 18(fvec4) FAdd 91 90
Store 23(color) 92
97: 94 Load 96(texSamplerCube)
98: 12(fvec3) Load 14(coords3D)
99: 6(float) Load 8(lod)
100: 18(fvec4) ImageSampleExplicitLod 97 98 Lod 99
101: 18(fvec4) Load 23(color)
102: 18(fvec4) FAdd 101 100
Store 23(color) 102
107: 104 Load 106(shadowSampler1D)
108: 12(fvec3) Load 14(coords3D)
109: 6(float) Load 8(lod)
110: 6(float) CompositeExtract 108 2
111: 6(float) ImageSampleDrefExplicitLod 107 108 110 Lod 109
112: 18(fvec4) Load 23(color)
113: 18(fvec4) CompositeConstruct 111 111 111 111
114: 18(fvec4) FAdd 112 113
Store 23(color) 114
119: 116 Load 118(shadowSampler2D)
120: 12(fvec3) Load 14(coords3D)
121: 6(float) Load 8(lod)
122: 6(float) CompositeExtract 120 2
123: 6(float) ImageSampleDrefExplicitLod 119 120 122 Lod 121
124: 18(fvec4) Load 23(color)
125: 18(fvec4) CompositeConstruct 123 123 123 123
126: 18(fvec4) FAdd 124 125
Store 23(color) 126
127: 104 Load 106(shadowSampler1D)
128: 18(fvec4) Load 20(coords4D)
129: 6(float) Load 8(lod)
130: 6(float) CompositeExtract 128 2
131: 6(float) CompositeExtract 128 3
132: 18(fvec4) CompositeInsert 131 128 1
133: 6(float) ImageSampleProjDrefExplicitLod 127 132 130 Lod 129
134: 18(fvec4) Load 23(color)
135: 18(fvec4) CompositeConstruct 133 133 133 133
136: 18(fvec4) FAdd 134 135
Store 23(color) 136
137: 116 Load 118(shadowSampler2D)
138: 18(fvec4) Load 20(coords4D)
139: 6(float) Load 8(lod)
140: 6(float) CompositeExtract 138 2
141: 6(float) CompositeExtract 138 3
142: 18(fvec4) CompositeInsert 141 138 2
143: 6(float) ImageSampleProjDrefExplicitLod 137 142 140 Lod 139
144: 18(fvec4) Load 23(color)
145: 18(fvec4) CompositeConstruct 143 143 143 143
146: 18(fvec4) FAdd 144 145
Store 23(color) 146
149: 18(fvec4) Load 23(color)
Store 148(gl_Position) 149
Return
FunctionEnd