On 07/30/2012 02:13 PM, Eric Anholt wrote:
Fixes some failures in getteximage-formats.
---
  src/mesa/drivers/dri/i965/brw_wm_surface_state.c |   14 ++++++--------
  1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c 
b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
index 65ca2fc..9e7fcf1 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
@@ -31,6 +31,7 @@


  #include "main/mtypes.h"
+#include "main/enums.h"

I don't see why the new code below needs enums.h


  #include "main/samplerobj.h"
  #include "program/prog_parameter.h"

@@ -598,6 +599,11 @@ translate_tex_format(gl_format mesa_format,
                     GLenum depth_mode,
                     GLenum srgb_decode)
  {
+   if (srgb_decode == GL_SKIP_DECODE_EXT&&
+       _mesa_get_format_color_encoding(mesa_format) == GL_SRGB) {
+      mesa_format = _mesa_get_srgb_format_linear(mesa_format);
+   }
+
     switch( mesa_format ) {

     case MESA_FORMAT_Z16:
@@ -613,14 +619,6 @@ translate_tex_format(gl_format mesa_format,
     case MESA_FORMAT_Z32_FLOAT_X24S8:
        return BRW_SURFACEFORMAT_R32G32_FLOAT;

-   case MESA_FORMAT_SARGB8:
-   case MESA_FORMAT_SLA8:
-   case MESA_FORMAT_SL8:
-      if (srgb_decode == GL_DECODE_EXT)
-        return brw_format_for_mesa_format(mesa_format);
-      else if (srgb_decode == GL_SKIP_DECODE_EXT)
-        return 
brw_format_for_mesa_format(_mesa_get_srgb_format_linear(mesa_format));
-
     case MESA_FORMAT_RGBA_FLOAT32:
        /* The value of this BRW_SURFACEFORMAT is 0, which tricks the
         * assertion below.

Looks OK otherwise.  Reviewed-by: Brian Paul <bri...@vmware.com>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to