Niclas Zeising 3845392426 Fix return value check of drmIoctl()
When the drmModeSetCursor2() call was replaced with bare drmIoctl() call in
92df7097, a bug was introduced.  With the use of drmModeSetCursor2(),
the return value from drmIoctl() (which calls ioctl()) were mangled, if
they were negative, they were replaced by -errno by a wrapper function
in xf86drMode.c in libdrm.  After replacing drmModeSetCursor2() with the
call to drmIoctl(), this mangling no longer happens, and we need to
explicitly check if the call to drmIoctl() fails, which is indicated by
returning -1, and then why it failed, by checking errno.
If the error indicated by errno is EINVAL, then we can't use the
DRM_IOCTL_MODE_CURSOR2 ioctl(), and need to fall back to the
DRM_IOCTL_MODE_CURSOR ioctl().

This bug can manifest itself by an invisible hw cursor on systems where the
DRM_IOCTL_MODE_CURSOR2 is not implemented by the graphics driver.

Credit also to Alexey Dokuchaev for help with developing the fix and
testing.

This fixes #190

Signed-off-by: Niclas Zeising <zeising@daemonic.se>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
2020-04-14 18:53:26 +02:00
2018-08-23 18:48:45 +02:00
2020-04-14 18:53:26 +02:00
2014-08-05 18:33:12 +09:00
2018-08-23 18:48:45 +02:00
2017-07-28 11:57:41 +09:00
2019-10-15 17:54:12 +02:00
2018-11-19 11:34:22 +01:00
2018-11-19 11:34:22 +01:00

xf86-video-ati - ATI/AMD Radeon video driver for the Xorg X server

Patches and questions regarding this software should be directed at the amd-gfx mailing list:

https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Please submit bug reports to the Xorg bugzilla:

https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon

The master development code repository can be found at:

https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati

For patch submission instructions, see:

https://www.x.org/wiki/Development/Documentation/SubmittingPatches

Description
No description provided
Readme 8 MiB
Languages
C 99.3%
M4 0.3%
Makefile 0.2%
Perl 0.1%