Francisco Casas : vkd3d-shader/hlsl: Remove redundant type check in declare_vars().

Alexandre Julliard julliard at winehq.org
Fri Mar 18 16:38:45 CDT 2022


Module: vkd3d
Branch: master
Commit: a7e6d6b9d26fd0fcc0f1be9ae6c8419abdf0df84
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=a7e6d6b9d26fd0fcc0f1be9ae6c8419abdf0df84

Author: Francisco Casas <fcasas at codeweavers.com>
Date:   Thu Mar 10 12:14:11 2022 -0300

vkd3d-shader/hlsl: Remove redundant type check in declare_vars().

Signed-off-by: Francisco Casas <fcasas at codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d-shader/hlsl.y | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y
index 521ca0a7..dc9b1439 100644
--- a/libs/vkd3d-shader/hlsl.y
+++ b/libs/vkd3d-shader/hlsl.y
@@ -1612,23 +1612,17 @@ static struct list *declare_vars(struct hlsl_ctx *ctx, struct hlsl_type *basic_t
                 continue;
             }
 
-            if (type->type == HLSL_CLASS_STRUCT)
-            {
-                struct_var_initializer(ctx, statements_list, var, &v->initializer);
-                vkd3d_free(v);
-                continue;
-            }
-            if (type->type > HLSL_CLASS_LAST_NUMERIC)
+            if (type->type > HLSL_CLASS_LAST_NUMERIC && type->type != HLSL_CLASS_STRUCT)
             {
                 FIXME("Initializers for non scalar/struct variables not supported yet.\n");
                 free_parse_initializer(&v->initializer);
                 vkd3d_free(v);
                 continue;
             }
-            if (v->arrays.count)
+
+            if (type->type == HLSL_CLASS_STRUCT)
             {
-                hlsl_fixme(ctx, &v->loc, "Array initializer.");
-                free_parse_initializer(&v->initializer);
+                struct_var_initializer(ctx, statements_list, var, &v->initializer);
                 vkd3d_free(v);
                 continue;
             }




More information about the wine-cvs mailing list