Mesa (8.0): i965: Add support for GL_SKIP_DECODE_EXT on other SRGB formats.

Ian Romanick idr at kemper.freedesktop.org
Sat Oct 13 03:07:54 UTC 2012


Module: Mesa
Branch: 8.0
Commit: d7cc01fbf8e77884ff5e06cf07fa876572edf82b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7cc01fbf8e77884ff5e06cf07fa876572edf82b

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Jul 30 11:04:57 2012 -0700

i965: Add support for GL_SKIP_DECODE_EXT on other SRGB formats.

Fixes some failures in getteximage-formats.

v2: Remove stray include, and drop extra test for encoding == GL_SRGB --
    _mesa_get_srgb_format_linear() returns the same format if it wasn't SRGB.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48120
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org> (v1)
NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit 19bd5936af7278c0cce0728e8d6dec1a951eaf58)

Conflicts:

	src/mesa/drivers/dri/i965/brw_wm_surface_state.c

---

 src/mesa/drivers/dri/i965/brw_wm_surface_state.c |   11 +++--------
 1 files changed, 3 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 9cce568..e8ad6da 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
@@ -583,6 +583,9 @@ translate_tex_format(gl_format mesa_format,
 		     GLenum depth_mode,
 		     GLenum srgb_decode)
 {
+   if (srgb_decode == GL_SKIP_DECODE_EXT)
+      mesa_format = _mesa_get_srgb_format_linear(mesa_format);
+
    switch( mesa_format ) {
 
    case MESA_FORMAT_Z16:
@@ -598,14 +601,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_RGBA8888_REV:
       /* This format is not renderable? */
       return BRW_SURFACEFORMAT_R8G8B8A8_UNORM;




More information about the mesa-commit mailing list