Merge remote branch 'origin/master' into radeon-rewrite
[mesa.git] / src / gallium / drivers / nouveau / nouveau_util.h
index c92041ebeba835fc4f5188095d97cfaca890f326..a10114beab98d9ffb9204a448d6ed0d0692cbcc3 100644 (file)
@@ -61,4 +61,31 @@ nouveau_vbuf_split(unsigned remaining, unsigned overhead, unsigned vpp,
        return max;
 }
 
+/* Integer base-2 logarithm, rounded towards zero. */
+static INLINE unsigned log2i(unsigned i)
+{
+       unsigned r = 0;
+
+       if (i & 0xffff0000) {
+               i >>= 16;
+               r += 16;
+       }
+       if (i & 0x0000ff00) {
+               i >>= 8;
+               r += 8;
+       }
+       if (i & 0x000000f0) {
+               i >>= 4;
+               r += 4;
+       }
+       if (i & 0x0000000c) {
+               i >>= 2;
+               r += 2;
+       }
+       if (i & 0x00000002) {
+               r += 1;
+       }
+       return r;
+}
+
 #endif