diff options
Diffstat (limited to 'mesalib/src/mesa/main/imports.h')
-rw-r--r-- | mesalib/src/mesa/main/imports.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mesalib/src/mesa/main/imports.h b/mesalib/src/mesa/main/imports.h index af7a8cc00..9922f43e3 100644 --- a/mesalib/src/mesa/main/imports.h +++ b/mesalib/src/mesa/main/imports.h @@ -539,6 +539,18 @@ _mesa_inv_sqrtf(float x); extern void
_mesa_init_sqrt_table(void);
+#ifdef __GNUC__
+#define _mesa_ffs(i) ffs(i)
+#define _mesa_ffsll(i) ffsll(i)
+
+#if ((_GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ >= 4)
+#define _mesa_bitcount(i) __builtin_popcount(i)
+#else
+extern unsigned int
+_mesa_bitcount(unsigned int n);
+#endif
+
+#else
extern int
_mesa_ffs(int32_t i);
@@ -547,6 +559,7 @@ _mesa_ffsll(int64_t i); extern unsigned int
_mesa_bitcount(unsigned int n);
+#endif
extern GLhalfARB
_mesa_float_to_half(float f);
|