xserver-multidpi/hw/xfree86/drivers/modesetting
Alex Goins 266d9868ca xf86-video-modesetting: Fix ms_queue_vblank(flags = MS_QUEUE_RELATIVE)
Change 677c32bc refactored all usages of drmWaitVBlank() into a helper function,
ms_queue_vblank().

ms_queue_vblank() takes in an MS_QUEUE_RELATIVE flag to indicate that the
sequence number is relative rather than absolute, but still treats the actual
sequence number as absolute, passing it through ms_crtc_msc_to_kernel_msc()
unconditionally before calling drmWaitVBlank().

ms_crtc_msc_to_kernel_msc() works by subtracting a vblank offset from the
provided sequence number, which only makes sense for absolute sequence numbers.
In the case of PRIME Sync, drmmode_SharedPixmapPrsentOnVBlank() passes in 1,
which results in a large negative vblank offset. After subtracting, we're left
with a relative sequence number of 100,000+, i.e. wait for 100,000+ vblanks...

In the relative case we want to pass in the sequence number unmodified. Simply
add a check to do this.

Signed-off-by: Alex Goins <agoins@nvidia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
2017-10-27 10:00:47 -04:00
..
dri2.c xf86-video-modesetting: Add ms_queue_vblank helper [v3] 2017-10-04 15:17:41 -04:00
driver.c modesetting: Remove #ifdefs XF86_PDEV_SERVER_FD 2017-10-20 15:25:45 -04:00
driver.h xf86-video-modesetting: Add ms_queue_vblank helper [v3] 2017-10-04 15:17:41 -04:00
drmmode_display.c modesetting: Use helper to fetch drmModeProperty(Blob)s 2017-10-23 11:40:31 -04:00
drmmode_display.h Make PixmapDirtyUpdateRec::src a DrawablePtr 2017-08-15 17:01:39 +09:00
dumb_bo.c modesetting: Include dix-config.h from dumb_bo.c 2015-05-12 08:02:11 -07:00
dumb_bo.h modesetting: Drop dumb_bo::map_count field and dead unmap code. 2014-12-11 11:26:19 -08:00
Makefile.am shadow: Lift 32->24 conversion from modesetting to dix 2016-12-12 14:10:44 -05:00
meson.build meson: Fix test for whether we've built glamor-EGL. 2017-06-13 10:36:18 -04:00
modesetting.man modesetting: Add more missing options to man page. 2015-08-13 00:36:12 +01:00
pageflip.c modesetting: Drop code for GLAMOR && !GLAMOR_HAS_GBM. 2017-05-18 11:33:05 -04:00
present.c xf86-video-modesetting: Add ms_queue_vblank helper [v3] 2017-10-04 15:17:41 -04:00
vblank.c xf86-video-modesetting: Fix ms_queue_vblank(flags = MS_QUEUE_RELATIVE) 2017-10-27 10:00:47 -04:00