[mutter/wip/3-monitors-on-nvidia: 10/10] wip! native: release dumb fb after flip for EGLStreams



commit 63079a762d8feed16412bce96a2d58d21a8e74aa
Author: Ray Strode <rstrode redhat com>
Date:   Mon Sep 10 16:19:39 2018 -0400

    wip! native: release dumb fb after flip for EGLStreams
    
    fixme probably need to recreate the dumb fb any time doing
    an explicit modeset

 src/backends/native/meta-renderer-native.c | 11 +++++++++++
 1 file changed, 11 insertions(+)
---
diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c
index 943862b5f..eedc4d6b6 100644
--- a/src/backends/native/meta-renderer-native.c
+++ b/src/backends/native/meta-renderer-native.c
@@ -1310,10 +1310,19 @@ on_crtc_flipped (GClosure         *closure,
 
   if (gpu_kms != render_gpu)
     {
+      MetaRendererNativeGpuData *renderer_gpu_data;
       MetaOnscreenNativeSecondaryGpuState *secondary_gpu_state;
 
+      renderer_gpu_data =
+        meta_renderer_native_get_gpu_data (renderer_native,
+                                           gpu_kms);
+
       secondary_gpu_state = get_secondary_gpu_state (onscreen, gpu_kms);
       secondary_gpu_state->pending_flips--;
+#ifdef HAVE_EGL_DEVICE
+      if (renderer_gpu_data->secondary.mode == META_RENDERER_NATIVE_MODE_EGL_DEVICE)
+        release_dumb_fb (&secondary_gpu_state->egl.dumb_fb, gpu_kms);
+#endif
     }
 
   onscreen_native->total_pending_flips--;
@@ -1335,6 +1344,8 @@ on_crtc_flipped (GClosure         *closure,
           break;
 #ifdef HAVE_EGL_DEVICE
         case META_RENDERER_NATIVE_MODE_EGL_DEVICE:
+          release_dumb_fb (&onscreen_native->egl.dumb_fb,
+                           onscreen_native->render_gpu);
           break;
 #endif
         }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]