From 43058a36984efbe8bc0174451a587eab3a1f7e16 Mon Sep 17 00:00:00 2001 From: Rui Matos Date: Thu, 12 Mar 2015 17:13:55 +0100 Subject: [PATCH] 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 --- src/backends/native/meta-monitor-manager-kms.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c index 950090f52..a756b8621 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