From 48a22340cfdfe5a8d007f37ffbc39b60184c6187 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 23 May 2013 16:43:58 -0700 Subject: [PATCH] i965: Prefer blorp glBlitFramebuffer() to the glCopyTexSubImage-based blit. I think we've measured no performance difference from this in the past, except that the blorp code can do things like multisample resolves. Prevents piglit regression in the next commit when a testcase started trying to do a multisampled resolve through the old glCopyTexSubImage() path. Reviewed-and-tested-by: Ian Romanick Reviewed-by: Kenneth Graunke Acked-by: Paul Berry --- src/mesa/drivers/dri/intel/intel_fbo.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index 34f31fb0a88..05ff784f074 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -816,14 +816,6 @@ intel_blit_framebuffer(struct gl_context *ctx, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - /* Try faster, glCopyTexSubImage2D approach first which uses the BLT. */ - mask = intel_blit_framebuffer_copy_tex_sub_image(ctx, - srcX0, srcY0, srcX1, srcY1, - dstX0, dstY0, dstX1, dstY1, - mask, filter); - if (mask == 0x0) - return; - #ifndef I915 mask = brw_blorp_framebuffer(intel_context(ctx), srcX0, srcY0, srcX1, srcY1, @@ -833,6 +825,15 @@ intel_blit_framebuffer(struct gl_context *ctx, return; #endif + /* Try glCopyTexSubImage2D approach which uses the BLT. */ + mask = intel_blit_framebuffer_copy_tex_sub_image(ctx, + srcX0, srcY0, srcX1, srcY1, + dstX0, dstY0, dstX1, dstY1, + mask, filter); + if (mask == 0x0) + return; + + _mesa_meta_BlitFramebuffer(ctx, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, -- 2.30.2