[Mesa-dev] [PATCH] i965: Split Gen4-5 BlitFramebuffer code; prefer BLT over Meta.

Pohjolainen, Topi topi.pohjolainen at intel.com
Thu Mar 5 00:15:52 PST 2015


On Wed, Mar 04, 2015 at 08:44:19PM -0800, Kenneth Graunke wrote:
> A while back I switched intel_blit_framebuffer to prefer Meta over the
> BLT.  This meant that Gen8 platforms would start using the 3D engine
> for blits, just like we do on Gen6-7.5.
> 
> However, I hadn't considered Gen4-5 when making that change.  The BLT
> engine appears to be substantially faster on 965GM than using Meta to
> drive the 3D engine.  This isn't too surprising: original Gen4 doesn't
> support tile offsets (that came on G45), and the level/layer fields
> don't work for cubemap rendering, so for inconvenient miplevel
> alignments, we end up blitting or copying data to/from temporaries
> in order to render to it.  We may as well just use the blitter.
> 
> I chose to use the BLT on Gen4-5 because they use the same ring for
> both 3D and BLT; Gen6+ splits it out.
> 
> Fixes regressions on 965GM due to botched tile offset code (we should
> fix those properly as well, but they're longstanding bugs - for now,
> put things back to the status quo).
> 
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89430
> Cc: "10.5" <mesa-stable at lists.freedesktop.org>
> Cc: Mark Janes <mark.a.janes at intel.com>

Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>


More information about the mesa-dev mailing list