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
|
COGL_GLX_UST_IS_OTHER
|
||||||
} ust_type;
|
} ust_type;
|
||||||
|
|
||||||
/* GModule pointing to libGL which we use to get glX functions out of */
|
|
||||||
GModule *libgl_module;
|
|
||||||
|
|
||||||
CoglClosure *flush_notifications_idle;
|
CoglClosure *flush_notifications_idle;
|
||||||
|
|
||||||
/* Copy of the winsys features that are based purely on the
|
/* 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
|
static void
|
||||||
_cogl_winsys_renderer_disconnect (CoglRenderer *renderer)
|
_cogl_winsys_renderer_disconnect (CoglRenderer *renderer)
|
||||||
{
|
{
|
||||||
CoglGLXRenderer *glx_renderer = renderer->winsys;
|
|
||||||
|
|
||||||
_cogl_xlib_renderer_disconnect (renderer);
|
_cogl_xlib_renderer_disconnect (renderer);
|
||||||
|
|
||||||
if (glx_renderer->libgl_module)
|
|
||||||
g_module_close (glx_renderer->libgl_module);
|
|
||||||
|
|
||||||
g_free (renderer->winsys);
|
g_free (renderer->winsys);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -294,21 +289,19 @@ static gboolean
|
|||||||
resolve_core_glx_functions (CoglRenderer *renderer,
|
resolve_core_glx_functions (CoglRenderer *renderer,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
CoglGLXRenderer *glx_renderer;
|
CoglGLXRenderer *glx_renderer = renderer->winsys;
|
||||||
|
|
||||||
glx_renderer = renderer->winsys;
|
if (!g_module_symbol (renderer->libgl_module, "glXQueryExtension",
|
||||||
|
|
||||||
if (!g_module_symbol (glx_renderer->libgl_module, "glXQueryExtension",
|
|
||||||
(void **) &glx_renderer->glXQueryExtension) ||
|
(void **) &glx_renderer->glXQueryExtension) ||
|
||||||
!g_module_symbol (glx_renderer->libgl_module, "glXQueryVersion",
|
!g_module_symbol (renderer->libgl_module, "glXQueryVersion",
|
||||||
(void **) &glx_renderer->glXQueryVersion) ||
|
(void **) &glx_renderer->glXQueryVersion) ||
|
||||||
!g_module_symbol (glx_renderer->libgl_module, "glXQueryExtensionsString",
|
!g_module_symbol (renderer->libgl_module, "glXQueryExtensionsString",
|
||||||
(void **) &glx_renderer->glXQueryExtensionsString) ||
|
(void **) &glx_renderer->glXQueryExtensionsString) ||
|
||||||
(!g_module_symbol (glx_renderer->libgl_module, "glXGetProcAddress",
|
(!g_module_symbol (renderer->libgl_module, "glXGetProcAddress",
|
||||||
(void **) &glx_renderer->glXGetProcAddress) &&
|
(void **) &glx_renderer->glXGetProcAddress) &&
|
||||||
!g_module_symbol (glx_renderer->libgl_module, "glXGetProcAddressARB",
|
!g_module_symbol (renderer->libgl_module, "glXGetProcAddressARB",
|
||||||
(void **) &glx_renderer->glXGetProcAddress)) ||
|
(void **) &glx_renderer->glXGetProcAddress)) ||
|
||||||
!g_module_symbol (glx_renderer->libgl_module, "glXQueryDrawable",
|
!g_module_symbol (renderer->libgl_module, "glXQueryDrawable",
|
||||||
(void **) &glx_renderer->glXQueryDrawable))
|
(void **) &glx_renderer->glXQueryDrawable))
|
||||||
{
|
{
|
||||||
g_set_error_literal (error, COGL_WINSYS_ERROR,
|
g_set_error_literal (error, COGL_WINSYS_ERROR,
|
||||||
@ -399,17 +392,6 @@ _cogl_winsys_renderer_connect (CoglRenderer *renderer,
|
|||||||
goto error;
|
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))
|
if (!resolve_core_glx_functions (renderer, error))
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user