summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2017-02-28 17:31:14 +0900
committerMichel Dänzer <michel@daenzer.net>2017-03-01 16:57:13 +0900
commitf2bc882f1c1082bed9f496cfab6c8f07a76bc122 (patch)
tree6c13a660a7cdad858f91f9249012668187731d60
parentae921a3150f69c38b5b3c88a9e37d54fdf0d5093 (diff)
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. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--src/drmmode_display.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 38b36b24..9c69b556 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);