From: Michel Dänzer <[email protected]>

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: ba2aa0a8c12a ("Handle rotation in the driver also with Xorg
                      1.12-1.18")
(Cherry picked from radeon commit 7d7abf99b5441ddb04dbee99bc8fa7abc30d4c46)

Signed-off-by: Michel Dänzer <[email protected]>
---
 src/drmmode_display.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 567d14641..9b33d4dbb 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -615,10 +615,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);
 
-- 
2.13.3

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to