xserver/hw/xfree86/drivers/modesetting
Sultan Alsawaf 9d1997f72a modesetting: Ensure vblank events always run in sequential order
It is possible for vblank events to run out of order with respect to one
another because the event which was queued to the kernel has the privilege
of running before all other events are handled. This allows kernel-queued
events to run before other, older events which should've run first.

Although this isn't a huge problem now, it will become more problematic
after the next change which ties DRI client notifications to TearFree page
flips. This increases the likelihood of DRI clients erroneously receiving
presentation-completion notifications out of order; i.e., a client could
receive a notification for a newer pixmap it submitted *before* receiving a
notification for an older pixmap.

Ensure vblank events always run in sequential order by removing the bias
towards kernel-queued events, and therefore forcing them to run at their
sequential position in the queue like other events.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
2023-02-28 22:43:37 -08:00
..
dri2.c modesetting: Pass reference CRTC pointer to ms_do_pageflip 2023-02-28 22:43:37 -08:00
driver.c modesetting: Introduce ms_tearfree_is_active_on_crtc helper 2023-02-28 22:43:37 -08:00
driver.h modesetting: Introduce ms_tearfree_is_active_on_crtc helper 2023-02-28 22:43:37 -08:00
drmmode_display.c modesetting: add support for TearFree page flips 2022-12-19 23:56:27 -08:00
drmmode_display.h modesetting: add support for TearFree page flips 2022-12-19 23:56:27 -08: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
meson.build xfree86: Link fb statically 2019-07-23 14:24:00 -04:00
modesetting.man modesetting: Document the "Atomic" option 2022-12-20 10:10:59 +01:00
pageflip.c modesetting: Introduce ms_tearfree_is_active_on_crtc helper 2023-02-28 22:43:37 -08:00
present.c modesetting: Introduce ms_tearfree_is_active_on_crtc helper 2023-02-28 22:43:37 -08:00
vblank.c modesetting: Ensure vblank events always run in sequential order 2023-02-28 22:43:37 -08:00