From a232df15235ca0e7d4c36762cfb5b51038d71849 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 12 Jan 2016 17:37:02 -0800 Subject: [PATCH] meta/blit: Check the values instead of the target before restoring MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Ian Romanick Reviewed-by: Tapani Pälli --- src/mesa/drivers/common/meta_blit.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/common/meta_blit.c b/src/mesa/drivers/common/meta_blit.c index 7adad469ace..6322b64696d 100644 --- a/src/mesa/drivers/common/meta_blit.c +++ b/src/mesa/drivers/common/meta_blit.c @@ -843,13 +843,17 @@ _mesa_meta_fb_tex_blit_end(struct gl_context *ctx, GLenum target, /* Restore texture object state, the texture binding will * be restored by _mesa_meta_end(). + * + * If the target restricts values for base level or max level, we assume + * that the original values were valid. */ - if (target != GL_TEXTURE_RECTANGLE_ARB) { + if (blit->baseLevelSave != texObj->BaseLevel) _mesa_texture_parameteriv(ctx, texObj, GL_TEXTURE_BASE_LEVEL, &blit->baseLevelSave, false); + + if (blit->maxLevelSave != texObj->MaxLevel) _mesa_texture_parameteriv(ctx, texObj, GL_TEXTURE_MAX_LEVEL, &blit->maxLevelSave, false); - } /* If ARB_stencil_texturing is not supported, the mode won't have changed. */ if (texObj->StencilSampling != blit->stencilSamplingSave) { -- 2.30.2