From: Conor McCarthy cmccarthy@codeweavers.com
These instructions perform integer casts to/from 64 bits. --- libs/vkd3d-shader/spirv.c | 2 ++ tests/hlsl/bitwise.shader_test | 8 ++++---- tests/hlsl/cast-64-bit.shader_test | 8 ++++---- 3 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c index c3a683fa5..e3860c628 100644 --- a/libs/vkd3d-shader/spirv.c +++ b/libs/vkd3d-shader/spirv.c @@ -6637,12 +6637,14 @@ static SpvOp spirv_compiler_map_alu_instruction(const struct vkd3d_shader_instru {VKD3DSIH_ISHR, SpvOpShiftRightArithmetic}, {VKD3DSIH_ITOD, SpvOpConvertSToF}, {VKD3DSIH_ITOF, SpvOpConvertSToF}, + {VKD3DSIH_ITOI, SpvOpSConvert}, {VKD3DSIH_MUL, SpvOpFMul}, {VKD3DSIH_NOT, SpvOpNot}, {VKD3DSIH_OR, SpvOpBitwiseOr}, {VKD3DSIH_USHR, SpvOpShiftRightLogical}, {VKD3DSIH_UTOD, SpvOpConvertUToF}, {VKD3DSIH_UTOF, SpvOpConvertUToF}, + {VKD3DSIH_UTOU, SpvOpUConvert}, {VKD3DSIH_XOR, SpvOpBitwiseXor}, }; unsigned int i; diff --git a/tests/hlsl/bitwise.shader_test b/tests/hlsl/bitwise.shader_test index b9dec0804..1233d7c88 100644 --- a/tests/hlsl/bitwise.shader_test +++ b/tests/hlsl/bitwise.shader_test @@ -183,11 +183,11 @@ float4 main() : sv_target [test] uniform 0 int64_t2 9223372036854775807 -1 uniform 4 int4 34 66 0 0 -todo draw quad +draw quad probe all rgba (0.0, 4.611686018e18, 536870912.0, 2.305843009e18) 1 uniform 0 int64_t2 -1 -1 uniform 4 int4 34 66 0 0 -todo draw quad +draw quad probe all rgba (-1.0, -1.0, -1.0, -1.0) 1
[pixel shader] @@ -207,7 +207,7 @@ float4 main() : sv_target [test] uniform 0 uint64_t2 0xffffffffffffffff 1 uniform 4 uint4 34 66 0 0 -todo draw quad +draw quad probe all rgba (9.223372036e18, 1.0, 1073741823.0, 4.611686018e18) 1
[pixel shader] @@ -227,7 +227,7 @@ float4 main() : sv_target [test] uniform 0 uint64_t2 0x83 1 uniform 4 uint4 34 66 0 0 -todo draw quad +draw quad probe all rgba (262.0, 9.223372036e18, 2250562863104.0, 524.0) 1
[pixel shader] diff --git a/tests/hlsl/cast-64-bit.shader_test b/tests/hlsl/cast-64-bit.shader_test index 813cce108..5d9ce69c2 100644 --- a/tests/hlsl/cast-64-bit.shader_test +++ b/tests/hlsl/cast-64-bit.shader_test @@ -35,8 +35,8 @@ float4 main() : sv_target [test] uniform 0 uint64_t2 0x500000001 0x100000002 uniform 4 uint4 10 4 0 0 -todo draw quad -todo probe all rgba (1.0, 2.0, 2147483648.0, 1073741824.0) +draw quad +probe all rgba (1.0, 2.0, 2147483648.0, 1073741824.0)
[pixel shader] @@ -53,5 +53,5 @@ float4 main() : sv_target [test] uniform 0 int64_t2 -21474836481 0x100000002 uniform 4 int4 -20 8 0 0 -todo draw quad -todo probe all rgba (-1.0, 2.0, 1073741824.0, 536870912.0) +draw quad +probe all rgba (-1.0, 2.0, 1073741824.0, 536870912.0)