diff options
author | Ray Strode <rstrode@redhat.com> | 2019-01-15 10:29:55 -0500 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2019-01-15 11:37:39 -0500 |
commit | f9907d197816fc5baad6b54f05283947eabd32d1 (patch) | |
tree | 5b8c0a3bd1cb09ac18910f126b000ce63eed517e | |
parent | 45c5f557bd71f6104ed8563571cde772d0ab988c (diff) | |
download | mutter-f9907d197816fc5baad6b54f05283947eabd32d1.tar.gz |
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).
-rw-r--r-- | src/backends/native/meta-backend-native.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c index 042d96ec6..f87c5a066 100644 --- a/src/backends/native/meta-backend-native.c +++ b/src/backends/native/meta-backend-native.c @@ -645,9 +645,16 @@ 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); ClutterActor *stage; 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 (); |