cogl-texture-2d: Optimise _cogl_texture_2d_is_pot

This takes the simple algorithm from here:

http://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2

This avoids a loop and is much faster.
This commit is contained in:
Neil Roberts 2010-05-20 12:37:56 +01:00
parent 76d5a1a858
commit af591f5c09

View File

@ -156,21 +156,8 @@ _cogl_texture_2d_free (CoglTexture2D *tex_2d)
static gboolean
_cogl_texture_2d_is_pot (unsigned int num)
{
gboolean have_bit = FALSE;
/* Make sure there is only one bit set */
while (num)
{
if (num & 1)
{
if (have_bit)
return FALSE;
have_bit = TRUE;
}
num >>= 1;
}
return TRUE;
return (num & (num - 1)) == 0;
}
static gboolean