diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2015-01-14 17:21:55 -0800 |
---|---|---|
committer | Ben Widawsky <benjamin.widawsky@intel.com> | 2015-01-16 15:44:18 -0800 |
commit | 43e0c86f7501b524eddebf31eab969a3e2decf38 (patch) | |
tree | d2f5d9b4ca2a153dbc0d7debfa6aee7441e5ce15 | |
parent | 68ae4056b097aa794d437a5d340733adb38a57ae (diff) |
i965: Prefer Meta over the BLT for BlitFramebuffer.braswell-prefer-meta
There's some debate about whether we should use Meta or BLORP,
but either should run circles around the BLT engine.
Improves performance in "copypixrate -blit -back" (from Mesa demos)
by 232.037% +/- 3.15795% (n=10) on Broadwell GT3e.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_fbo.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_fbo.c b/src/mesa/drivers/dri/i965/intel_fbo.c index 37ac613fa3..b54c11d799 100644 --- a/src/mesa/drivers/dri/i965/intel_fbo.c +++ b/src/mesa/drivers/dri/i965/intel_fbo.c @@ -882,6 +882,13 @@ intel_blit_framebuffer(struct gl_context *ctx, if (mask == 0x0) return; + mask = _mesa_meta_BlitFramebuffer(ctx, + srcX0, srcY0, srcX1, srcY1, + dstX0, dstY0, dstX1, dstY1, + mask, filter); + if (mask == 0x0) + return; + if (brw->gen >= 8 && (mask & GL_STENCIL_BUFFER_BIT)) { brw_meta_fbo_stencil_blit(brw_context(ctx), srcX0, srcY0, srcX1, srcY1, @@ -899,13 +906,6 @@ intel_blit_framebuffer(struct gl_context *ctx, if (mask == 0x0) return; - mask = _mesa_meta_BlitFramebuffer(ctx, - srcX0, srcY0, srcX1, srcY1, - dstX0, dstY0, dstX1, dstY1, - mask, filter); - if (mask == 0x0) - return; - _swrast_BlitFramebuffer(ctx, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, |