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 <eric@anholt.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
This commit is contained in:
Dylan Baker
2018-09-06 13:24:18 -07:00
parent e533fad182
commit e190e8cef2
2 changed files with 1 additions and 53 deletions

View File

@@ -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);

View File

@@ -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.