About Social Code
aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2024-05-14 04:20:30 -0400
committerMarge Bot <emma+marge@anholt.net>2024-05-14 10:13:15 +0000
commit5502ecd7716045e76f13f007a4aa5f5653c80ecd (patch)
tree2180ad95d5665407c9268a685b58ff4d124d3d7d /src
parent6c3457033a8ecc76f7c07c87221bca69c8e7ce07 (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')
-rw-r--r--src/util/bitset.h3
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) ? \