From 7bcc274dbc6cb75814cce3e5c2e7f45cf25b0538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Tue, 9 Feb 2021 17:59:08 +0100 Subject: [PATCH 1/2] clutter/stage-view: Hide double buffered shadowfb behind envvar It still results in worse performance than a single FBO based shadowfb, so don't use it. It will need a new EGL extension for zero copy CPU memory based FBO to be feasable. --- clutter/clutter/clutter-stage-view.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/clutter/clutter/clutter-stage-view.c b/clutter/clutter/clutter-stage-view.c index 5e5966d06..ec18db7b8 100644 --- a/clutter/clutter/clutter-stage-view.c +++ b/clutter/clutter/clutter-stage-view.c @@ -282,6 +282,14 @@ init_dma_buf_shadowfbs (ClutterStageView *view, CoglRenderer *cogl_renderer = cogl_context_get_renderer (cogl_context); CoglFramebuffer *initial_shadowfb; + if (g_strcmp0 (g_getenv ("MUTTER_DEBUG_ENABLE_DOUBLE_BUFFER_SHADOWFB"), + "1") != 0) + { + g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, + "Double buffered shadowfb not enabled"); + return FALSE; + } + if (!cogl_clutter_winsys_has_feature (COGL_WINSYS_FEATURE_BUFFER_AGE)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, @@ -390,8 +398,8 @@ init_shadowfb (ClutterStageView *view) return; } - g_warning ("Failed to initialize double buffered shadow fb for %s: %s", - priv->name, error->message); + g_debug ("Failed to initialize double buffered shadow fb for %s: %s", + priv->name, error->message); g_clear_error (&error); if (!init_fallback_shadowfb (view, cogl_context, width, height, &error)) -- 2.29.2