tests/shader_runner: Avoid segfaults on missing signature elements.

This commit is contained in:
Francisco Casas
2024-10-14 19:05:30 -03:00
committed by Henri Verbeet
parent b2b678bdc2
commit 3e4e34adca
Notes: Henri Verbeet 2025-12-11 19:10:21 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1229
2 changed files with 4 additions and 0 deletions

View File

@@ -1459,6 +1459,8 @@ static bool gl_runner_draw(struct shader_runner *r,
signature_element = vkd3d_shader_find_signature_element(&vs_input_signature, signature_element = vkd3d_shader_find_signature_element(&vs_input_signature,
element->name, element->index, 0); element->name, element->index, 0);
ok(signature_element, "Cannot find signature element %s%u.\n", element->name, element->index); ok(signature_element, "Cannot find signature element %s%u.\n", element->name, element->index);
if (!signature_element)
continue;
attribute_idx = signature_element->register_index; attribute_idx = signature_element->register_index;
format = get_format_info(element->format, false); format = get_format_info(element->format, false);

View File

@@ -835,6 +835,8 @@ static VkPipeline create_graphics_pipeline(struct vulkan_shader_runner *runner,
signature_element = vkd3d_shader_find_signature_element( signature_element = vkd3d_shader_find_signature_element(
&runner->signatures[SHADER_TYPE_VS].input, element->name, element->index, 0); &runner->signatures[SHADER_TYPE_VS].input, element->name, element->index, 0);
ok(signature_element, "Cannot find signature element %s%u.\n", element->name, element->index); ok(signature_element, "Cannot find signature element %s%u.\n", element->name, element->index);
if (!signature_element)
continue;
attribute->location = signature_element->register_index; attribute->location = signature_element->register_index;
attribute->binding = element->slot; attribute->binding = element->slot;