From ba2aa0a8c12a2bea1e8be01ca3134b518d4cb0f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Thu, 2 Mar 2017 16:55:38 +0900 Subject: [PATCH] Handle rotation in the driver also with Xorg 1.12-1.18 We cannot use the HW cursor in that case, but in turn we get more efficient and less teary updates of rotated outputs. (Ported from radeon commit f2bc882f1c1082bed9f496cfab6c8f07a76bc122) Reviewed-by: Alex Deucher --- src/drmmode_display.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/drmmode_display.c b/src/drmmode_display.c index b3c850c..67dd61b 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -589,22 +589,20 @@ drmmode_can_use_hw_cursor(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 - AMDGPUInfoPtr info = AMDGPUPTR(crtc->scrn); - - crtc->driverIsPerformingTransform = crtc->transformPresent || - (info->tear_free && crtc->rotation != RR_Rotate_0); -#endif ret = xf86CrtcRotate(crtc);