Module: wine Branch: master Commit: 47e931823cd227abc2122610734700665b414b7a URL: http://source.winehq.org/git/wine.git/?a=commit;h=47e931823cd227abc212261073...
Author: Matteo Bruni mbruni@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;