mirror of
https://github.com/libretro/glslang.git
synced 2024-12-04 14:16:23 +00:00
Front-end: Fix: Cubemap arrays only use 3-component coord when accessed as an image.
4 components are needed when used a texture, but not an image, which multiplies layers and faces into the same coordinate. This fixes it from using 4 everywhere, to only using 4 for textures and 3 for images.
This commit is contained in:
parent
3cd0024ea8
commit
6373574b13
@ -265,6 +265,10 @@ uniform writeonly imageCubeArray CA1;
|
||||
uniform writeonly iimageCubeArray CA2;
|
||||
uniform writeonly uimageCubeArray CA3;
|
||||
|
||||
layout(rgba16f) uniform readonly imageCubeArray rCA1;
|
||||
layout(rgba32i) uniform readonly iimageCubeArray rCA2;
|
||||
layout(r32ui) uniform readonly uimageCubeArray rCA3;
|
||||
|
||||
#ifdef GL_OES_texture_cube_map_array
|
||||
uniform samplerCubeArray CA4;
|
||||
uniform samplerCubeArrayShadow CA5;
|
||||
@ -304,6 +308,14 @@ void CAT()
|
||||
highp ivec3 s1 = imageSize(CA1);
|
||||
highp ivec3 s2 = imageSize(CA2);
|
||||
highp ivec3 s3 = imageSize(CA3);
|
||||
|
||||
imageStore(CA1, s3, vec4(1));
|
||||
imageStore(CA2, s3, ivec4(1));
|
||||
imageStore(CA3, s3, uvec4(1));
|
||||
|
||||
highp vec4 cl1 = imageLoad(rCA1, s3);
|
||||
highp ivec4 cl2 = imageLoad(rCA2, s3);
|
||||
highp uvec4 cl3 = imageLoad(rCA3, s3);
|
||||
}
|
||||
|
||||
uniform sampler2DMSArray bad2DMS; // ERROR, reserved
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -32,12 +32,12 @@ Linked fragment stage:
|
||||
Name 133 "ic1D"
|
||||
Name 143 "ic2D"
|
||||
Name 153 "ic3D"
|
||||
Name 172 "ic4D"
|
||||
Name 234 "ui"
|
||||
Name 238 "ii1D"
|
||||
Name 252 "ui2D"
|
||||
Name 255 "value"
|
||||
Name 370 "fragData"
|
||||
Name 231 "ui"
|
||||
Name 235 "ii1D"
|
||||
Name 249 "ui2D"
|
||||
Name 252 "value"
|
||||
Name 367 "fragData"
|
||||
Name 382 "ic4D"
|
||||
Decorate 15(i1D) Binding 0
|
||||
Decorate 25(i2D) Binding 1
|
||||
Decorate 36(i3D) Binding 2
|
||||
@ -49,8 +49,9 @@ Linked fragment stage:
|
||||
Decorate 87(iBuffer) Binding 8
|
||||
Decorate 97(i2DMS) Binding 9
|
||||
Decorate 107(i2DMSArray) Binding 10
|
||||
Decorate 238(ii1D) Binding 11
|
||||
Decorate 252(ui2D) Binding 12
|
||||
Decorate 235(ii1D) Binding 11
|
||||
Decorate 249(ui2D) Binding 12
|
||||
Decorate 382(ic4D) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
@ -103,46 +104,46 @@ Linked fragment stage:
|
||||
143(ic2D): 142(ptr) Variable UniformConstant
|
||||
152: TypePointer UniformConstant 7(ivec3)
|
||||
153(ic3D): 152(ptr) Variable UniformConstant
|
||||
170: TypeVector 6(int) 4
|
||||
171: TypePointer UniformConstant 170(ivec4)
|
||||
172(ic4D): 171(ptr) Variable UniformConstant
|
||||
214: 6(int) Constant 1
|
||||
220: 6(int) Constant 2
|
||||
224: 6(int) Constant 3
|
||||
230: 6(int) Constant 4
|
||||
232: TypeInt 32 0
|
||||
233: TypePointer Function 232(int)
|
||||
235: 232(int) Constant 0
|
||||
236: TypeImage 6(int) 1D nonsampled format:R32i
|
||||
237: TypePointer UniformConstant 236
|
||||
238(ii1D): 237(ptr) Variable UniformConstant
|
||||
240: 6(int) Constant 10
|
||||
241: TypePointer Image 6(int)
|
||||
243: 232(int) Constant 1
|
||||
250: TypeImage 232(int) 2D nonsampled format:R32ui
|
||||
251: TypePointer UniformConstant 250
|
||||
252(ui2D): 251(ptr) Variable UniformConstant
|
||||
254: TypePointer UniformConstant 232(int)
|
||||
255(value): 254(ptr) Variable UniformConstant
|
||||
257: TypePointer Image 232(int)
|
||||
263: 6(int) Constant 11
|
||||
278: 6(int) Constant 12
|
||||
293: 6(int) Constant 13
|
||||
308: 6(int) Constant 14
|
||||
323: 6(int) Constant 15
|
||||
338: 6(int) Constant 16
|
||||
353: 6(int) Constant 18
|
||||
354: 6(int) Constant 17
|
||||
363: 232(int) Constant 19
|
||||
369: TypePointer Output 126(fvec4)
|
||||
370(fragData): 369(ptr) Variable Output
|
||||
376: TypeBool
|
||||
211: 6(int) Constant 1
|
||||
217: 6(int) Constant 2
|
||||
221: 6(int) Constant 3
|
||||
227: 6(int) Constant 4
|
||||
229: TypeInt 32 0
|
||||
230: TypePointer Function 229(int)
|
||||
232: 229(int) Constant 0
|
||||
233: TypeImage 6(int) 1D nonsampled format:R32i
|
||||
234: TypePointer UniformConstant 233
|
||||
235(ii1D): 234(ptr) Variable UniformConstant
|
||||
237: 6(int) Constant 10
|
||||
238: TypePointer Image 6(int)
|
||||
240: 229(int) Constant 1
|
||||
247: TypeImage 229(int) 2D nonsampled format:R32ui
|
||||
248: TypePointer UniformConstant 247
|
||||
249(ui2D): 248(ptr) Variable UniformConstant
|
||||
251: TypePointer UniformConstant 229(int)
|
||||
252(value): 251(ptr) Variable UniformConstant
|
||||
254: TypePointer Image 229(int)
|
||||
260: 6(int) Constant 11
|
||||
275: 6(int) Constant 12
|
||||
290: 6(int) Constant 13
|
||||
305: 6(int) Constant 14
|
||||
320: 6(int) Constant 15
|
||||
335: 6(int) Constant 16
|
||||
350: 6(int) Constant 18
|
||||
351: 6(int) Constant 17
|
||||
360: 229(int) Constant 19
|
||||
366: TypePointer Output 126(fvec4)
|
||||
367(fragData): 366(ptr) Variable Output
|
||||
373: TypeBool
|
||||
380: TypeVector 6(int) 4
|
||||
381: TypePointer UniformConstant 380(ivec4)
|
||||
382(ic4D): 381(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(iv): 8(ptr) Variable Function
|
||||
128(v): 127(ptr) Variable Function
|
||||
234(ui): 233(ptr) Variable Function
|
||||
371: 127(ptr) Variable Function
|
||||
231(ui): 230(ptr) Variable Function
|
||||
368: 127(ptr) Variable Function
|
||||
Store 9(iv) 11
|
||||
16: 13 Load 15(i1D)
|
||||
17: 6(int) ImageQuerySize 16
|
||||
@ -278,220 +279,220 @@ Linked fragment stage:
|
||||
168: 126(fvec4) Load 128(v)
|
||||
ImageWrite 166 167 168
|
||||
169: 51 Load 53(iCubeArray)
|
||||
173: 170(ivec4) Load 172(ic4D)
|
||||
174: 126(fvec4) ImageRead 169 173
|
||||
175: 126(fvec4) Load 128(v)
|
||||
176: 126(fvec4) FAdd 175 174
|
||||
Store 128(v) 176
|
||||
177: 51 Load 53(iCubeArray)
|
||||
178: 170(ivec4) Load 172(ic4D)
|
||||
179: 126(fvec4) Load 128(v)
|
||||
ImageWrite 177 178 179
|
||||
180: 58 Load 60(i2DRect)
|
||||
181: 27(ivec2) Load 143(ic2D)
|
||||
182: 126(fvec4) ImageRead 180 181
|
||||
183: 126(fvec4) Load 128(v)
|
||||
184: 126(fvec4) FAdd 183 182
|
||||
Store 128(v) 184
|
||||
185: 58 Load 60(i2DRect)
|
||||
170: 7(ivec3) Load 153(ic3D)
|
||||
171: 126(fvec4) ImageRead 169 170
|
||||
172: 126(fvec4) Load 128(v)
|
||||
173: 126(fvec4) FAdd 172 171
|
||||
Store 128(v) 173
|
||||
174: 51 Load 53(iCubeArray)
|
||||
175: 7(ivec3) Load 153(ic3D)
|
||||
176: 126(fvec4) Load 128(v)
|
||||
ImageWrite 174 175 176
|
||||
177: 58 Load 60(i2DRect)
|
||||
178: 27(ivec2) Load 143(ic2D)
|
||||
179: 126(fvec4) ImageRead 177 178
|
||||
180: 126(fvec4) Load 128(v)
|
||||
181: 126(fvec4) FAdd 180 179
|
||||
Store 128(v) 181
|
||||
182: 58 Load 60(i2DRect)
|
||||
183: 27(ivec2) Load 143(ic2D)
|
||||
184: 126(fvec4) Load 128(v)
|
||||
ImageWrite 182 183 184
|
||||
185: 68 Load 70(i1DArray)
|
||||
186: 27(ivec2) Load 143(ic2D)
|
||||
187: 126(fvec4) Load 128(v)
|
||||
ImageWrite 185 186 187
|
||||
188: 68 Load 70(i1DArray)
|
||||
189: 27(ivec2) Load 143(ic2D)
|
||||
190: 126(fvec4) ImageRead 188 189
|
||||
191: 126(fvec4) Load 128(v)
|
||||
192: 126(fvec4) FAdd 191 190
|
||||
Store 128(v) 192
|
||||
193: 68 Load 70(i1DArray)
|
||||
194: 27(ivec2) Load 143(ic2D)
|
||||
195: 126(fvec4) Load 128(v)
|
||||
ImageWrite 193 194 195
|
||||
196: 78 Load 80(i2DArray)
|
||||
197: 7(ivec3) Load 153(ic3D)
|
||||
198: 126(fvec4) ImageRead 196 197
|
||||
199: 126(fvec4) Load 128(v)
|
||||
200: 126(fvec4) FAdd 199 198
|
||||
Store 128(v) 200
|
||||
201: 78 Load 80(i2DArray)
|
||||
202: 7(ivec3) Load 153(ic3D)
|
||||
203: 126(fvec4) Load 128(v)
|
||||
ImageWrite 201 202 203
|
||||
204: 85 Load 87(iBuffer)
|
||||
205: 6(int) Load 133(ic1D)
|
||||
206: 126(fvec4) ImageRead 204 205
|
||||
207: 126(fvec4) Load 128(v)
|
||||
208: 126(fvec4) FAdd 207 206
|
||||
Store 128(v) 208
|
||||
209: 85 Load 87(iBuffer)
|
||||
210: 6(int) Load 133(ic1D)
|
||||
211: 126(fvec4) Load 128(v)
|
||||
ImageWrite 209 210 211
|
||||
212: 95 Load 97(i2DMS)
|
||||
213: 27(ivec2) Load 143(ic2D)
|
||||
215: 126(fvec4) ImageRead 212 213
|
||||
216: 126(fvec4) Load 128(v)
|
||||
217: 126(fvec4) FAdd 216 215
|
||||
Store 128(v) 217
|
||||
218: 95 Load 97(i2DMS)
|
||||
219: 27(ivec2) Load 143(ic2D)
|
||||
221: 126(fvec4) Load 128(v)
|
||||
ImageWrite 218 219 220
|
||||
222: 105 Load 107(i2DMSArray)
|
||||
223: 7(ivec3) Load 153(ic3D)
|
||||
225: 126(fvec4) ImageRead 222 223
|
||||
226: 126(fvec4) Load 128(v)
|
||||
227: 126(fvec4) FAdd 226 225
|
||||
Store 128(v) 227
|
||||
228: 105 Load 107(i2DMSArray)
|
||||
229: 7(ivec3) Load 153(ic3D)
|
||||
231: 126(fvec4) Load 128(v)
|
||||
ImageWrite 228 229 230
|
||||
Store 234(ui) 235
|
||||
239: 6(int) Load 133(ic1D)
|
||||
242: 241(ptr) ImageTexelPointer 238(ii1D) 239 0
|
||||
244: 6(int) AtomicIAdd 242 243 235 240
|
||||
187: 126(fvec4) ImageRead 185 186
|
||||
188: 126(fvec4) Load 128(v)
|
||||
189: 126(fvec4) FAdd 188 187
|
||||
Store 128(v) 189
|
||||
190: 68 Load 70(i1DArray)
|
||||
191: 27(ivec2) Load 143(ic2D)
|
||||
192: 126(fvec4) Load 128(v)
|
||||
ImageWrite 190 191 192
|
||||
193: 78 Load 80(i2DArray)
|
||||
194: 7(ivec3) Load 153(ic3D)
|
||||
195: 126(fvec4) ImageRead 193 194
|
||||
196: 126(fvec4) Load 128(v)
|
||||
197: 126(fvec4) FAdd 196 195
|
||||
Store 128(v) 197
|
||||
198: 78 Load 80(i2DArray)
|
||||
199: 7(ivec3) Load 153(ic3D)
|
||||
200: 126(fvec4) Load 128(v)
|
||||
ImageWrite 198 199 200
|
||||
201: 85 Load 87(iBuffer)
|
||||
202: 6(int) Load 133(ic1D)
|
||||
203: 126(fvec4) ImageRead 201 202
|
||||
204: 126(fvec4) Load 128(v)
|
||||
205: 126(fvec4) FAdd 204 203
|
||||
Store 128(v) 205
|
||||
206: 85 Load 87(iBuffer)
|
||||
207: 6(int) Load 133(ic1D)
|
||||
208: 126(fvec4) Load 128(v)
|
||||
ImageWrite 206 207 208
|
||||
209: 95 Load 97(i2DMS)
|
||||
210: 27(ivec2) Load 143(ic2D)
|
||||
212: 126(fvec4) ImageRead 209 210
|
||||
213: 126(fvec4) Load 128(v)
|
||||
214: 126(fvec4) FAdd 213 212
|
||||
Store 128(v) 214
|
||||
215: 95 Load 97(i2DMS)
|
||||
216: 27(ivec2) Load 143(ic2D)
|
||||
218: 126(fvec4) Load 128(v)
|
||||
ImageWrite 215 216 217
|
||||
219: 105 Load 107(i2DMSArray)
|
||||
220: 7(ivec3) Load 153(ic3D)
|
||||
222: 126(fvec4) ImageRead 219 220
|
||||
223: 126(fvec4) Load 128(v)
|
||||
224: 126(fvec4) FAdd 223 222
|
||||
Store 128(v) 224
|
||||
225: 105 Load 107(i2DMSArray)
|
||||
226: 7(ivec3) Load 153(ic3D)
|
||||
228: 126(fvec4) Load 128(v)
|
||||
ImageWrite 225 226 227
|
||||
Store 231(ui) 232
|
||||
236: 6(int) Load 133(ic1D)
|
||||
239: 238(ptr) ImageTexelPointer 235(ii1D) 236 0
|
||||
241: 6(int) AtomicIAdd 239 240 232 237
|
||||
242: 7(ivec3) Load 9(iv)
|
||||
243: 6(int) CompositeExtract 242 0
|
||||
244: 6(int) IAdd 243 241
|
||||
245: 7(ivec3) Load 9(iv)
|
||||
246: 6(int) CompositeExtract 245 0
|
||||
247: 6(int) IAdd 246 244
|
||||
248: 7(ivec3) Load 9(iv)
|
||||
249: 7(ivec3) CompositeInsert 247 248 0
|
||||
Store 9(iv) 249
|
||||
253: 27(ivec2) Load 143(ic2D)
|
||||
256: 232(int) Load 255(value)
|
||||
258: 257(ptr) ImageTexelPointer 252(ui2D) 253 0
|
||||
259: 232(int) AtomicIAdd 258 243 235 256
|
||||
260: 232(int) Load 234(ui)
|
||||
261: 232(int) IAdd 260 259
|
||||
Store 234(ui) 261
|
||||
262: 6(int) Load 133(ic1D)
|
||||
264: 241(ptr) ImageTexelPointer 238(ii1D) 262 0
|
||||
265: 6(int) AtomicSMin 264 243 235 263
|
||||
246: 7(ivec3) CompositeInsert 244 245 0
|
||||
Store 9(iv) 246
|
||||
250: 27(ivec2) Load 143(ic2D)
|
||||
253: 229(int) Load 252(value)
|
||||
255: 254(ptr) ImageTexelPointer 249(ui2D) 250 0
|
||||
256: 229(int) AtomicIAdd 255 240 232 253
|
||||
257: 229(int) Load 231(ui)
|
||||
258: 229(int) IAdd 257 256
|
||||
Store 231(ui) 258
|
||||
259: 6(int) Load 133(ic1D)
|
||||
261: 238(ptr) ImageTexelPointer 235(ii1D) 259 0
|
||||
262: 6(int) AtomicSMin 261 240 232 260
|
||||
263: 7(ivec3) Load 9(iv)
|
||||
264: 6(int) CompositeExtract 263 0
|
||||
265: 6(int) IAdd 264 262
|
||||
266: 7(ivec3) Load 9(iv)
|
||||
267: 6(int) CompositeExtract 266 0
|
||||
268: 6(int) IAdd 267 265
|
||||
269: 7(ivec3) Load 9(iv)
|
||||
270: 7(ivec3) CompositeInsert 268 269 0
|
||||
Store 9(iv) 270
|
||||
271: 27(ivec2) Load 143(ic2D)
|
||||
272: 232(int) Load 255(value)
|
||||
273: 257(ptr) ImageTexelPointer 252(ui2D) 271 0
|
||||
274: 232(int) AtomicUMin 273 243 235 272
|
||||
275: 232(int) Load 234(ui)
|
||||
276: 232(int) IAdd 275 274
|
||||
Store 234(ui) 276
|
||||
277: 6(int) Load 133(ic1D)
|
||||
279: 241(ptr) ImageTexelPointer 238(ii1D) 277 0
|
||||
280: 6(int) AtomicSMax 279 243 235 278
|
||||
267: 7(ivec3) CompositeInsert 265 266 0
|
||||
Store 9(iv) 267
|
||||
268: 27(ivec2) Load 143(ic2D)
|
||||
269: 229(int) Load 252(value)
|
||||
270: 254(ptr) ImageTexelPointer 249(ui2D) 268 0
|
||||
271: 229(int) AtomicUMin 270 240 232 269
|
||||
272: 229(int) Load 231(ui)
|
||||
273: 229(int) IAdd 272 271
|
||||
Store 231(ui) 273
|
||||
274: 6(int) Load 133(ic1D)
|
||||
276: 238(ptr) ImageTexelPointer 235(ii1D) 274 0
|
||||
277: 6(int) AtomicSMax 276 240 232 275
|
||||
278: 7(ivec3) Load 9(iv)
|
||||
279: 6(int) CompositeExtract 278 0
|
||||
280: 6(int) IAdd 279 277
|
||||
281: 7(ivec3) Load 9(iv)
|
||||
282: 6(int) CompositeExtract 281 0
|
||||
283: 6(int) IAdd 282 280
|
||||
284: 7(ivec3) Load 9(iv)
|
||||
285: 7(ivec3) CompositeInsert 283 284 0
|
||||
Store 9(iv) 285
|
||||
286: 27(ivec2) Load 143(ic2D)
|
||||
287: 232(int) Load 255(value)
|
||||
288: 257(ptr) ImageTexelPointer 252(ui2D) 286 0
|
||||
289: 232(int) AtomicUMax 288 243 235 287
|
||||
290: 232(int) Load 234(ui)
|
||||
291: 232(int) IAdd 290 289
|
||||
Store 234(ui) 291
|
||||
292: 6(int) Load 133(ic1D)
|
||||
294: 241(ptr) ImageTexelPointer 238(ii1D) 292 0
|
||||
295: 6(int) AtomicAnd 294 243 235 293
|
||||
282: 7(ivec3) CompositeInsert 280 281 0
|
||||
Store 9(iv) 282
|
||||
283: 27(ivec2) Load 143(ic2D)
|
||||
284: 229(int) Load 252(value)
|
||||
285: 254(ptr) ImageTexelPointer 249(ui2D) 283 0
|
||||
286: 229(int) AtomicUMax 285 240 232 284
|
||||
287: 229(int) Load 231(ui)
|
||||
288: 229(int) IAdd 287 286
|
||||
Store 231(ui) 288
|
||||
289: 6(int) Load 133(ic1D)
|
||||
291: 238(ptr) ImageTexelPointer 235(ii1D) 289 0
|
||||
292: 6(int) AtomicAnd 291 240 232 290
|
||||
293: 7(ivec3) Load 9(iv)
|
||||
294: 6(int) CompositeExtract 293 0
|
||||
295: 6(int) IAdd 294 292
|
||||
296: 7(ivec3) Load 9(iv)
|
||||
297: 6(int) CompositeExtract 296 0
|
||||
298: 6(int) IAdd 297 295
|
||||
299: 7(ivec3) Load 9(iv)
|
||||
300: 7(ivec3) CompositeInsert 298 299 0
|
||||
Store 9(iv) 300
|
||||
301: 27(ivec2) Load 143(ic2D)
|
||||
302: 232(int) Load 255(value)
|
||||
303: 257(ptr) ImageTexelPointer 252(ui2D) 301 0
|
||||
304: 232(int) AtomicAnd 303 243 235 302
|
||||
305: 232(int) Load 234(ui)
|
||||
306: 232(int) IAdd 305 304
|
||||
Store 234(ui) 306
|
||||
307: 6(int) Load 133(ic1D)
|
||||
309: 241(ptr) ImageTexelPointer 238(ii1D) 307 0
|
||||
310: 6(int) AtomicOr 309 243 235 308
|
||||
297: 7(ivec3) CompositeInsert 295 296 0
|
||||
Store 9(iv) 297
|
||||
298: 27(ivec2) Load 143(ic2D)
|
||||
299: 229(int) Load 252(value)
|
||||
300: 254(ptr) ImageTexelPointer 249(ui2D) 298 0
|
||||
301: 229(int) AtomicAnd 300 240 232 299
|
||||
302: 229(int) Load 231(ui)
|
||||
303: 229(int) IAdd 302 301
|
||||
Store 231(ui) 303
|
||||
304: 6(int) Load 133(ic1D)
|
||||
306: 238(ptr) ImageTexelPointer 235(ii1D) 304 0
|
||||
307: 6(int) AtomicOr 306 240 232 305
|
||||
308: 7(ivec3) Load 9(iv)
|
||||
309: 6(int) CompositeExtract 308 0
|
||||
310: 6(int) IAdd 309 307
|
||||
311: 7(ivec3) Load 9(iv)
|
||||
312: 6(int) CompositeExtract 311 0
|
||||
313: 6(int) IAdd 312 310
|
||||
314: 7(ivec3) Load 9(iv)
|
||||
315: 7(ivec3) CompositeInsert 313 314 0
|
||||
Store 9(iv) 315
|
||||
316: 27(ivec2) Load 143(ic2D)
|
||||
317: 232(int) Load 255(value)
|
||||
318: 257(ptr) ImageTexelPointer 252(ui2D) 316 0
|
||||
319: 232(int) AtomicOr 318 243 235 317
|
||||
320: 232(int) Load 234(ui)
|
||||
321: 232(int) IAdd 320 319
|
||||
Store 234(ui) 321
|
||||
322: 6(int) Load 133(ic1D)
|
||||
324: 241(ptr) ImageTexelPointer 238(ii1D) 322 0
|
||||
325: 6(int) AtomicXor 324 243 235 323
|
||||
312: 7(ivec3) CompositeInsert 310 311 0
|
||||
Store 9(iv) 312
|
||||
313: 27(ivec2) Load 143(ic2D)
|
||||
314: 229(int) Load 252(value)
|
||||
315: 254(ptr) ImageTexelPointer 249(ui2D) 313 0
|
||||
316: 229(int) AtomicOr 315 240 232 314
|
||||
317: 229(int) Load 231(ui)
|
||||
318: 229(int) IAdd 317 316
|
||||
Store 231(ui) 318
|
||||
319: 6(int) Load 133(ic1D)
|
||||
321: 238(ptr) ImageTexelPointer 235(ii1D) 319 0
|
||||
322: 6(int) AtomicXor 321 240 232 320
|
||||
323: 7(ivec3) Load 9(iv)
|
||||
324: 6(int) CompositeExtract 323 0
|
||||
325: 6(int) IAdd 324 322
|
||||
326: 7(ivec3) Load 9(iv)
|
||||
327: 6(int) CompositeExtract 326 0
|
||||
328: 6(int) IAdd 327 325
|
||||
329: 7(ivec3) Load 9(iv)
|
||||
330: 7(ivec3) CompositeInsert 328 329 0
|
||||
Store 9(iv) 330
|
||||
331: 27(ivec2) Load 143(ic2D)
|
||||
332: 232(int) Load 255(value)
|
||||
333: 257(ptr) ImageTexelPointer 252(ui2D) 331 0
|
||||
334: 232(int) AtomicXor 333 243 235 332
|
||||
335: 232(int) Load 234(ui)
|
||||
336: 232(int) IAdd 335 334
|
||||
Store 234(ui) 336
|
||||
337: 6(int) Load 133(ic1D)
|
||||
339: 241(ptr) ImageTexelPointer 238(ii1D) 337 0
|
||||
340: 6(int) AtomicExchange 339 243 235 338
|
||||
327: 7(ivec3) CompositeInsert 325 326 0
|
||||
Store 9(iv) 327
|
||||
328: 27(ivec2) Load 143(ic2D)
|
||||
329: 229(int) Load 252(value)
|
||||
330: 254(ptr) ImageTexelPointer 249(ui2D) 328 0
|
||||
331: 229(int) AtomicXor 330 240 232 329
|
||||
332: 229(int) Load 231(ui)
|
||||
333: 229(int) IAdd 332 331
|
||||
Store 231(ui) 333
|
||||
334: 6(int) Load 133(ic1D)
|
||||
336: 238(ptr) ImageTexelPointer 235(ii1D) 334 0
|
||||
337: 6(int) AtomicExchange 336 240 232 335
|
||||
338: 7(ivec3) Load 9(iv)
|
||||
339: 6(int) CompositeExtract 338 0
|
||||
340: 6(int) IAdd 339 337
|
||||
341: 7(ivec3) Load 9(iv)
|
||||
342: 6(int) CompositeExtract 341 0
|
||||
343: 6(int) IAdd 342 340
|
||||
344: 7(ivec3) Load 9(iv)
|
||||
345: 7(ivec3) CompositeInsert 343 344 0
|
||||
Store 9(iv) 345
|
||||
346: 27(ivec2) Load 143(ic2D)
|
||||
347: 232(int) Load 255(value)
|
||||
348: 257(ptr) ImageTexelPointer 252(ui2D) 346 0
|
||||
349: 232(int) AtomicExchange 348 243 235 347
|
||||
350: 232(int) Load 234(ui)
|
||||
351: 232(int) IAdd 350 349
|
||||
Store 234(ui) 351
|
||||
352: 6(int) Load 133(ic1D)
|
||||
355: 241(ptr) ImageTexelPointer 238(ii1D) 352 0
|
||||
356: 6(int) AtomicCompareExchange 355 243 235 235 354 353
|
||||
342: 7(ivec3) CompositeInsert 340 341 0
|
||||
Store 9(iv) 342
|
||||
343: 27(ivec2) Load 143(ic2D)
|
||||
344: 229(int) Load 252(value)
|
||||
345: 254(ptr) ImageTexelPointer 249(ui2D) 343 0
|
||||
346: 229(int) AtomicExchange 345 240 232 344
|
||||
347: 229(int) Load 231(ui)
|
||||
348: 229(int) IAdd 347 346
|
||||
Store 231(ui) 348
|
||||
349: 6(int) Load 133(ic1D)
|
||||
352: 238(ptr) ImageTexelPointer 235(ii1D) 349 0
|
||||
353: 6(int) AtomicCompareExchange 352 240 232 232 351 350
|
||||
354: 7(ivec3) Load 9(iv)
|
||||
355: 6(int) CompositeExtract 354 0
|
||||
356: 6(int) IAdd 355 353
|
||||
357: 7(ivec3) Load 9(iv)
|
||||
358: 6(int) CompositeExtract 357 0
|
||||
359: 6(int) IAdd 358 356
|
||||
360: 7(ivec3) Load 9(iv)
|
||||
361: 7(ivec3) CompositeInsert 359 360 0
|
||||
Store 9(iv) 361
|
||||
362: 27(ivec2) Load 143(ic2D)
|
||||
364: 232(int) Load 255(value)
|
||||
365: 257(ptr) ImageTexelPointer 252(ui2D) 362 0
|
||||
366: 232(int) AtomicCompareExchange 365 243 235 235 364 363
|
||||
367: 232(int) Load 234(ui)
|
||||
368: 232(int) IAdd 367 366
|
||||
Store 234(ui) 368
|
||||
372: 232(int) Load 234(ui)
|
||||
373: 7(ivec3) Load 9(iv)
|
||||
374: 6(int) CompositeExtract 373 1
|
||||
375: 232(int) Bitcast 374
|
||||
377: 376(bool) INotEqual 372 375
|
||||
SelectionMerge 379 None
|
||||
BranchConditional 377 378 381
|
||||
358: 7(ivec3) CompositeInsert 356 357 0
|
||||
Store 9(iv) 358
|
||||
359: 27(ivec2) Load 143(ic2D)
|
||||
361: 229(int) Load 252(value)
|
||||
362: 254(ptr) ImageTexelPointer 249(ui2D) 359 0
|
||||
363: 229(int) AtomicCompareExchange 362 240 232 232 361 360
|
||||
364: 229(int) Load 231(ui)
|
||||
365: 229(int) IAdd 364 363
|
||||
Store 231(ui) 365
|
||||
369: 229(int) Load 231(ui)
|
||||
370: 7(ivec3) Load 9(iv)
|
||||
371: 6(int) CompositeExtract 370 1
|
||||
372: 229(int) Bitcast 371
|
||||
374: 373(bool) INotEqual 369 372
|
||||
SelectionMerge 376 None
|
||||
BranchConditional 374 375 378
|
||||
375: Label
|
||||
377: 126(fvec4) Load 128(v)
|
||||
Store 368 377
|
||||
Branch 376
|
||||
378: Label
|
||||
380: 126(fvec4) Load 128(v)
|
||||
Store 371 380
|
||||
Branch 379
|
||||
381: Label
|
||||
Store 371 130
|
||||
Branch 379
|
||||
379: Label
|
||||
382: 126(fvec4) Load 371
|
||||
Store 370(fragData) 382
|
||||
Store 368 130
|
||||
Branch 376
|
||||
376: Label
|
||||
379: 126(fvec4) Load 368
|
||||
Store 367(fragData) 379
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -51,8 +51,8 @@ void main()
|
||||
imageStore(i3D, ic3D, v);
|
||||
v += imageLoad(iCube, ic3D);
|
||||
imageStore(iCube, ic3D, v);
|
||||
v += imageLoad(iCubeArray, ic4D);
|
||||
imageStore(iCubeArray, ic4D, v);
|
||||
v += imageLoad(iCubeArray, ic3D);
|
||||
imageStore(iCubeArray, ic3D, v);
|
||||
v += imageLoad(i2DRect, ic2D);
|
||||
imageStore(i2DRect, ic2D, v);
|
||||
v += imageLoad(i1DArray, ic2D);
|
||||
|
@ -2,5 +2,5 @@
|
||||
// For the version, it uses the latest git tag followed by the number of commits.
|
||||
// For the date, it uses the current date (when then script is run).
|
||||
|
||||
#define GLSLANG_REVISION "3.0.776"
|
||||
#define GLSLANG_DATE "30-Sep-2015"
|
||||
#define GLSLANG_REVISION "3.0.777"
|
||||
#define GLSLANG_DATE "01-Oct-2015"
|
||||
|
@ -2024,7 +2024,11 @@ void TBuiltIns::addQueryFunctions(TSampler sampler, TString& typeName, int versi
|
||||
//
|
||||
void TBuiltIns::addImageFunctions(TSampler sampler, TString& typeName, int version, EProfile profile)
|
||||
{
|
||||
int dims = dimMap[sampler.dim] + (sampler.arrayed ? 1 : 0);
|
||||
int dims = dimMap[sampler.dim];
|
||||
// most things with an array add a dimension, except for cubemaps
|
||||
if (sampler.arrayed && sampler.dim != EsdCube)
|
||||
++dims;
|
||||
|
||||
TString imageParams = typeName;
|
||||
if (dims == 1)
|
||||
imageParams.append(", int");
|
||||
|
Loading…
Reference in New Issue
Block a user