mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/ir: Allow failure in shader_signature_find_element_for_reg().
shader_signature_find_element_for_reg() is also used in the TPF parser, where the program has not been validated yet, so it must not crash on errors. The I/O normaliser can instead assume that the shader is already validated. This fixes a crash with a shader used by The Falconeer. The bug is still present, because the shader will be incorrectly rejected, but at least the vkd3d-shader will fail gracefully.
This commit is contained in:
committed by
Henri Verbeet
parent
32ced3bd8f
commit
637a3cabe7
Notes:
Henri Verbeet
2024-09-20 17:31:34 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1089
@@ -80,6 +80,7 @@ enum vkd3d_shader_error
|
||||
VKD3D_SHADER_ERROR_TPF_INVALID_CASE_VALUE = 1007,
|
||||
VKD3D_SHADER_ERROR_TPF_INVALID_REGISTER_DIMENSION = 1008,
|
||||
VKD3D_SHADER_ERROR_TPF_INVALID_REGISTER_SWIZZLE = 1009,
|
||||
VKD3D_SHADER_ERROR_TPF_INVALID_REGISTER_DCL = 1010,
|
||||
|
||||
VKD3D_SHADER_WARNING_TPF_MASK_NOT_CONTIGUOUS = 1300,
|
||||
VKD3D_SHADER_WARNING_TPF_UNHANDLED_INDEX_RANGE_MASK = 1301,
|
||||
|
Reference in New Issue
Block a user