gallium: Add pf_is_compressed utility function.

This commit is contained in:
José Fonseca
2008-07-16 14:10:35 +09:00
parent 0c2c0a862c
commit fbf0f6bd4d
+11 -20
View File
@@ -519,27 +519,18 @@ pf_get_nblocks(const struct pipe_format_block *block, unsigned width, unsigned h
return pf_get_nblocksx(block, width)*pf_get_nblocksy(block, height);
}
static INLINE void
pipe_rect_to_blocks(const struct pipe_format_block *block,
unsigned *width, unsigned *height,
unsigned *src_x, unsigned *src_y,
unsigned *dst_x, unsigned *dst_y)
static INLINE boolean
pf_is_compressed( enum pipe_format format )
{
assert(block->size > 0);
assert(block->width > 0);
assert(block->height > 0);
if(width)
*width = pf_get_nblocksx(block, *width);
if(height)
*height = pf_get_nblocksy(block, *height);
if(src_x)
*src_x /= block->width;
if(src_y)
*src_y /= block->height;
if(dst_x)
*dst_x /= block->width;
if(dst_y)
*dst_y /= block->height;
switch (format) {
case PIPE_FORMAT_DXT1_RGB:
case PIPE_FORMAT_DXT1_RGBA:
case PIPE_FORMAT_DXT3_RGBA:
case PIPE_FORMAT_DXT5_RGBA:
return TRUE;
default:
return FALSE;
}
}
#ifdef __cplusplus