summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2016-08-01 03:51:36 +0200
committerCarlos Garnacho <carlosg@gnome.org>2016-08-23 19:24:35 +0200
commitcb168227803f932d6ee46e281468c40a203be7ca (patch)
tree0267c8abe171cba9627b5f957a5b852112e0b770
parent06112b1b0f432ee60e118e70bbde55befbe5f0b8 (diff)
downloadmutter-wip/garnacho/wayland-emulated-output-transform.tar.gz
backends/native: Expose all transform modes in CRTCswip/garnacho/wayland-emulated-output-transform
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
-rw-r--r--src/backends/native/meta-monitor-manager-kms.c5
1 files 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 <gudev/gudev.h>
#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)
{