vkd3d-shader/ir: Disallow INPUT registers in destination parameters.

This commit is contained in:
Giovanni Mascellani 2024-10-09 23:01:03 +02:00 committed by Henri Verbeet
parent bf71b13797
commit 5b5a27dccb
Notes: Henri Verbeet 2024-10-10 20:10:37 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1172

View File

@ -6388,23 +6388,12 @@ static void vsir_validate_dst_param(struct validation_context *ctx,
break;
case VKD3DSPR_IMMCONST:
validator_error(ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_REGISTER_TYPE,
"Invalid IMMCONST register used as destination parameter.");
break;
case VKD3DSPR_IMMCONST64:
validator_error(ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_REGISTER_TYPE,
"Invalid IMMCONST64 register used as destination parameter.");
break;
case VKD3DSPR_SAMPLER:
validator_error(ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_REGISTER_TYPE,
"Invalid SAMPLER register used as destination parameter.");
break;
case VKD3DSPR_RESOURCE:
case VKD3DSPR_INPUT:
validator_error(ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_REGISTER_TYPE,
"Invalid RESOURCE register used as destination parameter.");
"Invalid %#x register used as destination parameter.", dst->reg.type);
break;
default: