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:
parent
ee7ebe096e
commit
5b2311aed7
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user