mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-shader/ir: Validate the output control point count.
This commit is contained in:
parent
bd3ba87747
commit
859b911b3a
Notes:
Henri Verbeet
2024-10-15 17:05:01 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1181
@ -7518,6 +7518,21 @@ enum vkd3d_result vsir_program_validate(struct vsir_program *program, uint64_t c
|
||||
program->input_control_point_count);
|
||||
}
|
||||
|
||||
switch (program->shader_version.type)
|
||||
{
|
||||
case VKD3D_SHADER_TYPE_HULL:
|
||||
if (program->output_control_point_count == 0)
|
||||
validator_error(&ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_SIGNATURE,
|
||||
"Invalid zero output control point count.");
|
||||
break;
|
||||
|
||||
default:
|
||||
if (program->output_control_point_count != 0)
|
||||
validator_error(&ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_SIGNATURE,
|
||||
"Invalid output control point count %u.",
|
||||
program->output_control_point_count);
|
||||
}
|
||||
|
||||
vsir_validate_signature(&ctx, &program->input_signature, SIGNATURE_TYPE_INPUT);
|
||||
vsir_validate_signature(&ctx, &program->output_signature, SIGNATURE_TYPE_OUTPUT);
|
||||
vsir_validate_signature(&ctx, &program->patch_constant_signature, SIGNATURE_TYPE_PATCH_CONSTANT);
|
||||
|
Loading…
Reference in New Issue
Block a user