[PATCH 0/6] glamor: synchronize Xv display to vblank

Adam Jackson ajax at nwnk.net
Tue Sep 16 08:57:18 PDT 2014


On Wed, 2014-08-06 at 22:21 -0700, Keith Packard wrote:
> This series creates a new API within the Present code that provides
> vblank-synchronized callbacks using the Present driver
> interfaces and then uses that new interface to delay Xv put image
> until vblank occurrs.
> 
> This synchronization is only done when painting directly to the
> screen, so a composited environment won't see additional delay, but
> when the window goes full-screen and the compositing manager
> un-redirects it, you'll continue to get synchronized video output.
> 
> There are a couple of DebugPresent cleanups:
> 
>  [PATCH 1/6] present: Move DebugPresent macro to present_priv.h
>  [PATCH 2/6] present: Fix int types for DebugPresent arguments

Reviewed-by: Adam Jackson <ajax at redhat.com>

> And two patches to expose the Present API to drivers:
> 
>  [PATCH 3/6] present: Provide stub for present_event_abandon
>  [PATCH 4/6] present: Create an internal server API to perform

Likewise.  Though it'd be nice if the init/fini model in 4 was made more
obvious (as per Mark Marshall's comments), see below...

> One patch that implements the new Present vblank API:
> 
>  [PATCH 5/6] xfree86: Expose present API to drivers via sdksyms

R-b.

> And one little patch that uses the new API in glamor's Xv code:
> 
>  [PATCH 6/6] glamor: Use Present to delay Xv painting to vblank

Not sure I'm okay with this?  I think you're calling
present_vblank_window_queue as if present_vblank_screen_init had been
done, but it doesn't need to have been (the patch doesn't show it added
anywhere, I assume you hid that in the DDX driver).  If we take this
functionality, is there a good reason for a driver to refuse it?  If so
then you need to insulate against present_queue never being initialized;
if not, why not just run vblank setup from present_screen_init (and tear
it down from present_close_screen, addressing Mark's comment).

- ajax



More information about the xorg-devel mailing list