vkd3d-shader/hlsl: Do not emit HLSL_OP1_ABS for unsigned types.

This commit is contained in:
Elizabeth Figura
2025-03-28 14:55:06 -05:00
committed by Henri Verbeet
parent cdc74a9377
commit a06b9f6646
Notes: Henri Verbeet 2025-05-14 15:27:19 +02:00
Approved-by: Francisco Casas (@fcasas)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1497
5 changed files with 47 additions and 6 deletions

View File

@@ -372,6 +372,27 @@ bool hlsl_base_type_is_integer(enum hlsl_base_type type)
vkd3d_unreachable();
}
bool hlsl_type_is_signed_integer(const struct hlsl_type *type)
{
VKD3D_ASSERT(hlsl_is_numeric_type(type));
switch (type->e.numeric.type)
{
case HLSL_TYPE_INT:
return true;
case HLSL_TYPE_BOOL:
case HLSL_TYPE_DOUBLE:
case HLSL_TYPE_FLOAT:
case HLSL_TYPE_HALF:
case HLSL_TYPE_MIN16UINT:
case HLSL_TYPE_UINT:
return false;
}
vkd3d_unreachable();
}
bool hlsl_type_is_integer(const struct hlsl_type *type)
{
VKD3D_ASSERT(hlsl_is_numeric_type(type));