mesa: Move ROUND_DOWN_TO() macro from i915/i965 to macros.h.

This seems generally useful, so it may as well live in core Mesa.

In fact, the comment for ALIGN() in macros.h actually says to "see also"
ROUND_DOWN_TO, which...was in a driver somewhere.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Kenneth Graunke
2013-07-07 18:38:38 -07:00
parent 50c9f04c5f
commit 1a82081db6
2 changed files with 12 additions and 13 deletions
-13
View File
@@ -293,19 +293,6 @@ extern char *__progname;
#define SUBPIXEL_X 0.125
#define SUBPIXEL_Y 0.125
/**
* 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()
*/
#define ROUND_DOWN_TO(value, alignment) ((value) & ~(alignment - 1))
static INLINE uint32_t
U_FIXED(float value, uint32_t frac_bits)
{
+12
View File
@@ -675,6 +675,18 @@ minify(unsigned value, unsigned levels)
*/
#define ALIGN(value, alignment) (((value) + (alignment) - 1) & ~((alignment) - 1))
/**
* 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()
*/
#define ROUND_DOWN_TO(value, alignment) ((value) & ~(alignment - 1))
/** Cross product of two 3-element vectors */