mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/ir: Validate source parameters.
This commit is contained in:
committed by
Alexandre Julliard
parent
603170106c
commit
34b1c0fe5d
Notes:
Alexandre Julliard
2023-09-22 22:46:19 +02:00
Approved-by: Francisco Casas (@fcasas) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/317
@@ -1364,6 +1364,14 @@ static void vsir_validate_src_param(struct validation_context *ctx,
|
||||
const struct vkd3d_shader_src_param *src)
|
||||
{
|
||||
vsir_validate_register(ctx, &src->reg);
|
||||
|
||||
if (src->swizzle & ~0x03030303u)
|
||||
validator_error(ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_SWIZZLE, "Source has invalid swizzle %#x.",
|
||||
src->swizzle);
|
||||
|
||||
if (src->modifiers >= VKD3DSPSM_COUNT)
|
||||
validator_error(ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_MODIFIERS, "Source has invalid modifiers %#x.",
|
||||
src->modifiers);
|
||||
}
|
||||
|
||||
static void vsir_validate_instruction(struct validation_context *ctx)
|
||||
|
||||
Reference in New Issue
Block a user