aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2020-03-30 15:52:30 -0700
committerMarge Bot <[email protected]>2020-03-31 18:46:04 +0000
commitae7da1a01706835120bd59ea069e49cf325feaa3 (patch)
tree3e8bc5dda4f112db6170a51ba45652712d012352 /src
parent7a53e67816ed9baf7d825ed60ee59f0c05f9df48 (diff)
util: move ALIGN/ROUND_DOWN_TO to u_math.h
These are less mesa specific than the rest of macros.h, and would be nice to use outside of mesa. Prep for next patch. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4381>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/main/macros.h46
-rw-r--r--src/util/u_math.h46
2 files changed, 46 insertions, 46 deletions
diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h
index a54ade1fc9b..a4c5ec67a4a 100644
--- a/src/mesa/main/macros.h
+++ b/src/mesa/main/macros.h
@@ -691,52 +691,6 @@ minify(unsigned value, unsigned levels)
return MAX2(1, value >> levels);
}
-/**
- * Align a value up to an alignment value
- *
- * If \c value is not already aligned to the requested alignment value, it
- * will be rounded up.
- *
- * \param value Value to be rounded
- * \param alignment Alignment value to be used. This must be a power of two.
- *
- * \sa ROUND_DOWN_TO()
- */
-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));
-}
-
-/**
- * Like ALIGN(), but works with a non-power-of-two alignment.
- */
-static inline uintptr_t
-ALIGN_NPOT(uintptr_t value, int32_t alignment)
-{
- assert(alignment > 0);
- return (value + alignment - 1) / alignment * alignment;
-}
-
-/**
- * Align a value down to an alignment value
- *
- * If \c value is not already aligned to the requested alignment value, it
- * will be rounded down.
- *
- * \param value Value to be rounded
- * \param alignment Alignment value to be used. This must be a power of two.
- *
- * \sa ALIGN()
- */
-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 */
static inline void
diff --git a/src/util/u_math.h b/src/util/u_math.h
index 4f2658e2897..a672486f02f 100644
--- a/src/util/u_math.h
+++ b/src/util/u_math.h
@@ -660,6 +660,52 @@ util_memcpy_cpu_to_le32(void * restrict dest, const void * restrict src, size_t
/**
+ * Align a value up to an alignment value
+ *
+ * If \c value is not already aligned to the requested alignment value, it
+ * will be rounded up.
+ *
+ * \param value Value to be rounded
+ * \param alignment Alignment value to be used. This must be a power of two.
+ *
+ * \sa ROUND_DOWN_TO()
+ */
+static inline uintptr_t
+ALIGN(uintptr_t value, int32_t alignment)
+{
+ assert(util_is_power_of_two_nonzero(alignment));
+ return (((value) + (alignment) - 1) & ~((alignment) - 1));
+}
+
+/**
+ * Like ALIGN(), but works with a non-power-of-two alignment.
+ */
+static inline uintptr_t
+ALIGN_NPOT(uintptr_t value, int32_t alignment)
+{
+ assert(alignment > 0);
+ return (value + alignment - 1) / alignment * alignment;
+}
+
+/**
+ * Align a value down to an alignment value
+ *
+ * If \c value is not already aligned to the requested alignment value, it
+ * will be rounded down.
+ *
+ * \param value Value to be rounded
+ * \param alignment Alignment value to be used. This must be a power of two.
+ *
+ * \sa ALIGN()
+ */
+static inline uintptr_t
+ROUND_DOWN_TO(uintptr_t value, int32_t alignment)
+{
+ assert(util_is_power_of_two_nonzero(alignment));
+ return ((value) & ~(alignment - 1));
+}
+
+/**
* Align a value, only works pot alignemnts.
*/
static inline int