Merge pull request #503 from amdrexu/feature3

SPV: Use OpBitcast to implement 4 pack/unpack built-in functions.
This commit is contained in:
John Kessenich 2016-09-09 10:41:16 -06:00 committed by GitHub
commit 3152718630
2 changed files with 5 additions and 7 deletions

View File

@ -3504,8 +3504,7 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv:
case glslang::EOpUnpackInt2x32: case glslang::EOpUnpackInt2x32:
case glslang::EOpPackUint2x32: case glslang::EOpPackUint2x32:
case glslang::EOpUnpackUint2x32: case glslang::EOpUnpackUint2x32:
logger->missingFunctionality("shader int64"); unaryOp = spv::OpBitcast;
libCall = spv::GLSLstd450Bad; // TODO: This is a placeholder.
break; break;
case glslang::EOpDPdx: case glslang::EOpDPdx:

View File

@ -5,7 +5,6 @@ Warning, version 450 is not yet complete; most version-specific features are pre
Linked fragment stage: Linked fragment stage:
Missing functionality: shader int64
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 478 // Id's are bound by 478
@ -568,15 +567,15 @@ Missing functionality: shader int64
376: 130(ivec3) Load 289(u64v) 376: 130(ivec3) Load 289(u64v)
377: 361(fvec3) Bitcast 376 377: 361(fvec3) Bitcast 376
Store 363(dv) 377 Store 363(dv) 377
381: 14(int) ExtInst 1(GLSL.std.450) 0(Unknown) 380 381: 14(int) Bitcast 380
Store 279(i64) 381 Store 279(i64) 381
383: 14(int) Load 279(i64) 383: 14(int) Load 279(i64)
384: 72(ivec2) ExtInst 1(GLSL.std.450) 0(Unknown) 383 384: 72(ivec2) Bitcast 383
Store 382(iv) 384 Store 382(iv) 384
386: 36(int) ExtInst 1(GLSL.std.450) 0(Unknown) 385 386: 36(int) Bitcast 385
Store 291(u64) 386 Store 291(u64) 386
388: 36(int) Load 291(u64) 388: 36(int) Load 291(u64)
389: 79(ivec2) ExtInst 1(GLSL.std.450) 0(Unknown) 388 389: 79(ivec2) Bitcast 388
Store 387(uv) 389 Store 387(uv) 389
392: 130(ivec3) Load 289(u64v) 392: 130(ivec3) Load 289(u64v)
393: 36(int) Load 291(u64) 393: 36(int) Load 291(u64)