diff options
author | Eric Anholt <[email protected]> | 2012-07-30 11:04:57 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2012-07-31 11:14:23 -0700 |
commit | 19bd5936af7278c0cce0728e8d6dec1a951eaf58 (patch) | |
tree | e154996b85ba3e6c275b83906f21d347c61aaf50 | |
parent | 03ac5c54b55006a7014525c3dc1ebd6ed215b6be (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.
-rw-r--r-- | 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 8bb041078d8..099668eae9c 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -598,6 +598,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: @@ -613,14 +616,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. |