From 122d7726e450712b8b2fc85db41e3c8ab7b6ad56 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 15 Jan 2019 10:29:55 -0500 Subject: [PATCH 5/9] backends/native: emit gl-video-memory-purged when becoming active The proprietary NVIDIA driver garbles memory on suspend. In order to work around that limitation, mutter needs to refresh all its textures on resuem. This commit lays the way toward doing that by emitting the "gl-video-memory-purged" signal when the compositor becomes active by logind (which happens on VT switch and on resume). --- src/backends/native/meta-backend-native.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c index c473681cb..f593197e7 100644 --- a/src/backends/native/meta-backend-native.c +++ b/src/backends/native/meta-backend-native.c @@ -653,8 +653,15 @@ void meta_backend_native_resume (MetaBackendNative *native) meta_backend_get_monitor_manager (backend); MetaMonitorManagerKms *monitor_manager_kms = META_MONITOR_MANAGER_KMS (monitor_manager); + MetaDisplay *display = meta_get_display (); + ClutterBackend *clutter_backend = clutter_get_default_backend (); + CoglContext *cogl_context = + clutter_backend_get_cogl_context (clutter_backend); MetaIdleMonitor *idle_monitor; + if (cogl_has_feature (cogl_context, COGL_FEATURE_ID_UNSTABLE_TEXTURES)) + g_signal_emit_by_name (display, "gl-video-memory-purged"); + meta_monitor_manager_kms_resume (monitor_manager_kms); clutter_evdev_reclaim_devices (); -- 2.21.0