xserver-multidpi/hw/xfree86/modes
Michael Thayer c02f6a687c xfree86: 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: Updated the patch to apply to current git HEAD, split up into two
patches (server and modesetting driver) and adjusted the code slightly
to match surrounding code.  I also removed the new exported function
ShowCursorCheck(), as instead just changing ShowCursor() to return Bool
should not affect its current callers.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Michael Thayer <michael.thayer@oracle.com>
2017-02-08 12:04:42 -05:00
..
Makefile.am xfree86: Remove DisplayID support 2014-09-26 15:27:18 -04:00
xf86Crtc.c xfree86/modes: Move gamma initialization to xf86RandR12Init12 v2 2016-07-27 17:49:39 +09:00
xf86Crtc.h xfree86: Immediately handle failure to set HW cursor, v5 2017-02-08 12:04:42 -05:00
xf86Cursors.c xfree86: Immediately handle failure to set HW cursor, v5 2017-02-08 12:04:42 -05:00
xf86cvt.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
xf86DiDGA.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86EdidModes.c edid: Add quirk for ADA 1024x600 7" display. 2017-01-02 14:42:45 -05:00
xf86gtf.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
xf86Modes.c xfree86 warning reduction 2014-01-12 10:14:49 -08:00
xf86Modes.h Eliminate the use of xf86Rename.h 2013-04-24 10:22:20 -07:00
xf86RandR12.c xf86RandR12: Fix XF86VidModeSetGamma triggering a BadImplementation error 2016-09-28 14:53:39 -04:00
xf86RandR12.h xfree86: Hook up colormaps and RandR 1.2 gamma code v6 2016-07-28 10:12:05 +09:00
xf86Rotate.c Remove readmask from screen block/wakeup handler 2016-07-18 15:27:51 -04:00