[PATCH xf86-video-ati] Only handle reflection in the driver with Xorg < 1.16

Michel Dänzer michel at daenzer.net
Wed Jul 26 09:41:16 UTC 2017


From: Michel Dänzer <michel.daenzer at amd.com>

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: f2bc882f1c10 ("Handle rotation in the driver also with Xorg
                      1.12-1.18")
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/drmmode_display.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 840071fe7..245a92fb0 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -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);
 
-- 
2.13.3



More information about the amd-gfx mailing list