SPV: Fix an issue related with using CubeArrayShadow for texture()
This commit is contained in:
parent
2c03478442
commit
71519fe70b
@ -1901,9 +1901,11 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
|
|||||||
|
|
||||||
// Check for texture functions other than queries
|
// Check for texture functions other than queries
|
||||||
|
|
||||||
|
bool cubeCompare = sampler.dim == glslang::EsdCube && sampler.arrayed && sampler.shadow;
|
||||||
|
|
||||||
// check for bias argument
|
// check for bias argument
|
||||||
bool bias = false;
|
bool bias = false;
|
||||||
if (! cracked.lod && ! cracked.gather && ! cracked.grad && ! cracked.fetch) {
|
if (! cracked.lod && ! cracked.gather && ! cracked.grad && ! cracked.fetch && ! cubeCompare) {
|
||||||
int nonBiasArgCount = 2;
|
int nonBiasArgCount = 2;
|
||||||
if (cracked.offset)
|
if (cracked.offset)
|
||||||
++nonBiasArgCount;
|
++nonBiasArgCount;
|
||||||
|
@ -268,7 +268,7 @@ Linked fragment stage:
|
|||||||
124: 15(fvec4) Load 78(i)
|
124: 15(fvec4) Load 78(i)
|
||||||
127: 126(ptr) AccessChain 78(i) 125
|
127: 126(ptr) AccessChain 78(i) 125
|
||||||
128: 14(float) Load 127
|
128: 14(float) Load 127
|
||||||
129: 14(float) ImageSampleDrefImplicitLod 123 124 128 Bias 128
|
129: 14(float) ImageSampleDrefImplicitLod 123 124 128
|
||||||
Store 122(f) 129
|
Store 122(f) 129
|
||||||
132: 84 Load 86(Isca)
|
132: 84 Load 86(Isca)
|
||||||
133: 15(fvec4) Load 78(i)
|
133: 15(fvec4) Load 78(i)
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
Error: unable to open input file: spv.140.vert
|
|
||||||
Usage: glslangValidator [option]... [file]...
|
|
||||||
|
|
||||||
Where: each 'file' ends in .<stage>, where <stage> is one of
|
|
||||||
.conf to provide an optional config file that replaces the default configuration
|
|
||||||
(see -c option below for generating a template)
|
|
||||||
.vert for a vertex shader
|
|
||||||
.tesc for a tessellation control shader
|
|
||||||
.tese for a tessellation evaluation shader
|
|
||||||
.geom for a geometry shader
|
|
||||||
.frag for a fragment shader
|
|
||||||
.comp for a compute shader
|
|
||||||
|
|
||||||
Compilation warnings and errors will be printed to stdout.
|
|
||||||
|
|
||||||
To get other information, use one of the following options:
|
|
||||||
(Each option must be specified separately, but can go anywhere in the command line.)
|
|
||||||
-V create SPIR-V in file <stage>.spv
|
|
||||||
-H print human readable form of SPIR-V; turns on -V
|
|
||||||
-E print pre-processed glsl. Cannot be used with -V, -H or -l.
|
|
||||||
-c configuration dump; use to create default configuration file (redirect to a .conf file)
|
|
||||||
-d default to desktop (#version 110) when there is no version in the shader (default is ES version 100)
|
|
||||||
-i intermediate tree (glslang AST) is printed out
|
|
||||||
-l link validation of all input files
|
|
||||||
-m memory leak mode
|
|
||||||
-q dump reflection query database
|
|
||||||
-r relaxed semantic error-checking mode
|
|
||||||
-s silent mode
|
|
||||||
-t multi-threaded mode
|
|
||||||
-v print version strings
|
|
||||||
-w suppress warnings (except as required by #extension : warn)
|
|
@ -7,48 +7,49 @@ Linked fragment stage:
|
|||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 265
|
// Id's are bound by 277
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Fragment 4 "main" 55 17 38 26 72 79 69 264 234
|
EntryPoint Fragment 4 "main" 29 17 55 26 84 91 81 276 246
|
||||||
ExecutionMode 4 OriginLowerLeft
|
ExecutionMode 4 OriginLowerLeft
|
||||||
Source GLSL 430
|
Source GLSL 430
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 9 "v"
|
Name 9 "v"
|
||||||
Name 13 "s2D"
|
Name 13 "s2D"
|
||||||
Name 17 "c2D"
|
Name 17 "c2D"
|
||||||
Name 23 "s3D"
|
Name 23 "sCubeArrayShadow"
|
||||||
Name 26 "c4D"
|
Name 26 "c4D"
|
||||||
Name 34 "s2DArray"
|
Name 29 "c1D"
|
||||||
Name 38 "c3D"
|
Name 42 "s3D"
|
||||||
Name 47 "s2DShadow"
|
Name 51 "s2DArray"
|
||||||
Name 55 "c1D"
|
Name 55 "c3D"
|
||||||
Name 69 "ic3D"
|
Name 64 "s2DShadow"
|
||||||
Name 72 "ic1D"
|
Name 81 "ic3D"
|
||||||
Name 79 "ic2D"
|
Name 84 "ic1D"
|
||||||
Name 88 "sr"
|
Name 91 "ic2D"
|
||||||
Name 113 "sCube"
|
Name 100 "sr"
|
||||||
Name 124 "s2DArrayShadow"
|
Name 125 "sCube"
|
||||||
Name 152 "iv"
|
Name 136 "s2DArrayShadow"
|
||||||
Name 156 "is2D"
|
Name 164 "iv"
|
||||||
Name 191 "is3D"
|
Name 168 "is2D"
|
||||||
Name 203 "isCube"
|
Name 203 "is3D"
|
||||||
Name 215 "is2DArray"
|
Name 215 "isCube"
|
||||||
Name 225 "iv2"
|
Name 227 "is2DArray"
|
||||||
Name 229 "sCubeShadow"
|
Name 237 "iv2"
|
||||||
Name 234 "FragData"
|
Name 241 "sCubeShadow"
|
||||||
Name 246 "is2Dms"
|
Name 246 "FragData"
|
||||||
Name 250 "us2D"
|
Name 258 "is2Dms"
|
||||||
Name 254 "us3D"
|
Name 262 "us2D"
|
||||||
Name 258 "usCube"
|
Name 266 "us3D"
|
||||||
Name 262 "us2DArray"
|
Name 270 "usCube"
|
||||||
Name 264 "ic4D"
|
Name 274 "us2DArray"
|
||||||
Decorate 69(ic3D) Flat
|
Name 276 "ic4D"
|
||||||
Decorate 72(ic1D) Flat
|
Decorate 81(ic3D) Flat
|
||||||
Decorate 79(ic2D) Flat
|
Decorate 84(ic1D) Flat
|
||||||
Decorate 264(ic4D) Flat
|
Decorate 91(ic2D) Flat
|
||||||
|
Decorate 276(ic4D) Flat
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -61,285 +62,298 @@ Linked fragment stage:
|
|||||||
15: TypeVector 6(float) 2
|
15: TypeVector 6(float) 2
|
||||||
16: TypePointer Input 15(fvec2)
|
16: TypePointer Input 15(fvec2)
|
||||||
17(c2D): 16(ptr) Variable Input
|
17(c2D): 16(ptr) Variable Input
|
||||||
20: TypeImage 6(float) 3D sampled format:Unknown
|
20: TypeImage 6(float) Cube depth array sampled format:Unknown
|
||||||
21: TypeSampledImage 20
|
21: TypeSampledImage 20
|
||||||
22: TypePointer UniformConstant 21
|
22: TypePointer UniformConstant 21
|
||||||
23(s3D): 22(ptr) Variable UniformConstant
|
23(sCubeArrayShadow): 22(ptr) Variable UniformConstant
|
||||||
25: TypePointer Input 7(fvec4)
|
25: TypePointer Input 7(fvec4)
|
||||||
26(c4D): 25(ptr) Variable Input
|
26(c4D): 25(ptr) Variable Input
|
||||||
31: TypeImage 6(float) 2D array sampled format:Unknown
|
28: TypePointer Input 6(float)
|
||||||
32: TypeSampledImage 31
|
29(c1D): 28(ptr) Variable Input
|
||||||
33: TypePointer UniformConstant 32
|
32: TypeInt 32 0
|
||||||
34(s2DArray): 33(ptr) Variable UniformConstant
|
33: 32(int) Constant 1
|
||||||
36: TypeVector 6(float) 3
|
34: TypePointer Function 6(float)
|
||||||
37: TypePointer Input 36(fvec3)
|
39: TypeImage 6(float) 3D sampled format:Unknown
|
||||||
38(c3D): 37(ptr) Variable Input
|
40: TypeSampledImage 39
|
||||||
40: 6(float) Constant 1067030938
|
41: TypePointer UniformConstant 40
|
||||||
44: TypeImage 6(float) 2D depth sampled format:Unknown
|
42(s3D): 41(ptr) Variable UniformConstant
|
||||||
45: TypeSampledImage 44
|
48: TypeImage 6(float) 2D array sampled format:Unknown
|
||||||
46: TypePointer UniformConstant 45
|
49: TypeSampledImage 48
|
||||||
47(s2DShadow): 46(ptr) Variable UniformConstant
|
50: TypePointer UniformConstant 49
|
||||||
50: TypeInt 32 1
|
51(s2DArray): 50(ptr) Variable UniformConstant
|
||||||
51: TypeVector 50(int) 2
|
53: TypeVector 6(float) 3
|
||||||
52: 50(int) Constant 3
|
54: TypePointer Input 53(fvec3)
|
||||||
53: 51(ivec2) ConstantComposite 52 52
|
55(c3D): 54(ptr) Variable Input
|
||||||
54: TypePointer Input 6(float)
|
57: 6(float) Constant 1067030938
|
||||||
55(c1D): 54(ptr) Variable Input
|
61: TypeImage 6(float) 2D depth sampled format:Unknown
|
||||||
59: TypeInt 32 0
|
62: TypeSampledImage 61
|
||||||
60: 59(int) Constant 1
|
63: TypePointer UniformConstant 62
|
||||||
61: TypePointer Function 6(float)
|
64(s2DShadow): 63(ptr) Variable UniformConstant
|
||||||
67: TypeVector 50(int) 3
|
67: TypeInt 32 1
|
||||||
68: TypePointer Input 67(ivec3)
|
68: TypeVector 67(int) 2
|
||||||
69(ic3D): 68(ptr) Variable Input
|
69: 67(int) Constant 3
|
||||||
71: TypePointer Input 50(int)
|
70: 68(ivec2) ConstantComposite 69 69
|
||||||
72(ic1D): 71(ptr) Variable Input
|
79: TypeVector 67(int) 3
|
||||||
78: TypePointer Input 51(ivec2)
|
80: TypePointer Input 79(ivec3)
|
||||||
79(ic2D): 78(ptr) Variable Input
|
81(ic3D): 80(ptr) Variable Input
|
||||||
81: 50(int) Constant 4
|
83: TypePointer Input 67(int)
|
||||||
85: TypeImage 6(float) Rect sampled format:Unknown
|
84(ic1D): 83(ptr) Variable Input
|
||||||
86: TypeSampledImage 85
|
90: TypePointer Input 68(ivec2)
|
||||||
87: TypePointer UniformConstant 86
|
91(ic2D): 90(ptr) Variable Input
|
||||||
88(sr): 87(ptr) Variable UniformConstant
|
93: 67(int) Constant 4
|
||||||
91: 51(ivec2) ConstantComposite 81 81
|
97: TypeImage 6(float) Rect sampled format:Unknown
|
||||||
110: TypeImage 6(float) Cube sampled format:Unknown
|
98: TypeSampledImage 97
|
||||||
111: TypeSampledImage 110
|
99: TypePointer UniformConstant 98
|
||||||
112: TypePointer UniformConstant 111
|
100(sr): 99(ptr) Variable UniformConstant
|
||||||
113(sCube): 112(ptr) Variable UniformConstant
|
103: 68(ivec2) ConstantComposite 93 93
|
||||||
121: TypeImage 6(float) 2D depth array sampled format:Unknown
|
122: TypeImage 6(float) Cube sampled format:Unknown
|
||||||
122: TypeSampledImage 121
|
123: TypeSampledImage 122
|
||||||
123: TypePointer UniformConstant 122
|
124: TypePointer UniformConstant 123
|
||||||
124(s2DArrayShadow): 123(ptr) Variable UniformConstant
|
125(sCube): 124(ptr) Variable UniformConstant
|
||||||
131: 59(int) Constant 0
|
133: TypeImage 6(float) 2D depth array sampled format:Unknown
|
||||||
150: TypeVector 50(int) 4
|
134: TypeSampledImage 133
|
||||||
151: TypePointer Function 150(ivec4)
|
135: TypePointer UniformConstant 134
|
||||||
153: TypeImage 50(int) 2D sampled format:Unknown
|
136(s2DArrayShadow): 135(ptr) Variable UniformConstant
|
||||||
154: TypeSampledImage 153
|
143: 32(int) Constant 0
|
||||||
155: TypePointer UniformConstant 154
|
162: TypeVector 67(int) 4
|
||||||
156(is2D): 155(ptr) Variable UniformConstant
|
163: TypePointer Function 162(ivec4)
|
||||||
188: TypeImage 50(int) 3D sampled format:Unknown
|
165: TypeImage 67(int) 2D sampled format:Unknown
|
||||||
189: TypeSampledImage 188
|
166: TypeSampledImage 165
|
||||||
190: TypePointer UniformConstant 189
|
167: TypePointer UniformConstant 166
|
||||||
191(is3D): 190(ptr) Variable UniformConstant
|
168(is2D): 167(ptr) Variable UniformConstant
|
||||||
194: 6(float) Constant 1082549862
|
200: TypeImage 67(int) 3D sampled format:Unknown
|
||||||
200: TypeImage 50(int) Cube sampled format:Unknown
|
|
||||||
201: TypeSampledImage 200
|
201: TypeSampledImage 200
|
||||||
202: TypePointer UniformConstant 201
|
202: TypePointer UniformConstant 201
|
||||||
203(isCube): 202(ptr) Variable UniformConstant
|
203(is3D): 202(ptr) Variable UniformConstant
|
||||||
212: TypeImage 50(int) 2D array sampled format:Unknown
|
206: 6(float) Constant 1082549862
|
||||||
|
212: TypeImage 67(int) Cube sampled format:Unknown
|
||||||
213: TypeSampledImage 212
|
213: TypeSampledImage 212
|
||||||
214: TypePointer UniformConstant 213
|
214: TypePointer UniformConstant 213
|
||||||
215(is2DArray): 214(ptr) Variable UniformConstant
|
215(isCube): 214(ptr) Variable UniformConstant
|
||||||
224: TypePointer Function 51(ivec2)
|
224: TypeImage 67(int) 2D array sampled format:Unknown
|
||||||
226: TypeImage 6(float) Cube depth sampled format:Unknown
|
225: TypeSampledImage 224
|
||||||
227: TypeSampledImage 226
|
226: TypePointer UniformConstant 225
|
||||||
228: TypePointer UniformConstant 227
|
227(is2DArray): 226(ptr) Variable UniformConstant
|
||||||
229(sCubeShadow): 228(ptr) Variable UniformConstant
|
236: TypePointer Function 68(ivec2)
|
||||||
231: 50(int) Constant 2
|
238: TypeImage 6(float) Cube depth sampled format:Unknown
|
||||||
233: TypePointer Output 7(fvec4)
|
239: TypeSampledImage 238
|
||||||
234(FragData): 233(ptr) Variable Output
|
240: TypePointer UniformConstant 239
|
||||||
238: 6(float) Constant 0
|
241(sCubeShadow): 240(ptr) Variable UniformConstant
|
||||||
243: TypeImage 50(int) 2D multi-sampled sampled format:Unknown
|
243: 67(int) Constant 2
|
||||||
244: TypeSampledImage 243
|
245: TypePointer Output 7(fvec4)
|
||||||
245: TypePointer UniformConstant 244
|
246(FragData): 245(ptr) Variable Output
|
||||||
246(is2Dms): 245(ptr) Variable UniformConstant
|
250: 6(float) Constant 0
|
||||||
247: TypeImage 59(int) 2D sampled format:Unknown
|
255: TypeImage 67(int) 2D multi-sampled sampled format:Unknown
|
||||||
248: TypeSampledImage 247
|
|
||||||
249: TypePointer UniformConstant 248
|
|
||||||
250(us2D): 249(ptr) Variable UniformConstant
|
|
||||||
251: TypeImage 59(int) 3D sampled format:Unknown
|
|
||||||
252: TypeSampledImage 251
|
|
||||||
253: TypePointer UniformConstant 252
|
|
||||||
254(us3D): 253(ptr) Variable UniformConstant
|
|
||||||
255: TypeImage 59(int) Cube sampled format:Unknown
|
|
||||||
256: TypeSampledImage 255
|
256: TypeSampledImage 255
|
||||||
257: TypePointer UniformConstant 256
|
257: TypePointer UniformConstant 256
|
||||||
258(usCube): 257(ptr) Variable UniformConstant
|
258(is2Dms): 257(ptr) Variable UniformConstant
|
||||||
259: TypeImage 59(int) 2D array sampled format:Unknown
|
259: TypeImage 32(int) 2D sampled format:Unknown
|
||||||
260: TypeSampledImage 259
|
260: TypeSampledImage 259
|
||||||
261: TypePointer UniformConstant 260
|
261: TypePointer UniformConstant 260
|
||||||
262(us2DArray): 261(ptr) Variable UniformConstant
|
262(us2D): 261(ptr) Variable UniformConstant
|
||||||
263: TypePointer Input 150(ivec4)
|
263: TypeImage 32(int) 3D sampled format:Unknown
|
||||||
264(ic4D): 263(ptr) Variable Input
|
264: TypeSampledImage 263
|
||||||
|
265: TypePointer UniformConstant 264
|
||||||
|
266(us3D): 265(ptr) Variable UniformConstant
|
||||||
|
267: TypeImage 32(int) Cube sampled format:Unknown
|
||||||
|
268: TypeSampledImage 267
|
||||||
|
269: TypePointer UniformConstant 268
|
||||||
|
270(usCube): 269(ptr) Variable UniformConstant
|
||||||
|
271: TypeImage 32(int) 2D array sampled format:Unknown
|
||||||
|
272: TypeSampledImage 271
|
||||||
|
273: TypePointer UniformConstant 272
|
||||||
|
274(us2DArray): 273(ptr) Variable UniformConstant
|
||||||
|
275: TypePointer Input 162(ivec4)
|
||||||
|
276(ic4D): 275(ptr) Variable Input
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
9(v): 8(ptr) Variable Function
|
9(v): 8(ptr) Variable Function
|
||||||
152(iv): 151(ptr) Variable Function
|
164(iv): 163(ptr) Variable Function
|
||||||
225(iv2): 224(ptr) Variable Function
|
237(iv2): 236(ptr) Variable Function
|
||||||
14: 11 Load 13(s2D)
|
14: 11 Load 13(s2D)
|
||||||
18: 15(fvec2) Load 17(c2D)
|
18: 15(fvec2) Load 17(c2D)
|
||||||
19: 7(fvec4) ImageSampleImplicitLod 14 18
|
19: 7(fvec4) ImageSampleImplicitLod 14 18
|
||||||
Store 9(v) 19
|
Store 9(v) 19
|
||||||
24: 21 Load 23(s3D)
|
24: 21 Load 23(sCubeArrayShadow)
|
||||||
27: 7(fvec4) Load 26(c4D)
|
27: 7(fvec4) Load 26(c4D)
|
||||||
28: 7(fvec4) ImageSampleProjImplicitLod 24 27
|
30: 6(float) Load 29(c1D)
|
||||||
29: 7(fvec4) Load 9(v)
|
31: 6(float) ImageSampleDrefImplicitLod 24 27 30
|
||||||
30: 7(fvec4) FAdd 29 28
|
35: 34(ptr) AccessChain 9(v) 33
|
||||||
Store 9(v) 30
|
36: 6(float) Load 35
|
||||||
35: 32 Load 34(s2DArray)
|
37: 6(float) FAdd 36 31
|
||||||
39: 36(fvec3) Load 38(c3D)
|
38: 34(ptr) AccessChain 9(v) 33
|
||||||
41: 7(fvec4) ImageSampleExplicitLod 35 39 Lod 40
|
Store 38 37
|
||||||
42: 7(fvec4) Load 9(v)
|
43: 40 Load 42(s3D)
|
||||||
43: 7(fvec4) FAdd 42 41
|
44: 7(fvec4) Load 26(c4D)
|
||||||
Store 9(v) 43
|
45: 7(fvec4) ImageSampleProjImplicitLod 43 44
|
||||||
48: 45 Load 47(s2DShadow)
|
46: 7(fvec4) Load 9(v)
|
||||||
49: 36(fvec3) Load 38(c3D)
|
47: 7(fvec4) FAdd 46 45
|
||||||
56: 6(float) Load 55(c1D)
|
Store 9(v) 47
|
||||||
57: 6(float) CompositeExtract 49 2
|
52: 49 Load 51(s2DArray)
|
||||||
58: 6(float) ImageSampleDrefImplicitLod 48 49 57 Bias ConstOffset 56 53
|
56: 53(fvec3) Load 55(c3D)
|
||||||
62: 61(ptr) AccessChain 9(v) 60
|
58: 7(fvec4) ImageSampleExplicitLod 52 56 Lod 57
|
||||||
63: 6(float) Load 62
|
59: 7(fvec4) Load 9(v)
|
||||||
64: 6(float) FAdd 63 58
|
60: 7(fvec4) FAdd 59 58
|
||||||
65: 61(ptr) AccessChain 9(v) 60
|
Store 9(v) 60
|
||||||
Store 65 64
|
65: 62 Load 64(s2DShadow)
|
||||||
66: 21 Load 23(s3D)
|
66: 53(fvec3) Load 55(c3D)
|
||||||
70: 67(ivec3) Load 69(ic3D)
|
71: 6(float) Load 29(c1D)
|
||||||
73: 50(int) Load 72(ic1D)
|
72: 6(float) CompositeExtract 66 2
|
||||||
74: 7(fvec4) ImageFetch 66 70 Lod 73
|
73: 6(float) ImageSampleDrefImplicitLod 65 66 72 Bias ConstOffset 71 70
|
||||||
75: 7(fvec4) Load 9(v)
|
74: 34(ptr) AccessChain 9(v) 33
|
||||||
76: 7(fvec4) FAdd 75 74
|
75: 6(float) Load 74
|
||||||
Store 9(v) 76
|
76: 6(float) FAdd 75 73
|
||||||
77: 11 Load 13(s2D)
|
77: 34(ptr) AccessChain 9(v) 33
|
||||||
80: 51(ivec2) Load 79(ic2D)
|
Store 77 76
|
||||||
82: 7(fvec4) ImageFetch 77 80 Lod ConstOffset 81 53
|
78: 40 Load 42(s3D)
|
||||||
83: 7(fvec4) Load 9(v)
|
82: 79(ivec3) Load 81(ic3D)
|
||||||
84: 7(fvec4) FAdd 83 82
|
85: 67(int) Load 84(ic1D)
|
||||||
Store 9(v) 84
|
86: 7(fvec4) ImageFetch 78 82 Lod 85
|
||||||
89: 86 Load 88(sr)
|
87: 7(fvec4) Load 9(v)
|
||||||
90: 51(ivec2) Load 79(ic2D)
|
88: 7(fvec4) FAdd 87 86
|
||||||
92: 7(fvec4) ImageFetch 89 90 ConstOffset 91
|
Store 9(v) 88
|
||||||
93: 7(fvec4) Load 9(v)
|
89: 11 Load 13(s2D)
|
||||||
94: 7(fvec4) FAdd 93 92
|
92: 68(ivec2) Load 91(ic2D)
|
||||||
Store 9(v) 94
|
94: 7(fvec4) ImageFetch 89 92 Lod ConstOffset 93 70
|
||||||
95: 45 Load 47(s2DShadow)
|
95: 7(fvec4) Load 9(v)
|
||||||
96: 36(fvec3) Load 38(c3D)
|
96: 7(fvec4) FAdd 95 94
|
||||||
97: 6(float) Load 55(c1D)
|
Store 9(v) 96
|
||||||
98: 6(float) CompositeExtract 96 2
|
101: 98 Load 100(sr)
|
||||||
99: 6(float) ImageSampleDrefExplicitLod 95 96 98 Lod ConstOffset 97 53
|
102: 68(ivec2) Load 91(ic2D)
|
||||||
100: 61(ptr) AccessChain 9(v) 60
|
104: 7(fvec4) ImageFetch 101 102 ConstOffset 103
|
||||||
101: 6(float) Load 100
|
105: 7(fvec4) Load 9(v)
|
||||||
102: 6(float) FAdd 101 99
|
106: 7(fvec4) FAdd 105 104
|
||||||
103: 61(ptr) AccessChain 9(v) 60
|
Store 9(v) 106
|
||||||
Store 103 102
|
107: 62 Load 64(s2DShadow)
|
||||||
104: 11 Load 13(s2D)
|
108: 53(fvec3) Load 55(c3D)
|
||||||
105: 36(fvec3) Load 38(c3D)
|
109: 6(float) Load 29(c1D)
|
||||||
106: 6(float) Load 55(c1D)
|
110: 6(float) CompositeExtract 108 2
|
||||||
107: 7(fvec4) ImageSampleProjExplicitLod 104 105 Lod ConstOffset 106 53
|
111: 6(float) ImageSampleDrefExplicitLod 107 108 110 Lod ConstOffset 109 70
|
||||||
108: 7(fvec4) Load 9(v)
|
112: 34(ptr) AccessChain 9(v) 33
|
||||||
109: 7(fvec4) FAdd 108 107
|
113: 6(float) Load 112
|
||||||
Store 9(v) 109
|
114: 6(float) FAdd 113 111
|
||||||
114: 111 Load 113(sCube)
|
115: 34(ptr) AccessChain 9(v) 33
|
||||||
115: 36(fvec3) Load 38(c3D)
|
Store 115 114
|
||||||
116: 36(fvec3) Load 38(c3D)
|
116: 11 Load 13(s2D)
|
||||||
117: 36(fvec3) Load 38(c3D)
|
117: 53(fvec3) Load 55(c3D)
|
||||||
118: 7(fvec4) ImageSampleExplicitLod 114 115 Grad 116 117
|
118: 6(float) Load 29(c1D)
|
||||||
119: 7(fvec4) Load 9(v)
|
119: 7(fvec4) ImageSampleProjExplicitLod 116 117 Lod ConstOffset 118 70
|
||||||
120: 7(fvec4) FAdd 119 118
|
120: 7(fvec4) Load 9(v)
|
||||||
Store 9(v) 120
|
121: 7(fvec4) FAdd 120 119
|
||||||
125: 122 Load 124(s2DArrayShadow)
|
Store 9(v) 121
|
||||||
126: 7(fvec4) Load 26(c4D)
|
126: 123 Load 125(sCube)
|
||||||
127: 15(fvec2) Load 17(c2D)
|
127: 53(fvec3) Load 55(c3D)
|
||||||
128: 15(fvec2) Load 17(c2D)
|
128: 53(fvec3) Load 55(c3D)
|
||||||
129: 6(float) CompositeExtract 126 3
|
129: 53(fvec3) Load 55(c3D)
|
||||||
130: 6(float) ImageSampleDrefExplicitLod 125 126 129 Grad ConstOffset 127 128 53
|
130: 7(fvec4) ImageSampleExplicitLod 126 127 Grad 128 129
|
||||||
132: 61(ptr) AccessChain 9(v) 131
|
131: 7(fvec4) Load 9(v)
|
||||||
133: 6(float) Load 132
|
132: 7(fvec4) FAdd 131 130
|
||||||
134: 6(float) FAdd 133 130
|
Store 9(v) 132
|
||||||
135: 61(ptr) AccessChain 9(v) 131
|
137: 134 Load 136(s2DArrayShadow)
|
||||||
Store 135 134
|
138: 7(fvec4) Load 26(c4D)
|
||||||
136: 21 Load 23(s3D)
|
139: 15(fvec2) Load 17(c2D)
|
||||||
137: 7(fvec4) Load 26(c4D)
|
140: 15(fvec2) Load 17(c2D)
|
||||||
138: 36(fvec3) Load 38(c3D)
|
141: 6(float) CompositeExtract 138 3
|
||||||
139: 36(fvec3) Load 38(c3D)
|
142: 6(float) ImageSampleDrefExplicitLod 137 138 141 Grad ConstOffset 139 140 70
|
||||||
140: 7(fvec4) ImageSampleProjExplicitLod 136 137 Grad 138 139
|
144: 34(ptr) AccessChain 9(v) 143
|
||||||
141: 7(fvec4) Load 9(v)
|
145: 6(float) Load 144
|
||||||
142: 7(fvec4) FAdd 141 140
|
146: 6(float) FAdd 145 142
|
||||||
Store 9(v) 142
|
147: 34(ptr) AccessChain 9(v) 143
|
||||||
143: 11 Load 13(s2D)
|
Store 147 146
|
||||||
144: 36(fvec3) Load 38(c3D)
|
148: 40 Load 42(s3D)
|
||||||
145: 15(fvec2) Load 17(c2D)
|
149: 7(fvec4) Load 26(c4D)
|
||||||
146: 15(fvec2) Load 17(c2D)
|
150: 53(fvec3) Load 55(c3D)
|
||||||
147: 7(fvec4) ImageSampleProjExplicitLod 143 144 Grad ConstOffset 145 146 53
|
151: 53(fvec3) Load 55(c3D)
|
||||||
148: 7(fvec4) Load 9(v)
|
152: 7(fvec4) ImageSampleProjExplicitLod 148 149 Grad 150 151
|
||||||
149: 7(fvec4) FAdd 148 147
|
153: 7(fvec4) Load 9(v)
|
||||||
Store 9(v) 149
|
154: 7(fvec4) FAdd 153 152
|
||||||
157: 154 Load 156(is2D)
|
Store 9(v) 154
|
||||||
|
155: 11 Load 13(s2D)
|
||||||
|
156: 53(fvec3) Load 55(c3D)
|
||||||
|
157: 15(fvec2) Load 17(c2D)
|
||||||
158: 15(fvec2) Load 17(c2D)
|
158: 15(fvec2) Load 17(c2D)
|
||||||
159: 150(ivec4) ImageSampleImplicitLod 157 158
|
159: 7(fvec4) ImageSampleProjExplicitLod 155 156 Grad ConstOffset 157 158 70
|
||||||
Store 152(iv) 159
|
160: 7(fvec4) Load 9(v)
|
||||||
160: 150(ivec4) Load 152(iv)
|
161: 7(fvec4) FAdd 160 159
|
||||||
161: 7(fvec4) ConvertSToF 160
|
Store 9(v) 161
|
||||||
162: 7(fvec4) Load 9(v)
|
169: 166 Load 168(is2D)
|
||||||
163: 7(fvec4) FAdd 162 161
|
170: 15(fvec2) Load 17(c2D)
|
||||||
Store 9(v) 163
|
171: 162(ivec4) ImageSampleImplicitLod 169 170
|
||||||
164: 154 Load 156(is2D)
|
Store 164(iv) 171
|
||||||
165: 7(fvec4) Load 26(c4D)
|
172: 162(ivec4) Load 164(iv)
|
||||||
166: 150(ivec4) ImageSampleProjImplicitLod 164 165 ConstOffset 53
|
173: 7(fvec4) ConvertSToF 172
|
||||||
Store 152(iv) 166
|
174: 7(fvec4) Load 9(v)
|
||||||
167: 150(ivec4) Load 152(iv)
|
175: 7(fvec4) FAdd 174 173
|
||||||
168: 7(fvec4) ConvertSToF 167
|
Store 9(v) 175
|
||||||
169: 7(fvec4) Load 9(v)
|
176: 166 Load 168(is2D)
|
||||||
170: 7(fvec4) FAdd 169 168
|
177: 7(fvec4) Load 26(c4D)
|
||||||
Store 9(v) 170
|
178: 162(ivec4) ImageSampleProjImplicitLod 176 177 ConstOffset 70
|
||||||
171: 154 Load 156(is2D)
|
Store 164(iv) 178
|
||||||
172: 36(fvec3) Load 38(c3D)
|
179: 162(ivec4) Load 164(iv)
|
||||||
173: 6(float) Load 55(c1D)
|
180: 7(fvec4) ConvertSToF 179
|
||||||
174: 150(ivec4) ImageSampleProjExplicitLod 171 172 Lod 173
|
181: 7(fvec4) Load 9(v)
|
||||||
Store 152(iv) 174
|
182: 7(fvec4) FAdd 181 180
|
||||||
175: 150(ivec4) Load 152(iv)
|
Store 9(v) 182
|
||||||
176: 7(fvec4) ConvertSToF 175
|
183: 166 Load 168(is2D)
|
||||||
177: 7(fvec4) Load 9(v)
|
184: 53(fvec3) Load 55(c3D)
|
||||||
178: 7(fvec4) FAdd 177 176
|
185: 6(float) Load 29(c1D)
|
||||||
Store 9(v) 178
|
186: 162(ivec4) ImageSampleProjExplicitLod 183 184 Lod 185
|
||||||
179: 154 Load 156(is2D)
|
Store 164(iv) 186
|
||||||
180: 36(fvec3) Load 38(c3D)
|
187: 162(ivec4) Load 164(iv)
|
||||||
181: 15(fvec2) Load 17(c2D)
|
188: 7(fvec4) ConvertSToF 187
|
||||||
182: 15(fvec2) Load 17(c2D)
|
189: 7(fvec4) Load 9(v)
|
||||||
183: 150(ivec4) ImageSampleProjExplicitLod 179 180 Grad 181 182
|
190: 7(fvec4) FAdd 189 188
|
||||||
Store 152(iv) 183
|
Store 9(v) 190
|
||||||
184: 150(ivec4) Load 152(iv)
|
191: 166 Load 168(is2D)
|
||||||
185: 7(fvec4) ConvertSToF 184
|
192: 53(fvec3) Load 55(c3D)
|
||||||
186: 7(fvec4) Load 9(v)
|
193: 15(fvec2) Load 17(c2D)
|
||||||
187: 7(fvec4) FAdd 186 185
|
194: 15(fvec2) Load 17(c2D)
|
||||||
Store 9(v) 187
|
195: 162(ivec4) ImageSampleProjExplicitLod 191 192 Grad 193 194
|
||||||
192: 189 Load 191(is3D)
|
Store 164(iv) 195
|
||||||
193: 36(fvec3) Load 38(c3D)
|
196: 162(ivec4) Load 164(iv)
|
||||||
195: 150(ivec4) ImageSampleImplicitLod 192 193 Bias 194
|
|
||||||
Store 152(iv) 195
|
|
||||||
196: 150(ivec4) Load 152(iv)
|
|
||||||
197: 7(fvec4) ConvertSToF 196
|
197: 7(fvec4) ConvertSToF 196
|
||||||
198: 7(fvec4) Load 9(v)
|
198: 7(fvec4) Load 9(v)
|
||||||
199: 7(fvec4) FAdd 198 197
|
199: 7(fvec4) FAdd 198 197
|
||||||
Store 9(v) 199
|
Store 9(v) 199
|
||||||
204: 201 Load 203(isCube)
|
204: 201 Load 203(is3D)
|
||||||
205: 36(fvec3) Load 38(c3D)
|
205: 53(fvec3) Load 55(c3D)
|
||||||
206: 6(float) Load 55(c1D)
|
207: 162(ivec4) ImageSampleImplicitLod 204 205 Bias 206
|
||||||
207: 150(ivec4) ImageSampleExplicitLod 204 205 Lod 206
|
Store 164(iv) 207
|
||||||
Store 152(iv) 207
|
208: 162(ivec4) Load 164(iv)
|
||||||
208: 150(ivec4) Load 152(iv)
|
|
||||||
209: 7(fvec4) ConvertSToF 208
|
209: 7(fvec4) ConvertSToF 208
|
||||||
210: 7(fvec4) Load 9(v)
|
210: 7(fvec4) Load 9(v)
|
||||||
211: 7(fvec4) FAdd 210 209
|
211: 7(fvec4) FAdd 210 209
|
||||||
Store 9(v) 211
|
Store 9(v) 211
|
||||||
216: 213 Load 215(is2DArray)
|
216: 213 Load 215(isCube)
|
||||||
217: 67(ivec3) Load 69(ic3D)
|
217: 53(fvec3) Load 55(c3D)
|
||||||
218: 50(int) Load 72(ic1D)
|
218: 6(float) Load 29(c1D)
|
||||||
219: 150(ivec4) ImageFetch 216 217 Lod 218
|
219: 162(ivec4) ImageSampleExplicitLod 216 217 Lod 218
|
||||||
Store 152(iv) 219
|
Store 164(iv) 219
|
||||||
220: 150(ivec4) Load 152(iv)
|
220: 162(ivec4) Load 164(iv)
|
||||||
221: 7(fvec4) ConvertSToF 220
|
221: 7(fvec4) ConvertSToF 220
|
||||||
222: 7(fvec4) Load 9(v)
|
222: 7(fvec4) Load 9(v)
|
||||||
223: 7(fvec4) FAdd 222 221
|
223: 7(fvec4) FAdd 222 221
|
||||||
Store 9(v) 223
|
Store 9(v) 223
|
||||||
230: 227 Load 229(sCubeShadow)
|
228: 225 Load 227(is2DArray)
|
||||||
232: 51(ivec2) ImageQuerySizeLod 230 231
|
229: 79(ivec3) Load 81(ic3D)
|
||||||
Store 225(iv2) 232
|
230: 67(int) Load 84(ic1D)
|
||||||
235: 7(fvec4) Load 9(v)
|
231: 162(ivec4) ImageFetch 228 229 Lod 230
|
||||||
236: 51(ivec2) Load 225(iv2)
|
Store 164(iv) 231
|
||||||
237: 15(fvec2) ConvertSToF 236
|
232: 162(ivec4) Load 164(iv)
|
||||||
239: 6(float) CompositeExtract 237 0
|
233: 7(fvec4) ConvertSToF 232
|
||||||
240: 6(float) CompositeExtract 237 1
|
234: 7(fvec4) Load 9(v)
|
||||||
241: 7(fvec4) CompositeConstruct 239 240 238 238
|
235: 7(fvec4) FAdd 234 233
|
||||||
242: 7(fvec4) FAdd 235 241
|
Store 9(v) 235
|
||||||
Store 234(FragData) 242
|
242: 239 Load 241(sCubeShadow)
|
||||||
|
244: 68(ivec2) ImageQuerySizeLod 242 243
|
||||||
|
Store 237(iv2) 244
|
||||||
|
247: 7(fvec4) Load 9(v)
|
||||||
|
248: 68(ivec2) Load 237(iv2)
|
||||||
|
249: 15(fvec2) ConvertSToF 248
|
||||||
|
251: 6(float) CompositeExtract 249 0
|
||||||
|
252: 6(float) CompositeExtract 249 1
|
||||||
|
253: 7(fvec4) CompositeConstruct 251 252 250 250
|
||||||
|
254: 7(fvec4) FAdd 247 253
|
||||||
|
Store 246(FragData) 254
|
||||||
Return
|
Return
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
@ -5,6 +5,7 @@ uniform sampler2DRect sr;
|
|||||||
uniform sampler3D s3D;
|
uniform sampler3D s3D;
|
||||||
uniform samplerCube sCube;
|
uniform samplerCube sCube;
|
||||||
uniform samplerCubeShadow sCubeShadow;
|
uniform samplerCubeShadow sCubeShadow;
|
||||||
|
uniform samplerCubeArrayShadow sCubeArrayShadow;
|
||||||
uniform sampler2DShadow s2DShadow;
|
uniform sampler2DShadow s2DShadow;
|
||||||
uniform sampler2DArray s2DArray;
|
uniform sampler2DArray s2DArray;
|
||||||
uniform sampler2DArrayShadow s2DArrayShadow;
|
uniform sampler2DArrayShadow s2DArrayShadow;
|
||||||
@ -35,6 +36,7 @@ out vec4 FragData;
|
|||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec4 v = texture(s2D, c2D);
|
vec4 v = texture(s2D, c2D);
|
||||||
|
v.y += texture(sCubeArrayShadow, c4D, c1D);
|
||||||
v += textureProj(s3D, c4D);
|
v += textureProj(s3D, c4D);
|
||||||
v += textureLod(s2DArray, c3D, 1.2);
|
v += textureLod(s2DArray, c3D, 1.2);
|
||||||
v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D);
|
v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user