[Mesa-dev] [PATCH] i965: Don't _swrast_BlitFramebuffer when doing CopyTexSubImage.

Kenneth Graunke kenneth at whitecape.org
Sun May 11 18:12:57 PDT 2014


The point of copytexsubimage_using_blit_framebuffer is to use a hardware
accelerated BlitFramebuffer path.  If that fails, we shouldn't do a
swrast blit---we should try our CTSI fallback code.

This is especially important for i965 and GLES, where we don't even
create a swrast context.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77705
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Cc: Chris Forbes <chrisf at ijw.co.nz>
Cc: Eric Anholt <eric at anholt.net>
Cc: "10.2" <mesa-stable at lists.freedesktop.org>
---
 src/mesa/drivers/common/meta_blit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

No Piglit regressions on Haswell or Broadwell.  Fixes at least one ES3 test.
I haven't run the whole ES3 suite.

diff --git a/src/mesa/drivers/common/meta_blit.c b/src/mesa/drivers/common/meta_blit.c
index c3dc146..3801622 100644
--- a/src/mesa/drivers/common/meta_blit.c
+++ b/src/mesa/drivers/common/meta_blit.c
@@ -707,7 +707,7 @@ _mesa_meta_BlitFramebuffer(struct gl_context *ctx,
    _mesa_meta_end(ctx);
 
 fallback:
-   if (mask) {
+   if (mask && !ctx->Meta->Blit.no_ctsi_fallback) {
       _swrast_BlitFramebuffer(ctx, srcX0, srcY0, srcX1, srcY1,
                               dstX0, dstY0, dstX1, dstY1, mask, filter);
    }
-- 
1.9.2



More information about the mesa-dev mailing list