[Intel-gfx] [RFC] Async flips

Chris Wilson chris at chris-wilson.co.uk
Wed Oct 31 16:49:36 CET 2012


On Wed, 31 Oct 2012 08:39:09 -0700, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> On Wed, 31 Oct 2012 16:26:54 +0100
> Daniel Vetter <daniel at ffwll.ch> wrote:
> 
> > On Wed, Oct 31, 2012 at 4:23 PM, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> > >
> > >> On Tue, Oct 30, 2012 at 01:33:47PM -0500, Jesse Barnes wrote:
> > >> > The hw supports async flips through the render ring, so why not expose it?
> > >> > It gives us one more "tear me harder" option we can use in the DDX and
> > >> > for other cases where simply flipping to the latest buffer is more
> > >> > important than visual quality.
> > >>
> > >> The only reason I can see why anyone would really want async flips is
> > >> when you're restricted to double buffering. With triple buffering you
> > >> should be able to override the previous flip w/o tearing.
> > >>
> > >> Well, actually if you use the ring based flips, then you can't do the
> > >> override. My atomic page flip code can do it because it's using mmio
> > >> flips. There were also other reasons favoring mmio over ring.
> > >>
> > >> Once the atomic code is deemed ready, I would suggest we just nuke the
> > >> ring based flip code (pun intended).
> > >
> > > Yeah, I agree.  In fact one of the first versions of the flip code used
> > > mmio, and I think it's a better way to go.
> > 
> > How are we gonna sync up with outstanding rendering before issuing the
> > flip? If the answer is involves enabling the render irq, I'm not gonna
> > like it ;-)
> 
> Why are you afraid of irqs when rendering is active?  We'll already be
> awake at those times anyway...

Because it involves the driver stalling.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list