vkd3d-shader/ir: Check that SSA registers are used validly.

Specifically, they are assigned only once and only assigned components
are used.

Right now we don't check that the assignment dominates all usages.
This commit is contained in:
Giovanni Mascellani
2024-01-10 11:58:44 +01:00
committed by Alexandre Julliard
parent 26bebe8f91
commit b0c8a47f9d
Notes: Alexandre Julliard 2024-01-15 23:01:43 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/550
2 changed files with 54 additions and 2 deletions

View File

@@ -216,6 +216,7 @@ enum vkd3d_shader_error
VKD3D_SHADER_ERROR_VSIR_INVALID_DCL_TEMPS = 9014,
VKD3D_SHADER_ERROR_VSIR_INVALID_INDEX = 9015,
VKD3D_SHADER_ERROR_VSIR_INVALID_INSTRUCTION_NESTING = 9016,
VKD3D_SHADER_ERROR_VSIR_INVALID_SSA_USAGE = 9017,
VKD3D_SHADER_WARNING_VSIR_DYNAMIC_DESCRIPTOR_ARRAY = 9300,
};