vkd3d-shader/ir: Introduce a boilerplate to validate the generated IR.

For the moment the validator is trivial, it never fails. Checks will
be added incrementally.
This commit is contained in:
Giovanni Mascellani
2023-08-29 21:20:35 +02:00
committed by Alexandre Julliard
parent cf871d2cb2
commit c052cd8998
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
7 changed files with 60 additions and 0 deletions

View File

@@ -2955,6 +2955,9 @@ int vkd3d_shader_sm6_parser_create(const struct vkd3d_shader_compile_info *compi
compile_info->source_name, message_context);
vkd3d_free(byte_code);
if (!sm6->p.failed && ret >= 0)
vsir_validate(&sm6->p);
if (sm6->p.failed && ret >= 0)
ret = VKD3D_ERROR_INVALID_SHADER;