From: Dylan Baker Date: Thu, 6 Sep 2018 20:24:18 +0000 (-0700) Subject: replace _mesa_next_pow_two_* with util_next_power_of_two_* X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e190e8cef2eaeabc16dda0cbd56addcd81968834;p=mesa.git replace _mesa_next_pow_two_* with util_next_power_of_two_* The 64 bit variant in imports.h isn't even used. Reviewed-by: Eric Anholt Reviewed-by: Marek Olšák Reviewed-by: Kristian H. Kristensen Reviewed-by: Matt Turner Part-of: --- diff --git a/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c b/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c index 51f99ffe6e6..979739d62be 100644 --- a/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c +++ b/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c @@ -129,7 +129,7 @@ static void compute_tex_image_offset(radeonContextPtr rmesa, radeon_mipmap_tree radeon_mipmap_level *lvl = &mt->levels[level]; GLuint height; - height = _mesa_next_pow_two_32(lvl->height); + height = util_next_power_of_two(lvl->height); lvl->rowstride = get_texture_image_row_stride(rmesa, mt->mesaFormat, lvl->width, mt->tilebits, mt->target); lvl->size = get_texture_image_size(mt->mesaFormat, lvl->rowstride, height, lvl->depth, mt->tilebits); diff --git a/src/util/imports.h b/src/util/imports.h index 03a6c0ef358..22364c68840 100644 --- a/src/util/imports.h +++ b/src/util/imports.h @@ -190,58 +190,6 @@ static inline int IFLOOR(float f) #endif } -/** - * Round given integer to next higer power of two - * If X is zero result is undefined. - * - * Source for the fallback implementation is - * Sean Eron Anderson's webpage "Bit Twiddling Hacks" - * http://graphics.stanford.edu/~seander/bithacks.html - * - * When using builtin function have to do some work - * for case when passed values 1 to prevent hiting - * undefined result from __builtin_clz. Undefined - * results would be different depending on optimization - * level used for build. - */ -static inline int32_t -_mesa_next_pow_two_32(uint32_t x) -{ -#ifdef HAVE___BUILTIN_CLZ - uint32_t y = (x != 1); - return (1 + y) << ((__builtin_clz(x - y) ^ 31) ); -#else - x--; - x |= x >> 1; - x |= x >> 2; - x |= x >> 4; - x |= x >> 8; - x |= x >> 16; - x++; - return x; -#endif -} - -static inline int64_t -_mesa_next_pow_two_64(uint64_t x) -{ -#ifdef HAVE___BUILTIN_CLZLL - uint64_t y = (x != 1); - STATIC_ASSERT(sizeof(x) == sizeof(long long)); - return (1 + y) << ((__builtin_clzll(x - y) ^ 63)); -#else - x--; - x |= x >> 1; - x |= x >> 2; - x |= x >> 4; - x |= x >> 8; - x |= x >> 16; - x |= x >> 32; - x++; - return x; -#endif -} - /* * Returns the floor form of binary logarithm for a 32-bit integer.