[PATCH 3/5] d3dcompiler: Only a few modifiers are relevant in type comparison.
Matteo Bruni
mbruni at codeweavers.com
Tue Sep 18 11:18:07 CDT 2012
---
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;
--
1.7.8.6
More information about the wine-patches
mailing list