diff options
author | Rui Matos <tiagomatos@gmail.com> | 2015-03-12 17:13:55 +0100 |
---|---|---|
committer | Rui Matos <tiagomatos@gmail.com> | 2015-03-16 16:32:56 +0100 |
commit | 43058a36984efbe8bc0174451a587eab3a1f7e16 (patch) | |
tree | 826d9f7611ee5968b2000dbd03bbfee5563c82a2 | |
parent | 8c16ac47c1b88fc48ad8ea621a75a86e028a2764 (diff) |
monitor-manager-kms: Tell cogl to ignore CRTCs when DPMS isn't ON
Otherwise cogl will try to page flip and fail.
https://bugzilla.gnome.org/show_bug.cgi?id=746098
-rw-r--r-- | src/backends/native/meta-monitor-manager-kms.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c index 950090f5..a756b862 100644 --- a/src/backends/native/meta-monitor-manager-kms.c +++ b/src/backends/native/meta-monitor-manager-kms.c @@ -690,6 +690,9 @@ meta_monitor_manager_kms_set_power_save_mode (MetaMonitorManager *manager, MetaPowerSave mode) { MetaMonitorManagerKms *manager_kms = META_MONITOR_MANAGER_KMS (manager); + ClutterBackend *backend; + CoglContext *cogl_context; + CoglDisplay *cogl_display; uint64_t state; unsigned i; @@ -728,6 +731,14 @@ meta_monitor_manager_kms_set_power_save_mode (MetaMonitorManager *manager, meta_output->name, strerror (errno)); } } + + backend = clutter_get_default_backend (); + cogl_context = clutter_backend_get_cogl_context (backend); + cogl_display = cogl_context_get_display (cogl_context); + + for (i = 0; i < manager->n_crtcs; i++) + cogl_kms_display_set_ignore_crtc (cogl_display, manager->crtcs[i].crtc_id, + mode != META_POWER_SAVE_ON); } static void |