cogl/glx: Stop loading opengl module twice

As the Renderer takes care of doing that already as we enforce that the
DriverId is GL3 inside the glx winsys connection phase.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4194>
This commit is contained in:
Bilal Elmoussaoui 2024-12-22 17:20:21 +01:00 committed by Marge Bot
parent d3fec7648d
commit ae48cf76f9
2 changed files with 7 additions and 28 deletions

View File

@ -55,9 +55,6 @@ typedef struct _CoglGLXRenderer
COGL_GLX_UST_IS_OTHER
} ust_type;
/* GModule pointing to libGL which we use to get glX functions out of */
GModule *libgl_module;
CoglClosure *flush_notifications_idle;
/* Copy of the winsys features that are based purely on the

View File

@ -244,13 +244,8 @@ glx_event_filter_cb (XEvent *xevent, void *data)
static void
_cogl_winsys_renderer_disconnect (CoglRenderer *renderer)
{
CoglGLXRenderer *glx_renderer = renderer->winsys;
_cogl_xlib_renderer_disconnect (renderer);
if (glx_renderer->libgl_module)
g_module_close (glx_renderer->libgl_module);
g_free (renderer->winsys);
}
@ -294,21 +289,19 @@ static gboolean
resolve_core_glx_functions (CoglRenderer *renderer,
GError **error)
{
CoglGLXRenderer *glx_renderer;
CoglGLXRenderer *glx_renderer = renderer->winsys;
glx_renderer = renderer->winsys;
if (!g_module_symbol (glx_renderer->libgl_module, "glXQueryExtension",
if (!g_module_symbol (renderer->libgl_module, "glXQueryExtension",
(void **) &glx_renderer->glXQueryExtension) ||
!g_module_symbol (glx_renderer->libgl_module, "glXQueryVersion",
!g_module_symbol (renderer->libgl_module, "glXQueryVersion",
(void **) &glx_renderer->glXQueryVersion) ||
!g_module_symbol (glx_renderer->libgl_module, "glXQueryExtensionsString",
!g_module_symbol (renderer->libgl_module, "glXQueryExtensionsString",
(void **) &glx_renderer->glXQueryExtensionsString) ||
(!g_module_symbol (glx_renderer->libgl_module, "glXGetProcAddress",
(!g_module_symbol (renderer->libgl_module, "glXGetProcAddress",
(void **) &glx_renderer->glXGetProcAddress) &&
!g_module_symbol (glx_renderer->libgl_module, "glXGetProcAddressARB",
!g_module_symbol (renderer->libgl_module, "glXGetProcAddressARB",
(void **) &glx_renderer->glXGetProcAddress)) ||
!g_module_symbol (glx_renderer->libgl_module, "glXQueryDrawable",
!g_module_symbol (renderer->libgl_module, "glXQueryDrawable",
(void **) &glx_renderer->glXQueryDrawable))
{
g_set_error_literal (error, COGL_WINSYS_ERROR,
@ -399,17 +392,6 @@ _cogl_winsys_renderer_connect (CoglRenderer *renderer,
goto error;
}
glx_renderer->libgl_module = g_module_open (COGL_GL_LIBNAME,
G_MODULE_BIND_LAZY);
if (glx_renderer->libgl_module == NULL)
{
g_set_error_literal (error, COGL_WINSYS_ERROR,
COGL_WINSYS_ERROR_INIT,
"Failed to dynamically open the OpenGL library");
goto error;
}
if (!resolve_core_glx_functions (renderer, error))
goto error;