[Mesa-dev] [PATCH 12/13] gallium/util: Add u_bit_scan_consecutive_range64.
Bas Nieuwenhuizen
bas at basnieuwenhuizen.nl
Thu Apr 14 01:35:02 UTC 2016
For use by radeonsi.
Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
---
src/gallium/auxiliary/util/u_math.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h
index b4ac0db..3a468e4 100644
--- a/src/gallium/auxiliary/util/u_math.h
+++ b/src/gallium/auxiliary/util/u_math.h
@@ -523,6 +523,14 @@ u_bit_scan_consecutive_range(unsigned *mask, int *start, int *count)
*mask &= ~(((1 << *count) - 1) << *start);
}
+static inline void
+u_bit_scan_consecutive_range64(uint64_t *mask, int *start, int *count)
+{
+ *start = ffsll(*mask) - 1;
+ *count = ffsll(~(*mask >> *start)) - 1;
+ *mask &= ~(((1llu << *count) - 1) << *start);
+}
+
/**
* Return float bits.
*/
--
2.8.0
More information about the mesa-dev
mailing list