summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/macros.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/main/macros.h')
-rw-r--r--src/mesa/main/macros.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h
index 54df50c..c3ef42a 100644
--- a/src/mesa/main/macros.h
+++ b/src/mesa/main/macros.h
@@ -690,7 +690,12 @@ minify(unsigned value, unsigned levels)
*
* \sa ROUND_DOWN_TO()
*/
-#define ALIGN(value, alignment) (((value) + (alignment) - 1) & ~((alignment) - 1))
+static inline uintptr_t
+ALIGN(uintptr_t value, int32_t alignment)
+{
+ assert((alignment > 0) && _mesa_is_pow_two(alignment));
+ return (((value) + (alignment) - 1) & ~((alignment) - 1));
+}
/**
* Align a value down to an alignment value
@@ -703,7 +708,12 @@ minify(unsigned value, unsigned levels)
*
* \sa ALIGN()
*/
-#define ROUND_DOWN_TO(value, alignment) ((value) & ~(alignment - 1))
+static inline uintptr_t
+ROUND_DOWN_TO(uintptr_t value, int32_t alignment)
+{
+ assert((alignment > 0) && _mesa_is_pow_two(alignment));
+ return ((value) & ~(alignment - 1));
+}
/** Cross product of two 3-element vectors */