vkd3d-shader/hlsl: Fix type comparison for column-major matrices.

Previously hlsl_types_are_equal considered two matrices of different
type if one of those had an explicit column-major modifier while the
other didn't have any (in which case the matrix is still considered
column-major by default).

Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Giovanni Mascellani 2021-09-27 14:50:57 +02:00 committed by Alexandre Julliard
parent d6d6971fc9
commit 859f80930d

View File

@ -327,8 +327,8 @@ bool hlsl_types_are_equal(const struct hlsl_type *t1, const struct hlsl_type *t2
return false; return false;
if (t1->base_type == HLSL_TYPE_SAMPLER && t1->sampler_dim != t2->sampler_dim) if (t1->base_type == HLSL_TYPE_SAMPLER && t1->sampler_dim != t2->sampler_dim)
return false; return false;
if ((t1->modifiers & HLSL_MODIFIERS_MAJORITY_MASK) if ((t1->modifiers & HLSL_MODIFIER_ROW_MAJOR)
!= (t2->modifiers & HLSL_MODIFIERS_MAJORITY_MASK)) != (t2->modifiers & HLSL_MODIFIER_ROW_MAJOR))
return false; return false;
if (t1->dimx != t2->dimx) if (t1->dimx != t2->dimx)
return false; return false;