On Thursday, January 15, 2015 07:09:40 AM Jason Ekstrand wrote: > On Jan 15, 2015 1:49 AM, "Kenneth Graunke" <[email protected]> wrote: > > > > On Thursday, January 15, 2015 01:41:14 AM Kenneth Graunke wrote: > > > 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 <[email protected]> > > > --- > > > src/mesa/drivers/dri/i965/intel_fbo.c | 14 +++++++------- > > > 1 file changed, 7 insertions(+), 7 deletions(-) > > > > > > Ben: this might be a good candidate for your braswell branch. > > > > > > Jason: I bet this will affect your PBO upload path. I suspect it may > > > make it a lot faster on Gen8+, as you might've been getting the BLT > > > engine when trying to use BlitFramebuffer. I haven't tested. > > > > > > diff --git a/src/mesa/drivers/dri/i965/intel_fbo.c > b/src/mesa/drivers/dri/i965/intel_fbo.c > > > index 37ac613f..b54c11d 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, > > > > > > > Just realized there isn't enough context for this patch to make any sense. > > It changes the ordering to: > > > > 1. BLORP > > 2. Meta > > 3. Gen8 Stencil Blit (special case) > > 4. BLT > > 5. Software > > > > Previously, the order was: > > > > 1. BLORP > > 2. Gen8 Stencil Blit (special case) > > 3. Meta > > 4. BLT > > 5. Software > > Those lists don't seem to match the patch. The patch moves meta up a ways. > In the lists it looks like you just swap meta and stencil which, as you > mentioned, does nothing. > > Also, it won't affect the speed of my PBO code as it calls meta > explicitly. That could change and doing so might make it faster on older > gens where we have blorp, but I'm not sure. > --Jason
Ah, I thought you were just calling BlitFramebuffer. Cool. You're right, I misspoke. What I meant was: Old: BLORP, G8Stencil, BLT, Meta, Software New: BLORP, Meta, G8Stencil, BLT, Software Historically, _mesa_meta_BlitFramebuffer had to be at the bottom of the list because it couldn't handle most things, and automaticaly fell back to swrast for us. See 54540ea691e926b36a81a9b1e27b8f035995d07d. --Ken
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
