mesa: Fix logbase2.
authorJosé Fonseca <jfonseca@vmware.com>
Thu, 16 Jul 2009 18:20:25 +0000 (19:20 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Thu, 16 Jul 2009 18:20:25 +0000 (19:20 +0100)
It was providing 1 too many for non power two values.

src/mesa/state_tracker/st_cb_texture.c

index 22685bd..15f84b6 100644 (file)
@@ -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;
 }