[PATCH vkd3d] vkd3d-shader/hlsl: Fix type comparison for column-major matrices.
Giovanni Mascellani
gmascellani at codeweavers.com
Tue Sep 28 01:44:49 CDT 2021
Hi,
Il 28/09/21 04:23, Zebediah Figura (she/her) ha scritto:
> (I don't like the situation with matrix majority, or the amount of
> thought I had to put into this to make sure this was correct... but I
> suppose I'm at least partly to blame for making it this way.)
Yeah, it's a bit strange, because we try to represent with two bits what
clearly has precisely two alternative possibilities (column- or row-major).
I think this is an artifact of how parsing works: each keyword simply
sets the corresponding bit, and then there is some logic that checks
that it is not the case that both bits are set. It is not really wrong
to keep this behavior, provided that, once the check is done, the
row-major bit is always used and the column-major is ignored.
In order to reduce the probability of mistakes, I would drop the
constant HLSL_MODIFIERS_MAJORITY_MASK (unless it turns out that there
are cases where it is useful) and always query majority using a
dedicated macro like
#define HLSL_IS_ROW_MAJOR(modifiers) ((modifiers) & HLSL_MODIFIER_ROW_MAJOR)
Thanks, Giovanni.
More information about the wine-devel
mailing list