[PATCH] present: Queue flips for later execution. Begging for review.

Chris Wilson chris at chris-wilson.co.uk
Mon Jun 2 22:54:49 PDT 2014

On Mon, Jun 02, 2014 at 08:56:32PM -0700, Keith Packard wrote:
> Chris Wilson <chris at chris-wilson.co.uk> writes:
> > The patch relaxes the restriction that there be a single pending flip,
> > and allows the client to queue up a series of fullscreen swaps. However,
> > we don't recheck pixmaps for being viable for flipping after the vblank
> > event as we rely on the ClipNotify hook aborting any flip after a Window
> > change. I think this check now needs to scan all pending flips.
> The driver gets a 'last appeal' in the present_flip call, and if that
> says 'no', then the extension falls back to a copy.

The driver doesn't check that the Window is still suitable for flipping,
it only checks if the buffer is suitable for scanning out. I think you
need to run present_check_flip_window() on all queued flips.
> > Other than that, the patch does what it says on the tin, though you
> > could mention the impact this has caused by the regular flip-unflip.
> Not sure what you mean here; are you saying that I should mention that
> the code fixes a bug in the existing stuff where doing sync flips will
> regularly cause a switch between flipping and copying?

Just a mention of how the bug is observed in practice. It wasn't until
you pointed out the effects of this patch on irc that I realised it
fixed the same flip-unflip issue I saw during testing.

Chris Wilson, Intel Open Source Technology Centre

More information about the xorg-devel mailing list