vkd3d-shader/ir: Validate data types for destination shifts.

This commit is contained in:
Giovanni Mascellani
2025-06-09 21:34:29 +02:00
committed by Henri Verbeet
parent 1862c28b90
commit bcaa1d50b0
Notes: Henri Verbeet 2025-06-24 16:32:28 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1590

View File

@@ -9656,12 +9656,17 @@ static void vsir_validate_dst_param(struct validation_context *ctx,
switch (dst->shift)
{
case 0:
break;
case 1:
case 2:
case 3:
case 13:
case 14:
case 15:
if (dst->reg.data_type != VKD3D_DATA_FLOAT)
validator_error(ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_DATA_TYPE,
"Invalid data type %#x for destination with shift.", dst->reg.data_type);
break;
default: