vkd3d-shader/hlsl: Handle error instructions in add_switch().

This commit is contained in:
Elizabeth Figura
2024-12-07 19:25:38 -06:00
committed by Henri Verbeet
parent fb290f3847
commit 602103dcf0
Notes: Henri Verbeet 2025-02-05 14:07:07 +01:00
Approved-by: Francisco Casas (@fcasas)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1365

View File

@ -6895,6 +6895,14 @@ static bool add_switch(struct hlsl_ctx *ctx, struct hlsl_block *block,
struct hlsl_ir_node *selector = node_from_block(block);
struct hlsl_ir_node *s;
if (selector->data_type->class == HLSL_CLASS_ERROR)
{
destroy_switch_cases(cases);
destroy_block(block);
cleanup_parse_attribute_list(attributes);
return true;
}
if (!(selector = add_implicit_conversion(ctx, block, selector,
hlsl_get_scalar_type(ctx, HLSL_TYPE_UINT), &selector->loc)))
{