mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 12:00:05 +00:00
AST: Fix shift conversions, which don't require matching types.
The base and shift amount need to be integers, but not of the same type. This fixes #1296 and replaces #1297.
This commit is contained in:
parent
6e899be5ec
commit
647fccaf2f
@ -1,7 +1,7 @@
|
||||
spv.int16.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 525
|
||||
// Id's are bound by 523
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
@ -55,48 +55,48 @@ spv.int16.frag
|
||||
Name 220 "i"
|
||||
Name 227 "uv"
|
||||
Name 243 "i64"
|
||||
Name 283 "b"
|
||||
Name 345 "i16v"
|
||||
Name 348 "i16"
|
||||
Name 358 "u16v"
|
||||
Name 360 "u16"
|
||||
Name 430 "i32"
|
||||
Name 433 "i64"
|
||||
Name 436 "i16v4"
|
||||
Name 439 "u32"
|
||||
Name 440 "u16v2"
|
||||
Name 444 "u64"
|
||||
Name 447 "u16v4"
|
||||
Name 459 "bv"
|
||||
Name 520 "Block"
|
||||
MemberName 520(Block) 0 "i16"
|
||||
MemberName 520(Block) 1 "i16v2"
|
||||
MemberName 520(Block) 2 "i16v3"
|
||||
MemberName 520(Block) 3 "i16v4"
|
||||
MemberName 520(Block) 4 "u16"
|
||||
MemberName 520(Block) 5 "u16v2"
|
||||
MemberName 520(Block) 6 "u16v3"
|
||||
MemberName 520(Block) 7 "u16v4"
|
||||
Name 522 "block"
|
||||
Name 523 "si16"
|
||||
Name 524 "su16"
|
||||
Name 281 "b"
|
||||
Name 343 "i16v"
|
||||
Name 346 "i16"
|
||||
Name 356 "u16v"
|
||||
Name 358 "u16"
|
||||
Name 428 "i32"
|
||||
Name 431 "i64"
|
||||
Name 434 "i16v4"
|
||||
Name 437 "u32"
|
||||
Name 438 "u16v2"
|
||||
Name 442 "u64"
|
||||
Name 445 "u16v4"
|
||||
Name 457 "bv"
|
||||
Name 518 "Block"
|
||||
MemberName 518(Block) 0 "i16"
|
||||
MemberName 518(Block) 1 "i16v2"
|
||||
MemberName 518(Block) 2 "i16v3"
|
||||
MemberName 518(Block) 3 "i16v4"
|
||||
MemberName 518(Block) 4 "u16"
|
||||
MemberName 518(Block) 5 "u16v2"
|
||||
MemberName 518(Block) 6 "u16v3"
|
||||
MemberName 518(Block) 7 "u16v4"
|
||||
Name 520 "block"
|
||||
Name 521 "si16"
|
||||
Name 522 "su16"
|
||||
MemberDecorate 24(Uniforms) 0 Offset 0
|
||||
Decorate 24(Uniforms) Block
|
||||
Decorate 26 DescriptorSet 0
|
||||
Decorate 26 Binding 0
|
||||
MemberDecorate 520(Block) 0 Offset 0
|
||||
MemberDecorate 520(Block) 1 Offset 4
|
||||
MemberDecorate 520(Block) 2 Offset 8
|
||||
MemberDecorate 520(Block) 3 Offset 16
|
||||
MemberDecorate 520(Block) 4 Offset 24
|
||||
MemberDecorate 520(Block) 5 Offset 28
|
||||
MemberDecorate 520(Block) 6 Offset 32
|
||||
MemberDecorate 520(Block) 7 Offset 40
|
||||
Decorate 520(Block) Block
|
||||
Decorate 522(block) DescriptorSet 0
|
||||
Decorate 522(block) Binding 1
|
||||
Decorate 523(si16) SpecId 100
|
||||
Decorate 524(su16) SpecId 101
|
||||
MemberDecorate 518(Block) 0 Offset 0
|
||||
MemberDecorate 518(Block) 1 Offset 4
|
||||
MemberDecorate 518(Block) 2 Offset 8
|
||||
MemberDecorate 518(Block) 3 Offset 16
|
||||
MemberDecorate 518(Block) 4 Offset 24
|
||||
MemberDecorate 518(Block) 5 Offset 28
|
||||
MemberDecorate 518(Block) 6 Offset 32
|
||||
MemberDecorate 518(Block) 7 Offset 40
|
||||
Decorate 518(Block) Block
|
||||
Decorate 520(block) DescriptorSet 0
|
||||
Decorate 520(block) Binding 1
|
||||
Decorate 521(si16) SpecId 100
|
||||
Decorate 522(su16) SpecId 101
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
14: TypeInt 16 1
|
||||
@ -171,28 +171,28 @@ spv.int16.frag
|
||||
242: TypePointer Function 71(int)
|
||||
264: 17(int) Constant 1
|
||||
270: 17(int) Constant 2
|
||||
275: TypeVector 27(int) 3
|
||||
282: TypePointer Function 173(bool)
|
||||
284: 17(int) Constant 0
|
||||
298: TypePointer Function 17(int)
|
||||
356: 52(ivec2) ConstantComposite 21 21
|
||||
365: 193(ivec3) ConstantComposite 184 184 184
|
||||
407: 173(bool) ConstantTrue
|
||||
414: 173(bool) ConstantFalse
|
||||
415: 174(bvec2) ConstantComposite 414 414
|
||||
427: TypeVector 173(bool) 3
|
||||
428: 427(bvec3) ConstantComposite 414 414 414
|
||||
434: TypeVector 14(int) 4
|
||||
435: TypePointer Function 434(ivec4)
|
||||
443: TypePointer Function 77(int)
|
||||
445: TypeVector 36(int) 4
|
||||
446: TypePointer Function 445(ivec4)
|
||||
458: TypePointer Function 427(bvec3)
|
||||
520(Block): TypeStruct 14(int) 52(ivec2) 197(ivec3) 434(ivec4) 36(int) 57(ivec2) 193(ivec3) 445(ivec4)
|
||||
521: TypePointer Uniform 520(Block)
|
||||
522(block): 521(ptr) Variable Uniform
|
||||
523(si16): 14(int) SpecConstant 4294967286
|
||||
524(su16): 36(int) SpecConstant 20
|
||||
276: TypeVector 27(int) 3
|
||||
280: TypePointer Function 173(bool)
|
||||
282: 17(int) Constant 0
|
||||
296: TypePointer Function 17(int)
|
||||
354: 52(ivec2) ConstantComposite 21 21
|
||||
363: 193(ivec3) ConstantComposite 184 184 184
|
||||
405: 173(bool) ConstantTrue
|
||||
412: 173(bool) ConstantFalse
|
||||
413: 174(bvec2) ConstantComposite 412 412
|
||||
425: TypeVector 173(bool) 3
|
||||
426: 425(bvec3) ConstantComposite 412 412 412
|
||||
432: TypeVector 14(int) 4
|
||||
433: TypePointer Function 432(ivec4)
|
||||
441: TypePointer Function 77(int)
|
||||
443: TypeVector 36(int) 4
|
||||
444: TypePointer Function 443(ivec4)
|
||||
456: TypePointer Function 425(bvec3)
|
||||
518(Block): TypeStruct 14(int) 52(ivec2) 197(ivec3) 432(ivec4) 36(int) 57(ivec2) 193(ivec3) 443(ivec4)
|
||||
519: TypePointer Uniform 518(Block)
|
||||
520(block): 519(ptr) Variable Uniform
|
||||
521(si16): 14(int) SpecConstant 4294967286
|
||||
522(su16): 36(int) SpecConstant 20
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
@ -371,7 +371,7 @@ spv.int16.frag
|
||||
220(i): 219(ptr) Variable Function
|
||||
227(uv): 226(ptr) Variable Function
|
||||
243(i64): 242(ptr) Variable Function
|
||||
283(b): 282(ptr) Variable Function
|
||||
281(b): 280(ptr) Variable Function
|
||||
196: 193(ivec3) Load 195(u16v)
|
||||
198: 197(ivec3) CompositeConstruct 179 179 179
|
||||
199: 193(ivec3) IAdd 196 198
|
||||
@ -460,287 +460,285 @@ spv.int16.frag
|
||||
273: 14(int) ShiftLeftLogical 269 272
|
||||
Store 200(i16) 273
|
||||
274: 193(ivec3) Load 195(u16v)
|
||||
276: 275(ivec3) UConvert 274
|
||||
277: 275(ivec3) Bitcast 276
|
||||
278: 27(int) Load 220(i)
|
||||
279: 275(ivec3) CompositeConstruct 278 278 278
|
||||
280: 275(ivec3) ShiftLeftLogical 277 279
|
||||
281: 225(ivec3) Bitcast 280
|
||||
Store 227(uv) 281
|
||||
285: 37(ptr) AccessChain 195(u16v) 284
|
||||
286: 36(int) Load 285
|
||||
287: 14(int) Load 200(i16)
|
||||
288: 36(int) Bitcast 287
|
||||
289: 173(bool) INotEqual 286 288
|
||||
Store 283(b) 289
|
||||
290: 14(int) Load 200(i16)
|
||||
291: 36(int) Bitcast 290
|
||||
292: 37(ptr) AccessChain 195(u16v) 284
|
||||
293: 36(int) Load 292
|
||||
294: 173(bool) IEqual 291 293
|
||||
Store 283(b) 294
|
||||
295: 37(ptr) AccessChain 195(u16v) 284
|
||||
296: 36(int) Load 295
|
||||
297: 17(int) UConvert 296
|
||||
299: 298(ptr) AccessChain 227(uv) 264
|
||||
300: 17(int) Load 299
|
||||
301: 173(bool) UGreaterThan 297 300
|
||||
Store 283(b) 301
|
||||
302: 14(int) Load 200(i16)
|
||||
303: 27(int) SConvert 302
|
||||
304: 27(int) Load 220(i)
|
||||
305: 173(bool) SLessThan 303 304
|
||||
Store 283(b) 305
|
||||
306: 37(ptr) AccessChain 195(u16v) 264
|
||||
307: 36(int) Load 306
|
||||
308: 17(int) UConvert 307
|
||||
309: 298(ptr) AccessChain 227(uv) 284
|
||||
310: 17(int) Load 309
|
||||
311: 173(bool) UGreaterThanEqual 308 310
|
||||
Store 283(b) 311
|
||||
312: 14(int) Load 200(i16)
|
||||
313: 27(int) SConvert 312
|
||||
314: 27(int) Load 220(i)
|
||||
315: 173(bool) SLessThanEqual 313 314
|
||||
Store 283(b) 315
|
||||
316: 14(int) Load 200(i16)
|
||||
317: 27(int) SConvert 316
|
||||
318: 17(int) Bitcast 317
|
||||
319: 225(ivec3) Load 227(uv)
|
||||
320: 225(ivec3) CompositeConstruct 318 318 318
|
||||
321: 225(ivec3) BitwiseOr 319 320
|
||||
Store 227(uv) 321
|
||||
322: 14(int) Load 200(i16)
|
||||
323: 27(int) SConvert 322
|
||||
324: 27(int) Load 220(i)
|
||||
325: 27(int) BitwiseOr 323 324
|
||||
Store 220(i) 325
|
||||
326: 14(int) Load 200(i16)
|
||||
327: 71(int) SConvert 326
|
||||
328: 71(int) Load 243(i64)
|
||||
329: 71(int) BitwiseAnd 328 327
|
||||
Store 243(i64) 329
|
||||
330: 193(ivec3) Load 195(u16v)
|
||||
331: 225(ivec3) UConvert 330
|
||||
332: 225(ivec3) Load 227(uv)
|
||||
333: 225(ivec3) BitwiseAnd 331 332
|
||||
Store 227(uv) 333
|
||||
334: 14(int) Load 200(i16)
|
||||
335: 27(int) SConvert 334
|
||||
336: 17(int) Bitcast 335
|
||||
337: 225(ivec3) Load 227(uv)
|
||||
338: 225(ivec3) CompositeConstruct 336 336 336
|
||||
339: 225(ivec3) BitwiseXor 337 338
|
||||
Store 227(uv) 339
|
||||
340: 193(ivec3) Load 195(u16v)
|
||||
341: 14(int) Load 200(i16)
|
||||
342: 36(int) Bitcast 341
|
||||
343: 193(ivec3) CompositeConstruct 342 342 342
|
||||
344: 193(ivec3) BitwiseXor 340 343
|
||||
Store 195(u16v) 344
|
||||
275: 27(int) Load 220(i)
|
||||
277: 276(ivec3) CompositeConstruct 275 275 275
|
||||
278: 193(ivec3) ShiftLeftLogical 274 277
|
||||
279: 225(ivec3) UConvert 278
|
||||
Store 227(uv) 279
|
||||
283: 37(ptr) AccessChain 195(u16v) 282
|
||||
284: 36(int) Load 283
|
||||
285: 14(int) Load 200(i16)
|
||||
286: 36(int) Bitcast 285
|
||||
287: 173(bool) INotEqual 284 286
|
||||
Store 281(b) 287
|
||||
288: 14(int) Load 200(i16)
|
||||
289: 36(int) Bitcast 288
|
||||
290: 37(ptr) AccessChain 195(u16v) 282
|
||||
291: 36(int) Load 290
|
||||
292: 173(bool) IEqual 289 291
|
||||
Store 281(b) 292
|
||||
293: 37(ptr) AccessChain 195(u16v) 282
|
||||
294: 36(int) Load 293
|
||||
295: 17(int) UConvert 294
|
||||
297: 296(ptr) AccessChain 227(uv) 264
|
||||
298: 17(int) Load 297
|
||||
299: 173(bool) UGreaterThan 295 298
|
||||
Store 281(b) 299
|
||||
300: 14(int) Load 200(i16)
|
||||
301: 27(int) SConvert 300
|
||||
302: 27(int) Load 220(i)
|
||||
303: 173(bool) SLessThan 301 302
|
||||
Store 281(b) 303
|
||||
304: 37(ptr) AccessChain 195(u16v) 264
|
||||
305: 36(int) Load 304
|
||||
306: 17(int) UConvert 305
|
||||
307: 296(ptr) AccessChain 227(uv) 282
|
||||
308: 17(int) Load 307
|
||||
309: 173(bool) UGreaterThanEqual 306 308
|
||||
Store 281(b) 309
|
||||
310: 14(int) Load 200(i16)
|
||||
311: 27(int) SConvert 310
|
||||
312: 27(int) Load 220(i)
|
||||
313: 173(bool) SLessThanEqual 311 312
|
||||
Store 281(b) 313
|
||||
314: 14(int) Load 200(i16)
|
||||
315: 27(int) SConvert 314
|
||||
316: 17(int) Bitcast 315
|
||||
317: 225(ivec3) Load 227(uv)
|
||||
318: 225(ivec3) CompositeConstruct 316 316 316
|
||||
319: 225(ivec3) BitwiseOr 317 318
|
||||
Store 227(uv) 319
|
||||
320: 14(int) Load 200(i16)
|
||||
321: 27(int) SConvert 320
|
||||
322: 27(int) Load 220(i)
|
||||
323: 27(int) BitwiseOr 321 322
|
||||
Store 220(i) 323
|
||||
324: 14(int) Load 200(i16)
|
||||
325: 71(int) SConvert 324
|
||||
326: 71(int) Load 243(i64)
|
||||
327: 71(int) BitwiseAnd 326 325
|
||||
Store 243(i64) 327
|
||||
328: 193(ivec3) Load 195(u16v)
|
||||
329: 225(ivec3) UConvert 328
|
||||
330: 225(ivec3) Load 227(uv)
|
||||
331: 225(ivec3) BitwiseAnd 329 330
|
||||
Store 227(uv) 331
|
||||
332: 14(int) Load 200(i16)
|
||||
333: 27(int) SConvert 332
|
||||
334: 17(int) Bitcast 333
|
||||
335: 225(ivec3) Load 227(uv)
|
||||
336: 225(ivec3) CompositeConstruct 334 334 334
|
||||
337: 225(ivec3) BitwiseXor 335 336
|
||||
Store 227(uv) 337
|
||||
338: 193(ivec3) Load 195(u16v)
|
||||
339: 14(int) Load 200(i16)
|
||||
340: 36(int) Bitcast 339
|
||||
341: 193(ivec3) CompositeConstruct 340 340 340
|
||||
342: 193(ivec3) BitwiseXor 338 341
|
||||
Store 195(u16v) 342
|
||||
Return
|
||||
FunctionEnd
|
||||
12(builtinFuncs(): 2 Function None 3
|
||||
13: Label
|
||||
345(i16v): 53(ptr) Variable Function
|
||||
348(i16): 15(ptr) Variable Function
|
||||
358(u16v): 194(ptr) Variable Function
|
||||
360(u16): 37(ptr) Variable Function
|
||||
430(i32): 219(ptr) Variable Function
|
||||
433(i64): 242(ptr) Variable Function
|
||||
436(i16v4): 435(ptr) Variable Function
|
||||
439(u32): 298(ptr) Variable Function
|
||||
440(u16v2): 58(ptr) Variable Function
|
||||
444(u64): 443(ptr) Variable Function
|
||||
447(u16v4): 446(ptr) Variable Function
|
||||
459(bv): 458(ptr) Variable Function
|
||||
346: 52(ivec2) Load 345(i16v)
|
||||
347: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 346
|
||||
Store 345(i16v) 347
|
||||
349: 14(int) Load 348(i16)
|
||||
350: 14(int) ExtInst 1(GLSL.std.450) 7(SSign) 349
|
||||
Store 348(i16) 350
|
||||
351: 52(ivec2) Load 345(i16v)
|
||||
352: 14(int) Load 348(i16)
|
||||
353: 52(ivec2) CompositeConstruct 352 352
|
||||
354: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 351 353
|
||||
Store 345(i16v) 354
|
||||
355: 52(ivec2) Load 345(i16v)
|
||||
357: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 355 356
|
||||
Store 345(i16v) 357
|
||||
359: 193(ivec3) Load 358(u16v)
|
||||
361: 36(int) Load 360(u16)
|
||||
362: 193(ivec3) CompositeConstruct 361 361 361
|
||||
363: 193(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 359 362
|
||||
Store 358(u16v) 363
|
||||
364: 193(ivec3) Load 358(u16v)
|
||||
366: 193(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 364 365
|
||||
Store 358(u16v) 366
|
||||
367: 52(ivec2) Load 345(i16v)
|
||||
368: 14(int) Load 348(i16)
|
||||
369: 52(ivec2) CompositeConstruct 368 368
|
||||
370: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 367 369
|
||||
Store 345(i16v) 370
|
||||
371: 52(ivec2) Load 345(i16v)
|
||||
372: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 371 356
|
||||
Store 345(i16v) 372
|
||||
373: 193(ivec3) Load 358(u16v)
|
||||
374: 36(int) Load 360(u16)
|
||||
375: 193(ivec3) CompositeConstruct 374 374 374
|
||||
376: 193(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 373 375
|
||||
Store 358(u16v) 376
|
||||
377: 193(ivec3) Load 358(u16v)
|
||||
378: 193(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 377 365
|
||||
Store 358(u16v) 378
|
||||
379: 52(ivec2) Load 345(i16v)
|
||||
380: 14(int) Load 348(i16)
|
||||
381: 14(int) SNegate 380
|
||||
382: 14(int) Load 348(i16)
|
||||
383: 52(ivec2) CompositeConstruct 381 381
|
||||
384: 52(ivec2) CompositeConstruct 382 382
|
||||
385: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 379 383 384
|
||||
Store 345(i16v) 385
|
||||
386: 52(ivec2) Load 345(i16v)
|
||||
387: 52(ivec2) Load 345(i16v)
|
||||
388: 52(ivec2) SNegate 387
|
||||
389: 52(ivec2) Load 345(i16v)
|
||||
390: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 386 388 389
|
||||
Store 345(i16v) 390
|
||||
391: 193(ivec3) Load 358(u16v)
|
||||
392: 36(int) Load 360(u16)
|
||||
393: 36(int) SNegate 392
|
||||
394: 36(int) Load 360(u16)
|
||||
395: 193(ivec3) CompositeConstruct 393 393 393
|
||||
396: 193(ivec3) CompositeConstruct 394 394 394
|
||||
397: 193(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 391 395 396
|
||||
Store 358(u16v) 397
|
||||
398: 193(ivec3) Load 358(u16v)
|
||||
399: 193(ivec3) Load 358(u16v)
|
||||
400: 193(ivec3) SNegate 399
|
||||
401: 193(ivec3) Load 358(u16v)
|
||||
402: 193(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 398 400 401
|
||||
Store 358(u16v) 402
|
||||
403: 15(ptr) AccessChain 345(i16v) 284
|
||||
343(i16v): 53(ptr) Variable Function
|
||||
346(i16): 15(ptr) Variable Function
|
||||
356(u16v): 194(ptr) Variable Function
|
||||
358(u16): 37(ptr) Variable Function
|
||||
428(i32): 219(ptr) Variable Function
|
||||
431(i64): 242(ptr) Variable Function
|
||||
434(i16v4): 433(ptr) Variable Function
|
||||
437(u32): 296(ptr) Variable Function
|
||||
438(u16v2): 58(ptr) Variable Function
|
||||
442(u64): 441(ptr) Variable Function
|
||||
445(u16v4): 444(ptr) Variable Function
|
||||
457(bv): 456(ptr) Variable Function
|
||||
344: 52(ivec2) Load 343(i16v)
|
||||
345: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 344
|
||||
Store 343(i16v) 345
|
||||
347: 14(int) Load 346(i16)
|
||||
348: 14(int) ExtInst 1(GLSL.std.450) 7(SSign) 347
|
||||
Store 346(i16) 348
|
||||
349: 52(ivec2) Load 343(i16v)
|
||||
350: 14(int) Load 346(i16)
|
||||
351: 52(ivec2) CompositeConstruct 350 350
|
||||
352: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 349 351
|
||||
Store 343(i16v) 352
|
||||
353: 52(ivec2) Load 343(i16v)
|
||||
355: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 353 354
|
||||
Store 343(i16v) 355
|
||||
357: 193(ivec3) Load 356(u16v)
|
||||
359: 36(int) Load 358(u16)
|
||||
360: 193(ivec3) CompositeConstruct 359 359 359
|
||||
361: 193(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 357 360
|
||||
Store 356(u16v) 361
|
||||
362: 193(ivec3) Load 356(u16v)
|
||||
364: 193(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 362 363
|
||||
Store 356(u16v) 364
|
||||
365: 52(ivec2) Load 343(i16v)
|
||||
366: 14(int) Load 346(i16)
|
||||
367: 52(ivec2) CompositeConstruct 366 366
|
||||
368: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 365 367
|
||||
Store 343(i16v) 368
|
||||
369: 52(ivec2) Load 343(i16v)
|
||||
370: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 369 354
|
||||
Store 343(i16v) 370
|
||||
371: 193(ivec3) Load 356(u16v)
|
||||
372: 36(int) Load 358(u16)
|
||||
373: 193(ivec3) CompositeConstruct 372 372 372
|
||||
374: 193(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 371 373
|
||||
Store 356(u16v) 374
|
||||
375: 193(ivec3) Load 356(u16v)
|
||||
376: 193(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 375 363
|
||||
Store 356(u16v) 376
|
||||
377: 52(ivec2) Load 343(i16v)
|
||||
378: 14(int) Load 346(i16)
|
||||
379: 14(int) SNegate 378
|
||||
380: 14(int) Load 346(i16)
|
||||
381: 52(ivec2) CompositeConstruct 379 379
|
||||
382: 52(ivec2) CompositeConstruct 380 380
|
||||
383: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 377 381 382
|
||||
Store 343(i16v) 383
|
||||
384: 52(ivec2) Load 343(i16v)
|
||||
385: 52(ivec2) Load 343(i16v)
|
||||
386: 52(ivec2) SNegate 385
|
||||
387: 52(ivec2) Load 343(i16v)
|
||||
388: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 384 386 387
|
||||
Store 343(i16v) 388
|
||||
389: 193(ivec3) Load 356(u16v)
|
||||
390: 36(int) Load 358(u16)
|
||||
391: 36(int) SNegate 390
|
||||
392: 36(int) Load 358(u16)
|
||||
393: 193(ivec3) CompositeConstruct 391 391 391
|
||||
394: 193(ivec3) CompositeConstruct 392 392 392
|
||||
395: 193(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 389 393 394
|
||||
Store 356(u16v) 395
|
||||
396: 193(ivec3) Load 356(u16v)
|
||||
397: 193(ivec3) Load 356(u16v)
|
||||
398: 193(ivec3) SNegate 397
|
||||
399: 193(ivec3) Load 356(u16v)
|
||||
400: 193(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 396 398 399
|
||||
Store 356(u16v) 400
|
||||
401: 15(ptr) AccessChain 343(i16v) 282
|
||||
402: 14(int) Load 401
|
||||
403: 15(ptr) AccessChain 343(i16v) 264
|
||||
404: 14(int) Load 403
|
||||
405: 15(ptr) AccessChain 345(i16v) 264
|
||||
406: 14(int) Load 405
|
||||
408: 14(int) Select 407 406 404
|
||||
Store 348(i16) 408
|
||||
409: 14(int) Load 348(i16)
|
||||
410: 52(ivec2) CompositeConstruct 409 409
|
||||
411: 14(int) Load 348(i16)
|
||||
412: 14(int) SNegate 411
|
||||
413: 52(ivec2) CompositeConstruct 412 412
|
||||
416: 52(ivec2) Select 415 413 410
|
||||
Store 345(i16v) 416
|
||||
417: 37(ptr) AccessChain 358(u16v) 284
|
||||
406: 14(int) Select 405 404 402
|
||||
Store 346(i16) 406
|
||||
407: 14(int) Load 346(i16)
|
||||
408: 52(ivec2) CompositeConstruct 407 407
|
||||
409: 14(int) Load 346(i16)
|
||||
410: 14(int) SNegate 409
|
||||
411: 52(ivec2) CompositeConstruct 410 410
|
||||
414: 52(ivec2) Select 413 411 408
|
||||
Store 343(i16v) 414
|
||||
415: 37(ptr) AccessChain 356(u16v) 282
|
||||
416: 36(int) Load 415
|
||||
417: 37(ptr) AccessChain 356(u16v) 264
|
||||
418: 36(int) Load 417
|
||||
419: 37(ptr) AccessChain 358(u16v) 264
|
||||
420: 36(int) Load 419
|
||||
421: 36(int) Select 407 420 418
|
||||
Store 360(u16) 421
|
||||
422: 36(int) Load 360(u16)
|
||||
423: 193(ivec3) CompositeConstruct 422 422 422
|
||||
424: 36(int) Load 360(u16)
|
||||
425: 36(int) SNegate 424
|
||||
426: 193(ivec3) CompositeConstruct 425 425 425
|
||||
429: 193(ivec3) Select 428 426 423
|
||||
Store 358(u16v) 429
|
||||
431: 52(ivec2) Load 345(i16v)
|
||||
432: 27(int) Bitcast 431
|
||||
Store 430(i32) 432
|
||||
437: 434(ivec4) Load 436(i16v4)
|
||||
438: 71(int) Bitcast 437
|
||||
Store 433(i64) 438
|
||||
441: 57(ivec2) Load 440(u16v2)
|
||||
442: 17(int) Bitcast 441
|
||||
Store 439(u32) 442
|
||||
448: 445(ivec4) Load 447(u16v4)
|
||||
449: 77(int) Bitcast 448
|
||||
Store 444(u64) 449
|
||||
450: 27(int) Load 430(i32)
|
||||
451: 52(ivec2) Bitcast 450
|
||||
Store 345(i16v) 451
|
||||
452: 71(int) Load 433(i64)
|
||||
453: 434(ivec4) Bitcast 452
|
||||
Store 436(i16v4) 453
|
||||
454: 17(int) Load 439(u32)
|
||||
455: 57(ivec2) Bitcast 454
|
||||
Store 440(u16v2) 455
|
||||
456: 77(int) Load 444(u64)
|
||||
457: 445(ivec4) Bitcast 456
|
||||
Store 447(u16v4) 457
|
||||
460: 193(ivec3) Load 358(u16v)
|
||||
461: 36(int) Load 360(u16)
|
||||
462: 193(ivec3) CompositeConstruct 461 461 461
|
||||
463: 427(bvec3) ULessThan 460 462
|
||||
Store 459(bv) 463
|
||||
464: 52(ivec2) Load 345(i16v)
|
||||
465: 14(int) Load 348(i16)
|
||||
466: 52(ivec2) CompositeConstruct 465 465
|
||||
467: 174(bvec2) SLessThan 464 466
|
||||
468: 427(bvec3) Load 459(bv)
|
||||
469: 427(bvec3) VectorShuffle 468 467 3 4 2
|
||||
Store 459(bv) 469
|
||||
470: 193(ivec3) Load 358(u16v)
|
||||
471: 36(int) Load 360(u16)
|
||||
472: 193(ivec3) CompositeConstruct 471 471 471
|
||||
473: 427(bvec3) ULessThanEqual 470 472
|
||||
Store 459(bv) 473
|
||||
474: 52(ivec2) Load 345(i16v)
|
||||
475: 14(int) Load 348(i16)
|
||||
476: 52(ivec2) CompositeConstruct 475 475
|
||||
477: 174(bvec2) SLessThanEqual 474 476
|
||||
478: 427(bvec3) Load 459(bv)
|
||||
479: 427(bvec3) VectorShuffle 478 477 3 4 2
|
||||
Store 459(bv) 479
|
||||
480: 193(ivec3) Load 358(u16v)
|
||||
481: 36(int) Load 360(u16)
|
||||
482: 193(ivec3) CompositeConstruct 481 481 481
|
||||
483: 427(bvec3) UGreaterThan 480 482
|
||||
Store 459(bv) 483
|
||||
484: 52(ivec2) Load 345(i16v)
|
||||
485: 14(int) Load 348(i16)
|
||||
486: 52(ivec2) CompositeConstruct 485 485
|
||||
487: 174(bvec2) SGreaterThan 484 486
|
||||
488: 427(bvec3) Load 459(bv)
|
||||
489: 427(bvec3) VectorShuffle 488 487 3 4 2
|
||||
Store 459(bv) 489
|
||||
490: 193(ivec3) Load 358(u16v)
|
||||
491: 36(int) Load 360(u16)
|
||||
492: 193(ivec3) CompositeConstruct 491 491 491
|
||||
493: 427(bvec3) UGreaterThanEqual 490 492
|
||||
Store 459(bv) 493
|
||||
494: 52(ivec2) Load 345(i16v)
|
||||
495: 14(int) Load 348(i16)
|
||||
496: 52(ivec2) CompositeConstruct 495 495
|
||||
497: 174(bvec2) SGreaterThanEqual 494 496
|
||||
498: 427(bvec3) Load 459(bv)
|
||||
499: 427(bvec3) VectorShuffle 498 497 3 4 2
|
||||
Store 459(bv) 499
|
||||
500: 193(ivec3) Load 358(u16v)
|
||||
501: 36(int) Load 360(u16)
|
||||
502: 193(ivec3) CompositeConstruct 501 501 501
|
||||
503: 427(bvec3) IEqual 500 502
|
||||
Store 459(bv) 503
|
||||
504: 52(ivec2) Load 345(i16v)
|
||||
505: 14(int) Load 348(i16)
|
||||
506: 52(ivec2) CompositeConstruct 505 505
|
||||
507: 174(bvec2) IEqual 504 506
|
||||
508: 427(bvec3) Load 459(bv)
|
||||
509: 427(bvec3) VectorShuffle 508 507 3 4 2
|
||||
Store 459(bv) 509
|
||||
510: 193(ivec3) Load 358(u16v)
|
||||
511: 36(int) Load 360(u16)
|
||||
512: 193(ivec3) CompositeConstruct 511 511 511
|
||||
513: 427(bvec3) INotEqual 510 512
|
||||
Store 459(bv) 513
|
||||
514: 52(ivec2) Load 345(i16v)
|
||||
515: 14(int) Load 348(i16)
|
||||
516: 52(ivec2) CompositeConstruct 515 515
|
||||
517: 174(bvec2) INotEqual 514 516
|
||||
518: 427(bvec3) Load 459(bv)
|
||||
519: 427(bvec3) VectorShuffle 518 517 3 4 2
|
||||
Store 459(bv) 519
|
||||
419: 36(int) Select 405 418 416
|
||||
Store 358(u16) 419
|
||||
420: 36(int) Load 358(u16)
|
||||
421: 193(ivec3) CompositeConstruct 420 420 420
|
||||
422: 36(int) Load 358(u16)
|
||||
423: 36(int) SNegate 422
|
||||
424: 193(ivec3) CompositeConstruct 423 423 423
|
||||
427: 193(ivec3) Select 426 424 421
|
||||
Store 356(u16v) 427
|
||||
429: 52(ivec2) Load 343(i16v)
|
||||
430: 27(int) Bitcast 429
|
||||
Store 428(i32) 430
|
||||
435: 432(ivec4) Load 434(i16v4)
|
||||
436: 71(int) Bitcast 435
|
||||
Store 431(i64) 436
|
||||
439: 57(ivec2) Load 438(u16v2)
|
||||
440: 17(int) Bitcast 439
|
||||
Store 437(u32) 440
|
||||
446: 443(ivec4) Load 445(u16v4)
|
||||
447: 77(int) Bitcast 446
|
||||
Store 442(u64) 447
|
||||
448: 27(int) Load 428(i32)
|
||||
449: 52(ivec2) Bitcast 448
|
||||
Store 343(i16v) 449
|
||||
450: 71(int) Load 431(i64)
|
||||
451: 432(ivec4) Bitcast 450
|
||||
Store 434(i16v4) 451
|
||||
452: 17(int) Load 437(u32)
|
||||
453: 57(ivec2) Bitcast 452
|
||||
Store 438(u16v2) 453
|
||||
454: 77(int) Load 442(u64)
|
||||
455: 443(ivec4) Bitcast 454
|
||||
Store 445(u16v4) 455
|
||||
458: 193(ivec3) Load 356(u16v)
|
||||
459: 36(int) Load 358(u16)
|
||||
460: 193(ivec3) CompositeConstruct 459 459 459
|
||||
461: 425(bvec3) ULessThan 458 460
|
||||
Store 457(bv) 461
|
||||
462: 52(ivec2) Load 343(i16v)
|
||||
463: 14(int) Load 346(i16)
|
||||
464: 52(ivec2) CompositeConstruct 463 463
|
||||
465: 174(bvec2) SLessThan 462 464
|
||||
466: 425(bvec3) Load 457(bv)
|
||||
467: 425(bvec3) VectorShuffle 466 465 3 4 2
|
||||
Store 457(bv) 467
|
||||
468: 193(ivec3) Load 356(u16v)
|
||||
469: 36(int) Load 358(u16)
|
||||
470: 193(ivec3) CompositeConstruct 469 469 469
|
||||
471: 425(bvec3) ULessThanEqual 468 470
|
||||
Store 457(bv) 471
|
||||
472: 52(ivec2) Load 343(i16v)
|
||||
473: 14(int) Load 346(i16)
|
||||
474: 52(ivec2) CompositeConstruct 473 473
|
||||
475: 174(bvec2) SLessThanEqual 472 474
|
||||
476: 425(bvec3) Load 457(bv)
|
||||
477: 425(bvec3) VectorShuffle 476 475 3 4 2
|
||||
Store 457(bv) 477
|
||||
478: 193(ivec3) Load 356(u16v)
|
||||
479: 36(int) Load 358(u16)
|
||||
480: 193(ivec3) CompositeConstruct 479 479 479
|
||||
481: 425(bvec3) UGreaterThan 478 480
|
||||
Store 457(bv) 481
|
||||
482: 52(ivec2) Load 343(i16v)
|
||||
483: 14(int) Load 346(i16)
|
||||
484: 52(ivec2) CompositeConstruct 483 483
|
||||
485: 174(bvec2) SGreaterThan 482 484
|
||||
486: 425(bvec3) Load 457(bv)
|
||||
487: 425(bvec3) VectorShuffle 486 485 3 4 2
|
||||
Store 457(bv) 487
|
||||
488: 193(ivec3) Load 356(u16v)
|
||||
489: 36(int) Load 358(u16)
|
||||
490: 193(ivec3) CompositeConstruct 489 489 489
|
||||
491: 425(bvec3) UGreaterThanEqual 488 490
|
||||
Store 457(bv) 491
|
||||
492: 52(ivec2) Load 343(i16v)
|
||||
493: 14(int) Load 346(i16)
|
||||
494: 52(ivec2) CompositeConstruct 493 493
|
||||
495: 174(bvec2) SGreaterThanEqual 492 494
|
||||
496: 425(bvec3) Load 457(bv)
|
||||
497: 425(bvec3) VectorShuffle 496 495 3 4 2
|
||||
Store 457(bv) 497
|
||||
498: 193(ivec3) Load 356(u16v)
|
||||
499: 36(int) Load 358(u16)
|
||||
500: 193(ivec3) CompositeConstruct 499 499 499
|
||||
501: 425(bvec3) IEqual 498 500
|
||||
Store 457(bv) 501
|
||||
502: 52(ivec2) Load 343(i16v)
|
||||
503: 14(int) Load 346(i16)
|
||||
504: 52(ivec2) CompositeConstruct 503 503
|
||||
505: 174(bvec2) IEqual 502 504
|
||||
506: 425(bvec3) Load 457(bv)
|
||||
507: 425(bvec3) VectorShuffle 506 505 3 4 2
|
||||
Store 457(bv) 507
|
||||
508: 193(ivec3) Load 356(u16v)
|
||||
509: 36(int) Load 358(u16)
|
||||
510: 193(ivec3) CompositeConstruct 509 509 509
|
||||
511: 425(bvec3) INotEqual 508 510
|
||||
Store 457(bv) 511
|
||||
512: 52(ivec2) Load 343(i16v)
|
||||
513: 14(int) Load 346(i16)
|
||||
514: 52(ivec2) CompositeConstruct 513 513
|
||||
515: 174(bvec2) INotEqual 512 514
|
||||
516: 425(bvec3) Load 457(bv)
|
||||
517: 425(bvec3) VectorShuffle 516 515 3 4 2
|
||||
Store 457(bv) 517
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -1,7 +1,7 @@
|
||||
spv.int32.frag
|
||||
// Module Version 10300
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 495
|
||||
// Id's are bound by 493
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
@ -52,54 +52,54 @@ spv.int32.frag
|
||||
Name 210 "i"
|
||||
Name 214 "uv"
|
||||
Name 227 "i64"
|
||||
Name 262 "b"
|
||||
Name 314 "i32v"
|
||||
Name 317 "i32"
|
||||
Name 327 "u32v"
|
||||
Name 329 "u32"
|
||||
Name 401 "i8v4"
|
||||
Name 404 "i16v2"
|
||||
Name 409 "u8v4"
|
||||
Name 412 "u16v2"
|
||||
Name 415 "i64"
|
||||
Name 418 "u32v2"
|
||||
Name 420 "u64"
|
||||
Name 424 "bv"
|
||||
Name 487 "Block"
|
||||
MemberName 487(Block) 0 "i32"
|
||||
MemberName 487(Block) 1 "i32v2"
|
||||
MemberName 487(Block) 2 "i32v3"
|
||||
MemberName 487(Block) 3 "i32v4"
|
||||
MemberName 487(Block) 4 "u32"
|
||||
MemberName 487(Block) 5 "u32v2"
|
||||
MemberName 487(Block) 6 "u32v3"
|
||||
MemberName 487(Block) 7 "u32v4"
|
||||
Name 489 "block"
|
||||
Name 490 "si32"
|
||||
Name 491 "su32"
|
||||
Name 492 "si"
|
||||
Name 493 "su"
|
||||
Name 494 "sb"
|
||||
Name 260 "b"
|
||||
Name 312 "i32v"
|
||||
Name 315 "i32"
|
||||
Name 325 "u32v"
|
||||
Name 327 "u32"
|
||||
Name 399 "i8v4"
|
||||
Name 402 "i16v2"
|
||||
Name 407 "u8v4"
|
||||
Name 410 "u16v2"
|
||||
Name 413 "i64"
|
||||
Name 416 "u32v2"
|
||||
Name 418 "u64"
|
||||
Name 422 "bv"
|
||||
Name 485 "Block"
|
||||
MemberName 485(Block) 0 "i32"
|
||||
MemberName 485(Block) 1 "i32v2"
|
||||
MemberName 485(Block) 2 "i32v3"
|
||||
MemberName 485(Block) 3 "i32v4"
|
||||
MemberName 485(Block) 4 "u32"
|
||||
MemberName 485(Block) 5 "u32v2"
|
||||
MemberName 485(Block) 6 "u32v3"
|
||||
MemberName 485(Block) 7 "u32v4"
|
||||
Name 487 "block"
|
||||
Name 488 "si32"
|
||||
Name 489 "su32"
|
||||
Name 490 "si"
|
||||
Name 491 "su"
|
||||
Name 492 "sb"
|
||||
MemberDecorate 27(Uniforms) 0 Offset 0
|
||||
Decorate 27(Uniforms) Block
|
||||
Decorate 29 DescriptorSet 0
|
||||
Decorate 29 Binding 0
|
||||
MemberDecorate 487(Block) 0 Offset 0
|
||||
MemberDecorate 487(Block) 1 Offset 8
|
||||
MemberDecorate 487(Block) 2 Offset 16
|
||||
MemberDecorate 487(Block) 3 Offset 32
|
||||
MemberDecorate 487(Block) 4 Offset 48
|
||||
MemberDecorate 487(Block) 5 Offset 56
|
||||
MemberDecorate 487(Block) 6 Offset 64
|
||||
MemberDecorate 487(Block) 7 Offset 80
|
||||
Decorate 487(Block) Block
|
||||
Decorate 489(block) DescriptorSet 0
|
||||
Decorate 489(block) Binding 1
|
||||
Decorate 490(si32) SpecId 100
|
||||
Decorate 491(su32) SpecId 101
|
||||
Decorate 492(si) SpecId 102
|
||||
Decorate 493(su) SpecId 103
|
||||
Decorate 494(sb) SpecId 104
|
||||
MemberDecorate 485(Block) 0 Offset 0
|
||||
MemberDecorate 485(Block) 1 Offset 8
|
||||
MemberDecorate 485(Block) 2 Offset 16
|
||||
MemberDecorate 485(Block) 3 Offset 32
|
||||
MemberDecorate 485(Block) 4 Offset 48
|
||||
MemberDecorate 485(Block) 5 Offset 56
|
||||
MemberDecorate 485(Block) 6 Offset 64
|
||||
MemberDecorate 485(Block) 7 Offset 80
|
||||
Decorate 485(Block) Block
|
||||
Decorate 487(block) DescriptorSet 0
|
||||
Decorate 487(block) Binding 1
|
||||
Decorate 488(si32) SpecId 100
|
||||
Decorate 489(su32) SpecId 101
|
||||
Decorate 490(si) SpecId 102
|
||||
Decorate 491(su) SpecId 103
|
||||
Decorate 492(sb) SpecId 104
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
14: TypeInt 32 0
|
||||
@ -171,30 +171,30 @@ spv.int32.frag
|
||||
188: TypeVector 18(int) 3
|
||||
226: TypePointer Function 57(int)
|
||||
251: 14(int) Constant 2
|
||||
261: TypePointer Function 165(bool)
|
||||
325: 52(ivec2) ConstantComposite 24 24
|
||||
334: 184(ivec3) ConstantComposite 175 175 175
|
||||
376: 165(bool) ConstantTrue
|
||||
383: 165(bool) ConstantFalse
|
||||
384: 166(bvec2) ConstantComposite 383 383
|
||||
396: TypeVector 165(bool) 3
|
||||
397: 396(bvec3) ConstantComposite 383 383 383
|
||||
399: TypeVector 91(int) 4
|
||||
400: TypePointer Function 399(ivec4)
|
||||
407: TypeVector 120(int) 4
|
||||
408: TypePointer Function 407(ivec4)
|
||||
419: TypePointer Function 63(int)
|
||||
423: TypePointer Function 396(bvec3)
|
||||
485: TypeVector 18(int) 4
|
||||
486: TypeVector 14(int) 4
|
||||
487(Block): TypeStruct 18(int) 52(ivec2) 188(ivec3) 485(ivec4) 14(int) 49(ivec2) 184(ivec3) 486(ivec4)
|
||||
488: TypePointer Uniform 487(Block)
|
||||
489(block): 488(ptr) Variable Uniform
|
||||
490(si32): 18(int) SpecConstant 4294967286
|
||||
491(su32): 14(int) SpecConstant 20
|
||||
492(si): 18(int) SpecConstant 4294967291
|
||||
493(su): 14(int) SpecConstant 4
|
||||
494(sb): 165(bool) SpecConstantTrue
|
||||
259: TypePointer Function 165(bool)
|
||||
323: 52(ivec2) ConstantComposite 24 24
|
||||
332: 184(ivec3) ConstantComposite 175 175 175
|
||||
374: 165(bool) ConstantTrue
|
||||
381: 165(bool) ConstantFalse
|
||||
382: 166(bvec2) ConstantComposite 381 381
|
||||
394: TypeVector 165(bool) 3
|
||||
395: 394(bvec3) ConstantComposite 381 381 381
|
||||
397: TypeVector 91(int) 4
|
||||
398: TypePointer Function 397(ivec4)
|
||||
405: TypeVector 120(int) 4
|
||||
406: TypePointer Function 405(ivec4)
|
||||
417: TypePointer Function 63(int)
|
||||
421: TypePointer Function 394(bvec3)
|
||||
483: TypeVector 18(int) 4
|
||||
484: TypeVector 14(int) 4
|
||||
485(Block): TypeStruct 18(int) 52(ivec2) 188(ivec3) 483(ivec4) 14(int) 49(ivec2) 184(ivec3) 484(ivec4)
|
||||
486: TypePointer Uniform 485(Block)
|
||||
487(block): 486(ptr) Variable Uniform
|
||||
488(si32): 18(int) SpecConstant 4294967286
|
||||
489(su32): 14(int) SpecConstant 20
|
||||
490(si): 18(int) SpecConstant 4294967291
|
||||
491(su): 14(int) SpecConstant 4
|
||||
492(sb): 165(bool) SpecConstantTrue
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Store 16(u32Max) 17
|
||||
@ -360,7 +360,7 @@ spv.int32.frag
|
||||
210(i): 19(ptr) Variable Function
|
||||
214(uv): 185(ptr) Variable Function
|
||||
227(i64): 226(ptr) Variable Function
|
||||
262(b): 261(ptr) Variable Function
|
||||
260(b): 259(ptr) Variable Function
|
||||
187: 184(ivec3) Load 186(u32v)
|
||||
189: 188(ivec3) CompositeConstruct 170 170 170
|
||||
190: 184(ivec3) IAdd 187 189
|
||||
@ -440,275 +440,273 @@ spv.int32.frag
|
||||
250: 57(int) Load 227(i64)
|
||||
252: 38(ptr) AccessChain 186(u32v) 251
|
||||
253: 14(int) Load 252
|
||||
254: 57(int) UConvert 253
|
||||
255: 57(int) Bitcast 254
|
||||
256: 57(int) ShiftLeftLogical 250 255
|
||||
Store 227(i64) 256
|
||||
257: 184(ivec3) Load 186(u32v)
|
||||
258: 18(int) Load 210(i)
|
||||
259: 188(ivec3) CompositeConstruct 258 258 258
|
||||
260: 184(ivec3) ShiftLeftLogical 257 259
|
||||
Store 214(uv) 260
|
||||
263: 38(ptr) AccessChain 186(u32v) 175
|
||||
264: 14(int) Load 263
|
||||
265: 18(int) Load 191(i32)
|
||||
266: 14(int) Bitcast 265
|
||||
267: 165(bool) INotEqual 264 266
|
||||
Store 262(b) 267
|
||||
268: 18(int) Load 191(i32)
|
||||
269: 14(int) Bitcast 268
|
||||
270: 38(ptr) AccessChain 186(u32v) 175
|
||||
271: 14(int) Load 270
|
||||
272: 165(bool) IEqual 269 271
|
||||
Store 262(b) 272
|
||||
273: 38(ptr) AccessChain 186(u32v) 175
|
||||
254: 57(int) ShiftLeftLogical 250 253
|
||||
Store 227(i64) 254
|
||||
255: 184(ivec3) Load 186(u32v)
|
||||
256: 18(int) Load 210(i)
|
||||
257: 188(ivec3) CompositeConstruct 256 256 256
|
||||
258: 184(ivec3) ShiftLeftLogical 255 257
|
||||
Store 214(uv) 258
|
||||
261: 38(ptr) AccessChain 186(u32v) 175
|
||||
262: 14(int) Load 261
|
||||
263: 18(int) Load 191(i32)
|
||||
264: 14(int) Bitcast 263
|
||||
265: 165(bool) INotEqual 262 264
|
||||
Store 260(b) 265
|
||||
266: 18(int) Load 191(i32)
|
||||
267: 14(int) Bitcast 266
|
||||
268: 38(ptr) AccessChain 186(u32v) 175
|
||||
269: 14(int) Load 268
|
||||
270: 165(bool) IEqual 267 269
|
||||
Store 260(b) 270
|
||||
271: 38(ptr) AccessChain 186(u32v) 175
|
||||
272: 14(int) Load 271
|
||||
273: 38(ptr) AccessChain 214(uv) 176
|
||||
274: 14(int) Load 273
|
||||
275: 38(ptr) AccessChain 214(uv) 176
|
||||
276: 14(int) Load 275
|
||||
277: 165(bool) UGreaterThan 274 276
|
||||
Store 262(b) 277
|
||||
278: 18(int) Load 191(i32)
|
||||
279: 18(int) Load 210(i)
|
||||
280: 165(bool) SLessThan 278 279
|
||||
Store 262(b) 280
|
||||
281: 38(ptr) AccessChain 186(u32v) 176
|
||||
275: 165(bool) UGreaterThan 272 274
|
||||
Store 260(b) 275
|
||||
276: 18(int) Load 191(i32)
|
||||
277: 18(int) Load 210(i)
|
||||
278: 165(bool) SLessThan 276 277
|
||||
Store 260(b) 278
|
||||
279: 38(ptr) AccessChain 186(u32v) 176
|
||||
280: 14(int) Load 279
|
||||
281: 38(ptr) AccessChain 214(uv) 175
|
||||
282: 14(int) Load 281
|
||||
283: 38(ptr) AccessChain 214(uv) 175
|
||||
284: 14(int) Load 283
|
||||
285: 165(bool) UGreaterThanEqual 282 284
|
||||
Store 262(b) 285
|
||||
286: 18(int) Load 191(i32)
|
||||
287: 18(int) Load 210(i)
|
||||
288: 165(bool) SLessThanEqual 286 287
|
||||
Store 262(b) 288
|
||||
289: 18(int) Load 191(i32)
|
||||
290: 14(int) Bitcast 289
|
||||
291: 184(ivec3) Load 214(uv)
|
||||
292: 184(ivec3) CompositeConstruct 290 290 290
|
||||
293: 184(ivec3) BitwiseOr 291 292
|
||||
Store 214(uv) 293
|
||||
294: 18(int) Load 191(i32)
|
||||
295: 18(int) Load 210(i)
|
||||
296: 18(int) BitwiseOr 294 295
|
||||
Store 210(i) 296
|
||||
297: 18(int) Load 191(i32)
|
||||
298: 57(int) SConvert 297
|
||||
299: 57(int) Load 227(i64)
|
||||
300: 57(int) BitwiseAnd 299 298
|
||||
Store 227(i64) 300
|
||||
301: 184(ivec3) Load 186(u32v)
|
||||
302: 184(ivec3) Load 214(uv)
|
||||
303: 184(ivec3) BitwiseAnd 301 302
|
||||
Store 214(uv) 303
|
||||
304: 18(int) Load 191(i32)
|
||||
305: 14(int) Bitcast 304
|
||||
306: 184(ivec3) Load 214(uv)
|
||||
307: 184(ivec3) CompositeConstruct 305 305 305
|
||||
308: 184(ivec3) BitwiseXor 306 307
|
||||
Store 214(uv) 308
|
||||
309: 184(ivec3) Load 186(u32v)
|
||||
310: 18(int) Load 191(i32)
|
||||
311: 14(int) Bitcast 310
|
||||
312: 184(ivec3) CompositeConstruct 311 311 311
|
||||
313: 184(ivec3) BitwiseXor 309 312
|
||||
Store 186(u32v) 313
|
||||
283: 165(bool) UGreaterThanEqual 280 282
|
||||
Store 260(b) 283
|
||||
284: 18(int) Load 191(i32)
|
||||
285: 18(int) Load 210(i)
|
||||
286: 165(bool) SLessThanEqual 284 285
|
||||
Store 260(b) 286
|
||||
287: 18(int) Load 191(i32)
|
||||
288: 14(int) Bitcast 287
|
||||
289: 184(ivec3) Load 214(uv)
|
||||
290: 184(ivec3) CompositeConstruct 288 288 288
|
||||
291: 184(ivec3) BitwiseOr 289 290
|
||||
Store 214(uv) 291
|
||||
292: 18(int) Load 191(i32)
|
||||
293: 18(int) Load 210(i)
|
||||
294: 18(int) BitwiseOr 292 293
|
||||
Store 210(i) 294
|
||||
295: 18(int) Load 191(i32)
|
||||
296: 57(int) SConvert 295
|
||||
297: 57(int) Load 227(i64)
|
||||
298: 57(int) BitwiseAnd 297 296
|
||||
Store 227(i64) 298
|
||||
299: 184(ivec3) Load 186(u32v)
|
||||
300: 184(ivec3) Load 214(uv)
|
||||
301: 184(ivec3) BitwiseAnd 299 300
|
||||
Store 214(uv) 301
|
||||
302: 18(int) Load 191(i32)
|
||||
303: 14(int) Bitcast 302
|
||||
304: 184(ivec3) Load 214(uv)
|
||||
305: 184(ivec3) CompositeConstruct 303 303 303
|
||||
306: 184(ivec3) BitwiseXor 304 305
|
||||
Store 214(uv) 306
|
||||
307: 184(ivec3) Load 186(u32v)
|
||||
308: 18(int) Load 191(i32)
|
||||
309: 14(int) Bitcast 308
|
||||
310: 184(ivec3) CompositeConstruct 309 309 309
|
||||
311: 184(ivec3) BitwiseXor 307 310
|
||||
Store 186(u32v) 311
|
||||
Return
|
||||
FunctionEnd
|
||||
12(builtinFuncs(): 2 Function None 3
|
||||
13: Label
|
||||
314(i32v): 53(ptr) Variable Function
|
||||
317(i32): 19(ptr) Variable Function
|
||||
327(u32v): 185(ptr) Variable Function
|
||||
329(u32): 38(ptr) Variable Function
|
||||
401(i8v4): 400(ptr) Variable Function
|
||||
404(i16v2): 102(ptr) Variable Function
|
||||
409(u8v4): 408(ptr) Variable Function
|
||||
412(u16v2): 131(ptr) Variable Function
|
||||
415(i64): 226(ptr) Variable Function
|
||||
418(u32v2): 50(ptr) Variable Function
|
||||
420(u64): 419(ptr) Variable Function
|
||||
424(bv): 423(ptr) Variable Function
|
||||
315: 52(ivec2) Load 314(i32v)
|
||||
316: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 315
|
||||
Store 314(i32v) 316
|
||||
318: 18(int) Load 317(i32)
|
||||
319: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 318
|
||||
Store 317(i32) 319
|
||||
320: 52(ivec2) Load 314(i32v)
|
||||
321: 18(int) Load 317(i32)
|
||||
322: 52(ivec2) CompositeConstruct 321 321
|
||||
323: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 320 322
|
||||
Store 314(i32v) 323
|
||||
324: 52(ivec2) Load 314(i32v)
|
||||
326: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 324 325
|
||||
Store 314(i32v) 326
|
||||
328: 184(ivec3) Load 327(u32v)
|
||||
330: 14(int) Load 329(u32)
|
||||
331: 184(ivec3) CompositeConstruct 330 330 330
|
||||
332: 184(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 328 331
|
||||
Store 327(u32v) 332
|
||||
333: 184(ivec3) Load 327(u32v)
|
||||
335: 184(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 333 334
|
||||
Store 327(u32v) 335
|
||||
336: 52(ivec2) Load 314(i32v)
|
||||
337: 18(int) Load 317(i32)
|
||||
338: 52(ivec2) CompositeConstruct 337 337
|
||||
339: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 336 338
|
||||
Store 314(i32v) 339
|
||||
340: 52(ivec2) Load 314(i32v)
|
||||
341: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 340 325
|
||||
Store 314(i32v) 341
|
||||
342: 184(ivec3) Load 327(u32v)
|
||||
343: 14(int) Load 329(u32)
|
||||
344: 184(ivec3) CompositeConstruct 343 343 343
|
||||
345: 184(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 342 344
|
||||
Store 327(u32v) 345
|
||||
346: 184(ivec3) Load 327(u32v)
|
||||
347: 184(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 346 334
|
||||
Store 327(u32v) 347
|
||||
348: 52(ivec2) Load 314(i32v)
|
||||
349: 18(int) Load 317(i32)
|
||||
350: 18(int) SNegate 349
|
||||
351: 18(int) Load 317(i32)
|
||||
352: 52(ivec2) CompositeConstruct 350 350
|
||||
353: 52(ivec2) CompositeConstruct 351 351
|
||||
354: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 348 352 353
|
||||
Store 314(i32v) 354
|
||||
355: 52(ivec2) Load 314(i32v)
|
||||
356: 52(ivec2) Load 314(i32v)
|
||||
357: 52(ivec2) SNegate 356
|
||||
358: 52(ivec2) Load 314(i32v)
|
||||
359: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 355 357 358
|
||||
Store 314(i32v) 359
|
||||
360: 184(ivec3) Load 327(u32v)
|
||||
361: 14(int) Load 329(u32)
|
||||
362: 14(int) SNegate 361
|
||||
363: 14(int) Load 329(u32)
|
||||
364: 184(ivec3) CompositeConstruct 362 362 362
|
||||
365: 184(ivec3) CompositeConstruct 363 363 363
|
||||
366: 184(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 360 364 365
|
||||
Store 327(u32v) 366
|
||||
367: 184(ivec3) Load 327(u32v)
|
||||
368: 184(ivec3) Load 327(u32v)
|
||||
369: 184(ivec3) SNegate 368
|
||||
370: 184(ivec3) Load 327(u32v)
|
||||
371: 184(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 367 369 370
|
||||
Store 327(u32v) 371
|
||||
372: 19(ptr) AccessChain 314(i32v) 175
|
||||
312(i32v): 53(ptr) Variable Function
|
||||
315(i32): 19(ptr) Variable Function
|
||||
325(u32v): 185(ptr) Variable Function
|
||||
327(u32): 38(ptr) Variable Function
|
||||
399(i8v4): 398(ptr) Variable Function
|
||||
402(i16v2): 102(ptr) Variable Function
|
||||
407(u8v4): 406(ptr) Variable Function
|
||||
410(u16v2): 131(ptr) Variable Function
|
||||
413(i64): 226(ptr) Variable Function
|
||||
416(u32v2): 50(ptr) Variable Function
|
||||
418(u64): 417(ptr) Variable Function
|
||||
422(bv): 421(ptr) Variable Function
|
||||
313: 52(ivec2) Load 312(i32v)
|
||||
314: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 313
|
||||
Store 312(i32v) 314
|
||||
316: 18(int) Load 315(i32)
|
||||
317: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 316
|
||||
Store 315(i32) 317
|
||||
318: 52(ivec2) Load 312(i32v)
|
||||
319: 18(int) Load 315(i32)
|
||||
320: 52(ivec2) CompositeConstruct 319 319
|
||||
321: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 318 320
|
||||
Store 312(i32v) 321
|
||||
322: 52(ivec2) Load 312(i32v)
|
||||
324: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 322 323
|
||||
Store 312(i32v) 324
|
||||
326: 184(ivec3) Load 325(u32v)
|
||||
328: 14(int) Load 327(u32)
|
||||
329: 184(ivec3) CompositeConstruct 328 328 328
|
||||
330: 184(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 326 329
|
||||
Store 325(u32v) 330
|
||||
331: 184(ivec3) Load 325(u32v)
|
||||
333: 184(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 331 332
|
||||
Store 325(u32v) 333
|
||||
334: 52(ivec2) Load 312(i32v)
|
||||
335: 18(int) Load 315(i32)
|
||||
336: 52(ivec2) CompositeConstruct 335 335
|
||||
337: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 334 336
|
||||
Store 312(i32v) 337
|
||||
338: 52(ivec2) Load 312(i32v)
|
||||
339: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 338 323
|
||||
Store 312(i32v) 339
|
||||
340: 184(ivec3) Load 325(u32v)
|
||||
341: 14(int) Load 327(u32)
|
||||
342: 184(ivec3) CompositeConstruct 341 341 341
|
||||
343: 184(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 340 342
|
||||
Store 325(u32v) 343
|
||||
344: 184(ivec3) Load 325(u32v)
|
||||
345: 184(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 344 332
|
||||
Store 325(u32v) 345
|
||||
346: 52(ivec2) Load 312(i32v)
|
||||
347: 18(int) Load 315(i32)
|
||||
348: 18(int) SNegate 347
|
||||
349: 18(int) Load 315(i32)
|
||||
350: 52(ivec2) CompositeConstruct 348 348
|
||||
351: 52(ivec2) CompositeConstruct 349 349
|
||||
352: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 346 350 351
|
||||
Store 312(i32v) 352
|
||||
353: 52(ivec2) Load 312(i32v)
|
||||
354: 52(ivec2) Load 312(i32v)
|
||||
355: 52(ivec2) SNegate 354
|
||||
356: 52(ivec2) Load 312(i32v)
|
||||
357: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 353 355 356
|
||||
Store 312(i32v) 357
|
||||
358: 184(ivec3) Load 325(u32v)
|
||||
359: 14(int) Load 327(u32)
|
||||
360: 14(int) SNegate 359
|
||||
361: 14(int) Load 327(u32)
|
||||
362: 184(ivec3) CompositeConstruct 360 360 360
|
||||
363: 184(ivec3) CompositeConstruct 361 361 361
|
||||
364: 184(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 358 362 363
|
||||
Store 325(u32v) 364
|
||||
365: 184(ivec3) Load 325(u32v)
|
||||
366: 184(ivec3) Load 325(u32v)
|
||||
367: 184(ivec3) SNegate 366
|
||||
368: 184(ivec3) Load 325(u32v)
|
||||
369: 184(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 365 367 368
|
||||
Store 325(u32v) 369
|
||||
370: 19(ptr) AccessChain 312(i32v) 175
|
||||
371: 18(int) Load 370
|
||||
372: 19(ptr) AccessChain 312(i32v) 176
|
||||
373: 18(int) Load 372
|
||||
374: 19(ptr) AccessChain 314(i32v) 176
|
||||
375: 18(int) Load 374
|
||||
377: 18(int) Select 376 375 373
|
||||
Store 317(i32) 377
|
||||
378: 18(int) Load 317(i32)
|
||||
379: 52(ivec2) CompositeConstruct 378 378
|
||||
380: 18(int) Load 317(i32)
|
||||
381: 18(int) SNegate 380
|
||||
382: 52(ivec2) CompositeConstruct 381 381
|
||||
385: 52(ivec2) Select 384 382 379
|
||||
Store 314(i32v) 385
|
||||
386: 38(ptr) AccessChain 327(u32v) 175
|
||||
375: 18(int) Select 374 373 371
|
||||
Store 315(i32) 375
|
||||
376: 18(int) Load 315(i32)
|
||||
377: 52(ivec2) CompositeConstruct 376 376
|
||||
378: 18(int) Load 315(i32)
|
||||
379: 18(int) SNegate 378
|
||||
380: 52(ivec2) CompositeConstruct 379 379
|
||||
383: 52(ivec2) Select 382 380 377
|
||||
Store 312(i32v) 383
|
||||
384: 38(ptr) AccessChain 325(u32v) 175
|
||||
385: 14(int) Load 384
|
||||
386: 38(ptr) AccessChain 325(u32v) 176
|
||||
387: 14(int) Load 386
|
||||
388: 38(ptr) AccessChain 327(u32v) 176
|
||||
389: 14(int) Load 388
|
||||
390: 14(int) Select 376 389 387
|
||||
Store 329(u32) 390
|
||||
391: 14(int) Load 329(u32)
|
||||
392: 184(ivec3) CompositeConstruct 391 391 391
|
||||
393: 14(int) Load 329(u32)
|
||||
394: 14(int) SNegate 393
|
||||
395: 184(ivec3) CompositeConstruct 394 394 394
|
||||
398: 184(ivec3) Select 397 395 392
|
||||
Store 327(u32v) 398
|
||||
402: 399(ivec4) Load 401(i8v4)
|
||||
403: 18(int) Bitcast 402
|
||||
Store 317(i32) 403
|
||||
405: 101(ivec2) Load 404(i16v2)
|
||||
406: 18(int) Bitcast 405
|
||||
Store 317(i32) 406
|
||||
410: 407(ivec4) Load 409(u8v4)
|
||||
411: 14(int) Bitcast 410
|
||||
Store 329(u32) 411
|
||||
413: 130(ivec2) Load 412(u16v2)
|
||||
414: 14(int) Bitcast 413
|
||||
Store 329(u32) 414
|
||||
416: 57(int) Load 415(i64)
|
||||
417: 52(ivec2) Bitcast 416
|
||||
Store 314(i32v) 417
|
||||
421: 63(int) Load 420(u64)
|
||||
422: 49(ivec2) Bitcast 421
|
||||
Store 418(u32v2) 422
|
||||
425: 184(ivec3) Load 327(u32v)
|
||||
426: 14(int) Load 329(u32)
|
||||
427: 184(ivec3) CompositeConstruct 426 426 426
|
||||
428: 396(bvec3) ULessThan 425 427
|
||||
Store 424(bv) 428
|
||||
429: 52(ivec2) Load 314(i32v)
|
||||
430: 18(int) Load 317(i32)
|
||||
431: 52(ivec2) CompositeConstruct 430 430
|
||||
432: 166(bvec2) SLessThan 429 431
|
||||
433: 396(bvec3) Load 424(bv)
|
||||
434: 396(bvec3) VectorShuffle 433 432 3 4 2
|
||||
Store 424(bv) 434
|
||||
435: 184(ivec3) Load 327(u32v)
|
||||
436: 14(int) Load 329(u32)
|
||||
437: 184(ivec3) CompositeConstruct 436 436 436
|
||||
438: 396(bvec3) ULessThanEqual 435 437
|
||||
Store 424(bv) 438
|
||||
439: 52(ivec2) Load 314(i32v)
|
||||
440: 18(int) Load 317(i32)
|
||||
441: 52(ivec2) CompositeConstruct 440 440
|
||||
442: 166(bvec2) SLessThanEqual 439 441
|
||||
443: 396(bvec3) Load 424(bv)
|
||||
444: 396(bvec3) VectorShuffle 443 442 3 4 2
|
||||
Store 424(bv) 444
|
||||
445: 184(ivec3) Load 327(u32v)
|
||||
446: 14(int) Load 329(u32)
|
||||
447: 184(ivec3) CompositeConstruct 446 446 446
|
||||
448: 396(bvec3) UGreaterThan 445 447
|
||||
Store 424(bv) 448
|
||||
449: 52(ivec2) Load 314(i32v)
|
||||
450: 18(int) Load 317(i32)
|
||||
451: 52(ivec2) CompositeConstruct 450 450
|
||||
452: 166(bvec2) SGreaterThan 449 451
|
||||
453: 396(bvec3) Load 424(bv)
|
||||
454: 396(bvec3) VectorShuffle 453 452 3 4 2
|
||||
Store 424(bv) 454
|
||||
455: 184(ivec3) Load 327(u32v)
|
||||
456: 14(int) Load 329(u32)
|
||||
457: 184(ivec3) CompositeConstruct 456 456 456
|
||||
458: 396(bvec3) UGreaterThanEqual 455 457
|
||||
Store 424(bv) 458
|
||||
459: 52(ivec2) Load 314(i32v)
|
||||
460: 18(int) Load 317(i32)
|
||||
461: 52(ivec2) CompositeConstruct 460 460
|
||||
462: 166(bvec2) SGreaterThanEqual 459 461
|
||||
463: 396(bvec3) Load 424(bv)
|
||||
464: 396(bvec3) VectorShuffle 463 462 3 4 2
|
||||
Store 424(bv) 464
|
||||
465: 184(ivec3) Load 327(u32v)
|
||||
466: 14(int) Load 329(u32)
|
||||
467: 184(ivec3) CompositeConstruct 466 466 466
|
||||
468: 396(bvec3) IEqual 465 467
|
||||
Store 424(bv) 468
|
||||
469: 52(ivec2) Load 314(i32v)
|
||||
470: 18(int) Load 317(i32)
|
||||
471: 52(ivec2) CompositeConstruct 470 470
|
||||
472: 166(bvec2) IEqual 469 471
|
||||
473: 396(bvec3) Load 424(bv)
|
||||
474: 396(bvec3) VectorShuffle 473 472 3 4 2
|
||||
Store 424(bv) 474
|
||||
475: 184(ivec3) Load 327(u32v)
|
||||
476: 14(int) Load 329(u32)
|
||||
477: 184(ivec3) CompositeConstruct 476 476 476
|
||||
478: 396(bvec3) INotEqual 475 477
|
||||
Store 424(bv) 478
|
||||
479: 52(ivec2) Load 314(i32v)
|
||||
480: 18(int) Load 317(i32)
|
||||
481: 52(ivec2) CompositeConstruct 480 480
|
||||
482: 166(bvec2) INotEqual 479 481
|
||||
483: 396(bvec3) Load 424(bv)
|
||||
484: 396(bvec3) VectorShuffle 483 482 3 4 2
|
||||
Store 424(bv) 484
|
||||
388: 14(int) Select 374 387 385
|
||||
Store 327(u32) 388
|
||||
389: 14(int) Load 327(u32)
|
||||
390: 184(ivec3) CompositeConstruct 389 389 389
|
||||
391: 14(int) Load 327(u32)
|
||||
392: 14(int) SNegate 391
|
||||
393: 184(ivec3) CompositeConstruct 392 392 392
|
||||
396: 184(ivec3) Select 395 393 390
|
||||
Store 325(u32v) 396
|
||||
400: 397(ivec4) Load 399(i8v4)
|
||||
401: 18(int) Bitcast 400
|
||||
Store 315(i32) 401
|
||||
403: 101(ivec2) Load 402(i16v2)
|
||||
404: 18(int) Bitcast 403
|
||||
Store 315(i32) 404
|
||||
408: 405(ivec4) Load 407(u8v4)
|
||||
409: 14(int) Bitcast 408
|
||||
Store 327(u32) 409
|
||||
411: 130(ivec2) Load 410(u16v2)
|
||||
412: 14(int) Bitcast 411
|
||||
Store 327(u32) 412
|
||||
414: 57(int) Load 413(i64)
|
||||
415: 52(ivec2) Bitcast 414
|
||||
Store 312(i32v) 415
|
||||
419: 63(int) Load 418(u64)
|
||||
420: 49(ivec2) Bitcast 419
|
||||
Store 416(u32v2) 420
|
||||
423: 184(ivec3) Load 325(u32v)
|
||||
424: 14(int) Load 327(u32)
|
||||
425: 184(ivec3) CompositeConstruct 424 424 424
|
||||
426: 394(bvec3) ULessThan 423 425
|
||||
Store 422(bv) 426
|
||||
427: 52(ivec2) Load 312(i32v)
|
||||
428: 18(int) Load 315(i32)
|
||||
429: 52(ivec2) CompositeConstruct 428 428
|
||||
430: 166(bvec2) SLessThan 427 429
|
||||
431: 394(bvec3) Load 422(bv)
|
||||
432: 394(bvec3) VectorShuffle 431 430 3 4 2
|
||||
Store 422(bv) 432
|
||||
433: 184(ivec3) Load 325(u32v)
|
||||
434: 14(int) Load 327(u32)
|
||||
435: 184(ivec3) CompositeConstruct 434 434 434
|
||||
436: 394(bvec3) ULessThanEqual 433 435
|
||||
Store 422(bv) 436
|
||||
437: 52(ivec2) Load 312(i32v)
|
||||
438: 18(int) Load 315(i32)
|
||||
439: 52(ivec2) CompositeConstruct 438 438
|
||||
440: 166(bvec2) SLessThanEqual 437 439
|
||||
441: 394(bvec3) Load 422(bv)
|
||||
442: 394(bvec3) VectorShuffle 441 440 3 4 2
|
||||
Store 422(bv) 442
|
||||
443: 184(ivec3) Load 325(u32v)
|
||||
444: 14(int) Load 327(u32)
|
||||
445: 184(ivec3) CompositeConstruct 444 444 444
|
||||
446: 394(bvec3) UGreaterThan 443 445
|
||||
Store 422(bv) 446
|
||||
447: 52(ivec2) Load 312(i32v)
|
||||
448: 18(int) Load 315(i32)
|
||||
449: 52(ivec2) CompositeConstruct 448 448
|
||||
450: 166(bvec2) SGreaterThan 447 449
|
||||
451: 394(bvec3) Load 422(bv)
|
||||
452: 394(bvec3) VectorShuffle 451 450 3 4 2
|
||||
Store 422(bv) 452
|
||||
453: 184(ivec3) Load 325(u32v)
|
||||
454: 14(int) Load 327(u32)
|
||||
455: 184(ivec3) CompositeConstruct 454 454 454
|
||||
456: 394(bvec3) UGreaterThanEqual 453 455
|
||||
Store 422(bv) 456
|
||||
457: 52(ivec2) Load 312(i32v)
|
||||
458: 18(int) Load 315(i32)
|
||||
459: 52(ivec2) CompositeConstruct 458 458
|
||||
460: 166(bvec2) SGreaterThanEqual 457 459
|
||||
461: 394(bvec3) Load 422(bv)
|
||||
462: 394(bvec3) VectorShuffle 461 460 3 4 2
|
||||
Store 422(bv) 462
|
||||
463: 184(ivec3) Load 325(u32v)
|
||||
464: 14(int) Load 327(u32)
|
||||
465: 184(ivec3) CompositeConstruct 464 464 464
|
||||
466: 394(bvec3) IEqual 463 465
|
||||
Store 422(bv) 466
|
||||
467: 52(ivec2) Load 312(i32v)
|
||||
468: 18(int) Load 315(i32)
|
||||
469: 52(ivec2) CompositeConstruct 468 468
|
||||
470: 166(bvec2) IEqual 467 469
|
||||
471: 394(bvec3) Load 422(bv)
|
||||
472: 394(bvec3) VectorShuffle 471 470 3 4 2
|
||||
Store 422(bv) 472
|
||||
473: 184(ivec3) Load 325(u32v)
|
||||
474: 14(int) Load 327(u32)
|
||||
475: 184(ivec3) CompositeConstruct 474 474 474
|
||||
476: 394(bvec3) INotEqual 473 475
|
||||
Store 422(bv) 476
|
||||
477: 52(ivec2) Load 312(i32v)
|
||||
478: 18(int) Load 315(i32)
|
||||
479: 52(ivec2) CompositeConstruct 478 478
|
||||
480: 166(bvec2) INotEqual 477 479
|
||||
481: 394(bvec3) Load 422(bv)
|
||||
482: 394(bvec3) VectorShuffle 481 480 3 4 2
|
||||
Store 422(bv) 482
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -1,7 +1,7 @@
|
||||
spv.int64.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 483
|
||||
// Id's are bound by 488
|
||||
|
||||
Capability Shader
|
||||
Capability Float64
|
||||
@ -37,38 +37,38 @@ spv.int64.frag
|
||||
Name 139 "i64"
|
||||
Name 159 "i"
|
||||
Name 166 "uv"
|
||||
Name 221 "b"
|
||||
Name 281 "i64v"
|
||||
Name 284 "i64"
|
||||
Name 294 "u64v"
|
||||
Name 296 "u64"
|
||||
Name 368 "dv"
|
||||
Name 387 "iv"
|
||||
Name 392 "uv"
|
||||
Name 396 "bv"
|
||||
Name 457 "Block"
|
||||
MemberName 457(Block) 0 "i64v"
|
||||
MemberName 457(Block) 1 "u64"
|
||||
Name 459 "block"
|
||||
Name 460 "si64"
|
||||
Name 461 "su64"
|
||||
Name 462 "si"
|
||||
Name 463 "su"
|
||||
Name 464 "sb"
|
||||
Name 226 "b"
|
||||
Name 286 "i64v"
|
||||
Name 289 "i64"
|
||||
Name 299 "u64v"
|
||||
Name 301 "u64"
|
||||
Name 373 "dv"
|
||||
Name 392 "iv"
|
||||
Name 397 "uv"
|
||||
Name 401 "bv"
|
||||
Name 462 "Block"
|
||||
MemberName 462(Block) 0 "i64v"
|
||||
MemberName 462(Block) 1 "u64"
|
||||
Name 464 "block"
|
||||
Name 465 "si64"
|
||||
Name 466 "su64"
|
||||
Name 467 "si"
|
||||
Name 468 "su"
|
||||
Name 469 "sb"
|
||||
MemberDecorate 28(Uniforms) 0 Offset 0
|
||||
Decorate 28(Uniforms) Block
|
||||
Decorate 30 DescriptorSet 0
|
||||
Decorate 30 Binding 0
|
||||
MemberDecorate 457(Block) 0 Offset 0
|
||||
MemberDecorate 457(Block) 1 Offset 24
|
||||
Decorate 457(Block) Block
|
||||
Decorate 459(block) DescriptorSet 0
|
||||
Decorate 459(block) Binding 1
|
||||
Decorate 460(si64) SpecId 100
|
||||
Decorate 461(su64) SpecId 101
|
||||
Decorate 462(si) SpecId 102
|
||||
Decorate 463(su) SpecId 103
|
||||
Decorate 464(sb) SpecId 104
|
||||
MemberDecorate 462(Block) 0 Offset 0
|
||||
MemberDecorate 462(Block) 1 Offset 24
|
||||
Decorate 462(Block) Block
|
||||
Decorate 464(block) DescriptorSet 0
|
||||
Decorate 464(block) Binding 1
|
||||
Decorate 465(si64) SpecId 100
|
||||
Decorate 466(su64) SpecId 101
|
||||
Decorate 467(si) SpecId 102
|
||||
Decorate 468(su) SpecId 103
|
||||
Decorate 469(sb) SpecId 104
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
14: TypeInt 64 0
|
||||
@ -128,52 +128,53 @@ spv.int64.frag
|
||||
158: TypePointer Function 31(int)
|
||||
164: TypeVector 21(int) 3
|
||||
165: TypePointer Function 164(ivec3)
|
||||
199: TypeVector 31(int) 3
|
||||
203: 21(int) Constant 1
|
||||
204: TypePointer Function 21(int)
|
||||
212: 21(int) Constant 2
|
||||
220: TypePointer Function 55(bool)
|
||||
222: 21(int) Constant 0
|
||||
292: 52(ivec2) ConstantComposite 25 25
|
||||
301: 132(ivec3) ConstantComposite 69 69 69
|
||||
343: 55(bool) ConstantTrue
|
||||
350: 55(bool) ConstantFalse
|
||||
351: 56(bvec2) ConstantComposite 350 350
|
||||
363: TypeVector 55(bool) 3
|
||||
364: 363(bvec3) ConstantComposite 350 350 350
|
||||
366: TypeVector 94(float) 3
|
||||
367: TypePointer Function 366(fvec3)
|
||||
372: TypePointer Function 94(float)
|
||||
383: 31(int) Constant 1
|
||||
384: 31(int) Constant 2
|
||||
385: 74(ivec2) ConstantComposite 383 384
|
||||
390: 81(ivec2) ConstantComposite 212 22
|
||||
395: TypePointer Function 363(bvec3)
|
||||
457(Block): TypeStruct 136(ivec3) 14(int)
|
||||
458: TypePointer Uniform 457(Block)
|
||||
459(block): 458(ptr) Variable Uniform
|
||||
460(si64): 18(int) SpecConstant 4294967286 4294967295
|
||||
461(su64): 14(int) SpecConstant 20 0
|
||||
462(si): 31(int) SpecConstant 4294967291
|
||||
463(su): 21(int) SpecConstant 4
|
||||
464(sb): 55(bool) SpecConstantTrue
|
||||
465: 55(bool) SpecConstantOp 171 460(si64) 69
|
||||
466: 55(bool) SpecConstantOp 171 461(su64) 69
|
||||
467: 18(int) SpecConstantOp 169 464(sb) 61 60
|
||||
468: 14(int) SpecConstantOp 169 464(sb) 70 69
|
||||
469: 31(int) SpecConstantOp 114 460(si64)
|
||||
470: 18(int) SpecConstantOp 114 462(si)
|
||||
471: 21(int) SpecConstantOp 113 461(su64)
|
||||
472: 14(int) SpecConstantOp 113 463(su)
|
||||
473: 18(int) SpecConstantOp 128 461(su64) 69
|
||||
474: 14(int) SpecConstantOp 128 460(si64) 69
|
||||
475: 31(int) SpecConstantOp 113 461(su64)
|
||||
476: 31(int) SpecConstantOp 128 475 222
|
||||
477: 18(int) SpecConstantOp 114 462(si)
|
||||
478: 14(int) SpecConstantOp 128 477 69
|
||||
479: 31(int) SpecConstantOp 114 460(si64)
|
||||
480: 21(int) SpecConstantOp 128 479 222
|
||||
481: 18(int) SpecConstantOp 113 463(su)
|
||||
482: 18(int) SpecConstantOp 128 481 69
|
||||
217: 21(int) Constant 2
|
||||
225: TypePointer Function 55(bool)
|
||||
227: 21(int) Constant 0
|
||||
297: 52(ivec2) ConstantComposite 25 25
|
||||
306: 132(ivec3) ConstantComposite 69 69 69
|
||||
348: 55(bool) ConstantTrue
|
||||
355: 55(bool) ConstantFalse
|
||||
356: 56(bvec2) ConstantComposite 355 355
|
||||
368: TypeVector 55(bool) 3
|
||||
369: 368(bvec3) ConstantComposite 355 355 355
|
||||
371: TypeVector 94(float) 3
|
||||
372: TypePointer Function 371(fvec3)
|
||||
377: TypePointer Function 94(float)
|
||||
388: 31(int) Constant 1
|
||||
389: 31(int) Constant 2
|
||||
390: 74(ivec2) ConstantComposite 388 389
|
||||
395: 81(ivec2) ConstantComposite 217 22
|
||||
400: TypePointer Function 368(bvec3)
|
||||
462(Block): TypeStruct 136(ivec3) 14(int)
|
||||
463: TypePointer Uniform 462(Block)
|
||||
464(block): 463(ptr) Variable Uniform
|
||||
465(si64): 18(int) SpecConstant 4294967286 4294967295
|
||||
466(su64): 14(int) SpecConstant 20 0
|
||||
467(si): 31(int) SpecConstant 4294967291
|
||||
468(su): 21(int) SpecConstant 4
|
||||
469(sb): 55(bool) SpecConstantTrue
|
||||
470: 55(bool) SpecConstantOp 171 465(si64) 69
|
||||
471: 55(bool) SpecConstantOp 171 466(su64) 69
|
||||
472: 18(int) SpecConstantOp 169 469(sb) 61 60
|
||||
473: 14(int) SpecConstantOp 169 469(sb) 70 69
|
||||
474: 31(int) SpecConstantOp 114 465(si64)
|
||||
475: 18(int) SpecConstantOp 114 467(si)
|
||||
476: 21(int) SpecConstantOp 113 466(su64)
|
||||
477: 14(int) SpecConstantOp 113 468(su)
|
||||
478: 18(int) SpecConstantOp 128 466(su64) 69
|
||||
479: 14(int) SpecConstantOp 128 465(si64) 69
|
||||
480: 31(int) SpecConstantOp 113 466(su64)
|
||||
481: 31(int) SpecConstantOp 128 480 227
|
||||
482: 18(int) SpecConstantOp 114 467(si)
|
||||
483: 14(int) SpecConstantOp 128 482 69
|
||||
484: 31(int) SpecConstantOp 114 465(si64)
|
||||
485: 21(int) SpecConstantOp 128 484 227
|
||||
486: 18(int) SpecConstantOp 113 468(su)
|
||||
487: 18(int) SpecConstantOp 128 486 69
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Store 16(u64Max) 17
|
||||
@ -286,7 +287,7 @@ spv.int64.frag
|
||||
139(i64): 19(ptr) Variable Function
|
||||
159(i): 158(ptr) Variable Function
|
||||
166(uv): 165(ptr) Variable Function
|
||||
221(b): 220(ptr) Variable Function
|
||||
226(b): 225(ptr) Variable Function
|
||||
135: 132(ivec3) Load 134(u64v)
|
||||
137: 136(ivec3) CompositeConstruct 61 61 61
|
||||
138: 132(ivec3) IAdd 135 137
|
||||
@ -359,302 +360,308 @@ spv.int64.frag
|
||||
195: 18(int) SConvert 194
|
||||
196: 18(int) SMod 193 195
|
||||
Store 139(i64) 196
|
||||
197: 31(int) Load 159(i)
|
||||
198: 18(int) SConvert 197
|
||||
199: 14(int) Bitcast 198
|
||||
200: 132(ivec3) Load 134(u64v)
|
||||
201: 132(ivec3) CompositeConstruct 199 199 199
|
||||
202: 132(ivec3) ShiftLeftLogical 200 201
|
||||
Store 134(u64v) 202
|
||||
197: 132(ivec3) Load 134(u64v)
|
||||
198: 31(int) Load 159(i)
|
||||
200: 199(ivec3) CompositeConstruct 198 198 198
|
||||
201: 132(ivec3) ShiftLeftLogical 197 200
|
||||
Store 134(u64v) 201
|
||||
202: 18(int) Load 139(i64)
|
||||
205: 204(ptr) AccessChain 166(uv) 203
|
||||
206: 21(int) Load 205
|
||||
207: 18(int) UConvert 206
|
||||
208: 18(int) Bitcast 207
|
||||
209: 18(int) Load 139(i64)
|
||||
210: 18(int) ShiftRightArithmetic 209 208
|
||||
Store 139(i64) 210
|
||||
211: 18(int) Load 139(i64)
|
||||
213: 40(ptr) AccessChain 134(u64v) 212
|
||||
214: 14(int) Load 213
|
||||
215: 18(int) ShiftLeftLogical 211 214
|
||||
207: 18(int) ShiftRightArithmetic 202 206
|
||||
Store 139(i64) 207
|
||||
208: 31(int) Load 159(i)
|
||||
209: 132(ivec3) Load 134(u64v)
|
||||
210: 199(ivec3) CompositeConstruct 208 208 208
|
||||
211: 132(ivec3) ShiftLeftLogical 209 210
|
||||
Store 134(u64v) 211
|
||||
212: 204(ptr) AccessChain 166(uv) 203
|
||||
213: 21(int) Load 212
|
||||
214: 18(int) Load 139(i64)
|
||||
215: 18(int) ShiftRightArithmetic 214 213
|
||||
Store 139(i64) 215
|
||||
216: 132(ivec3) Load 134(u64v)
|
||||
217: 18(int) Load 139(i64)
|
||||
218: 136(ivec3) CompositeConstruct 217 217 217
|
||||
219: 132(ivec3) ShiftLeftLogical 216 218
|
||||
Store 134(u64v) 219
|
||||
223: 40(ptr) AccessChain 134(u64v) 222
|
||||
224: 14(int) Load 223
|
||||
225: 18(int) Load 139(i64)
|
||||
226: 14(int) Bitcast 225
|
||||
227: 55(bool) INotEqual 224 226
|
||||
Store 221(b) 227
|
||||
228: 18(int) Load 139(i64)
|
||||
229: 14(int) Bitcast 228
|
||||
230: 40(ptr) AccessChain 134(u64v) 222
|
||||
231: 14(int) Load 230
|
||||
232: 55(bool) IEqual 229 231
|
||||
Store 221(b) 232
|
||||
233: 40(ptr) AccessChain 134(u64v) 222
|
||||
234: 14(int) Load 233
|
||||
235: 204(ptr) AccessChain 166(uv) 203
|
||||
236: 21(int) Load 235
|
||||
237: 14(int) UConvert 236
|
||||
238: 55(bool) UGreaterThan 234 237
|
||||
Store 221(b) 238
|
||||
239: 18(int) Load 139(i64)
|
||||
240: 31(int) Load 159(i)
|
||||
241: 18(int) SConvert 240
|
||||
242: 55(bool) SLessThan 239 241
|
||||
Store 221(b) 242
|
||||
243: 40(ptr) AccessChain 134(u64v) 203
|
||||
244: 14(int) Load 243
|
||||
245: 204(ptr) AccessChain 166(uv) 222
|
||||
246: 21(int) Load 245
|
||||
247: 14(int) UConvert 246
|
||||
248: 55(bool) UGreaterThanEqual 244 247
|
||||
Store 221(b) 248
|
||||
249: 18(int) Load 139(i64)
|
||||
250: 31(int) Load 159(i)
|
||||
251: 18(int) SConvert 250
|
||||
252: 55(bool) SLessThanEqual 249 251
|
||||
Store 221(b) 252
|
||||
253: 31(int) Load 159(i)
|
||||
254: 18(int) SConvert 253
|
||||
255: 14(int) Bitcast 254
|
||||
256: 132(ivec3) Load 134(u64v)
|
||||
257: 132(ivec3) CompositeConstruct 255 255 255
|
||||
258: 132(ivec3) BitwiseOr 256 257
|
||||
Store 134(u64v) 258
|
||||
259: 18(int) Load 139(i64)
|
||||
260: 31(int) Load 159(i)
|
||||
261: 18(int) SConvert 260
|
||||
262: 18(int) BitwiseOr 259 261
|
||||
Store 139(i64) 262
|
||||
263: 31(int) Load 159(i)
|
||||
264: 18(int) SConvert 263
|
||||
265: 18(int) Load 139(i64)
|
||||
266: 18(int) BitwiseAnd 265 264
|
||||
Store 139(i64) 266
|
||||
267: 132(ivec3) Load 134(u64v)
|
||||
268: 164(ivec3) Load 166(uv)
|
||||
269: 132(ivec3) UConvert 268
|
||||
270: 132(ivec3) BitwiseAnd 267 269
|
||||
Store 134(u64v) 270
|
||||
271: 18(int) Load 139(i64)
|
||||
272: 14(int) Bitcast 271
|
||||
273: 132(ivec3) Load 134(u64v)
|
||||
274: 132(ivec3) CompositeConstruct 272 272 272
|
||||
275: 132(ivec3) BitwiseXor 273 274
|
||||
216: 18(int) Load 139(i64)
|
||||
218: 40(ptr) AccessChain 134(u64v) 217
|
||||
219: 14(int) Load 218
|
||||
220: 18(int) ShiftLeftLogical 216 219
|
||||
Store 139(i64) 220
|
||||
221: 132(ivec3) Load 134(u64v)
|
||||
222: 18(int) Load 139(i64)
|
||||
223: 136(ivec3) CompositeConstruct 222 222 222
|
||||
224: 132(ivec3) ShiftLeftLogical 221 223
|
||||
Store 134(u64v) 224
|
||||
228: 40(ptr) AccessChain 134(u64v) 227
|
||||
229: 14(int) Load 228
|
||||
230: 18(int) Load 139(i64)
|
||||
231: 14(int) Bitcast 230
|
||||
232: 55(bool) INotEqual 229 231
|
||||
Store 226(b) 232
|
||||
233: 18(int) Load 139(i64)
|
||||
234: 14(int) Bitcast 233
|
||||
235: 40(ptr) AccessChain 134(u64v) 227
|
||||
236: 14(int) Load 235
|
||||
237: 55(bool) IEqual 234 236
|
||||
Store 226(b) 237
|
||||
238: 40(ptr) AccessChain 134(u64v) 227
|
||||
239: 14(int) Load 238
|
||||
240: 204(ptr) AccessChain 166(uv) 203
|
||||
241: 21(int) Load 240
|
||||
242: 14(int) UConvert 241
|
||||
243: 55(bool) UGreaterThan 239 242
|
||||
Store 226(b) 243
|
||||
244: 18(int) Load 139(i64)
|
||||
245: 31(int) Load 159(i)
|
||||
246: 18(int) SConvert 245
|
||||
247: 55(bool) SLessThan 244 246
|
||||
Store 226(b) 247
|
||||
248: 40(ptr) AccessChain 134(u64v) 203
|
||||
249: 14(int) Load 248
|
||||
250: 204(ptr) AccessChain 166(uv) 227
|
||||
251: 21(int) Load 250
|
||||
252: 14(int) UConvert 251
|
||||
253: 55(bool) UGreaterThanEqual 249 252
|
||||
Store 226(b) 253
|
||||
254: 18(int) Load 139(i64)
|
||||
255: 31(int) Load 159(i)
|
||||
256: 18(int) SConvert 255
|
||||
257: 55(bool) SLessThanEqual 254 256
|
||||
Store 226(b) 257
|
||||
258: 31(int) Load 159(i)
|
||||
259: 18(int) SConvert 258
|
||||
260: 14(int) Bitcast 259
|
||||
261: 132(ivec3) Load 134(u64v)
|
||||
262: 132(ivec3) CompositeConstruct 260 260 260
|
||||
263: 132(ivec3) BitwiseOr 261 262
|
||||
Store 134(u64v) 263
|
||||
264: 18(int) Load 139(i64)
|
||||
265: 31(int) Load 159(i)
|
||||
266: 18(int) SConvert 265
|
||||
267: 18(int) BitwiseOr 264 266
|
||||
Store 139(i64) 267
|
||||
268: 31(int) Load 159(i)
|
||||
269: 18(int) SConvert 268
|
||||
270: 18(int) Load 139(i64)
|
||||
271: 18(int) BitwiseAnd 270 269
|
||||
Store 139(i64) 271
|
||||
272: 132(ivec3) Load 134(u64v)
|
||||
273: 164(ivec3) Load 166(uv)
|
||||
274: 132(ivec3) UConvert 273
|
||||
275: 132(ivec3) BitwiseAnd 272 274
|
||||
Store 134(u64v) 275
|
||||
276: 132(ivec3) Load 134(u64v)
|
||||
277: 18(int) Load 139(i64)
|
||||
278: 14(int) Bitcast 277
|
||||
279: 132(ivec3) CompositeConstruct 278 278 278
|
||||
280: 132(ivec3) BitwiseXor 276 279
|
||||
276: 18(int) Load 139(i64)
|
||||
277: 14(int) Bitcast 276
|
||||
278: 132(ivec3) Load 134(u64v)
|
||||
279: 132(ivec3) CompositeConstruct 277 277 277
|
||||
280: 132(ivec3) BitwiseXor 278 279
|
||||
Store 134(u64v) 280
|
||||
281: 132(ivec3) Load 134(u64v)
|
||||
282: 18(int) Load 139(i64)
|
||||
283: 14(int) Bitcast 282
|
||||
284: 132(ivec3) CompositeConstruct 283 283 283
|
||||
285: 132(ivec3) BitwiseXor 281 284
|
||||
Store 134(u64v) 285
|
||||
Return
|
||||
FunctionEnd
|
||||
12(builtinFuncs(): 2 Function None 3
|
||||
13: Label
|
||||
281(i64v): 53(ptr) Variable Function
|
||||
284(i64): 19(ptr) Variable Function
|
||||
294(u64v): 133(ptr) Variable Function
|
||||
296(u64): 40(ptr) Variable Function
|
||||
368(dv): 367(ptr) Variable Function
|
||||
387(iv): 75(ptr) Variable Function
|
||||
392(uv): 82(ptr) Variable Function
|
||||
396(bv): 395(ptr) Variable Function
|
||||
282: 52(ivec2) Load 281(i64v)
|
||||
283: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 282
|
||||
Store 281(i64v) 283
|
||||
285: 18(int) Load 284(i64)
|
||||
286: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 285
|
||||
Store 284(i64) 286
|
||||
287: 52(ivec2) Load 281(i64v)
|
||||
288: 18(int) Load 284(i64)
|
||||
289: 52(ivec2) CompositeConstruct 288 288
|
||||
290: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 287 289
|
||||
Store 281(i64v) 290
|
||||
291: 52(ivec2) Load 281(i64v)
|
||||
293: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 291 292
|
||||
Store 281(i64v) 293
|
||||
295: 132(ivec3) Load 294(u64v)
|
||||
297: 14(int) Load 296(u64)
|
||||
298: 132(ivec3) CompositeConstruct 297 297 297
|
||||
299: 132(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 295 298
|
||||
Store 294(u64v) 299
|
||||
300: 132(ivec3) Load 294(u64v)
|
||||
302: 132(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 300 301
|
||||
Store 294(u64v) 302
|
||||
303: 52(ivec2) Load 281(i64v)
|
||||
304: 18(int) Load 284(i64)
|
||||
305: 52(ivec2) CompositeConstruct 304 304
|
||||
306: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 303 305
|
||||
Store 281(i64v) 306
|
||||
307: 52(ivec2) Load 281(i64v)
|
||||
308: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 307 292
|
||||
Store 281(i64v) 308
|
||||
309: 132(ivec3) Load 294(u64v)
|
||||
310: 14(int) Load 296(u64)
|
||||
311: 132(ivec3) CompositeConstruct 310 310 310
|
||||
312: 132(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 309 311
|
||||
Store 294(u64v) 312
|
||||
313: 132(ivec3) Load 294(u64v)
|
||||
314: 132(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 313 301
|
||||
Store 294(u64v) 314
|
||||
315: 52(ivec2) Load 281(i64v)
|
||||
316: 18(int) Load 284(i64)
|
||||
317: 18(int) SNegate 316
|
||||
318: 18(int) Load 284(i64)
|
||||
319: 52(ivec2) CompositeConstruct 317 317
|
||||
320: 52(ivec2) CompositeConstruct 318 318
|
||||
321: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 315 319 320
|
||||
Store 281(i64v) 321
|
||||
322: 52(ivec2) Load 281(i64v)
|
||||
323: 52(ivec2) Load 281(i64v)
|
||||
324: 52(ivec2) SNegate 323
|
||||
325: 52(ivec2) Load 281(i64v)
|
||||
326: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 322 324 325
|
||||
Store 281(i64v) 326
|
||||
327: 132(ivec3) Load 294(u64v)
|
||||
328: 14(int) Load 296(u64)
|
||||
329: 14(int) SNegate 328
|
||||
330: 14(int) Load 296(u64)
|
||||
331: 132(ivec3) CompositeConstruct 329 329 329
|
||||
332: 132(ivec3) CompositeConstruct 330 330 330
|
||||
333: 132(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 327 331 332
|
||||
Store 294(u64v) 333
|
||||
334: 132(ivec3) Load 294(u64v)
|
||||
335: 132(ivec3) Load 294(u64v)
|
||||
336: 132(ivec3) SNegate 335
|
||||
337: 132(ivec3) Load 294(u64v)
|
||||
338: 132(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 334 336 337
|
||||
Store 294(u64v) 338
|
||||
339: 19(ptr) AccessChain 281(i64v) 222
|
||||
340: 18(int) Load 339
|
||||
341: 19(ptr) AccessChain 281(i64v) 203
|
||||
342: 18(int) Load 341
|
||||
344: 18(int) Select 343 342 340
|
||||
Store 284(i64) 344
|
||||
345: 18(int) Load 284(i64)
|
||||
346: 52(ivec2) CompositeConstruct 345 345
|
||||
347: 18(int) Load 284(i64)
|
||||
348: 18(int) SNegate 347
|
||||
349: 52(ivec2) CompositeConstruct 348 348
|
||||
352: 52(ivec2) Select 351 349 346
|
||||
Store 281(i64v) 352
|
||||
353: 40(ptr) AccessChain 294(u64v) 222
|
||||
354: 14(int) Load 353
|
||||
355: 40(ptr) AccessChain 294(u64v) 203
|
||||
356: 14(int) Load 355
|
||||
357: 14(int) Select 343 356 354
|
||||
Store 296(u64) 357
|
||||
358: 14(int) Load 296(u64)
|
||||
359: 132(ivec3) CompositeConstruct 358 358 358
|
||||
360: 14(int) Load 296(u64)
|
||||
361: 14(int) SNegate 360
|
||||
362: 132(ivec3) CompositeConstruct 361 361 361
|
||||
365: 132(ivec3) Select 364 362 359
|
||||
Store 294(u64v) 365
|
||||
369: 366(fvec3) Load 368(dv)
|
||||
370: 95(fvec2) VectorShuffle 369 369 0 1
|
||||
371: 52(ivec2) Bitcast 370
|
||||
Store 281(i64v) 371
|
||||
373: 372(ptr) AccessChain 368(dv) 212
|
||||
374: 94(float) Load 373
|
||||
375: 14(int) Bitcast 374
|
||||
376: 40(ptr) AccessChain 294(u64v) 222
|
||||
Store 376 375
|
||||
377: 52(ivec2) Load 281(i64v)
|
||||
378: 95(fvec2) Bitcast 377
|
||||
379: 366(fvec3) Load 368(dv)
|
||||
380: 366(fvec3) VectorShuffle 379 378 3 4 2
|
||||
Store 368(dv) 380
|
||||
381: 132(ivec3) Load 294(u64v)
|
||||
382: 366(fvec3) Bitcast 381
|
||||
Store 368(dv) 382
|
||||
386: 18(int) Bitcast 385
|
||||
Store 284(i64) 386
|
||||
388: 18(int) Load 284(i64)
|
||||
389: 74(ivec2) Bitcast 388
|
||||
Store 387(iv) 389
|
||||
391: 14(int) Bitcast 390
|
||||
Store 296(u64) 391
|
||||
393: 14(int) Load 296(u64)
|
||||
394: 81(ivec2) Bitcast 393
|
||||
Store 392(uv) 394
|
||||
397: 132(ivec3) Load 294(u64v)
|
||||
398: 14(int) Load 296(u64)
|
||||
399: 132(ivec3) CompositeConstruct 398 398 398
|
||||
400: 363(bvec3) ULessThan 397 399
|
||||
Store 396(bv) 400
|
||||
401: 52(ivec2) Load 281(i64v)
|
||||
402: 18(int) Load 284(i64)
|
||||
403: 52(ivec2) CompositeConstruct 402 402
|
||||
404: 56(bvec2) SLessThan 401 403
|
||||
405: 363(bvec3) Load 396(bv)
|
||||
406: 363(bvec3) VectorShuffle 405 404 3 4 2
|
||||
Store 396(bv) 406
|
||||
407: 132(ivec3) Load 294(u64v)
|
||||
408: 14(int) Load 296(u64)
|
||||
409: 132(ivec3) CompositeConstruct 408 408 408
|
||||
410: 363(bvec3) ULessThanEqual 407 409
|
||||
Store 396(bv) 410
|
||||
411: 52(ivec2) Load 281(i64v)
|
||||
412: 18(int) Load 284(i64)
|
||||
413: 52(ivec2) CompositeConstruct 412 412
|
||||
414: 56(bvec2) SLessThanEqual 411 413
|
||||
415: 363(bvec3) Load 396(bv)
|
||||
416: 363(bvec3) VectorShuffle 415 414 3 4 2
|
||||
Store 396(bv) 416
|
||||
417: 132(ivec3) Load 294(u64v)
|
||||
418: 14(int) Load 296(u64)
|
||||
419: 132(ivec3) CompositeConstruct 418 418 418
|
||||
420: 363(bvec3) UGreaterThan 417 419
|
||||
Store 396(bv) 420
|
||||
421: 52(ivec2) Load 281(i64v)
|
||||
422: 18(int) Load 284(i64)
|
||||
423: 52(ivec2) CompositeConstruct 422 422
|
||||
424: 56(bvec2) SGreaterThan 421 423
|
||||
425: 363(bvec3) Load 396(bv)
|
||||
426: 363(bvec3) VectorShuffle 425 424 3 4 2
|
||||
Store 396(bv) 426
|
||||
427: 132(ivec3) Load 294(u64v)
|
||||
428: 14(int) Load 296(u64)
|
||||
429: 132(ivec3) CompositeConstruct 428 428 428
|
||||
430: 363(bvec3) UGreaterThanEqual 427 429
|
||||
Store 396(bv) 430
|
||||
431: 52(ivec2) Load 281(i64v)
|
||||
432: 18(int) Load 284(i64)
|
||||
433: 52(ivec2) CompositeConstruct 432 432
|
||||
434: 56(bvec2) SGreaterThanEqual 431 433
|
||||
435: 363(bvec3) Load 396(bv)
|
||||
436: 363(bvec3) VectorShuffle 435 434 3 4 2
|
||||
Store 396(bv) 436
|
||||
437: 132(ivec3) Load 294(u64v)
|
||||
438: 14(int) Load 296(u64)
|
||||
439: 132(ivec3) CompositeConstruct 438 438 438
|
||||
440: 363(bvec3) IEqual 437 439
|
||||
Store 396(bv) 440
|
||||
441: 52(ivec2) Load 281(i64v)
|
||||
442: 18(int) Load 284(i64)
|
||||
443: 52(ivec2) CompositeConstruct 442 442
|
||||
444: 56(bvec2) IEqual 441 443
|
||||
445: 363(bvec3) Load 396(bv)
|
||||
446: 363(bvec3) VectorShuffle 445 444 3 4 2
|
||||
Store 396(bv) 446
|
||||
447: 132(ivec3) Load 294(u64v)
|
||||
448: 14(int) Load 296(u64)
|
||||
449: 132(ivec3) CompositeConstruct 448 448 448
|
||||
450: 363(bvec3) INotEqual 447 449
|
||||
Store 396(bv) 450
|
||||
451: 52(ivec2) Load 281(i64v)
|
||||
452: 18(int) Load 284(i64)
|
||||
453: 52(ivec2) CompositeConstruct 452 452
|
||||
454: 56(bvec2) INotEqual 451 453
|
||||
455: 363(bvec3) Load 396(bv)
|
||||
456: 363(bvec3) VectorShuffle 455 454 3 4 2
|
||||
Store 396(bv) 456
|
||||
286(i64v): 53(ptr) Variable Function
|
||||
289(i64): 19(ptr) Variable Function
|
||||
299(u64v): 133(ptr) Variable Function
|
||||
301(u64): 40(ptr) Variable Function
|
||||
373(dv): 372(ptr) Variable Function
|
||||
392(iv): 75(ptr) Variable Function
|
||||
397(uv): 82(ptr) Variable Function
|
||||
401(bv): 400(ptr) Variable Function
|
||||
287: 52(ivec2) Load 286(i64v)
|
||||
288: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 287
|
||||
Store 286(i64v) 288
|
||||
290: 18(int) Load 289(i64)
|
||||
291: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 290
|
||||
Store 289(i64) 291
|
||||
292: 52(ivec2) Load 286(i64v)
|
||||
293: 18(int) Load 289(i64)
|
||||
294: 52(ivec2) CompositeConstruct 293 293
|
||||
295: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 292 294
|
||||
Store 286(i64v) 295
|
||||
296: 52(ivec2) Load 286(i64v)
|
||||
298: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 296 297
|
||||
Store 286(i64v) 298
|
||||
300: 132(ivec3) Load 299(u64v)
|
||||
302: 14(int) Load 301(u64)
|
||||
303: 132(ivec3) CompositeConstruct 302 302 302
|
||||
304: 132(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 300 303
|
||||
Store 299(u64v) 304
|
||||
305: 132(ivec3) Load 299(u64v)
|
||||
307: 132(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 305 306
|
||||
Store 299(u64v) 307
|
||||
308: 52(ivec2) Load 286(i64v)
|
||||
309: 18(int) Load 289(i64)
|
||||
310: 52(ivec2) CompositeConstruct 309 309
|
||||
311: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 308 310
|
||||
Store 286(i64v) 311
|
||||
312: 52(ivec2) Load 286(i64v)
|
||||
313: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 312 297
|
||||
Store 286(i64v) 313
|
||||
314: 132(ivec3) Load 299(u64v)
|
||||
315: 14(int) Load 301(u64)
|
||||
316: 132(ivec3) CompositeConstruct 315 315 315
|
||||
317: 132(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 314 316
|
||||
Store 299(u64v) 317
|
||||
318: 132(ivec3) Load 299(u64v)
|
||||
319: 132(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 318 306
|
||||
Store 299(u64v) 319
|
||||
320: 52(ivec2) Load 286(i64v)
|
||||
321: 18(int) Load 289(i64)
|
||||
322: 18(int) SNegate 321
|
||||
323: 18(int) Load 289(i64)
|
||||
324: 52(ivec2) CompositeConstruct 322 322
|
||||
325: 52(ivec2) CompositeConstruct 323 323
|
||||
326: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 320 324 325
|
||||
Store 286(i64v) 326
|
||||
327: 52(ivec2) Load 286(i64v)
|
||||
328: 52(ivec2) Load 286(i64v)
|
||||
329: 52(ivec2) SNegate 328
|
||||
330: 52(ivec2) Load 286(i64v)
|
||||
331: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 327 329 330
|
||||
Store 286(i64v) 331
|
||||
332: 132(ivec3) Load 299(u64v)
|
||||
333: 14(int) Load 301(u64)
|
||||
334: 14(int) SNegate 333
|
||||
335: 14(int) Load 301(u64)
|
||||
336: 132(ivec3) CompositeConstruct 334 334 334
|
||||
337: 132(ivec3) CompositeConstruct 335 335 335
|
||||
338: 132(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 332 336 337
|
||||
Store 299(u64v) 338
|
||||
339: 132(ivec3) Load 299(u64v)
|
||||
340: 132(ivec3) Load 299(u64v)
|
||||
341: 132(ivec3) SNegate 340
|
||||
342: 132(ivec3) Load 299(u64v)
|
||||
343: 132(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 339 341 342
|
||||
Store 299(u64v) 343
|
||||
344: 19(ptr) AccessChain 286(i64v) 227
|
||||
345: 18(int) Load 344
|
||||
346: 19(ptr) AccessChain 286(i64v) 203
|
||||
347: 18(int) Load 346
|
||||
349: 18(int) Select 348 347 345
|
||||
Store 289(i64) 349
|
||||
350: 18(int) Load 289(i64)
|
||||
351: 52(ivec2) CompositeConstruct 350 350
|
||||
352: 18(int) Load 289(i64)
|
||||
353: 18(int) SNegate 352
|
||||
354: 52(ivec2) CompositeConstruct 353 353
|
||||
357: 52(ivec2) Select 356 354 351
|
||||
Store 286(i64v) 357
|
||||
358: 40(ptr) AccessChain 299(u64v) 227
|
||||
359: 14(int) Load 358
|
||||
360: 40(ptr) AccessChain 299(u64v) 203
|
||||
361: 14(int) Load 360
|
||||
362: 14(int) Select 348 361 359
|
||||
Store 301(u64) 362
|
||||
363: 14(int) Load 301(u64)
|
||||
364: 132(ivec3) CompositeConstruct 363 363 363
|
||||
365: 14(int) Load 301(u64)
|
||||
366: 14(int) SNegate 365
|
||||
367: 132(ivec3) CompositeConstruct 366 366 366
|
||||
370: 132(ivec3) Select 369 367 364
|
||||
Store 299(u64v) 370
|
||||
374: 371(fvec3) Load 373(dv)
|
||||
375: 95(fvec2) VectorShuffle 374 374 0 1
|
||||
376: 52(ivec2) Bitcast 375
|
||||
Store 286(i64v) 376
|
||||
378: 377(ptr) AccessChain 373(dv) 217
|
||||
379: 94(float) Load 378
|
||||
380: 14(int) Bitcast 379
|
||||
381: 40(ptr) AccessChain 299(u64v) 227
|
||||
Store 381 380
|
||||
382: 52(ivec2) Load 286(i64v)
|
||||
383: 95(fvec2) Bitcast 382
|
||||
384: 371(fvec3) Load 373(dv)
|
||||
385: 371(fvec3) VectorShuffle 384 383 3 4 2
|
||||
Store 373(dv) 385
|
||||
386: 132(ivec3) Load 299(u64v)
|
||||
387: 371(fvec3) Bitcast 386
|
||||
Store 373(dv) 387
|
||||
391: 18(int) Bitcast 390
|
||||
Store 289(i64) 391
|
||||
393: 18(int) Load 289(i64)
|
||||
394: 74(ivec2) Bitcast 393
|
||||
Store 392(iv) 394
|
||||
396: 14(int) Bitcast 395
|
||||
Store 301(u64) 396
|
||||
398: 14(int) Load 301(u64)
|
||||
399: 81(ivec2) Bitcast 398
|
||||
Store 397(uv) 399
|
||||
402: 132(ivec3) Load 299(u64v)
|
||||
403: 14(int) Load 301(u64)
|
||||
404: 132(ivec3) CompositeConstruct 403 403 403
|
||||
405: 368(bvec3) ULessThan 402 404
|
||||
Store 401(bv) 405
|
||||
406: 52(ivec2) Load 286(i64v)
|
||||
407: 18(int) Load 289(i64)
|
||||
408: 52(ivec2) CompositeConstruct 407 407
|
||||
409: 56(bvec2) SLessThan 406 408
|
||||
410: 368(bvec3) Load 401(bv)
|
||||
411: 368(bvec3) VectorShuffle 410 409 3 4 2
|
||||
Store 401(bv) 411
|
||||
412: 132(ivec3) Load 299(u64v)
|
||||
413: 14(int) Load 301(u64)
|
||||
414: 132(ivec3) CompositeConstruct 413 413 413
|
||||
415: 368(bvec3) ULessThanEqual 412 414
|
||||
Store 401(bv) 415
|
||||
416: 52(ivec2) Load 286(i64v)
|
||||
417: 18(int) Load 289(i64)
|
||||
418: 52(ivec2) CompositeConstruct 417 417
|
||||
419: 56(bvec2) SLessThanEqual 416 418
|
||||
420: 368(bvec3) Load 401(bv)
|
||||
421: 368(bvec3) VectorShuffle 420 419 3 4 2
|
||||
Store 401(bv) 421
|
||||
422: 132(ivec3) Load 299(u64v)
|
||||
423: 14(int) Load 301(u64)
|
||||
424: 132(ivec3) CompositeConstruct 423 423 423
|
||||
425: 368(bvec3) UGreaterThan 422 424
|
||||
Store 401(bv) 425
|
||||
426: 52(ivec2) Load 286(i64v)
|
||||
427: 18(int) Load 289(i64)
|
||||
428: 52(ivec2) CompositeConstruct 427 427
|
||||
429: 56(bvec2) SGreaterThan 426 428
|
||||
430: 368(bvec3) Load 401(bv)
|
||||
431: 368(bvec3) VectorShuffle 430 429 3 4 2
|
||||
Store 401(bv) 431
|
||||
432: 132(ivec3) Load 299(u64v)
|
||||
433: 14(int) Load 301(u64)
|
||||
434: 132(ivec3) CompositeConstruct 433 433 433
|
||||
435: 368(bvec3) UGreaterThanEqual 432 434
|
||||
Store 401(bv) 435
|
||||
436: 52(ivec2) Load 286(i64v)
|
||||
437: 18(int) Load 289(i64)
|
||||
438: 52(ivec2) CompositeConstruct 437 437
|
||||
439: 56(bvec2) SGreaterThanEqual 436 438
|
||||
440: 368(bvec3) Load 401(bv)
|
||||
441: 368(bvec3) VectorShuffle 440 439 3 4 2
|
||||
Store 401(bv) 441
|
||||
442: 132(ivec3) Load 299(u64v)
|
||||
443: 14(int) Load 301(u64)
|
||||
444: 132(ivec3) CompositeConstruct 443 443 443
|
||||
445: 368(bvec3) IEqual 442 444
|
||||
Store 401(bv) 445
|
||||
446: 52(ivec2) Load 286(i64v)
|
||||
447: 18(int) Load 289(i64)
|
||||
448: 52(ivec2) CompositeConstruct 447 447
|
||||
449: 56(bvec2) IEqual 446 448
|
||||
450: 368(bvec3) Load 401(bv)
|
||||
451: 368(bvec3) VectorShuffle 450 449 3 4 2
|
||||
Store 401(bv) 451
|
||||
452: 132(ivec3) Load 299(u64v)
|
||||
453: 14(int) Load 301(u64)
|
||||
454: 132(ivec3) CompositeConstruct 453 453 453
|
||||
455: 368(bvec3) INotEqual 452 454
|
||||
Store 401(bv) 455
|
||||
456: 52(ivec2) Load 286(i64v)
|
||||
457: 18(int) Load 289(i64)
|
||||
458: 52(ivec2) CompositeConstruct 457 457
|
||||
459: 56(bvec2) INotEqual 456 458
|
||||
460: 368(bvec3) Load 401(bv)
|
||||
461: 368(bvec3) VectorShuffle 460 459 3 4 2
|
||||
Store 401(bv) 461
|
||||
Return
|
||||
FunctionEnd
|
||||
|
57
Test/baseResults/spv.rankShift.comp.out
Executable file
57
Test/baseResults/spv.rankShift.comp.out
Executable file
@ -0,0 +1,57 @@
|
||||
spv.rankShift.comp
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 33
|
||||
|
||||
Capability Shader
|
||||
Capability Int64
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main"
|
||||
ExecutionMode 4 LocalSize 54 1 1
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_ARB_gpu_shader_int64"
|
||||
Name 4 "main"
|
||||
Name 8 "result"
|
||||
Name 11 "arg0"
|
||||
Name 15 "arg1"
|
||||
Decorate 11(arg0) Location 4
|
||||
Decorate 15(arg1) Location 5
|
||||
Decorate 32 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 64 0
|
||||
7: TypePointer Function 6(int)
|
||||
9: TypeInt 64 1
|
||||
10: TypePointer UniformConstant 9(int)
|
||||
11(arg0): 10(ptr) Variable UniformConstant
|
||||
13: TypeInt 32 0
|
||||
14: TypePointer UniformConstant 13(int)
|
||||
15(arg1): 14(ptr) Variable UniformConstant
|
||||
29: TypeVector 13(int) 3
|
||||
30: 13(int) Constant 54
|
||||
31: 13(int) Constant 1
|
||||
32: 29(ivec3) ConstantComposite 30 31 31
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(result): 7(ptr) Variable Function
|
||||
12: 9(int) Load 11(arg0)
|
||||
16: 13(int) Load 15(arg1)
|
||||
17: 9(int) ShiftLeftLogical 12 16
|
||||
18: 6(int) Bitcast 17
|
||||
Store 8(result) 18
|
||||
19: 9(int) Load 11(arg0)
|
||||
20: 13(int) Load 15(arg1)
|
||||
21: 9(int) ShiftRightArithmetic 19 20
|
||||
22: 6(int) Bitcast 21
|
||||
Store 8(result) 22
|
||||
23: 13(int) Load 15(arg1)
|
||||
24: 6(int) Load 8(result)
|
||||
25: 6(int) ShiftLeftLogical 24 23
|
||||
Store 8(result) 25
|
||||
26: 13(int) Load 15(arg1)
|
||||
27: 6(int) Load 8(result)
|
||||
28: 6(int) ShiftRightLogical 27 26
|
||||
Store 8(result) 28
|
||||
Return
|
||||
FunctionEnd
|
@ -1,7 +1,7 @@
|
||||
spv.vulkan110.int16.frag
|
||||
// Module Version 10300
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 525
|
||||
// Id's are bound by 523
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
@ -52,48 +52,48 @@ spv.vulkan110.int16.frag
|
||||
Name 220 "i"
|
||||
Name 227 "uv"
|
||||
Name 243 "i64"
|
||||
Name 283 "b"
|
||||
Name 345 "i16v"
|
||||
Name 348 "i16"
|
||||
Name 358 "u16v"
|
||||
Name 360 "u16"
|
||||
Name 430 "i32"
|
||||
Name 433 "i64"
|
||||
Name 436 "i16v4"
|
||||
Name 439 "u32"
|
||||
Name 440 "u16v2"
|
||||
Name 444 "u64"
|
||||
Name 447 "u16v4"
|
||||
Name 459 "bv"
|
||||
Name 520 "Block"
|
||||
MemberName 520(Block) 0 "i16"
|
||||
MemberName 520(Block) 1 "i16v2"
|
||||
MemberName 520(Block) 2 "i16v3"
|
||||
MemberName 520(Block) 3 "i16v4"
|
||||
MemberName 520(Block) 4 "u16"
|
||||
MemberName 520(Block) 5 "u16v2"
|
||||
MemberName 520(Block) 6 "u16v3"
|
||||
MemberName 520(Block) 7 "u16v4"
|
||||
Name 522 "block"
|
||||
Name 523 "si16"
|
||||
Name 524 "su16"
|
||||
Name 281 "b"
|
||||
Name 343 "i16v"
|
||||
Name 346 "i16"
|
||||
Name 356 "u16v"
|
||||
Name 358 "u16"
|
||||
Name 428 "i32"
|
||||
Name 431 "i64"
|
||||
Name 434 "i16v4"
|
||||
Name 437 "u32"
|
||||
Name 438 "u16v2"
|
||||
Name 442 "u64"
|
||||
Name 445 "u16v4"
|
||||
Name 457 "bv"
|
||||
Name 518 "Block"
|
||||
MemberName 518(Block) 0 "i16"
|
||||
MemberName 518(Block) 1 "i16v2"
|
||||
MemberName 518(Block) 2 "i16v3"
|
||||
MemberName 518(Block) 3 "i16v4"
|
||||
MemberName 518(Block) 4 "u16"
|
||||
MemberName 518(Block) 5 "u16v2"
|
||||
MemberName 518(Block) 6 "u16v3"
|
||||
MemberName 518(Block) 7 "u16v4"
|
||||
Name 520 "block"
|
||||
Name 521 "si16"
|
||||
Name 522 "su16"
|
||||
MemberDecorate 24(Uniforms) 0 Offset 0
|
||||
Decorate 24(Uniforms) Block
|
||||
Decorate 26 DescriptorSet 0
|
||||
Decorate 26 Binding 0
|
||||
MemberDecorate 520(Block) 0 Offset 0
|
||||
MemberDecorate 520(Block) 1 Offset 4
|
||||
MemberDecorate 520(Block) 2 Offset 8
|
||||
MemberDecorate 520(Block) 3 Offset 16
|
||||
MemberDecorate 520(Block) 4 Offset 24
|
||||
MemberDecorate 520(Block) 5 Offset 28
|
||||
MemberDecorate 520(Block) 6 Offset 32
|
||||
MemberDecorate 520(Block) 7 Offset 40
|
||||
Decorate 520(Block) Block
|
||||
Decorate 522(block) DescriptorSet 0
|
||||
Decorate 522(block) Binding 1
|
||||
Decorate 523(si16) SpecId 100
|
||||
Decorate 524(su16) SpecId 101
|
||||
MemberDecorate 518(Block) 0 Offset 0
|
||||
MemberDecorate 518(Block) 1 Offset 4
|
||||
MemberDecorate 518(Block) 2 Offset 8
|
||||
MemberDecorate 518(Block) 3 Offset 16
|
||||
MemberDecorate 518(Block) 4 Offset 24
|
||||
MemberDecorate 518(Block) 5 Offset 28
|
||||
MemberDecorate 518(Block) 6 Offset 32
|
||||
MemberDecorate 518(Block) 7 Offset 40
|
||||
Decorate 518(Block) Block
|
||||
Decorate 520(block) DescriptorSet 0
|
||||
Decorate 520(block) Binding 1
|
||||
Decorate 521(si16) SpecId 100
|
||||
Decorate 522(su16) SpecId 101
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
14: TypeInt 16 1
|
||||
@ -168,28 +168,28 @@ spv.vulkan110.int16.frag
|
||||
242: TypePointer Function 71(int)
|
||||
264: 17(int) Constant 1
|
||||
270: 17(int) Constant 2
|
||||
275: TypeVector 27(int) 3
|
||||
282: TypePointer Function 173(bool)
|
||||
284: 17(int) Constant 0
|
||||
298: TypePointer Function 17(int)
|
||||
356: 52(ivec2) ConstantComposite 21 21
|
||||
365: 193(ivec3) ConstantComposite 184 184 184
|
||||
407: 173(bool) ConstantTrue
|
||||
414: 173(bool) ConstantFalse
|
||||
415: 174(bvec2) ConstantComposite 414 414
|
||||
427: TypeVector 173(bool) 3
|
||||
428: 427(bvec3) ConstantComposite 414 414 414
|
||||
434: TypeVector 14(int) 4
|
||||
435: TypePointer Function 434(ivec4)
|
||||
443: TypePointer Function 77(int)
|
||||
445: TypeVector 36(int) 4
|
||||
446: TypePointer Function 445(ivec4)
|
||||
458: TypePointer Function 427(bvec3)
|
||||
520(Block): TypeStruct 14(int) 52(ivec2) 197(ivec3) 434(ivec4) 36(int) 57(ivec2) 193(ivec3) 445(ivec4)
|
||||
521: TypePointer Uniform 520(Block)
|
||||
522(block): 521(ptr) Variable Uniform
|
||||
523(si16): 14(int) SpecConstant 4294967286
|
||||
524(su16): 36(int) SpecConstant 20
|
||||
276: TypeVector 27(int) 3
|
||||
280: TypePointer Function 173(bool)
|
||||
282: 17(int) Constant 0
|
||||
296: TypePointer Function 17(int)
|
||||
354: 52(ivec2) ConstantComposite 21 21
|
||||
363: 193(ivec3) ConstantComposite 184 184 184
|
||||
405: 173(bool) ConstantTrue
|
||||
412: 173(bool) ConstantFalse
|
||||
413: 174(bvec2) ConstantComposite 412 412
|
||||
425: TypeVector 173(bool) 3
|
||||
426: 425(bvec3) ConstantComposite 412 412 412
|
||||
432: TypeVector 14(int) 4
|
||||
433: TypePointer Function 432(ivec4)
|
||||
441: TypePointer Function 77(int)
|
||||
443: TypeVector 36(int) 4
|
||||
444: TypePointer Function 443(ivec4)
|
||||
456: TypePointer Function 425(bvec3)
|
||||
518(Block): TypeStruct 14(int) 52(ivec2) 197(ivec3) 432(ivec4) 36(int) 57(ivec2) 193(ivec3) 443(ivec4)
|
||||
519: TypePointer Uniform 518(Block)
|
||||
520(block): 519(ptr) Variable Uniform
|
||||
521(si16): 14(int) SpecConstant 4294967286
|
||||
522(su16): 36(int) SpecConstant 20
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
@ -368,7 +368,7 @@ spv.vulkan110.int16.frag
|
||||
220(i): 219(ptr) Variable Function
|
||||
227(uv): 226(ptr) Variable Function
|
||||
243(i64): 242(ptr) Variable Function
|
||||
283(b): 282(ptr) Variable Function
|
||||
281(b): 280(ptr) Variable Function
|
||||
196: 193(ivec3) Load 195(u16v)
|
||||
198: 197(ivec3) CompositeConstruct 179 179 179
|
||||
199: 193(ivec3) IAdd 196 198
|
||||
@ -457,287 +457,285 @@ spv.vulkan110.int16.frag
|
||||
273: 14(int) ShiftLeftLogical 269 272
|
||||
Store 200(i16) 273
|
||||
274: 193(ivec3) Load 195(u16v)
|
||||
276: 275(ivec3) UConvert 274
|
||||
277: 275(ivec3) Bitcast 276
|
||||
278: 27(int) Load 220(i)
|
||||
279: 275(ivec3) CompositeConstruct 278 278 278
|
||||
280: 275(ivec3) ShiftLeftLogical 277 279
|
||||
281: 225(ivec3) Bitcast 280
|
||||
Store 227(uv) 281
|
||||
285: 37(ptr) AccessChain 195(u16v) 284
|
||||
286: 36(int) Load 285
|
||||
287: 14(int) Load 200(i16)
|
||||
288: 36(int) Bitcast 287
|
||||
289: 173(bool) INotEqual 286 288
|
||||
Store 283(b) 289
|
||||
290: 14(int) Load 200(i16)
|
||||
291: 36(int) Bitcast 290
|
||||
292: 37(ptr) AccessChain 195(u16v) 284
|
||||
293: 36(int) Load 292
|
||||
294: 173(bool) IEqual 291 293
|
||||
Store 283(b) 294
|
||||
295: 37(ptr) AccessChain 195(u16v) 284
|
||||
296: 36(int) Load 295
|
||||
297: 17(int) UConvert 296
|
||||
299: 298(ptr) AccessChain 227(uv) 264
|
||||
300: 17(int) Load 299
|
||||
301: 173(bool) UGreaterThan 297 300
|
||||
Store 283(b) 301
|
||||
302: 14(int) Load 200(i16)
|
||||
303: 27(int) SConvert 302
|
||||
304: 27(int) Load 220(i)
|
||||
305: 173(bool) SLessThan 303 304
|
||||
Store 283(b) 305
|
||||
306: 37(ptr) AccessChain 195(u16v) 264
|
||||
307: 36(int) Load 306
|
||||
308: 17(int) UConvert 307
|
||||
309: 298(ptr) AccessChain 227(uv) 284
|
||||
310: 17(int) Load 309
|
||||
311: 173(bool) UGreaterThanEqual 308 310
|
||||
Store 283(b) 311
|
||||
312: 14(int) Load 200(i16)
|
||||
313: 27(int) SConvert 312
|
||||
314: 27(int) Load 220(i)
|
||||
315: 173(bool) SLessThanEqual 313 314
|
||||
Store 283(b) 315
|
||||
316: 14(int) Load 200(i16)
|
||||
317: 27(int) SConvert 316
|
||||
318: 17(int) Bitcast 317
|
||||
319: 225(ivec3) Load 227(uv)
|
||||
320: 225(ivec3) CompositeConstruct 318 318 318
|
||||
321: 225(ivec3) BitwiseOr 319 320
|
||||
Store 227(uv) 321
|
||||
322: 14(int) Load 200(i16)
|
||||
323: 27(int) SConvert 322
|
||||
324: 27(int) Load 220(i)
|
||||
325: 27(int) BitwiseOr 323 324
|
||||
Store 220(i) 325
|
||||
326: 14(int) Load 200(i16)
|
||||
327: 71(int) SConvert 326
|
||||
328: 71(int) Load 243(i64)
|
||||
329: 71(int) BitwiseAnd 328 327
|
||||
Store 243(i64) 329
|
||||
330: 193(ivec3) Load 195(u16v)
|
||||
331: 225(ivec3) UConvert 330
|
||||
332: 225(ivec3) Load 227(uv)
|
||||
333: 225(ivec3) BitwiseAnd 331 332
|
||||
Store 227(uv) 333
|
||||
334: 14(int) Load 200(i16)
|
||||
335: 27(int) SConvert 334
|
||||
336: 17(int) Bitcast 335
|
||||
337: 225(ivec3) Load 227(uv)
|
||||
338: 225(ivec3) CompositeConstruct 336 336 336
|
||||
339: 225(ivec3) BitwiseXor 337 338
|
||||
Store 227(uv) 339
|
||||
340: 193(ivec3) Load 195(u16v)
|
||||
341: 14(int) Load 200(i16)
|
||||
342: 36(int) Bitcast 341
|
||||
343: 193(ivec3) CompositeConstruct 342 342 342
|
||||
344: 193(ivec3) BitwiseXor 340 343
|
||||
Store 195(u16v) 344
|
||||
275: 27(int) Load 220(i)
|
||||
277: 276(ivec3) CompositeConstruct 275 275 275
|
||||
278: 193(ivec3) ShiftLeftLogical 274 277
|
||||
279: 225(ivec3) UConvert 278
|
||||
Store 227(uv) 279
|
||||
283: 37(ptr) AccessChain 195(u16v) 282
|
||||
284: 36(int) Load 283
|
||||
285: 14(int) Load 200(i16)
|
||||
286: 36(int) Bitcast 285
|
||||
287: 173(bool) INotEqual 284 286
|
||||
Store 281(b) 287
|
||||
288: 14(int) Load 200(i16)
|
||||
289: 36(int) Bitcast 288
|
||||
290: 37(ptr) AccessChain 195(u16v) 282
|
||||
291: 36(int) Load 290
|
||||
292: 173(bool) IEqual 289 291
|
||||
Store 281(b) 292
|
||||
293: 37(ptr) AccessChain 195(u16v) 282
|
||||
294: 36(int) Load 293
|
||||
295: 17(int) UConvert 294
|
||||
297: 296(ptr) AccessChain 227(uv) 264
|
||||
298: 17(int) Load 297
|
||||
299: 173(bool) UGreaterThan 295 298
|
||||
Store 281(b) 299
|
||||
300: 14(int) Load 200(i16)
|
||||
301: 27(int) SConvert 300
|
||||
302: 27(int) Load 220(i)
|
||||
303: 173(bool) SLessThan 301 302
|
||||
Store 281(b) 303
|
||||
304: 37(ptr) AccessChain 195(u16v) 264
|
||||
305: 36(int) Load 304
|
||||
306: 17(int) UConvert 305
|
||||
307: 296(ptr) AccessChain 227(uv) 282
|
||||
308: 17(int) Load 307
|
||||
309: 173(bool) UGreaterThanEqual 306 308
|
||||
Store 281(b) 309
|
||||
310: 14(int) Load 200(i16)
|
||||
311: 27(int) SConvert 310
|
||||
312: 27(int) Load 220(i)
|
||||
313: 173(bool) SLessThanEqual 311 312
|
||||
Store 281(b) 313
|
||||
314: 14(int) Load 200(i16)
|
||||
315: 27(int) SConvert 314
|
||||
316: 17(int) Bitcast 315
|
||||
317: 225(ivec3) Load 227(uv)
|
||||
318: 225(ivec3) CompositeConstruct 316 316 316
|
||||
319: 225(ivec3) BitwiseOr 317 318
|
||||
Store 227(uv) 319
|
||||
320: 14(int) Load 200(i16)
|
||||
321: 27(int) SConvert 320
|
||||
322: 27(int) Load 220(i)
|
||||
323: 27(int) BitwiseOr 321 322
|
||||
Store 220(i) 323
|
||||
324: 14(int) Load 200(i16)
|
||||
325: 71(int) SConvert 324
|
||||
326: 71(int) Load 243(i64)
|
||||
327: 71(int) BitwiseAnd 326 325
|
||||
Store 243(i64) 327
|
||||
328: 193(ivec3) Load 195(u16v)
|
||||
329: 225(ivec3) UConvert 328
|
||||
330: 225(ivec3) Load 227(uv)
|
||||
331: 225(ivec3) BitwiseAnd 329 330
|
||||
Store 227(uv) 331
|
||||
332: 14(int) Load 200(i16)
|
||||
333: 27(int) SConvert 332
|
||||
334: 17(int) Bitcast 333
|
||||
335: 225(ivec3) Load 227(uv)
|
||||
336: 225(ivec3) CompositeConstruct 334 334 334
|
||||
337: 225(ivec3) BitwiseXor 335 336
|
||||
Store 227(uv) 337
|
||||
338: 193(ivec3) Load 195(u16v)
|
||||
339: 14(int) Load 200(i16)
|
||||
340: 36(int) Bitcast 339
|
||||
341: 193(ivec3) CompositeConstruct 340 340 340
|
||||
342: 193(ivec3) BitwiseXor 338 341
|
||||
Store 195(u16v) 342
|
||||
Return
|
||||
FunctionEnd
|
||||
12(builtinFuncs(): 2 Function None 3
|
||||
13: Label
|
||||
345(i16v): 53(ptr) Variable Function
|
||||
348(i16): 15(ptr) Variable Function
|
||||
358(u16v): 194(ptr) Variable Function
|
||||
360(u16): 37(ptr) Variable Function
|
||||
430(i32): 219(ptr) Variable Function
|
||||
433(i64): 242(ptr) Variable Function
|
||||
436(i16v4): 435(ptr) Variable Function
|
||||
439(u32): 298(ptr) Variable Function
|
||||
440(u16v2): 58(ptr) Variable Function
|
||||
444(u64): 443(ptr) Variable Function
|
||||
447(u16v4): 446(ptr) Variable Function
|
||||
459(bv): 458(ptr) Variable Function
|
||||
346: 52(ivec2) Load 345(i16v)
|
||||
347: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 346
|
||||
Store 345(i16v) 347
|
||||
349: 14(int) Load 348(i16)
|
||||
350: 14(int) ExtInst 1(GLSL.std.450) 7(SSign) 349
|
||||
Store 348(i16) 350
|
||||
351: 52(ivec2) Load 345(i16v)
|
||||
352: 14(int) Load 348(i16)
|
||||
353: 52(ivec2) CompositeConstruct 352 352
|
||||
354: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 351 353
|
||||
Store 345(i16v) 354
|
||||
355: 52(ivec2) Load 345(i16v)
|
||||
357: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 355 356
|
||||
Store 345(i16v) 357
|
||||
359: 193(ivec3) Load 358(u16v)
|
||||
361: 36(int) Load 360(u16)
|
||||
362: 193(ivec3) CompositeConstruct 361 361 361
|
||||
363: 193(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 359 362
|
||||
Store 358(u16v) 363
|
||||
364: 193(ivec3) Load 358(u16v)
|
||||
366: 193(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 364 365
|
||||
Store 358(u16v) 366
|
||||
367: 52(ivec2) Load 345(i16v)
|
||||
368: 14(int) Load 348(i16)
|
||||
369: 52(ivec2) CompositeConstruct 368 368
|
||||
370: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 367 369
|
||||
Store 345(i16v) 370
|
||||
371: 52(ivec2) Load 345(i16v)
|
||||
372: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 371 356
|
||||
Store 345(i16v) 372
|
||||
373: 193(ivec3) Load 358(u16v)
|
||||
374: 36(int) Load 360(u16)
|
||||
375: 193(ivec3) CompositeConstruct 374 374 374
|
||||
376: 193(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 373 375
|
||||
Store 358(u16v) 376
|
||||
377: 193(ivec3) Load 358(u16v)
|
||||
378: 193(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 377 365
|
||||
Store 358(u16v) 378
|
||||
379: 52(ivec2) Load 345(i16v)
|
||||
380: 14(int) Load 348(i16)
|
||||
381: 14(int) SNegate 380
|
||||
382: 14(int) Load 348(i16)
|
||||
383: 52(ivec2) CompositeConstruct 381 381
|
||||
384: 52(ivec2) CompositeConstruct 382 382
|
||||
385: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 379 383 384
|
||||
Store 345(i16v) 385
|
||||
386: 52(ivec2) Load 345(i16v)
|
||||
387: 52(ivec2) Load 345(i16v)
|
||||
388: 52(ivec2) SNegate 387
|
||||
389: 52(ivec2) Load 345(i16v)
|
||||
390: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 386 388 389
|
||||
Store 345(i16v) 390
|
||||
391: 193(ivec3) Load 358(u16v)
|
||||
392: 36(int) Load 360(u16)
|
||||
393: 36(int) SNegate 392
|
||||
394: 36(int) Load 360(u16)
|
||||
395: 193(ivec3) CompositeConstruct 393 393 393
|
||||
396: 193(ivec3) CompositeConstruct 394 394 394
|
||||
397: 193(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 391 395 396
|
||||
Store 358(u16v) 397
|
||||
398: 193(ivec3) Load 358(u16v)
|
||||
399: 193(ivec3) Load 358(u16v)
|
||||
400: 193(ivec3) SNegate 399
|
||||
401: 193(ivec3) Load 358(u16v)
|
||||
402: 193(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 398 400 401
|
||||
Store 358(u16v) 402
|
||||
403: 15(ptr) AccessChain 345(i16v) 284
|
||||
343(i16v): 53(ptr) Variable Function
|
||||
346(i16): 15(ptr) Variable Function
|
||||
356(u16v): 194(ptr) Variable Function
|
||||
358(u16): 37(ptr) Variable Function
|
||||
428(i32): 219(ptr) Variable Function
|
||||
431(i64): 242(ptr) Variable Function
|
||||
434(i16v4): 433(ptr) Variable Function
|
||||
437(u32): 296(ptr) Variable Function
|
||||
438(u16v2): 58(ptr) Variable Function
|
||||
442(u64): 441(ptr) Variable Function
|
||||
445(u16v4): 444(ptr) Variable Function
|
||||
457(bv): 456(ptr) Variable Function
|
||||
344: 52(ivec2) Load 343(i16v)
|
||||
345: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 344
|
||||
Store 343(i16v) 345
|
||||
347: 14(int) Load 346(i16)
|
||||
348: 14(int) ExtInst 1(GLSL.std.450) 7(SSign) 347
|
||||
Store 346(i16) 348
|
||||
349: 52(ivec2) Load 343(i16v)
|
||||
350: 14(int) Load 346(i16)
|
||||
351: 52(ivec2) CompositeConstruct 350 350
|
||||
352: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 349 351
|
||||
Store 343(i16v) 352
|
||||
353: 52(ivec2) Load 343(i16v)
|
||||
355: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 353 354
|
||||
Store 343(i16v) 355
|
||||
357: 193(ivec3) Load 356(u16v)
|
||||
359: 36(int) Load 358(u16)
|
||||
360: 193(ivec3) CompositeConstruct 359 359 359
|
||||
361: 193(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 357 360
|
||||
Store 356(u16v) 361
|
||||
362: 193(ivec3) Load 356(u16v)
|
||||
364: 193(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 362 363
|
||||
Store 356(u16v) 364
|
||||
365: 52(ivec2) Load 343(i16v)
|
||||
366: 14(int) Load 346(i16)
|
||||
367: 52(ivec2) CompositeConstruct 366 366
|
||||
368: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 365 367
|
||||
Store 343(i16v) 368
|
||||
369: 52(ivec2) Load 343(i16v)
|
||||
370: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 369 354
|
||||
Store 343(i16v) 370
|
||||
371: 193(ivec3) Load 356(u16v)
|
||||
372: 36(int) Load 358(u16)
|
||||
373: 193(ivec3) CompositeConstruct 372 372 372
|
||||
374: 193(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 371 373
|
||||
Store 356(u16v) 374
|
||||
375: 193(ivec3) Load 356(u16v)
|
||||
376: 193(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 375 363
|
||||
Store 356(u16v) 376
|
||||
377: 52(ivec2) Load 343(i16v)
|
||||
378: 14(int) Load 346(i16)
|
||||
379: 14(int) SNegate 378
|
||||
380: 14(int) Load 346(i16)
|
||||
381: 52(ivec2) CompositeConstruct 379 379
|
||||
382: 52(ivec2) CompositeConstruct 380 380
|
||||
383: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 377 381 382
|
||||
Store 343(i16v) 383
|
||||
384: 52(ivec2) Load 343(i16v)
|
||||
385: 52(ivec2) Load 343(i16v)
|
||||
386: 52(ivec2) SNegate 385
|
||||
387: 52(ivec2) Load 343(i16v)
|
||||
388: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 384 386 387
|
||||
Store 343(i16v) 388
|
||||
389: 193(ivec3) Load 356(u16v)
|
||||
390: 36(int) Load 358(u16)
|
||||
391: 36(int) SNegate 390
|
||||
392: 36(int) Load 358(u16)
|
||||
393: 193(ivec3) CompositeConstruct 391 391 391
|
||||
394: 193(ivec3) CompositeConstruct 392 392 392
|
||||
395: 193(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 389 393 394
|
||||
Store 356(u16v) 395
|
||||
396: 193(ivec3) Load 356(u16v)
|
||||
397: 193(ivec3) Load 356(u16v)
|
||||
398: 193(ivec3) SNegate 397
|
||||
399: 193(ivec3) Load 356(u16v)
|
||||
400: 193(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 396 398 399
|
||||
Store 356(u16v) 400
|
||||
401: 15(ptr) AccessChain 343(i16v) 282
|
||||
402: 14(int) Load 401
|
||||
403: 15(ptr) AccessChain 343(i16v) 264
|
||||
404: 14(int) Load 403
|
||||
405: 15(ptr) AccessChain 345(i16v) 264
|
||||
406: 14(int) Load 405
|
||||
408: 14(int) Select 407 406 404
|
||||
Store 348(i16) 408
|
||||
409: 14(int) Load 348(i16)
|
||||
410: 52(ivec2) CompositeConstruct 409 409
|
||||
411: 14(int) Load 348(i16)
|
||||
412: 14(int) SNegate 411
|
||||
413: 52(ivec2) CompositeConstruct 412 412
|
||||
416: 52(ivec2) Select 415 413 410
|
||||
Store 345(i16v) 416
|
||||
417: 37(ptr) AccessChain 358(u16v) 284
|
||||
406: 14(int) Select 405 404 402
|
||||
Store 346(i16) 406
|
||||
407: 14(int) Load 346(i16)
|
||||
408: 52(ivec2) CompositeConstruct 407 407
|
||||
409: 14(int) Load 346(i16)
|
||||
410: 14(int) SNegate 409
|
||||
411: 52(ivec2) CompositeConstruct 410 410
|
||||
414: 52(ivec2) Select 413 411 408
|
||||
Store 343(i16v) 414
|
||||
415: 37(ptr) AccessChain 356(u16v) 282
|
||||
416: 36(int) Load 415
|
||||
417: 37(ptr) AccessChain 356(u16v) 264
|
||||
418: 36(int) Load 417
|
||||
419: 37(ptr) AccessChain 358(u16v) 264
|
||||
420: 36(int) Load 419
|
||||
421: 36(int) Select 407 420 418
|
||||
Store 360(u16) 421
|
||||
422: 36(int) Load 360(u16)
|
||||
423: 193(ivec3) CompositeConstruct 422 422 422
|
||||
424: 36(int) Load 360(u16)
|
||||
425: 36(int) SNegate 424
|
||||
426: 193(ivec3) CompositeConstruct 425 425 425
|
||||
429: 193(ivec3) Select 428 426 423
|
||||
Store 358(u16v) 429
|
||||
431: 52(ivec2) Load 345(i16v)
|
||||
432: 27(int) Bitcast 431
|
||||
Store 430(i32) 432
|
||||
437: 434(ivec4) Load 436(i16v4)
|
||||
438: 71(int) Bitcast 437
|
||||
Store 433(i64) 438
|
||||
441: 57(ivec2) Load 440(u16v2)
|
||||
442: 17(int) Bitcast 441
|
||||
Store 439(u32) 442
|
||||
448: 445(ivec4) Load 447(u16v4)
|
||||
449: 77(int) Bitcast 448
|
||||
Store 444(u64) 449
|
||||
450: 27(int) Load 430(i32)
|
||||
451: 52(ivec2) Bitcast 450
|
||||
Store 345(i16v) 451
|
||||
452: 71(int) Load 433(i64)
|
||||
453: 434(ivec4) Bitcast 452
|
||||
Store 436(i16v4) 453
|
||||
454: 17(int) Load 439(u32)
|
||||
455: 57(ivec2) Bitcast 454
|
||||
Store 440(u16v2) 455
|
||||
456: 77(int) Load 444(u64)
|
||||
457: 445(ivec4) Bitcast 456
|
||||
Store 447(u16v4) 457
|
||||
460: 193(ivec3) Load 358(u16v)
|
||||
461: 36(int) Load 360(u16)
|
||||
462: 193(ivec3) CompositeConstruct 461 461 461
|
||||
463: 427(bvec3) ULessThan 460 462
|
||||
Store 459(bv) 463
|
||||
464: 52(ivec2) Load 345(i16v)
|
||||
465: 14(int) Load 348(i16)
|
||||
466: 52(ivec2) CompositeConstruct 465 465
|
||||
467: 174(bvec2) SLessThan 464 466
|
||||
468: 427(bvec3) Load 459(bv)
|
||||
469: 427(bvec3) VectorShuffle 468 467 3 4 2
|
||||
Store 459(bv) 469
|
||||
470: 193(ivec3) Load 358(u16v)
|
||||
471: 36(int) Load 360(u16)
|
||||
472: 193(ivec3) CompositeConstruct 471 471 471
|
||||
473: 427(bvec3) ULessThanEqual 470 472
|
||||
Store 459(bv) 473
|
||||
474: 52(ivec2) Load 345(i16v)
|
||||
475: 14(int) Load 348(i16)
|
||||
476: 52(ivec2) CompositeConstruct 475 475
|
||||
477: 174(bvec2) SLessThanEqual 474 476
|
||||
478: 427(bvec3) Load 459(bv)
|
||||
479: 427(bvec3) VectorShuffle 478 477 3 4 2
|
||||
Store 459(bv) 479
|
||||
480: 193(ivec3) Load 358(u16v)
|
||||
481: 36(int) Load 360(u16)
|
||||
482: 193(ivec3) CompositeConstruct 481 481 481
|
||||
483: 427(bvec3) UGreaterThan 480 482
|
||||
Store 459(bv) 483
|
||||
484: 52(ivec2) Load 345(i16v)
|
||||
485: 14(int) Load 348(i16)
|
||||
486: 52(ivec2) CompositeConstruct 485 485
|
||||
487: 174(bvec2) SGreaterThan 484 486
|
||||
488: 427(bvec3) Load 459(bv)
|
||||
489: 427(bvec3) VectorShuffle 488 487 3 4 2
|
||||
Store 459(bv) 489
|
||||
490: 193(ivec3) Load 358(u16v)
|
||||
491: 36(int) Load 360(u16)
|
||||
492: 193(ivec3) CompositeConstruct 491 491 491
|
||||
493: 427(bvec3) UGreaterThanEqual 490 492
|
||||
Store 459(bv) 493
|
||||
494: 52(ivec2) Load 345(i16v)
|
||||
495: 14(int) Load 348(i16)
|
||||
496: 52(ivec2) CompositeConstruct 495 495
|
||||
497: 174(bvec2) SGreaterThanEqual 494 496
|
||||
498: 427(bvec3) Load 459(bv)
|
||||
499: 427(bvec3) VectorShuffle 498 497 3 4 2
|
||||
Store 459(bv) 499
|
||||
500: 193(ivec3) Load 358(u16v)
|
||||
501: 36(int) Load 360(u16)
|
||||
502: 193(ivec3) CompositeConstruct 501 501 501
|
||||
503: 427(bvec3) IEqual 500 502
|
||||
Store 459(bv) 503
|
||||
504: 52(ivec2) Load 345(i16v)
|
||||
505: 14(int) Load 348(i16)
|
||||
506: 52(ivec2) CompositeConstruct 505 505
|
||||
507: 174(bvec2) IEqual 504 506
|
||||
508: 427(bvec3) Load 459(bv)
|
||||
509: 427(bvec3) VectorShuffle 508 507 3 4 2
|
||||
Store 459(bv) 509
|
||||
510: 193(ivec3) Load 358(u16v)
|
||||
511: 36(int) Load 360(u16)
|
||||
512: 193(ivec3) CompositeConstruct 511 511 511
|
||||
513: 427(bvec3) INotEqual 510 512
|
||||
Store 459(bv) 513
|
||||
514: 52(ivec2) Load 345(i16v)
|
||||
515: 14(int) Load 348(i16)
|
||||
516: 52(ivec2) CompositeConstruct 515 515
|
||||
517: 174(bvec2) INotEqual 514 516
|
||||
518: 427(bvec3) Load 459(bv)
|
||||
519: 427(bvec3) VectorShuffle 518 517 3 4 2
|
||||
Store 459(bv) 519
|
||||
419: 36(int) Select 405 418 416
|
||||
Store 358(u16) 419
|
||||
420: 36(int) Load 358(u16)
|
||||
421: 193(ivec3) CompositeConstruct 420 420 420
|
||||
422: 36(int) Load 358(u16)
|
||||
423: 36(int) SNegate 422
|
||||
424: 193(ivec3) CompositeConstruct 423 423 423
|
||||
427: 193(ivec3) Select 426 424 421
|
||||
Store 356(u16v) 427
|
||||
429: 52(ivec2) Load 343(i16v)
|
||||
430: 27(int) Bitcast 429
|
||||
Store 428(i32) 430
|
||||
435: 432(ivec4) Load 434(i16v4)
|
||||
436: 71(int) Bitcast 435
|
||||
Store 431(i64) 436
|
||||
439: 57(ivec2) Load 438(u16v2)
|
||||
440: 17(int) Bitcast 439
|
||||
Store 437(u32) 440
|
||||
446: 443(ivec4) Load 445(u16v4)
|
||||
447: 77(int) Bitcast 446
|
||||
Store 442(u64) 447
|
||||
448: 27(int) Load 428(i32)
|
||||
449: 52(ivec2) Bitcast 448
|
||||
Store 343(i16v) 449
|
||||
450: 71(int) Load 431(i64)
|
||||
451: 432(ivec4) Bitcast 450
|
||||
Store 434(i16v4) 451
|
||||
452: 17(int) Load 437(u32)
|
||||
453: 57(ivec2) Bitcast 452
|
||||
Store 438(u16v2) 453
|
||||
454: 77(int) Load 442(u64)
|
||||
455: 443(ivec4) Bitcast 454
|
||||
Store 445(u16v4) 455
|
||||
458: 193(ivec3) Load 356(u16v)
|
||||
459: 36(int) Load 358(u16)
|
||||
460: 193(ivec3) CompositeConstruct 459 459 459
|
||||
461: 425(bvec3) ULessThan 458 460
|
||||
Store 457(bv) 461
|
||||
462: 52(ivec2) Load 343(i16v)
|
||||
463: 14(int) Load 346(i16)
|
||||
464: 52(ivec2) CompositeConstruct 463 463
|
||||
465: 174(bvec2) SLessThan 462 464
|
||||
466: 425(bvec3) Load 457(bv)
|
||||
467: 425(bvec3) VectorShuffle 466 465 3 4 2
|
||||
Store 457(bv) 467
|
||||
468: 193(ivec3) Load 356(u16v)
|
||||
469: 36(int) Load 358(u16)
|
||||
470: 193(ivec3) CompositeConstruct 469 469 469
|
||||
471: 425(bvec3) ULessThanEqual 468 470
|
||||
Store 457(bv) 471
|
||||
472: 52(ivec2) Load 343(i16v)
|
||||
473: 14(int) Load 346(i16)
|
||||
474: 52(ivec2) CompositeConstruct 473 473
|
||||
475: 174(bvec2) SLessThanEqual 472 474
|
||||
476: 425(bvec3) Load 457(bv)
|
||||
477: 425(bvec3) VectorShuffle 476 475 3 4 2
|
||||
Store 457(bv) 477
|
||||
478: 193(ivec3) Load 356(u16v)
|
||||
479: 36(int) Load 358(u16)
|
||||
480: 193(ivec3) CompositeConstruct 479 479 479
|
||||
481: 425(bvec3) UGreaterThan 478 480
|
||||
Store 457(bv) 481
|
||||
482: 52(ivec2) Load 343(i16v)
|
||||
483: 14(int) Load 346(i16)
|
||||
484: 52(ivec2) CompositeConstruct 483 483
|
||||
485: 174(bvec2) SGreaterThan 482 484
|
||||
486: 425(bvec3) Load 457(bv)
|
||||
487: 425(bvec3) VectorShuffle 486 485 3 4 2
|
||||
Store 457(bv) 487
|
||||
488: 193(ivec3) Load 356(u16v)
|
||||
489: 36(int) Load 358(u16)
|
||||
490: 193(ivec3) CompositeConstruct 489 489 489
|
||||
491: 425(bvec3) UGreaterThanEqual 488 490
|
||||
Store 457(bv) 491
|
||||
492: 52(ivec2) Load 343(i16v)
|
||||
493: 14(int) Load 346(i16)
|
||||
494: 52(ivec2) CompositeConstruct 493 493
|
||||
495: 174(bvec2) SGreaterThanEqual 492 494
|
||||
496: 425(bvec3) Load 457(bv)
|
||||
497: 425(bvec3) VectorShuffle 496 495 3 4 2
|
||||
Store 457(bv) 497
|
||||
498: 193(ivec3) Load 356(u16v)
|
||||
499: 36(int) Load 358(u16)
|
||||
500: 193(ivec3) CompositeConstruct 499 499 499
|
||||
501: 425(bvec3) IEqual 498 500
|
||||
Store 457(bv) 501
|
||||
502: 52(ivec2) Load 343(i16v)
|
||||
503: 14(int) Load 346(i16)
|
||||
504: 52(ivec2) CompositeConstruct 503 503
|
||||
505: 174(bvec2) IEqual 502 504
|
||||
506: 425(bvec3) Load 457(bv)
|
||||
507: 425(bvec3) VectorShuffle 506 505 3 4 2
|
||||
Store 457(bv) 507
|
||||
508: 193(ivec3) Load 356(u16v)
|
||||
509: 36(int) Load 358(u16)
|
||||
510: 193(ivec3) CompositeConstruct 509 509 509
|
||||
511: 425(bvec3) INotEqual 508 510
|
||||
Store 457(bv) 511
|
||||
512: 52(ivec2) Load 343(i16v)
|
||||
513: 14(int) Load 346(i16)
|
||||
514: 52(ivec2) CompositeConstruct 513 513
|
||||
515: 174(bvec2) INotEqual 512 514
|
||||
516: 425(bvec3) Load 457(bv)
|
||||
517: 425(bvec3) VectorShuffle 516 515 3 4 2
|
||||
Store 457(bv) 517
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -116,6 +116,8 @@ void operators()
|
||||
i64 = i64 % i;
|
||||
|
||||
// Shift
|
||||
u64v = u64v << i;
|
||||
i64 = i64 >> uv.y;
|
||||
u64v <<= i;
|
||||
i64 >>= uv.y;
|
||||
|
||||
|
15
Test/spv.rankShift.comp
Normal file
15
Test/spv.rankShift.comp
Normal file
@ -0,0 +1,15 @@
|
||||
#version 450
|
||||
#extension GL_ARB_gpu_shader_int64 : require
|
||||
|
||||
layout(local_size_x = 54) in;
|
||||
|
||||
layout(location=4) uniform int64_t arg0;
|
||||
layout(location=5) uniform uint arg1;
|
||||
|
||||
void main()
|
||||
{
|
||||
uint64_t result = arg0 << arg1;
|
||||
result = arg0 >> arg1;
|
||||
result <<= arg1;
|
||||
result >>= arg1;
|
||||
}
|
@ -744,9 +744,6 @@ TIntermediate::addConversion(TOperator op, TIntermTyped* node0, TIntermTyped* no
|
||||
|
||||
auto promoteTo = std::make_tuple(EbtNumTypes, EbtNumTypes);
|
||||
|
||||
TBasicType type0 = node0->getType().getBasicType();
|
||||
TBasicType type1 = node1->getType().getBasicType();
|
||||
|
||||
switch (op) {
|
||||
//
|
||||
// List all the binary ops that can implicitly convert one operand to the other's type;
|
||||
@ -776,10 +773,10 @@ TIntermediate::addConversion(TOperator op, TIntermTyped* node0, TIntermTyped* no
|
||||
|
||||
case EOpSequence: // used by ?:
|
||||
|
||||
if (type0 == type1)
|
||||
if (node0->getBasicType() == node1->getBasicType())
|
||||
return std::make_tuple(node0, node1);
|
||||
|
||||
promoteTo = getConversionDestinatonType(type0, type1, op);
|
||||
promoteTo = getConversionDestinatonType(node0->getBasicType(), node1->getBasicType(), op);
|
||||
if (std::get<0>(promoteTo) == EbtNumTypes || std::get<1>(promoteTo) == EbtNumTypes)
|
||||
return std::make_tuple(nullptr, nullptr);
|
||||
|
||||
@ -794,23 +791,25 @@ TIntermediate::addConversion(TOperator op, TIntermTyped* node0, TIntermTyped* no
|
||||
return std::make_tuple(node0, node1);
|
||||
break;
|
||||
|
||||
// Shifts can have mixed types as long as they are integer and of the same rank,
|
||||
// without converting.
|
||||
// There are no conversions needed for GLSL; the shift amount just needs to be an
|
||||
// integer type, as does the base.
|
||||
// HLSL can promote bools to ints to make this work.
|
||||
case EOpLeftShift:
|
||||
case EOpRightShift:
|
||||
if (node0->getType() == node1->getType())
|
||||
return std::make_tuple(node0, node1);
|
||||
|
||||
if (isTypeInt(type0) && isTypeInt(type1)) {
|
||||
if (getTypeRank(type0) == getTypeRank(type1)) {
|
||||
if (source == EShSourceHlsl) {
|
||||
TBasicType node0BasicType = node0->getBasicType();
|
||||
if (node0BasicType == EbtBool)
|
||||
node0BasicType = EbtInt;
|
||||
if (node1->getBasicType() == EbtBool)
|
||||
promoteTo = std::make_tuple(node0BasicType, EbtInt);
|
||||
else
|
||||
promoteTo = std::make_tuple(node0BasicType, node1->getBasicType());
|
||||
} else {
|
||||
if (isTypeInt(node0->getBasicType()) && isTypeInt(node1->getBasicType()))
|
||||
return std::make_tuple(node0, node1);
|
||||
} else {
|
||||
promoteTo = getConversionDestinatonType(type0, type1, op);
|
||||
if (std::get<0>(promoteTo) == EbtNumTypes || std::get<1>(promoteTo) == EbtNumTypes)
|
||||
return std::make_tuple(nullptr, nullptr);
|
||||
}
|
||||
} else
|
||||
return std::make_tuple(nullptr, nullptr);
|
||||
else
|
||||
return std::make_tuple(nullptr, nullptr);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -964,35 +963,24 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt
|
||||
if (type.getBasicType() == node->getType().getBasicType())
|
||||
return node;
|
||||
|
||||
if (canImplicitlyPromote(node->getType().getBasicType(), type.getBasicType(), op))
|
||||
if (canImplicitlyPromote(node->getBasicType(), type.getBasicType(), op))
|
||||
promoteTo = type.getBasicType();
|
||||
else
|
||||
return nullptr;
|
||||
break;
|
||||
|
||||
// Shifts can have mixed types as long as they are integer and of the same rank,
|
||||
// without converting.
|
||||
// It's the left operand's type that determines the resulting type, so no issue
|
||||
// with assign shift ops either.
|
||||
// For GLSL, there are no conversions needed; the shift amount just needs to be an
|
||||
// integer type, as do the base/result.
|
||||
// HLSL can convert the shift from a bool to an int.
|
||||
case EOpLeftShiftAssign:
|
||||
case EOpRightShiftAssign:
|
||||
{
|
||||
TBasicType type0 = type.getBasicType();
|
||||
TBasicType type1 = node->getType().getBasicType();
|
||||
|
||||
if (source == EShSourceHlsl && node->getType().getBasicType() == EbtBool) {
|
||||
promoteTo = type0;
|
||||
} else {
|
||||
if (isTypeInt(type0) && isTypeInt(type1)) {
|
||||
if (getTypeRank(type0) == getTypeRank(type1)) {
|
||||
return node;
|
||||
} else {
|
||||
if (canImplicitlyPromote(type1, type0, op))
|
||||
promoteTo = type0;
|
||||
else
|
||||
return nullptr;
|
||||
}
|
||||
} else
|
||||
if (source == EShSourceHlsl && node->getType().getBasicType() == EbtBool)
|
||||
promoteTo = type.getBasicType();
|
||||
else {
|
||||
if (isTypeInt(type.getBasicType()) && isTypeInt(node->getBasicType()))
|
||||
return node;
|
||||
else
|
||||
return nullptr;
|
||||
}
|
||||
break;
|
||||
@ -1437,9 +1425,7 @@ bool TIntermediate::canImplicitlyPromote(TBasicType from, TBasicType to, TOperat
|
||||
extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types_float32) ||
|
||||
extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types_float64);
|
||||
|
||||
if(explicitTypesEnabled)
|
||||
{
|
||||
|
||||
if(explicitTypesEnabled) {
|
||||
// integral promotions
|
||||
if (isIntegralPromotion(from, to)) {
|
||||
return true;
|
||||
|
@ -416,6 +416,7 @@ INSTANTIATE_TEST_CASE_P(
|
||||
"spv.460.comp",
|
||||
"spv.atomic.comp",
|
||||
"spv.glFragColor.frag",
|
||||
"spv.rankShift.comp",
|
||||
"spv.specConst.vert",
|
||||
"spv.OVR_multiview.vert",
|
||||
})),
|
||||
|
Loading…
Reference in New Issue
Block a user