Define PIPE_FORMAT_ tokens as an enum set, rather than #defines.
authorBrian <brian.paul@tungstengraphics.com>
Fri, 7 Dec 2007 23:46:30 +0000 (16:46 -0700)
committerBrian <brian.paul@tungstengraphics.com>
Fri, 7 Dec 2007 23:46:30 +0000 (16:46 -0700)
This makes debugging a _lot_ easier.
In gdb, "print format" used to display 613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.

19 files changed:
src/mesa/drivers/dri/intel_winsys/intel_winsys_pipe.c
src/mesa/pipe/draw/draw_vertex_fetch.c
src/mesa/pipe/draw/draw_vertex_shader_llvm.c
src/mesa/pipe/i915simple/i915_context.c
src/mesa/pipe/i915simple/i915_state_emit.c
src/mesa/pipe/i915simple/i915_state_sampler.c
src/mesa/pipe/p_context.h
src/mesa/pipe/p_format.h
src/mesa/pipe/p_state.h
src/mesa/pipe/p_winsys.h
src/mesa/pipe/softpipe/sp_context.c
src/mesa/pipe/softpipe/sp_quad_depth_test.c
src/mesa/pipe/softpipe/sp_tile_cache.c
src/mesa/pipe/xlib/xm_winsys.c
src/mesa/state_tracker/st_cb_clear.c
src/mesa/state_tracker/st_cb_drawpixels.c
src/mesa/state_tracker/st_cb_fbo.c
src/mesa/state_tracker/st_format.c
src/mesa/state_tracker/st_format.h

index 1b71d0a..1799e9b 100644 (file)
@@ -193,7 +193,7 @@ intel_i915_surface_pitch(struct pipe_winsys *winsys,
 
 
 static struct pipe_surface *
-intel_i915_surface_alloc(struct pipe_winsys *winsys, unsigned format)
+intel_i915_surface_alloc(struct pipe_winsys *winsys, enum pipe_format format)
 {
    struct pipe_surface *surf = CALLOC_STRUCT(pipe_surface);
    if (surf) {
index 77df5c6..e0759c2 100644 (file)
@@ -46,7 +46,7 @@
  * XXX this might be a temporary thing.
  */
 static void
-fetch_attrib4(const void *ptr, unsigned format, float attrib[4])
+fetch_attrib4(const void *ptr, enum pipe_format format, float attrib[4])
 {
    /* defaults */
    attrib[1] = 0.0;
index 53a1776..29de437 100644 (file)
@@ -43,7 +43,7 @@
 #define DBG 0
 
 static INLINE void
-fetch_attrib4(const void *ptr, unsigned format, float attrib[4])
+fetch_attrib4(const void *ptr, enum pipe_format format, float attrib[4])
 {
    /* defaults */
    attrib[1] = 0.0;
index cfce116..b915a67 100644 (file)
@@ -45,7 +45,7 @@
  */
 static boolean
 i915_is_format_supported( struct pipe_context *pipe,
-                          uint format )
+                          enum pipe_format format )
 {
 #if 0
    /* XXX: This is broken -- rewrite if still needed. */
@@ -101,8 +101,9 @@ i915_is_format_supported( struct pipe_context *pipe,
    case PIPE_FORMAT_R5G6B5_UNORM:
    case PIPE_FORMAT_S8Z24_UNORM:
       return TRUE;
+   default:
+      return FALSE;
    };
-   return FALSE;
 #endif
 }
 
index 1e0db91..09bf1fa 100644 (file)
@@ -35,7 +35,7 @@
 #include "pipe/p_context.h"
 #include "pipe/p_defines.h"
 
-static unsigned translate_format( unsigned format )
+static unsigned translate_format( enum pipe_format format )
 {
    switch (format) {
    case PIPE_FORMAT_A8R8G8B8_UNORM:
@@ -48,7 +48,7 @@ static unsigned translate_format( unsigned format )
    }
 }
 
-static unsigned translate_depth_format( unsigned zformat )
+static unsigned translate_depth_format( enum pipe_format zformat )
 {
    switch (zformat) {
    case PIPE_FORMAT_S8Z24_UNORM:
index dd2d51d..59408b6 100644 (file)
@@ -127,7 +127,7 @@ void i915_update_samplers( struct i915_context *i915 )
 
 
 static uint
-translate_texture_format(uint pipeFormat)
+translate_texture_format(enum pipe_format pipeFormat)
 {
    switch (pipeFormat) {
    case PIPE_FORMAT_U_L8:
index 2420d02..b3a2122 100644 (file)
@@ -51,7 +51,7 @@ struct pipe_context {
     * Queries
     */
    boolean (*is_format_supported)( struct pipe_context *pipe,
-                                   uint format );
+                                   enum pipe_format format );
 
    const char *(*get_name)( struct pipe_context *pipe );
 
index 86728f7..8f11bfa 100644 (file)
@@ -198,86 +198,90 @@ static INLINE uint pf_rev(pipe_format_ycbcr_t f)
  * z24s8, compressed textures, ycbcr, etc that won't fit that model.
  */
 
-#define PIPE_FORMAT_NONE                  _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_0000, 0, 0, 0, 0, PIPE_FORMAT_TYPE_UNKNOWN )
-#define PIPE_FORMAT_A8R8G8B8_UNORM        _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_ARGB, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_B8G8R8A8_UNORM        _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGRA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_A1R5G5B5_UNORM        _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_ARGB, 1, 5, 5, 5, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_A4R4G4B4_UNORM        _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_ARGB, 4, 4, 4, 4, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R5G6B5_UNORM          _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_RGB0, 5, 6, 5, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_U_L8                  _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )     /**< ubyte luminance */
-#define PIPE_FORMAT_U_A8                  _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_000R, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )     /**< ubyte alpha */
-#define PIPE_FORMAT_U_I8                  _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRR, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )     /**< ubyte intensity */
-#define PIPE_FORMAT_U_A8_L8               _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRG, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )     /**< ubyte alpha, luminance */
-#define PIPE_FORMAT_YCBCR                 _PIPE_FORMAT_YCBCR( 0 )
-#define PIPE_FORMAT_YCBCR_REV             _PIPE_FORMAT_YCBCR( 1 )
-#define PIPE_FORMAT_Z16_UNORM             _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_Z32_UNORM             _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_Z32_FLOAT             _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
-#define PIPE_FORMAT_S8Z24_UNORM           _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_SZ00, 1, 3, 0, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_Z24S8_UNORM           _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_ZS00, 3, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_S8_UNORM              _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_S000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R64_FLOAT             _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_R000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
-#define PIPE_FORMAT_R64G64_FLOAT          _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RG00, 1, 1, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
-#define PIPE_FORMAT_R64G64B64_FLOAT       _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RGB0, 1, 1, 1, 0, PIPE_FORMAT_TYPE_FLOAT )
-#define PIPE_FORMAT_R64G64B64A64_FLOAT    _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_FLOAT )
-#define PIPE_FORMAT_R32_FLOAT             _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
-#define PIPE_FORMAT_R32G32_FLOAT          _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 4, 4, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
-#define PIPE_FORMAT_R32G32B32_FLOAT       _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 4, 4, 4, 0, PIPE_FORMAT_TYPE_FLOAT )
-#define PIPE_FORMAT_R32G32B32A32_FLOAT    _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_FLOAT )
-#define PIPE_FORMAT_R32_UNORM             _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R32G32_UNORM          _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 4, 4, 0, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R32G32B32_UNORM       _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 4, 4, 4, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R32G32B32A32_UNORM    _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R32_USCALED           _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED )
-#define PIPE_FORMAT_R32G32_USCALED        _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 4, 4, 0, 0, PIPE_FORMAT_TYPE_USCALED )
-#define PIPE_FORMAT_R32G32B32_USCALED     _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 4, 4, 4, 0, PIPE_FORMAT_TYPE_USCALED )
-#define PIPE_FORMAT_R32G32B32A32_USCALED  _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_USCALED )
-#define PIPE_FORMAT_R32_SNORM             _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM )
-#define PIPE_FORMAT_R32G32_SNORM          _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 4, 4, 0, 0, PIPE_FORMAT_TYPE_SNORM )
-#define PIPE_FORMAT_R32G32B32_SNORM       _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 4, 4, 4, 0, PIPE_FORMAT_TYPE_SNORM )
-#define PIPE_FORMAT_R32G32B32A32_SNORM    _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_SNORM )
-#define PIPE_FORMAT_R32_SSCALED           _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
-#define PIPE_FORMAT_R32G32_SSCALED        _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 4, 4, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
-#define PIPE_FORMAT_R32G32B32_SSCALED     _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 4, 4, 4, 0, PIPE_FORMAT_TYPE_SSCALED )
-#define PIPE_FORMAT_R32G32B32A32_SSCALED  _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_SSCALED )
-#define PIPE_FORMAT_R16_UNORM             _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R16G16_UNORM          _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 2, 2, 0, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R16G16B16_UNORM       _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 2, 2, 2, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R16G16B16A16_UNORM    _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R16_USCALED           _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED )
-#define PIPE_FORMAT_R16G16_USCALED        _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 2, 2, 0, 0, PIPE_FORMAT_TYPE_USCALED )
-#define PIPE_FORMAT_R16G16B16_USCALED     _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 2, 2, 2, 0, PIPE_FORMAT_TYPE_USCALED )
-#define PIPE_FORMAT_R16G16B16A16_USCALED  _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_USCALED )
-#define PIPE_FORMAT_R16_SNORM             _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM )
-#define PIPE_FORMAT_R16G16_SNORM          _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 2, 2, 0, 0, PIPE_FORMAT_TYPE_SNORM )
-#define PIPE_FORMAT_R16G16B16_SNORM       _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 2, 2, 2, 0, PIPE_FORMAT_TYPE_SNORM )
-#define PIPE_FORMAT_R16G16B16A16_SNORM    _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_SNORM )
-#define PIPE_FORMAT_R16_SSCALED           _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
-#define PIPE_FORMAT_R16G16_SSCALED        _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 2, 2, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
-#define PIPE_FORMAT_R16G16B16_SSCALED     _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 2, 2, 2, 0, PIPE_FORMAT_TYPE_SSCALED )
-#define PIPE_FORMAT_R16G16B16A16_SSCALED  _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_SSCALED )
-#define PIPE_FORMAT_R8_UNORM              _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R8G8_UNORM            _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 1, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R8G8B8_UNORM          _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 1, 1, 1, 0, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R8G8B8A8_UNORM        _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
-#define PIPE_FORMAT_R8_USCALED            _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED )
-#define PIPE_FORMAT_R8G8_USCALED          _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 1, 1, 0, 0, PIPE_FORMAT_TYPE_USCALED )
-#define PIPE_FORMAT_R8G8B8_USCALED        _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 1, 1, 1, 0, PIPE_FORMAT_TYPE_USCALED )
-#define PIPE_FORMAT_R8G8B8A8_USCALED      _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_USCALED )
-#define PIPE_FORMAT_R8_SNORM              _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM )
-#define PIPE_FORMAT_R8G8_SNORM            _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 1, 1, 0, 0, PIPE_FORMAT_TYPE_SNORM )
-#define PIPE_FORMAT_R8G8B8_SNORM          _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SNORM )
-#define PIPE_FORMAT_R8G8B8A8_SNORM        _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM )
-#define PIPE_FORMAT_R8_SSCALED            _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
-#define PIPE_FORMAT_R8G8_SSCALED          _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 1, 1, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
-#define PIPE_FORMAT_R8G8B8_SSCALED        _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SSCALED )
-#define PIPE_FORMAT_R8G8B8A8_SSCALED      _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SSCALED )
+enum pipe_format {
+   PIPE_FORMAT_NONE                  = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_0000, 0, 0, 0, 0, PIPE_FORMAT_TYPE_UNKNOWN ),
+   PIPE_FORMAT_A8R8G8B8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_ARGB, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_B8G8R8A8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGRA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_A1R5G5B5_UNORM        = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_ARGB, 1, 5, 5, 5, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_A4R4G4B4_UNORM        = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_ARGB, 4, 4, 4, 4, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R5G6B5_UNORM          = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_RGB0, 5, 6, 5, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_U_L8                  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ), /**< ubyte luminance */
+   PIPE_FORMAT_U_A8                  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_000R, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ), /**< ubyte alpha */
+   PIPE_FORMAT_U_I8                  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRR, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ), /**< ubyte intensity */
+   PIPE_FORMAT_U_A8_L8               = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRG, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ), /**< ubyte alpha, luminance */
+   PIPE_FORMAT_YCBCR                 = _PIPE_FORMAT_YCBCR( 0 ),
+   PIPE_FORMAT_YCBCR_REV             = _PIPE_FORMAT_YCBCR( 1 ),
+   PIPE_FORMAT_Z16_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_Z32_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_Z32_FLOAT             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT ),
+   PIPE_FORMAT_S8Z24_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_SZ00, 1, 3, 0, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_Z24S8_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_ZS00, 3, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_S8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_S000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ), /**< ubyte stencil */
+   PIPE_FORMAT_R64_FLOAT             = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_R000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT ),
+   PIPE_FORMAT_R64G64_FLOAT          = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RG00, 1, 1, 0, 0, PIPE_FORMAT_TYPE_FLOAT ),
+   PIPE_FORMAT_R64G64B64_FLOAT       = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RGB0, 1, 1, 1, 0, PIPE_FORMAT_TYPE_FLOAT ),
+   PIPE_FORMAT_R64G64B64A64_FLOAT    = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_FLOAT ),
+   PIPE_FORMAT_R32_FLOAT             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT ),
+   PIPE_FORMAT_R32G32_FLOAT          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 4, 4, 0, 0, PIPE_FORMAT_TYPE_FLOAT ),
+   PIPE_FORMAT_R32G32B32_FLOAT       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 4, 4, 4, 0, PIPE_FORMAT_TYPE_FLOAT ),
+   PIPE_FORMAT_R32G32B32A32_FLOAT    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_FLOAT ),
+   PIPE_FORMAT_R32_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R32G32_UNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 4, 4, 0, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R32G32B32_UNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 4, 4, 4, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R32G32B32A32_UNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R32_USCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED ),
+   PIPE_FORMAT_R32G32_USCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 4, 4, 0, 0, PIPE_FORMAT_TYPE_USCALED ),
+   PIPE_FORMAT_R32G32B32_USCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 4, 4, 4, 0, PIPE_FORMAT_TYPE_USCALED ),
+   PIPE_FORMAT_R32G32B32A32_USCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_USCALED ),
+   PIPE_FORMAT_R32_SNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM ),
+   PIPE_FORMAT_R32G32_SNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 4, 4, 0, 0, PIPE_FORMAT_TYPE_SNORM ),
+   PIPE_FORMAT_R32G32B32_SNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 4, 4, 4, 0, PIPE_FORMAT_TYPE_SNORM ),
+   PIPE_FORMAT_R32G32B32A32_SNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_SNORM ),
+   PIPE_FORMAT_R32_SSCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED ),
+   PIPE_FORMAT_R32G32_SSCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 4, 4, 0, 0, PIPE_FORMAT_TYPE_SSCALED ),
+   PIPE_FORMAT_R32G32B32_SSCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 4, 4, 4, 0, PIPE_FORMAT_TYPE_SSCALED ),
+   PIPE_FORMAT_R32G32B32A32_SSCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_SSCALED ),
+   PIPE_FORMAT_R16_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R16G16_UNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 2, 2, 0, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R16G16B16_UNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 2, 2, 2, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R16G16B16A16_UNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R16_USCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED ),
+   PIPE_FORMAT_R16G16_USCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 2, 2, 0, 0, PIPE_FORMAT_TYPE_USCALED ),
+   PIPE_FORMAT_R16G16B16_USCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 2, 2, 2, 0, PIPE_FORMAT_TYPE_USCALED ),
+   PIPE_FORMAT_R16G16B16A16_USCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_USCALED ),
+   PIPE_FORMAT_R16_SNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM ),
+   PIPE_FORMAT_R16G16_SNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 2, 2, 0, 0, PIPE_FORMAT_TYPE_SNORM ),
+   PIPE_FORMAT_R16G16B16_SNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 2, 2, 2, 0, PIPE_FORMAT_TYPE_SNORM ),
+   PIPE_FORMAT_R16G16B16A16_SNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_SNORM ),
+   PIPE_FORMAT_R16_SSCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED ),
+   PIPE_FORMAT_R16G16_SSCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 2, 2, 0, 0, PIPE_FORMAT_TYPE_SSCALED ),
+   PIPE_FORMAT_R16G16B16_SSCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 2, 2, 2, 0, PIPE_FORMAT_TYPE_SSCALED ),
+   PIPE_FORMAT_R16G16B16A16_SSCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_SSCALED ),
+   PIPE_FORMAT_R8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R8G8_UNORM            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 1, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R8G8B8_UNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 1, 1, 1, 0, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R8G8B8A8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ),
+   PIPE_FORMAT_R8_USCALED            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED ),
+   PIPE_FORMAT_R8G8_USCALED          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 1, 1, 0, 0, PIPE_FORMAT_TYPE_USCALED ),
+   PIPE_FORMAT_R8G8B8_USCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 1, 1, 1, 0, PIPE_FORMAT_TYPE_USCALED ),
+   PIPE_FORMAT_R8G8B8A8_USCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_USCALED ),
+   PIPE_FORMAT_R8_SNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM ),
+   PIPE_FORMAT_R8G8_SNORM            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 1, 1, 0, 0, PIPE_FORMAT_TYPE_SNORM ),
+   PIPE_FORMAT_R8G8B8_SNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SNORM ),
+   PIPE_FORMAT_R8G8B8A8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM ),
+   PIPE_FORMAT_R8_SSCALED            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED ),
+   PIPE_FORMAT_R8G8_SSCALED          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG00, 1, 1, 0, 0, PIPE_FORMAT_TYPE_SSCALED ),
+   PIPE_FORMAT_R8G8B8_SSCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB0, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SSCALED ),
+   PIPE_FORMAT_R8G8B8A8_SSCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SSCALED )
+};
+
 
 /**
- * Duplicated formats:
+ * XXX should remove this, but S8_UNORM is a poor name
  */
 #define PIPE_FORMAT_U_S8                  PIPE_FORMAT_S8_UNORM
 
+
 /**
  * Builds pipe format name from format token.
  */
index 44dec9b..6db9bbc 100644 (file)
@@ -39,6 +39,7 @@
 #define PIPE_STATE_H
 
 #include "p_compiler.h"
+#include "p_format.h"
 
 /**
  * Implementation limits
@@ -265,7 +266,7 @@ struct pipe_surface
    struct pipe_buffer_handle *buffer; /**< driver private buffer handle */
    ubyte *map;    /**< only non-NULL when surface is actually mapped */
    unsigned map_refcount;  /**< Reference count for mapping */
-   unsigned format;              /**< PIPE_FORMAT_x */
+   enum pipe_format format;      /**< PIPE_FORMAT_x */
    unsigned cpp;                 /**< bytes per pixel */
    unsigned width, height;
    unsigned pitch;               /**< in pixels */
@@ -286,7 +287,7 @@ struct pipe_texture
    unsigned target;            /* XXX convert to PIPE_TEXTURE_x */
    unsigned internal_format;   /* XXX convert to PIPE_FORMAT_x */
 
-   unsigned format;            /**< PIPE_FORMAT_x */
+   enum pipe_format format;    /**< PIPE_FORMAT_x */
    unsigned first_level;
    unsigned last_level;
 
@@ -331,7 +332,7 @@ struct pipe_vertex_element
    unsigned vertex_buffer_index:5;
 
    unsigned dst_offset:8; 
-   unsigned src_format;           /**< PIPE_FORMAT_* */
+   enum pipe_format src_format;           /**< PIPE_FORMAT_* */
 };
 
 
index 5adca1d..438e8bd 100644 (file)
@@ -29,6 +29,8 @@
 #define P_WINSYS_H
 
 
+#include "p_format.h"
+
 /**
  * \file
  * This is the interface that Gallium3D requires any window system
@@ -90,7 +92,7 @@ struct pipe_winsys
 
    /** allocate a new surface (no context dependency) */
    struct pipe_surface *(*surface_alloc)(struct pipe_winsys *ws,
-                                         unsigned format);
+                                         enum pipe_format format);
 
    void (*surface_release)(struct pipe_winsys *ws, struct pipe_surface **s);
 
index 54b2076..bdfd622 100644 (file)
@@ -51,7 +51,8 @@
  * parameter or another function.
  */
 static boolean
-softpipe_is_format_supported( struct pipe_context *pipe, uint format )
+softpipe_is_format_supported( struct pipe_context *pipe,
+                              enum pipe_format format )
 {
    struct softpipe_context *softpipe = softpipe_context( pipe );
    /* ask winsys if the format is supported */
index 00128fa..93ea119 100644 (file)
@@ -54,7 +54,7 @@ sp_depth_test_quad(struct quad_stage *qs, struct quad_header *quad)
 {
    struct softpipe_context *softpipe = qs->softpipe;
    struct pipe_surface *ps = softpipe->framebuffer.zbuf;
-   const uint format = ps->format;
+   const enum pipe_format format = ps->format;
    unsigned bzzzz[QUAD_SIZE];  /**< Z values fetched from depth buffer */
    unsigned qzzzz[QUAD_SIZE];  /**< Z values from the quad */
    unsigned zmask = 0;
index be5dd5c..602b78e 100644 (file)
@@ -174,7 +174,8 @@ is_depth_stencil_surface(struct pipe_surface *ps)
  * Set pixels in a tile to the given clear color/value.
  */
 static void
-clear_tile(struct softpipe_cached_tile *tile, uint format,
+clear_tile(struct softpipe_cached_tile *tile,
+           enum pipe_format format,
            const float clear_value[4])
 {
    uint i, j;
index 408797c..976884a 100644 (file)
@@ -301,7 +301,7 @@ xm_surface_pitch(struct pipe_winsys *winsys, unsigned cpp, unsigned width,
  * renderbuffers, etc.
  */
 static struct pipe_surface *
-xm_surface_alloc(struct pipe_winsys *ws, GLuint pipeFormat)
+xm_surface_alloc(struct pipe_winsys *ws, enum pipe_format pipeFormat)
 {
    struct xmesa_surface *xms = CALLOC_STRUCT(xmesa_surface);
 
@@ -379,7 +379,8 @@ xmesa_get_pipe_winsys(void)
  * can support any format.
  */
 static boolean
-xmesa_is_format_supported(struct softpipe_winsys *sws, uint format)
+xmesa_is_format_supported(struct softpipe_winsys *sws,
+                          enum pipe_format format)
 {
    struct xmesa_softpipe_winsys *xmws = xmesa_softpipe_winsys(sws);
 
index 1f0d1e6..b4b2429 100644 (file)
@@ -55,7 +55,7 @@
 
 
 static GLuint
-color_value(GLuint pipeFormat, const GLfloat color[4])
+color_value(enum pipe_format pipeFormat, const GLfloat color[4])
 {
    GLubyte r, g, b, a;
 
@@ -81,7 +81,7 @@ color_value(GLuint pipeFormat, const GLfloat color[4])
  
 
 static uint
-depth_value(GLuint pipeFormat, GLfloat value)
+depth_value(enum pipe_format pipeFormat, GLfloat value)
 {
    switch (pipeFormat) {
    case PIPE_FORMAT_Z16_UNORM:
@@ -104,7 +104,7 @@ depth_value(GLuint pipeFormat, GLfloat value)
 
 
 static GLboolean
-is_depth_stencil_format(GLuint pipeFormat)
+is_depth_stencil_format(enum pipe_format pipeFormat)
 {
    switch (pipeFormat) {
    case PIPE_FORMAT_S8Z24_UNORM:
index 464cf5c..c0e41db 100644 (file)
@@ -456,7 +456,8 @@ make_texture(struct st_context *st,
    struct pipe_context *pipe = st->pipe;
    const struct gl_texture_format *mformat;
    struct pipe_texture *pt;
-   GLuint pipeFormat, cpp;
+   enum pipe_format pipeFormat;
+   GLuint cpp;
    GLenum baseFormat;
 
    baseFormat = _mesa_base_format(format);
@@ -729,7 +730,7 @@ draw_textured_quad(GLcontext *ctx, GLint x, GLint y, GLfloat z,
  * XXX probably move this to a re-usable place.
  */
 static GLboolean
-compatible_formats(GLenum format, GLenum type, GLuint pipeFormat)
+compatible_formats(GLenum format, GLenum type, enum pipe_format pipeFormat)
 {
    static const GLuint one = 1;
    GLubyte littleEndian = *((GLubyte *) &one);
index 0ee5f45..cbda56b 100644 (file)
@@ -55,7 +55,8 @@
  * Compute the renderbuffer's Red/Green/EtcBit fields from the pipe format.
  */
 static int
-init_renderbuffer_bits(struct st_renderbuffer *strb, uint pipeFormat)
+init_renderbuffer_bits(struct st_renderbuffer *strb,
+                       enum pipe_format pipeFormat)
 {
    struct pipe_format_info info;
 
@@ -86,7 +87,7 @@ st_renderbuffer_alloc_storage(GLcontext * ctx, struct gl_renderbuffer *rb,
 {
    struct pipe_context *pipe = ctx->st->pipe;
    struct st_renderbuffer *strb = st_renderbuffer(rb);
-   const uint pipeFormat
+   const enum pipe_format pipeFormat
       = st_choose_pipe_format(pipe, internalFormat, GL_NONE, GL_NONE);
    GLuint cpp;
    GLbitfield flags = PIPE_SURFACE_FLAG_RENDER; /* want to render to surface */
index 9e249a4..8d39e1b 100644 (file)
@@ -99,9 +99,7 @@ format_size(
  * XXX temporary here
  */
 GLboolean
-st_get_format_info(
-   GLuint format,
-   struct pipe_format_info *pinfo )
+st_get_format_info(enum pipe_format format, struct pipe_format_info *pinfo)
 {
    if (pf_layout(format) == PIPE_FORMAT_LAYOUT_RGBAZS) {
       pipe_format_rgbazs_t info;
@@ -222,10 +220,10 @@ st_get_format_info(
  * Return bytes per pixel for the given format.
  */
 GLuint
-st_sizeof_format(GLuint pipeFormat)
+st_sizeof_format(enum pipe_format format)
 {
    struct pipe_format_info info;
-   if (!st_get_format_info( pipeFormat, &info )) {
+   if (!st_get_format_info( format, &info )) {
       assert( 0 );
       return 0;
    }
@@ -237,10 +235,10 @@ st_sizeof_format(GLuint pipeFormat)
  * Return bytes per pixel for the given format.
  */
 GLenum
-st_format_datatype(GLuint pipeFormat)
+st_format_datatype(enum pipe_format format)
 {
    struct pipe_format_info info;
-   if (!st_get_format_info( pipeFormat, &info )) {
+   if (!st_get_format_info( format, &info )) {
       assert( 0 );
       return 0;
    }
@@ -248,7 +246,7 @@ st_format_datatype(GLuint pipeFormat)
 }
 
 
-GLuint
+enum pipe_format
 st_mesa_format_to_pipe_format(GLuint mesaFormat)
 {
    switch (mesaFormat) {
index 23abc36..6ccf553 100644 (file)
  **************************************************************************/
 
 
-#ifndef ST_CB_TEXIMAGE_H
-#define ST_CB_TEXIMAGE_H
+#ifndef ST_FORMAT_H
+#define ST_FORMAT_H
 
 
 struct pipe_format_info
 {
-   GLuint format;
+   enum pipe_format format;
    GLenum base_format;
    GLenum datatype;
    GLubyte red_bits;
@@ -47,21 +47,19 @@ struct pipe_format_info
 };
 
 
-extern GLboolean
-st_get_format_info(
-   GLuint format,
-   struct pipe_format_info *pinfo );
+GLboolean
+st_get_format_info(enum pipe_format format, struct pipe_format_info *pinfo);
 
 
 extern GLuint
-st_sizeof_format(GLuint pipeFormat);
+st_sizeof_format(enum pipe_format format);
 
 
 extern GLenum
-st_format_datatype(GLuint pipeFormat);
+st_format_datatype(enum pipe_format format);
 
 
-extern GLuint
+extern enum pipe_format
 st_mesa_format_to_pipe_format(GLuint mesaFormat);