Module: vkd3d Branch: master Commit: e973271a40676c19f2b842befdc9f15c593fe8ef URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/e973271a40676c19f2b842befdc9f1...
Author: Conor McCarthy cmccarthy@codeweavers.com Date: Mon Jan 22 15:59:22 2024 +1000
vkd3d-shader/spirv: Handle the ISINF and ISNAN instructions in spirv_compiler_emit_alu_instruction().
---
libs/vkd3d-shader/spirv.c | 4 ++++ tests/hlsl/float-comparison.shader_test | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c index 2d632937..b6dadeda 100644 --- a/libs/vkd3d-shader/spirv.c +++ b/libs/vkd3d-shader/spirv.c @@ -6768,6 +6768,8 @@ static SpvOp spirv_compiler_map_alu_instruction(const struct vkd3d_shader_instru {VKD3DSIH_INEG, SpvOpSNegate}, {VKD3DSIH_ISHL, SpvOpShiftLeftLogical}, {VKD3DSIH_ISHR, SpvOpShiftRightArithmetic}, + {VKD3DSIH_ISINF, SpvOpIsInf}, + {VKD3DSIH_ISNAN, SpvOpIsNan}, {VKD3DSIH_ITOD, SpvOpConvertSToF}, {VKD3DSIH_ITOF, SpvOpConvertSToF}, {VKD3DSIH_ITOI, SpvOpSConvert}, @@ -9488,6 +9490,8 @@ static int spirv_compiler_handle_instruction(struct spirv_compiler *compiler, case VKD3DSIH_INEG: case VKD3DSIH_ISHL: case VKD3DSIH_ISHR: + case VKD3DSIH_ISINF: + case VKD3DSIH_ISNAN: case VKD3DSIH_ITOD: case VKD3DSIH_ITOF: case VKD3DSIH_ITOI: diff --git a/tests/hlsl/float-comparison.shader_test b/tests/hlsl/float-comparison.shader_test index 9cab3442..b6654344 100644 --- a/tests/hlsl/float-comparison.shader_test +++ b/tests/hlsl/float-comparison.shader_test @@ -78,7 +78,7 @@ float4 main() : sv_target
[test] uniform 0 float4 1.5 0.0 1.0 -1.0 -todo draw quad +draw quad probe all rgba (1.0, 1.0, 0.0, 0.0)