From 108f4fe47e91ca6ec50966ce56d6b06136e99670 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Mon, 2 Jun 2025 00:14:32 +0200 Subject: [PATCH] vkd3d-shader/fx: Fix reading the assignment value base type when parsing fx_2_0. --- libs/vkd3d-shader/fx.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/vkd3d-shader/fx.c b/libs/vkd3d-shader/fx.c index 92d83633a..e4739aab8 100644 --- a/libs/vkd3d-shader/fx.c +++ b/libs/vkd3d-shader/fx.c @@ -3988,11 +3988,12 @@ static void fx_parse_fx_2_assignment(struct fx_parser *parser, const struct fx_a { if (state->type == FX_UINT || state->type == FX_FLOAT) { - uint32_t offset = entry->type; + uint32_t offset = entry->type, base_type; unsigned int size; size = fx_get_fx_2_type_size(parser, &offset); - parse_fx_2_numeric_value(parser, entry->value, size, entry->type); + fx_parser_read_unstructured(parser, &base_type, entry->type, sizeof(base_type)); + parse_fx_2_numeric_value(parser, entry->value, size, base_type); } else if (state->type == FX_VERTEXSHADER || state->type == FX_PIXELSHADER) {