[PATCH 1/5] d3dcompiler: Fix matrix dimension declaration and access.

Zebediah Figura z.figura12 at gmail.com
Wed Apr 29 21:54:39 CDT 2020


Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
 dlls/d3dcompiler_43/hlsl.y | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/dlls/d3dcompiler_43/hlsl.y b/dlls/d3dcompiler_43/hlsl.y
index 1b6e31e4964..5a4e9077d5f 100644
--- a/dlls/d3dcompiler_43/hlsl.y
+++ b/dlls/d3dcompiler_43/hlsl.y
@@ -214,7 +214,7 @@ static void declare_predefined_types(struct hlsl_scope *scope)
         {
             for (x = 1; x <= 4; ++x)
             {
-                sprintf(name, "%s%ux%u", names[bt], x, y);
+                sprintf(name, "%s%ux%u", names[bt], y, x);
                 type = new_hlsl_type(d3dcompiler_strdup(name), HLSL_CLASS_MATRIX, bt, x, y);
                 add_type_to_scope(scope, type);
 
@@ -425,13 +425,13 @@ static struct hlsl_ir_swizzle *get_swizzle(struct hlsl_ir_node *value, const cha
             {
                 if (swizzle[i + 1] != 'm')
                     return NULL;
-                x = swizzle[i + 2] - '0';
-                y = swizzle[i + 3] - '0';
+                y = swizzle[i + 2] - '0';
+                x = swizzle[i + 3] - '0';
             }
             else
             {
-                x = swizzle[i + 1] - '1';
-                y = swizzle[i + 2] - '1';
+                y = swizzle[i + 1] - '1';
+                x = swizzle[i + 2] - '1';
             }
 
             if (x >= value->data_type->dimx || y >= value->data_type->dimy)
-- 
2.26.2




More information about the wine-devel mailing list