diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2017-07-26 18:13:35 +0900 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2017-07-26 18:13:35 +0900 |
commit | 7d7abf99b5441ddb04dbee99bc8fa7abc30d4c46 (patch) | |
tree | 6ca6b8f406a4d0e36b1c3b467ea50fc5ff87489b /src | |
parent | 94dc2b80f3ef0b2c17c20501d824fb0447d52e7a (diff) |
Only handle reflection in the driver with Xorg < 1.16
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")
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/drmmode_display.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 840071fe..245a92fb 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); |