vkd3d-shader/ir: Allow constant buffer loads to have a minimum precision.

DXIL constant buffer loads can have precision modifiers.
This commit is contained in:
Conor McCarthy
2025-06-22 10:10:35 +10:00
committed by Henri Verbeet
parent b8cbe03308
commit dda2ec1814
Notes: Henri Verbeet 2025-06-23 20:19:55 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1589

View File

@@ -9213,10 +9213,6 @@ static void vsir_validate_descriptor_indices(struct validation_context *ctx,
static void vsir_validate_constbuffer_register(struct validation_context *ctx, static void vsir_validate_constbuffer_register(struct validation_context *ctx,
const struct vkd3d_shader_register *reg) const struct vkd3d_shader_register *reg)
{ {
if (reg->precision != VKD3D_SHADER_REGISTER_PRECISION_DEFAULT)
validator_error(ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_PRECISION,
"Invalid precision %#x for a CONSTBUFFER register.", reg->precision);
if (reg->dimension != VSIR_DIMENSION_VEC4) if (reg->dimension != VSIR_DIMENSION_VEC4)
validator_error(ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_DIMENSION, validator_error(ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_DIMENSION,
"Invalid dimension %#x for a CONSTBUFFER register.", reg->dimension); "Invalid dimension %#x for a CONSTBUFFER register.", reg->dimension);