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:
parent
d3fec7648d
commit
ae48cf76f9
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user