From 41ec1aa0ca6517d5952f297e7a4683da7fb74e85 Mon Sep 17 00:00:00 2001 From: Bilal Elmoussaoui Date: Wed, 31 Jul 2024 15:45:39 +0200 Subject: [PATCH] cogl: Remove use_stereo_stage config Nothing sets it from the X11 backend API, so just get rid of it Part-of: --- cogl/cogl/cogl-framebuffer-private.h | 1 - cogl/cogl/cogl-onscreen-template.c | 8 -- cogl/cogl/cogl-onscreen-template.h | 16 ---- cogl/cogl/winsys/cogl-winsys-glx.c | 5 -- src/backends/x11/meta-clutter-backend-x11.c | 83 ++------------------- src/backends/x11/meta-clutter-backend-x11.h | 3 - 6 files changed, 5 insertions(+), 111 deletions(-) diff --git a/cogl/cogl/cogl-framebuffer-private.h b/cogl/cogl/cogl-framebuffer-private.h index 4e13297a0..f5f763f96 100644 --- a/cogl/cogl/cogl-framebuffer-private.h +++ b/cogl/cogl/cogl-framebuffer-private.h @@ -54,7 +54,6 @@ typedef struct _CoglFramebufferDriverConfig typedef struct { gboolean need_stencil; - gboolean stereo_enabled; } CoglFramebufferConfig; /* XXX: The order of these indices determines the order they are diff --git a/cogl/cogl/cogl-onscreen-template.c b/cogl/cogl/cogl-onscreen-template.c index a6c65eed8..223128fc4 100644 --- a/cogl/cogl/cogl-onscreen-template.c +++ b/cogl/cogl/cogl-onscreen-template.c @@ -57,11 +57,3 @@ cogl_onscreen_template_new (void) return onscreen_template; } - -void -cogl_onscreen_template_set_stereo_enabled ( - CoglOnscreenTemplate *onscreen_template, - gboolean enabled) -{ - onscreen_template->config.stereo_enabled = enabled; -} diff --git a/cogl/cogl/cogl-onscreen-template.h b/cogl/cogl/cogl-onscreen-template.h index 4edfcb426..66dc92d7c 100644 --- a/cogl/cogl/cogl-onscreen-template.h +++ b/cogl/cogl/cogl-onscreen-template.h @@ -51,20 +51,4 @@ G_DECLARE_FINAL_TYPE (CoglOnscreenTemplate, cogl_onscreen_template, COGL_EXPORT CoglOnscreenTemplate * cogl_onscreen_template_new (void); -/** - * cogl_onscreen_template_set_stereo_enabled: - * @onscreen_template: A #CoglOnscreenTemplate template framebuffer - * @enabled: Whether framebuffers are created with stereo buffers - * - * Sets whether future #CoglOnscreen framebuffers derived from this - * template are attempted to be created with both left and right - * buffers, for use with stereo display. If the display system - * does not support stereo, then creation of the framebuffer will - * fail. - */ -COGL_EXPORT void -cogl_onscreen_template_set_stereo_enabled ( - CoglOnscreenTemplate *onscreen_template, - gboolean enabled); - G_END_DECLS diff --git a/cogl/cogl/winsys/cogl-winsys-glx.c b/cogl/cogl/winsys/cogl-winsys-glx.c index 7578c2751..4374cc6ac 100644 --- a/cogl/cogl/winsys/cogl-winsys-glx.c +++ b/cogl/cogl/winsys/cogl-winsys-glx.c @@ -521,11 +521,6 @@ glx_attributes_from_framebuffer_config (CoglDisplay *display, attributes[i++] = 1; attributes[i++] = GLX_STENCIL_SIZE; attributes[i++] = config->need_stencil ? 2 : 0; - if (config->stereo_enabled) - { - attributes[i++] = GLX_STEREO; - attributes[i++] = TRUE; - } attributes[i++] = None; diff --git a/src/backends/x11/meta-clutter-backend-x11.c b/src/backends/x11/meta-clutter-backend-x11.c index e57e94ef6..bbf5d8ff0 100644 --- a/src/backends/x11/meta-clutter-backend-x11.c +++ b/src/backends/x11/meta-clutter-backend-x11.c @@ -36,6 +36,7 @@ #include "clutter/clutter.h" #include "cogl/cogl-xlib-renderer.h" #include "core/bell.h" +#include "glib.h" #include "meta/meta-backend.h" typedef struct _MetaClutterBackendX11Private @@ -65,75 +66,23 @@ static const gchar *atom_names[] = { #define N_ATOM_NAMES G_N_ELEMENTS (atom_names) -/* various flags corresponding to pre init setup calls */ -static gboolean clutter_enable_stereo = FALSE; - -static gboolean -check_onscreen_template (CoglRenderer *renderer, - CoglOnscreenTemplate *onscreen_template, - gboolean enable_stereo, - GError **error) -{ - GError *internal_error = NULL; - - cogl_onscreen_template_set_stereo_enabled (onscreen_template, - clutter_enable_stereo); - - /* cogl_renderer_check_onscreen_template() is actually just a - * shorthand for creating a CoglDisplay, and calling - * cogl_display_setup() on it, then throwing the display away. If we - * could just return that display, then it would be more efficient - * not to use cogl_renderer_check_onscreen_template(). However, the - * backend API requires that we return an CoglDisplay that has not - * yet been setup, so one way or the other we'll have to discard the - * first display and make a new fresh one. - */ - if (cogl_renderer_check_onscreen_template (renderer, onscreen_template, &internal_error)) - { - clutter_enable_stereo = enable_stereo; - - return TRUE; - } - else - { - g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, - internal_error != NULL - ? internal_error->message - : "Creation of a CoglDisplay failed"); - - g_clear_error (&internal_error); - - return FALSE; - } -} - static CoglDisplay * meta_clutter_backend_x11_get_display (ClutterBackend *clutter_backend, CoglRenderer *renderer, GError **error) { - CoglOnscreenTemplate *onscreen_template; + g_autoptr (CoglOnscreenTemplate) onscreen_template = NULL; CoglDisplay *display = NULL; gboolean res = FALSE; onscreen_template = cogl_onscreen_template_new (); - - /* It's possible that the current renderer doesn't support transparency - * or doesn't support stereo, so we try the different combinations. - */ - if (clutter_enable_stereo) - res = check_onscreen_template (renderer, onscreen_template, - TRUE, error); - - if (!res) - res = check_onscreen_template (renderer, onscreen_template, - FALSE, error); + res = cogl_renderer_check_onscreen_template (renderer, + onscreen_template, + error); if (res) display = cogl_display_new (renderer, onscreen_template); - g_object_unref (onscreen_template); - return display; } @@ -239,25 +188,3 @@ meta_clutter_backend_x11_new (MetaBackend *backend) return clutter_backend_x11; } - -void -meta_clutter_x11_set_use_stereo_stage (gboolean use_stereo) -{ - if (_clutter_context_is_initialized ()) - { - g_warning ("%s() can only be used before calling clutter_init()", - G_STRFUNC); - return; - } - - g_debug ("STEREO stages are %s", - use_stereo ? "enabled" : "disabled"); - - clutter_enable_stereo = use_stereo; -} - -gboolean -meta_clutter_x11_get_use_stereo_stage (void) -{ - return clutter_enable_stereo; -} diff --git a/src/backends/x11/meta-clutter-backend-x11.h b/src/backends/x11/meta-clutter-backend-x11.h index 95e4e0801..38e65fc93 100644 --- a/src/backends/x11/meta-clutter-backend-x11.h +++ b/src/backends/x11/meta-clutter-backend-x11.h @@ -57,6 +57,3 @@ G_DECLARE_FINAL_TYPE (MetaClutterBackendX11, meta_clutter_backend_x11, ClutterBackend) MetaClutterBackendX11 * meta_clutter_backend_x11_new (MetaBackend *backend); - -void meta_clutter_x11_set_use_stereo_stage (gboolean use_stereo); -gboolean meta_clutter_x11_get_use_stereo_stage (void);