From 7b16c43e436715bef9118fdb28ca8a9ad91b1e66 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sat, 24 Oct 2009 11:33:10 -0600 Subject: mesa: added _mesa_get_format_block_size() --- src/mesa/main/formats.c | 16 ++++++++++++++++ src/mesa/main/formats.h | 3 +++ 2 files changed, 19 insertions(+) (limited to 'src/mesa') diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index 773a8f70b31..72d043c4c39 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -753,6 +753,22 @@ _mesa_get_format_base_format(gl_format format) } +/** + * Return the block size (in pixels) for the given format. Normally + * the block size is 1x1. But compressed formats will have block sizes + * of 4x4 or 8x4 pixels, etc. + * \param bw returns block width in pixels + * \param bh returns block height in pixels + */ +void +_mesa_get_format_block_size(gl_format format, GLuint *bw, GLuint *bh) +{ + const struct gl_format_info *info = _mesa_get_format_info(format); + *bw = info->BlockWidth; + *bh = info->BlockHeight; +} + + /** Is the given format a compressed format? */ GLboolean _mesa_is_format_compressed(gl_format format) diff --git a/src/mesa/main/formats.h b/src/mesa/main/formats.h index 72f1b1e2874..91ea023077f 100644 --- a/src/mesa/main/formats.h +++ b/src/mesa/main/formats.h @@ -155,6 +155,9 @@ _mesa_get_format_datatype(gl_format format); extern GLenum _mesa_get_format_base_format(gl_format format); +extern void +_mesa_get_format_block_size(gl_format format, GLuint *bw, GLuint *bh); + extern GLboolean _mesa_is_format_compressed(gl_format format); -- cgit v1.2.3