-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 06/01/2011 01:17 PM, Eric Anholt wrote: > Fixes the GL_SRGB8_ALPHA8 -> GL_RGBA8 blits in fbo-srgb-blit.c > --- > src/mesa/drivers/common/meta.c | 10 ++++++++++ > 1 files changed, 10 insertions(+), 0 deletions(-) > > diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c > index 08b6024..a0d4b9e 100644 > --- a/src/mesa/drivers/common/meta.c > +++ b/src/mesa/drivers/common/meta.c > @@ -1186,6 +1186,7 @@ blitframebuffer_texture(struct gl_context *ctx, > const GLint maxLevelSave = texObj->MaxLevel; > const GLenum wrapSSave = texObj->Sampler.WrapS; > const GLenum wrapTSave = texObj->Sampler.WrapT; > + const GLenum srgbSave = texObj->Sampler.sRGBDecode; > const GLenum target = texObj->Target; > > if (drawAtt->Texture == readAtt->Texture) { > @@ -1217,6 +1218,12 @@ blitframebuffer_texture(struct gl_context *ctx, > } > _mesa_TexParameteri(target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); > _mesa_TexParameteri(target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); > + > + if (ctx->Extensions.EXT_texture_sRGB_decode) { > + _mesa_TexParameteri(target, GL_TEXTURE_SRGB_DECODE_EXT, > + GL_SKIP_DECODE_EXT); > + } > +
Should we skip this block and the other block if srgbSave is already GL_SKIP_DECODE_EXT? I guess maybe it doesn't matter that much. We just seem to be accumulating a lot potentially extraneous state changes in metaops. We always tell app developers to not do that, so... > _mesa_TexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); > _mesa_set_enable(ctx, target, GL_TRUE); > > @@ -1278,6 +1285,9 @@ blitframebuffer_texture(struct gl_context *ctx, > } > _mesa_TexParameteri(target, GL_TEXTURE_WRAP_S, wrapSSave); > _mesa_TexParameteri(target, GL_TEXTURE_WRAP_T, wrapTSave); > + if (ctx->Extensions.EXT_texture_sRGB_decode) { > + _mesa_TexParameteri(target, GL_TEXTURE_SRGB_DECODE_EXT, srgbSave); > + } > > /* Done with color buffer */ > mask &= ~GL_COLOR_BUFFER_BIT; -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEYEARECAAYFAk3oA3EACgkQX1gOwKyEAw88VgCcCoWRWQpljnFz/Aq5ppYELs/3 cC8AnRTYkaNw0td/0pO2jhsD7C5Lv79D =rKmd -----END PGP SIGNATURE----- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev