Logo Search packages:      
Sourcecode: virtualbox-ose version File versions

enum _format

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.

Definition at line 48 of file texformat.h.

             {
   /** 
    * \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_ARGB4444,      /*                     AAAA RRRR GGGG BBBB */
   MESA_FORMAT_ARGB4444_REV,  /*                     GGGG BBBB AAAA RRRR */
   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_SL8,
   MESA_FORMAT_SLA8,
   MESA_FORMAT_SRGB_DXT1,
   /*@}*/
#endif

   /**
    * \name Compressed texture formats.
    */
   /*@{*/
   MESA_FORMAT_RGB_FXT1,
   MESA_FORMAT_RGBA_FXT1,
   MESA_FORMAT_RGB_DXT1,
   MESA_FORMAT_RGBA_DXT1,
   MESA_FORMAT_RGBA_DXT3,
   MESA_FORMAT_RGBA_DXT5,
   /*@}*/

   /**
    * \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
   /*@}*/
};


Generated by  Doxygen 1.6.0   Back to index