mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
vkd3d-shader/ir: Require signed operands for IREM instructions.
This commit is contained in:
Notes:
Henri Verbeet
2025-10-14 16:33:22 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1787
@@ -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;
|
||||
|
||||
@@ -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},
|
||||
|
||||
Reference in New Issue
Block a user