From cb168227803f932d6ee46e281468c40a203be7ca Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 1 Aug 2016 03:51:36 +0200 Subject: [PATCH] backends/native: Expose all transform modes in CRTCs We can only honor this properly in the MUTTER_STAGE_VIEWS=1 case. When using the legacy view, software implemented transforms are only exposed if there is only one output, as we can only transform the entire stage there. https://bugzilla.gnome.org/show_bug.cgi?id=745079 --- src/backends/native/meta-monitor-manager-kms.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c index 947b65e37..2c98d3106 100644 --- a/src/backends/native/meta-monitor-manager-kms.c +++ b/src/backends/native/meta-monitor-manager-kms.c @@ -46,6 +46,7 @@ #include #define ALL_TRANSFORMS (META_MONITOR_TRANSFORM_FLIPPED_270 + 1) +#define ALL_TRANSFORMS_MASK ((1 << ALL_TRANSFORMS) - 1) typedef struct { drmModeConnector *connector; @@ -626,8 +627,8 @@ init_crtc (MetaCRTC *crtc, crtc->rect.height = drm_crtc->height; crtc->is_dirty = FALSE; crtc->transform = META_MONITOR_TRANSFORM_NORMAL; - /* FIXME: implement! */ - crtc->all_transforms = 1 << META_MONITOR_TRANSFORM_NORMAL; + crtc->all_transforms = meta_is_stage_views_enabled () ? + ALL_TRANSFORMS_MASK : META_MONITOR_TRANSFORM_NORMAL; if (drm_crtc->mode_valid) {