mirror of
https://github.com/libretro/glslang.git
synced 2024-11-30 19:30:40 +00:00
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
|
||||
|
||||
bool cubeCompare = sampler.dim == glslang::EsdCube && sampler.arrayed && sampler.shadow;
|
||||
|
||||
// check for bias argument
|
||||
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;
|
||||
if (cracked.offset)
|
||||
++nonBiasArgCount;
|
||||
|
@ -268,7 +268,7 @@ Linked fragment stage:
|
||||
124: 15(fvec4) Load 78(i)
|
||||
127: 126(ptr) AccessChain 78(i) 125
|
||||
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
|
||||
132: 84 Load 86(Isca)
|
||||
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
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 265
|
||||
// Id's are bound by 277
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
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
|
||||
Source GLSL 430
|
||||
Name 4 "main"
|
||||
Name 9 "v"
|
||||
Name 13 "s2D"
|
||||
Name 17 "c2D"
|
||||
Name 23 "s3D"
|
||||
Name 23 "sCubeArrayShadow"
|
||||
Name 26 "c4D"
|
||||
Name 34 "s2DArray"
|
||||
Name 38 "c3D"
|
||||
Name 47 "s2DShadow"
|
||||
Name 55 "c1D"
|
||||
Name 69 "ic3D"
|
||||
Name 72 "ic1D"
|
||||
Name 79 "ic2D"
|
||||
Name 88 "sr"
|
||||
Name 113 "sCube"
|
||||
Name 124 "s2DArrayShadow"
|
||||
Name 152 "iv"
|
||||
Name 156 "is2D"
|
||||
Name 191 "is3D"
|
||||
Name 203 "isCube"
|
||||
Name 215 "is2DArray"
|
||||
Name 225 "iv2"
|
||||
Name 229 "sCubeShadow"
|
||||
Name 234 "FragData"
|
||||
Name 246 "is2Dms"
|
||||
Name 250 "us2D"
|
||||
Name 254 "us3D"
|
||||
Name 258 "usCube"
|
||||
Name 262 "us2DArray"
|
||||
Name 264 "ic4D"
|
||||
Decorate 69(ic3D) Flat
|
||||
Decorate 72(ic1D) Flat
|
||||
Decorate 79(ic2D) Flat
|
||||
Decorate 264(ic4D) Flat
|
||||
Name 29 "c1D"
|
||||
Name 42 "s3D"
|
||||
Name 51 "s2DArray"
|
||||
Name 55 "c3D"
|
||||
Name 64 "s2DShadow"
|
||||
Name 81 "ic3D"
|
||||
Name 84 "ic1D"
|
||||
Name 91 "ic2D"
|
||||
Name 100 "sr"
|
||||
Name 125 "sCube"
|
||||
Name 136 "s2DArrayShadow"
|
||||
Name 164 "iv"
|
||||
Name 168 "is2D"
|
||||
Name 203 "is3D"
|
||||
Name 215 "isCube"
|
||||
Name 227 "is2DArray"
|
||||
Name 237 "iv2"
|
||||
Name 241 "sCubeShadow"
|
||||
Name 246 "FragData"
|
||||
Name 258 "is2Dms"
|
||||
Name 262 "us2D"
|
||||
Name 266 "us3D"
|
||||
Name 270 "usCube"
|
||||
Name 274 "us2DArray"
|
||||
Name 276 "ic4D"
|
||||
Decorate 81(ic3D) Flat
|
||||
Decorate 84(ic1D) Flat
|
||||
Decorate 91(ic2D) Flat
|
||||
Decorate 276(ic4D) Flat
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -61,285 +62,298 @@ Linked fragment stage:
|
||||
15: TypeVector 6(float) 2
|
||||
16: TypePointer Input 15(fvec2)
|
||||
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
|
||||
22: TypePointer UniformConstant 21
|
||||
23(s3D): 22(ptr) Variable UniformConstant
|
||||
23(sCubeArrayShadow): 22(ptr) Variable UniformConstant
|
||||
25: TypePointer Input 7(fvec4)
|
||||
26(c4D): 25(ptr) Variable Input
|
||||
31: TypeImage 6(float) 2D array sampled format:Unknown
|
||||
32: TypeSampledImage 31
|
||||
33: TypePointer UniformConstant 32
|
||||
34(s2DArray): 33(ptr) Variable UniformConstant
|
||||
36: TypeVector 6(float) 3
|
||||
37: TypePointer Input 36(fvec3)
|
||||
38(c3D): 37(ptr) Variable Input
|
||||
40: 6(float) Constant 1067030938
|
||||
44: TypeImage 6(float) 2D depth sampled format:Unknown
|
||||
45: TypeSampledImage 44
|
||||
46: TypePointer UniformConstant 45
|
||||
47(s2DShadow): 46(ptr) Variable UniformConstant
|
||||
50: TypeInt 32 1
|
||||
51: TypeVector 50(int) 2
|
||||
52: 50(int) Constant 3
|
||||
53: 51(ivec2) ConstantComposite 52 52
|
||||
54: TypePointer Input 6(float)
|
||||
55(c1D): 54(ptr) Variable Input
|
||||
59: TypeInt 32 0
|
||||
60: 59(int) Constant 1
|
||||
61: TypePointer Function 6(float)
|
||||
67: TypeVector 50(int) 3
|
||||
68: TypePointer Input 67(ivec3)
|
||||
69(ic3D): 68(ptr) Variable Input
|
||||
71: TypePointer Input 50(int)
|
||||
72(ic1D): 71(ptr) Variable Input
|
||||
78: TypePointer Input 51(ivec2)
|
||||
79(ic2D): 78(ptr) Variable Input
|
||||
81: 50(int) Constant 4
|
||||
85: TypeImage 6(float) Rect sampled format:Unknown
|
||||
86: TypeSampledImage 85
|
||||
87: TypePointer UniformConstant 86
|
||||
88(sr): 87(ptr) Variable UniformConstant
|
||||
91: 51(ivec2) ConstantComposite 81 81
|
||||
110: TypeImage 6(float) Cube sampled format:Unknown
|
||||
111: TypeSampledImage 110
|
||||
112: TypePointer UniformConstant 111
|
||||
113(sCube): 112(ptr) Variable UniformConstant
|
||||
121: TypeImage 6(float) 2D depth array sampled format:Unknown
|
||||
122: TypeSampledImage 121
|
||||
123: TypePointer UniformConstant 122
|
||||
124(s2DArrayShadow): 123(ptr) Variable UniformConstant
|
||||
131: 59(int) Constant 0
|
||||
150: TypeVector 50(int) 4
|
||||
151: TypePointer Function 150(ivec4)
|
||||
153: TypeImage 50(int) 2D sampled format:Unknown
|
||||
154: TypeSampledImage 153
|
||||
155: TypePointer UniformConstant 154
|
||||
156(is2D): 155(ptr) Variable UniformConstant
|
||||
188: TypeImage 50(int) 3D sampled format:Unknown
|
||||
189: TypeSampledImage 188
|
||||
190: TypePointer UniformConstant 189
|
||||
191(is3D): 190(ptr) Variable UniformConstant
|
||||
194: 6(float) Constant 1082549862
|
||||
200: TypeImage 50(int) Cube sampled format:Unknown
|
||||
28: TypePointer Input 6(float)
|
||||
29(c1D): 28(ptr) Variable Input
|
||||
32: TypeInt 32 0
|
||||
33: 32(int) Constant 1
|
||||
34: TypePointer Function 6(float)
|
||||
39: TypeImage 6(float) 3D sampled format:Unknown
|
||||
40: TypeSampledImage 39
|
||||
41: TypePointer UniformConstant 40
|
||||
42(s3D): 41(ptr) Variable UniformConstant
|
||||
48: TypeImage 6(float) 2D array sampled format:Unknown
|
||||
49: TypeSampledImage 48
|
||||
50: TypePointer UniformConstant 49
|
||||
51(s2DArray): 50(ptr) Variable UniformConstant
|
||||
53: TypeVector 6(float) 3
|
||||
54: TypePointer Input 53(fvec3)
|
||||
55(c3D): 54(ptr) Variable Input
|
||||
57: 6(float) Constant 1067030938
|
||||
61: TypeImage 6(float) 2D depth sampled format:Unknown
|
||||
62: TypeSampledImage 61
|
||||
63: TypePointer UniformConstant 62
|
||||
64(s2DShadow): 63(ptr) Variable UniformConstant
|
||||
67: TypeInt 32 1
|
||||
68: TypeVector 67(int) 2
|
||||
69: 67(int) Constant 3
|
||||
70: 68(ivec2) ConstantComposite 69 69
|
||||
79: TypeVector 67(int) 3
|
||||
80: TypePointer Input 79(ivec3)
|
||||
81(ic3D): 80(ptr) Variable Input
|
||||
83: TypePointer Input 67(int)
|
||||
84(ic1D): 83(ptr) Variable Input
|
||||
90: TypePointer Input 68(ivec2)
|
||||
91(ic2D): 90(ptr) Variable Input
|
||||
93: 67(int) Constant 4
|
||||
97: TypeImage 6(float) Rect sampled format:Unknown
|
||||
98: TypeSampledImage 97
|
||||
99: TypePointer UniformConstant 98
|
||||
100(sr): 99(ptr) Variable UniformConstant
|
||||
103: 68(ivec2) ConstantComposite 93 93
|
||||
122: TypeImage 6(float) Cube sampled format:Unknown
|
||||
123: TypeSampledImage 122
|
||||
124: TypePointer UniformConstant 123
|
||||
125(sCube): 124(ptr) Variable UniformConstant
|
||||
133: TypeImage 6(float) 2D depth array sampled format:Unknown
|
||||
134: TypeSampledImage 133
|
||||
135: TypePointer UniformConstant 134
|
||||
136(s2DArrayShadow): 135(ptr) Variable UniformConstant
|
||||
143: 32(int) Constant 0
|
||||
162: TypeVector 67(int) 4
|
||||
163: TypePointer Function 162(ivec4)
|
||||
165: TypeImage 67(int) 2D sampled format:Unknown
|
||||
166: TypeSampledImage 165
|
||||
167: TypePointer UniformConstant 166
|
||||
168(is2D): 167(ptr) Variable UniformConstant
|
||||
200: TypeImage 67(int) 3D sampled format:Unknown
|
||||
201: TypeSampledImage 200
|
||||
202: TypePointer UniformConstant 201
|
||||
203(isCube): 202(ptr) Variable UniformConstant
|
||||
212: TypeImage 50(int) 2D array sampled format:Unknown
|
||||
203(is3D): 202(ptr) Variable UniformConstant
|
||||
206: 6(float) Constant 1082549862
|
||||
212: TypeImage 67(int) Cube sampled format:Unknown
|
||||
213: TypeSampledImage 212
|
||||
214: TypePointer UniformConstant 213
|
||||
215(is2DArray): 214(ptr) Variable UniformConstant
|
||||
224: TypePointer Function 51(ivec2)
|
||||
226: TypeImage 6(float) Cube depth sampled format:Unknown
|
||||
227: TypeSampledImage 226
|
||||
228: TypePointer UniformConstant 227
|
||||
229(sCubeShadow): 228(ptr) Variable UniformConstant
|
||||
231: 50(int) Constant 2
|
||||
233: TypePointer Output 7(fvec4)
|
||||
234(FragData): 233(ptr) Variable Output
|
||||
238: 6(float) Constant 0
|
||||
243: TypeImage 50(int) 2D multi-sampled sampled format:Unknown
|
||||
244: TypeSampledImage 243
|
||||
245: TypePointer UniformConstant 244
|
||||
246(is2Dms): 245(ptr) Variable UniformConstant
|
||||
247: TypeImage 59(int) 2D 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
|
||||
215(isCube): 214(ptr) Variable UniformConstant
|
||||
224: TypeImage 67(int) 2D array sampled format:Unknown
|
||||
225: TypeSampledImage 224
|
||||
226: TypePointer UniformConstant 225
|
||||
227(is2DArray): 226(ptr) Variable UniformConstant
|
||||
236: TypePointer Function 68(ivec2)
|
||||
238: TypeImage 6(float) Cube depth sampled format:Unknown
|
||||
239: TypeSampledImage 238
|
||||
240: TypePointer UniformConstant 239
|
||||
241(sCubeShadow): 240(ptr) Variable UniformConstant
|
||||
243: 67(int) Constant 2
|
||||
245: TypePointer Output 7(fvec4)
|
||||
246(FragData): 245(ptr) Variable Output
|
||||
250: 6(float) Constant 0
|
||||
255: TypeImage 67(int) 2D multi-sampled sampled format:Unknown
|
||||
256: TypeSampledImage 255
|
||||
257: TypePointer UniformConstant 256
|
||||
258(usCube): 257(ptr) Variable UniformConstant
|
||||
259: TypeImage 59(int) 2D array sampled format:Unknown
|
||||
258(is2Dms): 257(ptr) Variable UniformConstant
|
||||
259: TypeImage 32(int) 2D sampled format:Unknown
|
||||
260: TypeSampledImage 259
|
||||
261: TypePointer UniformConstant 260
|
||||
262(us2DArray): 261(ptr) Variable UniformConstant
|
||||
263: TypePointer Input 150(ivec4)
|
||||
264(ic4D): 263(ptr) Variable Input
|
||||
262(us2D): 261(ptr) Variable UniformConstant
|
||||
263: TypeImage 32(int) 3D sampled format:Unknown
|
||||
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
|
||||
5: Label
|
||||
9(v): 8(ptr) Variable Function
|
||||
152(iv): 151(ptr) Variable Function
|
||||
225(iv2): 224(ptr) Variable Function
|
||||
164(iv): 163(ptr) Variable Function
|
||||
237(iv2): 236(ptr) Variable Function
|
||||
14: 11 Load 13(s2D)
|
||||
18: 15(fvec2) Load 17(c2D)
|
||||
19: 7(fvec4) ImageSampleImplicitLod 14 18
|
||||
Store 9(v) 19
|
||||
24: 21 Load 23(s3D)
|
||||
24: 21 Load 23(sCubeArrayShadow)
|
||||
27: 7(fvec4) Load 26(c4D)
|
||||
28: 7(fvec4) ImageSampleProjImplicitLod 24 27
|
||||
29: 7(fvec4) Load 9(v)
|
||||
30: 7(fvec4) FAdd 29 28
|
||||
Store 9(v) 30
|
||||
35: 32 Load 34(s2DArray)
|
||||
39: 36(fvec3) Load 38(c3D)
|
||||
41: 7(fvec4) ImageSampleExplicitLod 35 39 Lod 40
|
||||
42: 7(fvec4) Load 9(v)
|
||||
43: 7(fvec4) FAdd 42 41
|
||||
Store 9(v) 43
|
||||
48: 45 Load 47(s2DShadow)
|
||||
49: 36(fvec3) Load 38(c3D)
|
||||
56: 6(float) Load 55(c1D)
|
||||
57: 6(float) CompositeExtract 49 2
|
||||
58: 6(float) ImageSampleDrefImplicitLod 48 49 57 Bias ConstOffset 56 53
|
||||
62: 61(ptr) AccessChain 9(v) 60
|
||||
63: 6(float) Load 62
|
||||
64: 6(float) FAdd 63 58
|
||||
65: 61(ptr) AccessChain 9(v) 60
|
||||
Store 65 64
|
||||
66: 21 Load 23(s3D)
|
||||
70: 67(ivec3) Load 69(ic3D)
|
||||
73: 50(int) Load 72(ic1D)
|
||||
74: 7(fvec4) ImageFetch 66 70 Lod 73
|
||||
75: 7(fvec4) Load 9(v)
|
||||
76: 7(fvec4) FAdd 75 74
|
||||
Store 9(v) 76
|
||||
77: 11 Load 13(s2D)
|
||||
80: 51(ivec2) Load 79(ic2D)
|
||||
82: 7(fvec4) ImageFetch 77 80 Lod ConstOffset 81 53
|
||||
83: 7(fvec4) Load 9(v)
|
||||
84: 7(fvec4) FAdd 83 82
|
||||
Store 9(v) 84
|
||||
89: 86 Load 88(sr)
|
||||
90: 51(ivec2) Load 79(ic2D)
|
||||
92: 7(fvec4) ImageFetch 89 90 ConstOffset 91
|
||||
93: 7(fvec4) Load 9(v)
|
||||
94: 7(fvec4) FAdd 93 92
|
||||
Store 9(v) 94
|
||||
95: 45 Load 47(s2DShadow)
|
||||
96: 36(fvec3) Load 38(c3D)
|
||||
97: 6(float) Load 55(c1D)
|
||||
98: 6(float) CompositeExtract 96 2
|
||||
99: 6(float) ImageSampleDrefExplicitLod 95 96 98 Lod ConstOffset 97 53
|
||||
100: 61(ptr) AccessChain 9(v) 60
|
||||
101: 6(float) Load 100
|
||||
102: 6(float) FAdd 101 99
|
||||
103: 61(ptr) AccessChain 9(v) 60
|
||||
Store 103 102
|
||||
104: 11 Load 13(s2D)
|
||||
105: 36(fvec3) Load 38(c3D)
|
||||
106: 6(float) Load 55(c1D)
|
||||
107: 7(fvec4) ImageSampleProjExplicitLod 104 105 Lod ConstOffset 106 53
|
||||
108: 7(fvec4) Load 9(v)
|
||||
109: 7(fvec4) FAdd 108 107
|
||||
Store 9(v) 109
|
||||
114: 111 Load 113(sCube)
|
||||
115: 36(fvec3) Load 38(c3D)
|
||||
116: 36(fvec3) Load 38(c3D)
|
||||
117: 36(fvec3) Load 38(c3D)
|
||||
118: 7(fvec4) ImageSampleExplicitLod 114 115 Grad 116 117
|
||||
119: 7(fvec4) Load 9(v)
|
||||
120: 7(fvec4) FAdd 119 118
|
||||
Store 9(v) 120
|
||||
125: 122 Load 124(s2DArrayShadow)
|
||||
126: 7(fvec4) Load 26(c4D)
|
||||
127: 15(fvec2) Load 17(c2D)
|
||||
128: 15(fvec2) Load 17(c2D)
|
||||
129: 6(float) CompositeExtract 126 3
|
||||
130: 6(float) ImageSampleDrefExplicitLod 125 126 129 Grad ConstOffset 127 128 53
|
||||
132: 61(ptr) AccessChain 9(v) 131
|
||||
133: 6(float) Load 132
|
||||
134: 6(float) FAdd 133 130
|
||||
135: 61(ptr) AccessChain 9(v) 131
|
||||
Store 135 134
|
||||
136: 21 Load 23(s3D)
|
||||
137: 7(fvec4) Load 26(c4D)
|
||||
138: 36(fvec3) Load 38(c3D)
|
||||
139: 36(fvec3) Load 38(c3D)
|
||||
140: 7(fvec4) ImageSampleProjExplicitLod 136 137 Grad 138 139
|
||||
141: 7(fvec4) Load 9(v)
|
||||
142: 7(fvec4) FAdd 141 140
|
||||
Store 9(v) 142
|
||||
143: 11 Load 13(s2D)
|
||||
144: 36(fvec3) Load 38(c3D)
|
||||
145: 15(fvec2) Load 17(c2D)
|
||||
146: 15(fvec2) Load 17(c2D)
|
||||
147: 7(fvec4) ImageSampleProjExplicitLod 143 144 Grad ConstOffset 145 146 53
|
||||
148: 7(fvec4) Load 9(v)
|
||||
149: 7(fvec4) FAdd 148 147
|
||||
Store 9(v) 149
|
||||
157: 154 Load 156(is2D)
|
||||
30: 6(float) Load 29(c1D)
|
||||
31: 6(float) ImageSampleDrefImplicitLod 24 27 30
|
||||
35: 34(ptr) AccessChain 9(v) 33
|
||||
36: 6(float) Load 35
|
||||
37: 6(float) FAdd 36 31
|
||||
38: 34(ptr) AccessChain 9(v) 33
|
||||
Store 38 37
|
||||
43: 40 Load 42(s3D)
|
||||
44: 7(fvec4) Load 26(c4D)
|
||||
45: 7(fvec4) ImageSampleProjImplicitLod 43 44
|
||||
46: 7(fvec4) Load 9(v)
|
||||
47: 7(fvec4) FAdd 46 45
|
||||
Store 9(v) 47
|
||||
52: 49 Load 51(s2DArray)
|
||||
56: 53(fvec3) Load 55(c3D)
|
||||
58: 7(fvec4) ImageSampleExplicitLod 52 56 Lod 57
|
||||
59: 7(fvec4) Load 9(v)
|
||||
60: 7(fvec4) FAdd 59 58
|
||||
Store 9(v) 60
|
||||
65: 62 Load 64(s2DShadow)
|
||||
66: 53(fvec3) Load 55(c3D)
|
||||
71: 6(float) Load 29(c1D)
|
||||
72: 6(float) CompositeExtract 66 2
|
||||
73: 6(float) ImageSampleDrefImplicitLod 65 66 72 Bias ConstOffset 71 70
|
||||
74: 34(ptr) AccessChain 9(v) 33
|
||||
75: 6(float) Load 74
|
||||
76: 6(float) FAdd 75 73
|
||||
77: 34(ptr) AccessChain 9(v) 33
|
||||
Store 77 76
|
||||
78: 40 Load 42(s3D)
|
||||
82: 79(ivec3) Load 81(ic3D)
|
||||
85: 67(int) Load 84(ic1D)
|
||||
86: 7(fvec4) ImageFetch 78 82 Lod 85
|
||||
87: 7(fvec4) Load 9(v)
|
||||
88: 7(fvec4) FAdd 87 86
|
||||
Store 9(v) 88
|
||||
89: 11 Load 13(s2D)
|
||||
92: 68(ivec2) Load 91(ic2D)
|
||||
94: 7(fvec4) ImageFetch 89 92 Lod ConstOffset 93 70
|
||||
95: 7(fvec4) Load 9(v)
|
||||
96: 7(fvec4) FAdd 95 94
|
||||
Store 9(v) 96
|
||||
101: 98 Load 100(sr)
|
||||
102: 68(ivec2) Load 91(ic2D)
|
||||
104: 7(fvec4) ImageFetch 101 102 ConstOffset 103
|
||||
105: 7(fvec4) Load 9(v)
|
||||
106: 7(fvec4) FAdd 105 104
|
||||
Store 9(v) 106
|
||||
107: 62 Load 64(s2DShadow)
|
||||
108: 53(fvec3) Load 55(c3D)
|
||||
109: 6(float) Load 29(c1D)
|
||||
110: 6(float) CompositeExtract 108 2
|
||||
111: 6(float) ImageSampleDrefExplicitLod 107 108 110 Lod ConstOffset 109 70
|
||||
112: 34(ptr) AccessChain 9(v) 33
|
||||
113: 6(float) Load 112
|
||||
114: 6(float) FAdd 113 111
|
||||
115: 34(ptr) AccessChain 9(v) 33
|
||||
Store 115 114
|
||||
116: 11 Load 13(s2D)
|
||||
117: 53(fvec3) Load 55(c3D)
|
||||
118: 6(float) Load 29(c1D)
|
||||
119: 7(fvec4) ImageSampleProjExplicitLod 116 117 Lod ConstOffset 118 70
|
||||
120: 7(fvec4) Load 9(v)
|
||||
121: 7(fvec4) FAdd 120 119
|
||||
Store 9(v) 121
|
||||
126: 123 Load 125(sCube)
|
||||
127: 53(fvec3) Load 55(c3D)
|
||||
128: 53(fvec3) Load 55(c3D)
|
||||
129: 53(fvec3) Load 55(c3D)
|
||||
130: 7(fvec4) ImageSampleExplicitLod 126 127 Grad 128 129
|
||||
131: 7(fvec4) Load 9(v)
|
||||
132: 7(fvec4) FAdd 131 130
|
||||
Store 9(v) 132
|
||||
137: 134 Load 136(s2DArrayShadow)
|
||||
138: 7(fvec4) Load 26(c4D)
|
||||
139: 15(fvec2) Load 17(c2D)
|
||||
140: 15(fvec2) Load 17(c2D)
|
||||
141: 6(float) CompositeExtract 138 3
|
||||
142: 6(float) ImageSampleDrefExplicitLod 137 138 141 Grad ConstOffset 139 140 70
|
||||
144: 34(ptr) AccessChain 9(v) 143
|
||||
145: 6(float) Load 144
|
||||
146: 6(float) FAdd 145 142
|
||||
147: 34(ptr) AccessChain 9(v) 143
|
||||
Store 147 146
|
||||
148: 40 Load 42(s3D)
|
||||
149: 7(fvec4) Load 26(c4D)
|
||||
150: 53(fvec3) Load 55(c3D)
|
||||
151: 53(fvec3) Load 55(c3D)
|
||||
152: 7(fvec4) ImageSampleProjExplicitLod 148 149 Grad 150 151
|
||||
153: 7(fvec4) Load 9(v)
|
||||
154: 7(fvec4) FAdd 153 152
|
||||
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)
|
||||
159: 150(ivec4) ImageSampleImplicitLod 157 158
|
||||
Store 152(iv) 159
|
||||
160: 150(ivec4) Load 152(iv)
|
||||
161: 7(fvec4) ConvertSToF 160
|
||||
162: 7(fvec4) Load 9(v)
|
||||
163: 7(fvec4) FAdd 162 161
|
||||
Store 9(v) 163
|
||||
164: 154 Load 156(is2D)
|
||||
165: 7(fvec4) Load 26(c4D)
|
||||
166: 150(ivec4) ImageSampleProjImplicitLod 164 165 ConstOffset 53
|
||||
Store 152(iv) 166
|
||||
167: 150(ivec4) Load 152(iv)
|
||||
168: 7(fvec4) ConvertSToF 167
|
||||
169: 7(fvec4) Load 9(v)
|
||||
170: 7(fvec4) FAdd 169 168
|
||||
Store 9(v) 170
|
||||
171: 154 Load 156(is2D)
|
||||
172: 36(fvec3) Load 38(c3D)
|
||||
173: 6(float) Load 55(c1D)
|
||||
174: 150(ivec4) ImageSampleProjExplicitLod 171 172 Lod 173
|
||||
Store 152(iv) 174
|
||||
175: 150(ivec4) Load 152(iv)
|
||||
176: 7(fvec4) ConvertSToF 175
|
||||
177: 7(fvec4) Load 9(v)
|
||||
178: 7(fvec4) FAdd 177 176
|
||||
Store 9(v) 178
|
||||
179: 154 Load 156(is2D)
|
||||
180: 36(fvec3) Load 38(c3D)
|
||||
181: 15(fvec2) Load 17(c2D)
|
||||
182: 15(fvec2) Load 17(c2D)
|
||||
183: 150(ivec4) ImageSampleProjExplicitLod 179 180 Grad 181 182
|
||||
Store 152(iv) 183
|
||||
184: 150(ivec4) Load 152(iv)
|
||||
185: 7(fvec4) ConvertSToF 184
|
||||
186: 7(fvec4) Load 9(v)
|
||||
187: 7(fvec4) FAdd 186 185
|
||||
Store 9(v) 187
|
||||
192: 189 Load 191(is3D)
|
||||
193: 36(fvec3) Load 38(c3D)
|
||||
195: 150(ivec4) ImageSampleImplicitLod 192 193 Bias 194
|
||||
Store 152(iv) 195
|
||||
196: 150(ivec4) Load 152(iv)
|
||||
159: 7(fvec4) ImageSampleProjExplicitLod 155 156 Grad ConstOffset 157 158 70
|
||||
160: 7(fvec4) Load 9(v)
|
||||
161: 7(fvec4) FAdd 160 159
|
||||
Store 9(v) 161
|
||||
169: 166 Load 168(is2D)
|
||||
170: 15(fvec2) Load 17(c2D)
|
||||
171: 162(ivec4) ImageSampleImplicitLod 169 170
|
||||
Store 164(iv) 171
|
||||
172: 162(ivec4) Load 164(iv)
|
||||
173: 7(fvec4) ConvertSToF 172
|
||||
174: 7(fvec4) Load 9(v)
|
||||
175: 7(fvec4) FAdd 174 173
|
||||
Store 9(v) 175
|
||||
176: 166 Load 168(is2D)
|
||||
177: 7(fvec4) Load 26(c4D)
|
||||
178: 162(ivec4) ImageSampleProjImplicitLod 176 177 ConstOffset 70
|
||||
Store 164(iv) 178
|
||||
179: 162(ivec4) Load 164(iv)
|
||||
180: 7(fvec4) ConvertSToF 179
|
||||
181: 7(fvec4) Load 9(v)
|
||||
182: 7(fvec4) FAdd 181 180
|
||||
Store 9(v) 182
|
||||
183: 166 Load 168(is2D)
|
||||
184: 53(fvec3) Load 55(c3D)
|
||||
185: 6(float) Load 29(c1D)
|
||||
186: 162(ivec4) ImageSampleProjExplicitLod 183 184 Lod 185
|
||||
Store 164(iv) 186
|
||||
187: 162(ivec4) Load 164(iv)
|
||||
188: 7(fvec4) ConvertSToF 187
|
||||
189: 7(fvec4) Load 9(v)
|
||||
190: 7(fvec4) FAdd 189 188
|
||||
Store 9(v) 190
|
||||
191: 166 Load 168(is2D)
|
||||
192: 53(fvec3) Load 55(c3D)
|
||||
193: 15(fvec2) Load 17(c2D)
|
||||
194: 15(fvec2) Load 17(c2D)
|
||||
195: 162(ivec4) ImageSampleProjExplicitLod 191 192 Grad 193 194
|
||||
Store 164(iv) 195
|
||||
196: 162(ivec4) Load 164(iv)
|
||||
197: 7(fvec4) ConvertSToF 196
|
||||
198: 7(fvec4) Load 9(v)
|
||||
199: 7(fvec4) FAdd 198 197
|
||||
Store 9(v) 199
|
||||
204: 201 Load 203(isCube)
|
||||
205: 36(fvec3) Load 38(c3D)
|
||||
206: 6(float) Load 55(c1D)
|
||||
207: 150(ivec4) ImageSampleExplicitLod 204 205 Lod 206
|
||||
Store 152(iv) 207
|
||||
208: 150(ivec4) Load 152(iv)
|
||||
204: 201 Load 203(is3D)
|
||||
205: 53(fvec3) Load 55(c3D)
|
||||
207: 162(ivec4) ImageSampleImplicitLod 204 205 Bias 206
|
||||
Store 164(iv) 207
|
||||
208: 162(ivec4) Load 164(iv)
|
||||
209: 7(fvec4) ConvertSToF 208
|
||||
210: 7(fvec4) Load 9(v)
|
||||
211: 7(fvec4) FAdd 210 209
|
||||
Store 9(v) 211
|
||||
216: 213 Load 215(is2DArray)
|
||||
217: 67(ivec3) Load 69(ic3D)
|
||||
218: 50(int) Load 72(ic1D)
|
||||
219: 150(ivec4) ImageFetch 216 217 Lod 218
|
||||
Store 152(iv) 219
|
||||
220: 150(ivec4) Load 152(iv)
|
||||
216: 213 Load 215(isCube)
|
||||
217: 53(fvec3) Load 55(c3D)
|
||||
218: 6(float) Load 29(c1D)
|
||||
219: 162(ivec4) ImageSampleExplicitLod 216 217 Lod 218
|
||||
Store 164(iv) 219
|
||||
220: 162(ivec4) Load 164(iv)
|
||||
221: 7(fvec4) ConvertSToF 220
|
||||
222: 7(fvec4) Load 9(v)
|
||||
223: 7(fvec4) FAdd 222 221
|
||||
Store 9(v) 223
|
||||
230: 227 Load 229(sCubeShadow)
|
||||
232: 51(ivec2) ImageQuerySizeLod 230 231
|
||||
Store 225(iv2) 232
|
||||
235: 7(fvec4) Load 9(v)
|
||||
236: 51(ivec2) Load 225(iv2)
|
||||
237: 15(fvec2) ConvertSToF 236
|
||||
239: 6(float) CompositeExtract 237 0
|
||||
240: 6(float) CompositeExtract 237 1
|
||||
241: 7(fvec4) CompositeConstruct 239 240 238 238
|
||||
242: 7(fvec4) FAdd 235 241
|
||||
Store 234(FragData) 242
|
||||
228: 225 Load 227(is2DArray)
|
||||
229: 79(ivec3) Load 81(ic3D)
|
||||
230: 67(int) Load 84(ic1D)
|
||||
231: 162(ivec4) ImageFetch 228 229 Lod 230
|
||||
Store 164(iv) 231
|
||||
232: 162(ivec4) Load 164(iv)
|
||||
233: 7(fvec4) ConvertSToF 232
|
||||
234: 7(fvec4) Load 9(v)
|
||||
235: 7(fvec4) FAdd 234 233
|
||||
Store 9(v) 235
|
||||
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
|
||||
FunctionEnd
|
||||
|
@ -5,6 +5,7 @@ uniform sampler2DRect sr;
|
||||
uniform sampler3D s3D;
|
||||
uniform samplerCube sCube;
|
||||
uniform samplerCubeShadow sCubeShadow;
|
||||
uniform samplerCubeArrayShadow sCubeArrayShadow;
|
||||
uniform sampler2DShadow s2DShadow;
|
||||
uniform sampler2DArray s2DArray;
|
||||
uniform sampler2DArrayShadow s2DArrayShadow;
|
||||
@ -35,6 +36,7 @@ out vec4 FragData;
|
||||
void main()
|
||||
{
|
||||
vec4 v = texture(s2D, c2D);
|
||||
v.y += texture(sCubeArrayShadow, c4D, c1D);
|
||||
v += textureProj(s3D, c4D);
|
||||
v += textureLod(s2DArray, c3D, 1.2);
|
||||
v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D);
|
||||
|
Loading…
Reference in New Issue
Block a user