[Mesa-dev] [PATCH] meta: Remove dither bit from blit paths that do not need it

Topi Pohjolainen topi.pohjolainen at intel.com
Fri Aug 1 10:37:53 PDT 2014


Similarly to an older patch. This is the minimum needed to fix the
bug but there are other meta-paths remaining that have the bit
since its introduction but not before.

commit e526ebf35c113d59eb0b860e492c1308d3862ee9
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon May 5 14:03:46 2014 -0700

    meta: Add a new MESA_META_DRAW_BUFFERS bit.

    This will be used for saving/restoring the glDrawBuffers state.
    For now, make sure that existing users of MESA_META_ALL don't get
    the new bit, since they probably won't want it.

    Cc: "10.2" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=81828.

Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
CC: Neil Roberts <neil at linux.intel.com>
---
 src/mesa/drivers/common/meta.c      | 3 ++-
 src/mesa/drivers/common/meta_blit.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index 604bc21..b4f26d0 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -2798,7 +2798,8 @@ copytexsubimage_using_blit_framebuffer(struct gl_context *ctx, GLuint dims,
 
    _mesa_unlock_texture(ctx, texObj);
 
-   _mesa_meta_begin(ctx, MESA_META_ALL & ~MESA_META_DRAW_BUFFERS);
+   _mesa_meta_begin(ctx, MESA_META_ALL & ~(MESA_META_DRAW_BUFFERS |
+                                           MESA_META_DITHER));
 
    _mesa_GenFramebuffers(1, &fbo);
    _mesa_BindFramebuffer(GL_DRAW_FRAMEBUFFER, fbo);
diff --git a/src/mesa/drivers/common/meta_blit.c b/src/mesa/drivers/common/meta_blit.c
index bbf0c3c..d150e8a 100644
--- a/src/mesa/drivers/common/meta_blit.c
+++ b/src/mesa/drivers/common/meta_blit.c
@@ -707,7 +707,8 @@ _mesa_meta_BlitFramebuffer(struct gl_context *ctx,
    /* Only scissor affects blit, but we're doing to set a custom scissor if
     * necessary anyway, so save/clear state.
     */
-   _mesa_meta_begin(ctx, MESA_META_ALL & ~MESA_META_DRAW_BUFFERS);
+   _mesa_meta_begin(ctx, MESA_META_ALL & ~(MESA_META_DRAW_BUFFERS |
+                                           MESA_META_DITHER));
 
    /* If the clipping earlier changed the destination rect at all, then
     * enable the scissor to clip to it.
-- 
2.0.0



More information about the mesa-dev mailing list