xserver-multidpi/hw/xfree86/drivers/modesetting
Michael Thayer ecd0a62323 modesetting: Immediately handle failure to set HW cursor, v5
Based on v4 by Alexandre Courbot <acourbot@nvidia.com>

There is currently no reliable way to report failure to set a HW
cursor. Still such failures can happen if e.g. the MODE_CURSOR DRM
ioctl fails (which currently happens at least with modesetting on Tegra
for format incompatibility reasons).

As failures are currently handled by setting the HW cursor size to
(0,0), the fallback to SW cursor will not happen until the next time the
cursor changes and xf86CursorSetCursor() is called again. In the
meantime, the cursor will be invisible to the user.

This patch addresses that by adding _xf86CrtcFuncs::set_cursor_check and
_xf86CursorInfoRec::ShowCursorCheck hook variants that return booleans.
This allows to propagate errors up to xf86CursorSetCursor(), which can
then fall back to using the SW cursor immediately.

v5:
 - Removed parts of patch already committed as part of 14c21ea1.
 - Adjusted code slightly to match surrounding code.
 - Effectively reverted af916477 which is made unnecessary by this patch.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Michael Thayer <michael.thayer@oracle.com>
2017-02-08 12:04:42 -05:00
..
dri2.c modesetting: Implement DRI2InfoRec version 9 callbacks 2016-09-13 11:18:38 -04:00
driver.c modesetting: cleanup pci device open 2017-01-11 11:14:12 +10:00
driver.h modesetting: cleanup pci device open 2017-01-11 11:14:12 +10:00
drmmode_display.c modesetting: Immediately handle failure to set HW cursor, v5 2017-02-08 12:04:42 -05:00
drmmode_display.h modesetting: Immediately handle failure to set HW cursor, v5 2017-02-08 12:04:42 -05: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
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
vblank.c modesetting: Fall back to primary crtc for vblank for drawables on slave outputs 2016-09-13 11:18:43 -04:00