i965: Don't _swrast_BlitFramebuffer when doing CopyTexSubImage.
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 12 May 2014 00:20:08 +0000 (17:20 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 13 May 2014 22:32:16 +0000 (15:32 -0700)
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@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
src/mesa/drivers/common/meta_blit.c

index beb1ea5a8cdc2c734638511a6c531320656ac106..e5a0a9ad000dbc162f58649be5ca2a62f2f3f30b 100644 (file)
@@ -732,7 +732,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);
    }