[PATCH xf86-video-ati 3/3] Handle rotation in the driver also with Xorg 1.12-1.18

Michel Dänzer michel at daenzer.net
Tue Feb 28 08:59:39 UTC 2017


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

We cannot use the HW cursor in that case, but in turn we get more
efficient and less teary updates of rotated outputs.

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/drmmode_display.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 38b36b244..9c69b5562 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -673,23 +673,20 @@ drmmode_crtc_update_tear_free(xf86CrtcPtr crtc)
 
 #if XF86_CRTC_VERSION >= 4
 
+#if XF86_CRTC_VERSION < 7
+#define XF86DriverTransformOutput TRUE
+#define XF86DriverTransformNone FALSE
+#endif
+
 static Bool
 drmmode_handle_transform(xf86CrtcPtr crtc)
 {
 	Bool ret;
 
-#if XF86_CRTC_VERSION >= 7
 	if (crtc->transformPresent || crtc->rotation != RR_Rotate_0)
 	    crtc->driverIsPerformingTransform = XF86DriverTransformOutput;
 	else
 	    crtc->driverIsPerformingTransform = XF86DriverTransformNone;
-#else
-	drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
-	RADEONInfoPtr info = RADEONPTR(crtc->scrn);
-
-	crtc->driverIsPerformingTransform = crtc->transformPresent ||
-		(drmmode_crtc->tear_free && crtc->rotation != RR_Rotate_0);
-#endif
 
 	ret = xf86CrtcRotate(crtc);
 
-- 
2.11.0



More information about the amd-gfx mailing list