aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2012-07-30 11:04:57 -0700
committerIan Romanick <[email protected]>2012-10-12 20:07:42 -0700
commitd7cc01fbf8e77884ff5e06cf07fa876572edf82b (patch)
tree8b97f718028d6b83354a25848c0b6990fc6ab20f
parent52fbb8537acb46ce8b42ed7c361bb26974f14471 (diff)
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 <[email protected]> (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
-rw-r--r--src/mesa/drivers/dri/i965/brw_wm_surface_state.c11
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 9cce5689d09..e8ad6da2926 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;