Only handle reflection in the driver with Xorg < 1.16

Xorg doesn't handle the hardware cursor correctly in that case for
rotation and general transforms, and we can't force the SW cursor.

Fixes: f2bc882f1c ("Handle rotation in the driver also with Xorg
                      1.12-1.18")
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Michel Dänzer
2017-07-26 18:13:35 +09:00
committed by Michel Dänzer
parent 94dc2b80f3
commit 7d7abf99b5

View File

@@ -677,10 +677,16 @@ drmmode_handle_transform(xf86CrtcPtr crtc)
{
Bool ret;
#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,15,99,903,0)
if (crtc->transformPresent || crtc->rotation != RR_Rotate_0)
crtc->driverIsPerformingTransform = XF86DriverTransformOutput;
else
crtc->driverIsPerformingTransform = XF86DriverTransformNone;
#else
crtc->driverIsPerformingTransform = !crtc->transformPresent &&
crtc->rotation != RR_Rotate_0 &&
(crtc->rotation & 0xf) == RR_Rotate_0;
#endif
ret = xf86CrtcRotate(crtc);