mesa: Make bitset.h not rely on Mesa-specific types and functions.
authorEric Anholt <eric@anholt.net>
Wed, 11 Feb 2015 22:57:55 +0000 (14:57 -0800)
committerEric Anholt <eric@anholt.net>
Fri, 20 Feb 2015 19:36:34 +0000 (11:36 -0800)
Note that we can't use u_math.h's align() because it's a function instead
of a macro, while BITSET_DECLARE needs a constant expression for nouveau's
usage in global declarations.

v2: Stick some parens around the bits macro argument usage (review by Jose).

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/mesa/main/bitset.h

index 2558da49a6a49cb61ad93dfab2a62d1c0cd3f3bb..17c5d5d252aae6e320dd17de5d977c68c6c2a78f 100644 (file)
 #ifndef BITSET_H
 #define BITSET_H
 
-#include "imports.h"
-#include "macros.h"
+#include "util/u_math.h"
 
 /****************************************************************************
  * generic bitset implementation
  */
 
-#define BITSET_WORD GLuint
+#define BITSET_WORD unsigned int
 #define BITSET_WORDBITS (sizeof (BITSET_WORD) * 8)
 
 /* bitset declarations
  */
-#define BITSET_WORDS(bits) (ALIGN(bits, BITSET_WORDBITS) / BITSET_WORDBITS)
+#define BITSET_WORDS(bits) (((bits) + BITSET_WORDBITS - 1) / BITSET_WORDBITS)
 #define BITSET_DECLARE(name, bits) BITSET_WORD name[BITSET_WORDS(bits)]
 
 /* bitset operations