xserver-multidpi/present
Mario Kleiner aae6460694 present: Fix use of vsynced pageflips and honor PresentOptionAsync. (v4)
Pageflips for Pixmap presents were not synchronized to vblank on
drivers with support for PresentCapabilityAsync, due to some
missing init for vblank->sync_flips. The PresentOptionAsync
flag was completely ignored for pageflipped presents.

Vsynced flips only worked by accident on the intel-ddx, as that
driver doesn't have PresentCapabilityAsync support.

On nouveau-ddx, which supports PresentCapabilityAsync, this
always caused non-vsynced pageflips with pretty ugly tearing.

This patch fixes the problem, as tested on top of XOrg 1.16.2
on nouveau and intel.

v4: Add additional PresentCapabilityAsync caps check, as
suggested by Eric Anholt.

Please also apply to XOrg 1.17 and XOrg 1.16.2 stable.

Applying on top of XOrg 1.16.2 requires cherry-picking
commit 2051514652
which trivially fixes lack of support for protocol option
PresentOptionCopy - get two bug fixes for the price of one!

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-12-08 16:38:17 -08:00
..
Makefile.am present: Add Present extension 2013-10-31 16:59:18 -07:00
present_event.c glx/present: Only send GLX_BufferSwapComplete for PresentCompleteKindPixmap 2014-09-11 18:19:41 -07:00
present_fake.c Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
present_fence.c present: Block for wait_fence in present_execute 2013-11-20 13:12:30 -08:00
present_notify.c present: Add Present extension 2013-10-31 16:59:18 -07:00
present_priv.h present: Make window MSC offset 0 initially 2014-07-31 00:03:53 -07:00
present_request.c Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
present_screen.c present: Make window MSC offset 0 initially 2014-07-31 00:03:53 -07:00
present.c present: Fix use of vsynced pageflips and honor PresentOptionAsync. (v4) 2014-12-08 16:38:17 -08:00
present.h glx/present: Only send GLX_BufferSwapComplete for PresentCompleteKindPixmap 2014-09-11 18:19:41 -07:00
presentext.h present: Add Present extension 2013-10-31 16:59:18 -07:00