From c89fd93859df88bcd04fb9bbe4038f737f5fbe6d Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Tue, 23 Sep 2025 11:53:15 +0200 Subject: [PATCH] vkd3d-shader/ir: Require signed operands for IREM instructions. --- libs/vkd3d-shader/dxil.c | 2 +- libs/vkd3d-shader/ir.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/vkd3d-shader/dxil.c b/libs/vkd3d-shader/dxil.c index 21142c8f6..5ba33276e 100644 --- a/libs/vkd3d-shader/dxil.c +++ b/libs/vkd3d-shader/dxil.c @@ -4675,12 +4675,12 @@ static void sm6_parser_emit_binop(struct sm6_parser *sm6, const struct dxil_reco silence_warning = !(flags & ~(OB_NO_UNSIGNED_WRAP | OB_NO_SIGNED_WRAP)); break; case VSIR_OP_IDIV: + case VSIR_OP_IREM: case VSIR_OP_ISHR: type_flags |= DXIL_TYPE_SIGNED; /* fall through */ case VSIR_OP_USHR: case VSIR_OP_UDIV_SIMPLE: - case VSIR_OP_IREM: case VSIR_OP_UREM: silence_warning = !(flags & ~PEB_EXACT); break; diff --git a/libs/vkd3d-shader/ir.c b/libs/vkd3d-shader/ir.c index 6920f34e7..b604808e4 100644 --- a/libs/vkd3d-shader/ir.c +++ b/libs/vkd3d-shader/ir.c @@ -12844,7 +12844,7 @@ static const struct vsir_validator_instruction_desc vsir_validator_instructions[ [VSIR_OP_IMIN] = {1, 2, vsir_validate_signed_integer_elementwise_operation}, [VSIR_OP_INE] = {1, 2, vsir_validate_integer_comparison_operation}, [VSIR_OP_INEG] = {1, 1, vsir_validate_integer_elementwise_operation}, - [VSIR_OP_IREM] = {1, 2, vsir_validate_integer_elementwise_operation}, + [VSIR_OP_IREM] = {1, 2, vsir_validate_signed_integer_elementwise_operation}, [VSIR_OP_ISFINITE] = {1, 1, vsir_validate_float_comparison_operation}, [VSIR_OP_ISHL] = {1, 2, vsir_validate_ishl}, [VSIR_OP_ISHR] = {1, 2, vsir_validate_ishr},