Matteo Bruni : d3dcompiler: Only a few modifiers are relevant in type comparison.

Alexandre Julliard julliard at winehq.org
Tue Sep 18 14:04:31 CDT 2012


Module: wine
Branch: master
Commit: 47e931823cd227abc2122610734700665b414b7a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=47e931823cd227abc2122610734700665b414b7a

Author: Matteo Bruni <mbruni at codeweavers.com>
Date:   Tue Sep 18 18:18:07 2012 +0200

d3dcompiler: Only a few modifiers are relevant in type comparison.

---

 dlls/d3dcompiler_43/d3dcompiler_private.h |    2 ++
 dlls/d3dcompiler_43/utils.c               |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/d3dcompiler_43/d3dcompiler_private.h b/dlls/d3dcompiler_43/d3dcompiler_private.h
index a191529..28e77d3 100644
--- a/dlls/d3dcompiler_43/d3dcompiler_private.h
+++ b/dlls/d3dcompiler_43/d3dcompiler_private.h
@@ -732,6 +732,8 @@ struct hlsl_ir_node
 #define HLSL_MODIFIER_IN             0x00000800
 #define HLSL_MODIFIER_OUT            0x00001000
 
+#define HLSL_MODIFIERS_COMPARISON_MASK (HLSL_MODIFIER_ROW_MAJOR | HLSL_MODIFIER_COLUMN_MAJOR)
+
 struct hlsl_ir_var
 {
     struct hlsl_ir_node node;
diff --git a/dlls/d3dcompiler_43/utils.c b/dlls/d3dcompiler_43/utils.c
index f288efc..c403a98 100644
--- a/dlls/d3dcompiler_43/utils.c
+++ b/dlls/d3dcompiler_43/utils.c
@@ -921,7 +921,8 @@ static BOOL compare_hlsl_types(const struct hlsl_type *t1, const struct hlsl_typ
         return FALSE;
     if (t1->base_type == HLSL_TYPE_SAMPLER && t1->sampler_dim != t2->sampler_dim)
         return FALSE;
-    if (t1->modifiers != t2->modifiers)
+    if ((t1->modifiers & HLSL_MODIFIERS_COMPARISON_MASK)
+            != (t2->modifiers & HLSL_MODIFIERS_COMPARISON_MASK))
         return FALSE;
     if (t1->dimx != t2->dimx)
         return FALSE;




More information about the wine-cvs mailing list