diff options
| author | Marek Olšák <marek.olsak@amd.com> | 2024-05-14 04:20:30 -0400 |
|---|---|---|
| committer | Marge Bot <emma+marge@anholt.net> | 2024-05-14 10:13:15 +0000 |
| commit | 5502ecd7716045e76f13f007a4aa5f5653c80ecd (patch) | |
| tree | 2180ad95d5665407c9268a685b58ff4d124d3d7d /src/util/bitset.h | |
| parent | 6c3457033a8ecc76f7c07c87221bca69c8e7ce07 (diff) | |
util: shift the mask in BITSET_TEST_RANGE_INSIDE_WORD to be relative to b
so that users don't have to shift it at every use. It was supposed to be
like this from the beginning.
Fixes: fb994f44d91a4b947 - util: make BITSET_TEST_RANGE_INSIDE_WORD take a value to compare with
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29187>
Diffstat (limited to 'src/util/bitset.h')
| -rw-r--r-- | src/util/bitset.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/util/bitset.h b/src/util/bitset.h index cffbb73ecce..d5abb6c1f7c 100644 --- a/src/util/bitset.h +++ b/src/util/bitset.h @@ -209,7 +209,8 @@ __bitset_shl(BITSET_WORD *x, unsigned amount, unsigned n) */ #define BITSET_TEST_RANGE_INSIDE_WORD(x, b, e, mask) \ (BITSET_BITWORD(b) == BITSET_BITWORD(e) ? \ - (((x)[BITSET_BITWORD(b)] & BITSET_RANGE(b, e)) == mask) : \ + (((x)[BITSET_BITWORD(b)] & BITSET_RANGE(b, e)) == \ + (((BITSET_WORD)mask) << (b % BITSET_WORDBITS))) : \ (assert (!"BITSET_TEST_RANGE: bit range crosses word boundary"), 0)) #define BITSET_SET_RANGE_INSIDE_WORD(x, b, e) \ (BITSET_BITWORD(b) == BITSET_BITWORD(e) ? \ |