aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/gallium/auxiliary/util/u_math.h
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2012-07-18 10:12:07 +0200
committermarha <marha@users.sourceforge.net>2012-07-18 10:12:07 +0200
commit980040093547dc8dd563d8cb9d003aa39737eda4 (patch)
treec85afeb4affd10ee0d6001d18569510ef6488272 /mesalib/src/gallium/auxiliary/util/u_math.h
parent01102cdf33d68a7be192a139752831ff93dee117 (diff)
parent2ff5448bcca8cba4b62026d5493cb08aaf2838d8 (diff)
downloadvcxsrv-980040093547dc8dd563d8cb9d003aa39737eda4.tar.gz
vcxsrv-980040093547dc8dd563d8cb9d003aa39737eda4.tar.bz2
vcxsrv-980040093547dc8dd563d8cb9d003aa39737eda4.zip
Merge remote-tracking branch 'origin/released'
Conflicts: mesalib/src/glsl/.gitignore xorg-server/Xext/panoramiX.c xorg-server/hw/xwin/win.h xorg-server/hw/xwin/winclipboardinit.c xorg-server/hw/xwin/winclipboardthread.c xorg-server/hw/xwin/winclipboardunicode.c xorg-server/hw/xwin/winclipboardwrappers.c xorg-server/hw/xwin/winclipboardxevents.c xorg-server/hw/xwin/wincreatewnd.c xorg-server/hw/xwin/windialogs.c xorg-server/hw/xwin/winerror.c xorg-server/hw/xwin/winmonitors.c xorg-server/hw/xwin/winmultiwindowwm.c xorg-server/hw/xwin/winprocarg.c xorg-server/hw/xwin/winwndproc.c
Diffstat (limited to 'mesalib/src/gallium/auxiliary/util/u_math.h')
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_math.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/mesalib/src/gallium/auxiliary/util/u_math.h b/mesalib/src/gallium/auxiliary/util/u_math.h
index f35c35ffe..90b421ed8 100644
--- a/mesalib/src/gallium/auxiliary/util/u_math.h
+++ b/mesalib/src/gallium/auxiliary/util/u_math.h
@@ -477,6 +477,20 @@ unsigned ffs( unsigned u )
#endif /* FFS_DEFINED */
+/**
+ * Find last bit set in a word. The least significant bit is 1.
+ * Return 0 if no bits are set.
+ */
+static INLINE unsigned util_last_bit(unsigned u)
+{
+ unsigned r = 0;
+ while (u) {
+ r++;
+ u >>= 1;
+ }
+ return r;
+}
+
/* Destructively loop over all of the bits in a mask as in:
*