Mesa (mesa_7_5_branch): mesa: Fix logbase2.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Thu Jul 16 18:20:35 UTC 2009


Module: Mesa
Branch: mesa_7_5_branch
Commit: d4e6df9ab6e7b707278e3739abee776418c6f527
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d4e6df9ab6e7b707278e3739abee776418c6f527

Author: José Fonseca <jfonseca at vmware.com>
Date:   Thu Jul 16 19:20:25 2009 +0100

mesa: Fix logbase2.

It was providing 1 too many for non power two values.

---

 src/mesa/state_tracker/st_cb_texture.c |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index 22685bd..15f84b6 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -237,14 +237,12 @@ do_memcpy(void *dest, const void *src, size_t n)
 }
 
 
-static int
-logbase2(int n)
+static INLINE unsigned
+logbase2(unsigned n)
 {
-   GLint i = 1, log2 = 0;
-   while (n > i) {
-      i *= 2;
-      log2++;
-   }
+   unsigned log2 = 0;
+   while (n >>= 1)
+      ++log2;
    return log2;
 }
 




More information about the mesa-commit mailing list