vkd3d-shader/fx: Explicitly check all known state assignment types for fx_2_0.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
Nikolay Sivov
2025-06-07 23:11:09 +02:00
committed by Henri Verbeet
parent 590ea03255
commit ddb433d552
Notes: Henri Verbeet 2025-06-16 17:49:09 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1570

View File

@@ -4339,7 +4339,7 @@ static void fx_parse_fx_2_complex_state(struct fx_parser *parser)
{ {
fx_parse_fx_2_array_selector(parser); fx_parse_fx_2_array_selector(parser);
} }
else else if (state.assignment_type == FX_2_ASSIGNMENT_CODE_BLOB)
{ {
size = fx_parser_read_u32(parser); size = fx_parser_read_u32(parser);
vkd3d_string_buffer_printf(&parser->buffer, "blob size %u\n", size); vkd3d_string_buffer_printf(&parser->buffer, "blob size %u\n", size);
@@ -4347,6 +4347,11 @@ static void fx_parse_fx_2_complex_state(struct fx_parser *parser)
fx_dump_blob(parser, data, size); fx_dump_blob(parser, data, size);
fx_parser_skip(parser, align(size, 4)); fx_parser_skip(parser, align(size, 4));
} }
else
{
fx_parser_error(parser, VKD3D_SHADER_ERROR_FX_INVALID_DATA,
"Unknown state assignment type %u.", state.assignment_type);
}
} }
static void fx_2_parse(struct fx_parser *parser) static void fx_2_parse(struct fx_parser *parser)