Philipp Klaus Krause wrote:
> In _mesa_compressed_texture_size(), texcompress.c there's lots of code
> similar to the following:
> 
> case MESA_FORMAT_RGBA_DXT1:
>       /* round up width, height to next multiple of 4 */
>       width = (width + 3) & ~3;
>       height = (height + 3) & ~3;
>       /* 8 bytes per 4x4 tile of RGB[A] texels */
>       size = width * height / 2;
>       /* Textures smaller than 4x4 will effectively be made into 4x4 and
>        * take 8 bytes.
>        */
>       if (size < 8)
>          size = 8;
>       return size;
> 
> What's the purpose of the if (size < 8) size = 8;? It seems redundant to me.

IIRC, all DTX blocks are 4x4 texels in size and each such block is 
represented by 8 bytes.  Images smaller than 4x4 pixels are still stored 
in 8-byte 4x4 blocks so we need to allocate that minimum amount of memory.

-Brian


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to