mesa: include formats.h
authorBrian Paul <brianp@vmware.com>
Sat, 26 Sep 2009 18:24:17 +0000 (12:24 -0600)
committerBrian Paul <brianp@vmware.com>
Sat, 26 Sep 2009 18:24:17 +0000 (12:24 -0600)
src/mesa/main/texformat.h

index 5aa1d756cbcdb6824c5493324511af486facdb9d..b860a10d8656f854dfc0089a350aef677b29f06f 100644 (file)
 
 
 #include "mtypes.h"
-
-
-/**
- * Mesa internal texture image formats.
- * All texture images are stored in one of these formats.
- *
- * NOTE: when you add a new format, be sure to update the do_row()
- * function in texstore.c used for auto mipmap generation.
- */
-enum _format {
-   /** 
-    * \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.
-    *
-    * \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 */
-   MESA_FORMAT_RGBA8888_REV,   /* AAAA AAAA BBBB BBBB GGGG GGGG RRRR RRRR */
-   MESA_FORMAT_ARGB8888,       /* AAAA AAAA RRRR RRRR GGGG GGGG BBBB BBBB */
-   MESA_FORMAT_ARGB8888_REV,   /* BBBB BBBB GGGG GGGG RRRR RRRR AAAA AAAA */
-   MESA_FORMAT_RGB888,         /*           RRRR RRRR GGGG GGGG BBBB BBBB */
-   MESA_FORMAT_BGR888,         /*           BBBB BBBB GGGG GGGG RRRR RRRR */
-   MESA_FORMAT_RGB565,         /*                     RRRR RGGG GGGB BBBB */
-   MESA_FORMAT_RGB565_REV,     /*                     GGGB BBBB RRRR RGGG */
-   MESA_FORMAT_RGBA4444,        /*                     RRRR GGGG BBBB AAAA */
-   MESA_FORMAT_ARGB4444,       /*                     AAAA RRRR GGGG BBBB */
-   MESA_FORMAT_ARGB4444_REV,   /*                     GGGG BBBB AAAA RRRR */
-   MESA_FORMAT_RGBA5551,        /*                     RRRR RGGG GGBB BBBA */
-   MESA_FORMAT_ARGB1555,       /*                     ARRR RRGG GGGB BBBB */
-   MESA_FORMAT_ARGB1555_REV,   /*                     GGGB BBBB ARRR RRGG */
-   MESA_FORMAT_AL88,           /*                     AAAA AAAA LLLL LLLL */
-   MESA_FORMAT_AL88_REV,       /*                     LLLL LLLL AAAA AAAA */
-   MESA_FORMAT_RGB332,         /*                               RRRG GGBB */
-   MESA_FORMAT_A8,             /*                               AAAA AAAA */
-   MESA_FORMAT_L8,             /*                               LLLL LLLL */
-   MESA_FORMAT_I8,             /*                               IIII IIII */
-   MESA_FORMAT_CI8,            /*                               CCCC CCCC */
-   MESA_FORMAT_YCBCR,          /*                     YYYY YYYY UorV UorV */
-   MESA_FORMAT_YCBCR_REV,      /*                     UorV UorV YYYY YYYY */
-   MESA_FORMAT_Z24_S8,          /* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ SSSS SSSS */
-   MESA_FORMAT_S8_Z24,          /* SSSS SSSS ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ */
-   MESA_FORMAT_Z16,             /*                     ZZZZ ZZZZ ZZZZ ZZZZ */
-   MESA_FORMAT_Z32,             /* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ */
-   /*@}*/
-
-#if FEATURE_EXT_texture_sRGB
-   /**
-    * \name 8-bit/channel sRGB formats
-    */
-   /*@{*/
-   MESA_FORMAT_SRGB8,
-   MESA_FORMAT_SRGBA8,
-   MESA_FORMAT_SARGB8,
-   MESA_FORMAT_SL8,
-   MESA_FORMAT_SLA8,
-#if FEATURE_texture_s3tc
-   MESA_FORMAT_SRGB_DXT1,
-   MESA_FORMAT_SRGBA_DXT1,
-   MESA_FORMAT_SRGBA_DXT3,
-   MESA_FORMAT_SRGBA_DXT5,
-#endif
-   /*@}*/
-#endif
-
-   /**
-    * \name Compressed texture formats.
-    */
-   /*@{*/
-#if FEATURE_texture_fxt1
-   MESA_FORMAT_RGB_FXT1,
-   MESA_FORMAT_RGBA_FXT1,
-#endif
-#if FEATURE_texture_s3tc
-   MESA_FORMAT_RGB_DXT1,
-   MESA_FORMAT_RGBA_DXT1,
-   MESA_FORMAT_RGBA_DXT3,
-   MESA_FORMAT_RGBA_DXT5,
-#endif
-   /*@}*/
-
-   /**
-    * \name Generic GLchan-based formats.
-    *
-    * Software-oriented texture formats.  Texels are arrays of GLchan
-    * values so there are no byte order issues.
-    *
-    * \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,
-   MESA_FORMAT_LUMINANCE,
-   MESA_FORMAT_LUMINANCE_ALPHA,
-   MESA_FORMAT_INTENSITY,
-   /*@}*/
-
-   /**
-    * \name Floating point texture formats.
-    */
-   /*@{*/
-   MESA_FORMAT_RGBA_FLOAT32,
-   MESA_FORMAT_RGBA_FLOAT16,
-   MESA_FORMAT_RGB_FLOAT32,
-   MESA_FORMAT_RGB_FLOAT16,
-   MESA_FORMAT_ALPHA_FLOAT32,
-   MESA_FORMAT_ALPHA_FLOAT16,
-   MESA_FORMAT_LUMINANCE_FLOAT32,
-   MESA_FORMAT_LUMINANCE_FLOAT16,
-   MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32,
-   MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16,
-   MESA_FORMAT_INTENSITY_FLOAT32,
-   MESA_FORMAT_INTENSITY_FLOAT16,
-   /*@}*/
-
-   /**
-    * \name Signed fixed point texture formats.
-    */
-   /*@{*/
-   MESA_FORMAT_DUDV8,
-   MESA_FORMAT_SIGNED_RGBA8888,
-   MESA_FORMAT_SIGNED_RGBA8888_REV
-   /*@}*/
-};
+#include "formats.h"
 
 
 /** GLchan-valued formats */