From 6dc85575000127630489b407c50a4b3ea87c9acb Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Thu, 17 Jul 2003 13:43:59 +0000 Subject: Merge Jose's documentation and core Mesa changes from embedded branch --- src/mesa/main/texformat.h | 82 +++++++++++++++++++++++++++++------------------ 1 file changed, 51 insertions(+), 31 deletions(-) (limited to 'src/mesa/main/texformat.h') diff --git a/src/mesa/main/texformat.h b/src/mesa/main/texformat.h index 6f19aac7bc..07fa2adb75 100644 --- a/src/mesa/main/texformat.h +++ b/src/mesa/main/texformat.h @@ -1,3 +1,10 @@ +/** + * \file texformat.h + * Texture formats definitions. + * + * \author Gareth Hughes + */ + /* * Mesa 3-D graphics library * Version: 5.1 @@ -20,34 +27,36 @@ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * Author: - * Gareth Hughes */ + #ifndef TEXFORMAT_H #define TEXFORMAT_H #include "mtypes.h" -/* - * The Mesa internal texture image types. +/** + * Mesa internal texture image types. + * * All texture images must be stored in one of these formats. */ enum _format { - /* Hardware-friendly formats. Drivers can override the default - * formats and convert texture images to one of these as required. - * The driver's ChooseTextureFormat() function will choose one of - * these formats. - * These formats are all little endian, as shown below. They will be - * most useful for x86-based PC graphics card drivers. + /** + * \name Hardware-friendly formats. + * + * Drivers can override the default formats and convert texture images to + * one of these as required. The driver's + * dd_function_table::ChooseTextureFormat function will choose one of these + * formats. These formats are all little endian, as shown below. They will + * be most useful for x86-based PC graphics card drivers. * - * NOTE: In the default case, some of these formats will be - * duplicates of the generic formats listed below. However, these - * formats guarantee their internal component sizes, while GLchan may - * vary betwen GLubyte, GLushort and GLfloat. + * \note In the default case, some of these formats will be duplicates of + * the generic formats listed below. However, these formats guarantee their + * internal component sizes, while GLchan may vary between GLubyte, GLushort + * and GLfloat. */ + /*@{*/ /* msb <------ TEXEL BITS -----------> lsb */ /* ---- ---- ---- ---- ---- ---- ---- ---- */ MESA_FORMAT_RGBA8888, /* RRRR RRRR GGGG GGGG BBBB BBBB AAAA AAAA */ @@ -64,6 +73,7 @@ enum _format { MESA_FORMAT_CI8, /* CCCC CCCC */ MESA_FORMAT_YCBCR, /* YYYY YYYY UorV UorV */ MESA_FORMAT_YCBCR_REV, /* UorV UorV YYYY YYYY */ + /*@}*/ MESA_FORMAT_RGB_DXT1, MESA_FORMAT_RGBA_DXT1, @@ -71,8 +81,10 @@ enum _format { MESA_FORMAT_RGBA_DXT5, #if 0 - /* upcoming little-endian formats: */ - + /** + * \name Upcoming little-endian formats + */ + /*@{*/ /* msb <------ TEXEL BITS -----------> lsb */ /* ---- ---- ---- ---- ---- ---- ---- ---- */ MESA_FORMAT_ABGR8888, /* AAAA AAAA BBBB BBBB GGGG GGGG RRRR RRRR */ @@ -83,18 +95,22 @@ enum _format { MESA_FORMAT_BGRA5551, /* BBBB BGGG GGRR RRRA */ MESA_FORMAT_LA88, /* LLLL LLLL AAAA AAAA */ MESA_FORMAT_BGR233, /* BBGG GRRR */ + /*@}*/ #endif - /* Generic GLchan-based formats. These are the default formats used - * by the software rasterizer and, unless the driver overrides the - * texture image functions, incoming images will be converted to one - * of these formats. Components are arrays of GLchan values, so - * there will be no big/little endian issues. + /** + * \name Generic GLchan-based formats. + * + * These are the default formats used by the software rasterizer and, unless + * the driver overrides the texture image functions, incoming images will be + * converted to one of these formats. Components are arrays of GLchan + * values, so there will be no big/little endian issues. * - * NOTE: Because these are based on the GLchan datatype, one cannot - * assume 8 bits per channel with these formats. If you require - * GLubyte channels, use one of the hardware formats above. + * \note Because these are based on the GLchan data type, one cannot assume 8 + * bits per channel with these formats. If you require GLubyte channels, + * use one of the hardware formats above. */ + /*@{*/ MESA_FORMAT_RGBA, MESA_FORMAT_RGB, MESA_FORMAT_ALPHA, @@ -103,6 +119,7 @@ enum _format { MESA_FORMAT_INTENSITY, MESA_FORMAT_COLOR_INDEX, MESA_FORMAT_DEPTH_COMPONENT + /*@}*/ }; @@ -117,8 +134,8 @@ extern GLint _mesa_base_compressed_texformat(GLcontext *ctx, GLint intFormat); -/* The default formats, GLchan per component: - */ +/** The default formats, GLchan per component */ +/*@{*/ extern const struct gl_texture_format _mesa_texformat_rgba; extern const struct gl_texture_format _mesa_texformat_rgb; extern const struct gl_texture_format _mesa_texformat_alpha; @@ -127,9 +144,10 @@ extern const struct gl_texture_format _mesa_texformat_luminance_alpha; extern const struct gl_texture_format _mesa_texformat_intensity; extern const struct gl_texture_format _mesa_texformat_color_index; extern const struct gl_texture_format _mesa_texformat_depth_component; +/*@}*/ -/* The hardware-friendly formats: - */ +/** \name The hardware-friendly formats */ +/*@{*/ extern const struct gl_texture_format _mesa_texformat_rgba8888; extern const struct gl_texture_format _mesa_texformat_argb8888; extern const struct gl_texture_format _mesa_texformat_rgb888; @@ -148,9 +166,11 @@ extern const struct gl_texture_format _mesa_texformat_rgb_dxt1; extern const struct gl_texture_format _mesa_texformat_rgba_dxt1; extern const struct gl_texture_format _mesa_texformat_rgba_dxt3; extern const struct gl_texture_format _mesa_texformat_rgba_dxt5; +/*@}*/ -/* The null format: - */ +/** \name The null format */ +/*@{*/ extern const struct gl_texture_format _mesa_null_texformat; +/*@}*/ #endif -- cgit v1.2.3