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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 John Kessenich
						John Kessenich