xserver-multidpi/hw/xfree86/drivers/modesetting
Hans de Goede 299cbb9267 modesetting: Fix reverse prime update lagging on secondary GPU outputs
When using secondary GPU outputs the primary GPU's blockhandler
will copy changes from its framebuffer to a pixmap shared with the
secondary GPU.

In reverse prime setups the secondary GPU's blockhandler will do another
copy from the shared pixmap to its own framebuffer.

Before this commit, if the primary GPU's blockhandler would run after
the secondary GPU's blockhandler and no events were pending, then the
secondary GPU's blockhandler would not run until some events came in
(WaitForSomething() would block in the poll call), resulting in the
secondary GPU output sometimes showing stale contents (e.g. a just closed
window) for easily up to 10 seconds.

This commit fixes this by setting the timeout passed into the
blockhandler to 0 if any shared pixmaps were updated by the primary GPU,
forcing an immediate re-run of all blockhandlers.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
2016-09-28 14:53:39 -04:00
..
dri2.c modesetting: Implement DRI2InfoRec version 9 callbacks 2016-09-13 11:18:38 -04:00
driver.c modesetting: Fix reverse prime update lagging on secondary GPU outputs 2016-09-28 14:53:39 -04:00
driver.h modesetting: fix compile error when --disable-glamor 2016-09-16 08:54:22 -07:00
drmmode_display.c modesetting: Hide cursor when initializing crtc 2016-09-02 13:09:40 -04:00
drmmode_display.h modesetting: add DRI2 page flip support 2016-09-02 13:58:09 -04: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 modesetting: move ms_do_pageflip to pageflip.c 2016-09-02 13:56:10 -04:00
modesetting.man modesetting: Add more missing options to man page. 2015-08-13 00:36:12 +01:00
pageflip.c modesetting: fix compile error when --disable-glamor 2016-09-16 08:54:22 -07:00
present.c modesetting: add DRI2 page flip support 2016-09-02 13:58:09 -04:00
sh3224.c modesetting: Implement 32->24 bpp conversion in shadow update 2016-07-02 09:28:04 +02:00
sh3224.h modesetting: Implement 32->24 bpp conversion in shadow update 2016-07-02 09:28:04 +02:00
vblank.c modesetting: Fall back to primary crtc for vblank for drawables on slave outputs 2016-09-13 11:18:43 -04:00