Mesa (master): gallium/util: add u_bit_scan64

Marek Olšák mareko at kemper.freedesktop.org
Wed Feb 4 13:38:15 UTC 2015


Module: Mesa
Branch: master
Commit: 50433ea526942dbeac75cc415becadea157e5d33
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=50433ea526942dbeac75cc415becadea157e5d33

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Jan 31 17:15:16 2015 +0100

gallium/util: add u_bit_scan64

Same as u_bit_scan, but for uint64_t.

Reviewed-by: Glenn Kennard <glenn.kennard at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/gallium/auxiliary/util/u_math.h |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h
index ca6d0f1..8eb840f 100644
--- a/src/gallium/auxiliary/util/u_math.h
+++ b/src/gallium/auxiliary/util/u_math.h
@@ -583,6 +583,13 @@ u_bit_scan(unsigned *mask)
    return i;
 }
 
+static INLINE int
+u_bit_scan64(uint64_t *mask)
+{
+   int i = ffsll(*mask) - 1;
+   *mask &= ~(1llu << i);
+   return i;
+}
 
 /**
  * Return float bits.




More information about the mesa-commit mailing list