mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-25 01:30:38 +00:00
glcontext: Try to open lib{EGL|GL|GLESv2}.so.1 before lib{EGL|GL|GLESv2}
Fixes issues with .so (without numbering) being installed for development (such as from mesa-dev) but actual driver (with numbering) coming from some other place (like nvidia drivers)
This commit is contained in:
parent
4f02c5679b
commit
30622337ab
2 changed files with 16 additions and 12 deletions
|
@ -509,13 +509,14 @@ load_egl_module (gpointer user_data)
|
|||
#ifdef GST_GL_LIBEGL_MODULE_NAME
|
||||
module_egl = g_module_open (GST_GL_LIBEGL_MODULE_NAME, G_MODULE_BIND_LAZY);
|
||||
#else
|
||||
/* This automatically handles the suffix and even .la files */
|
||||
module_egl = g_module_open ("libEGL", G_MODULE_BIND_LAZY);
|
||||
|
||||
/* On Linux the .so is only in -dev packages, try with a real soname
|
||||
* Proper compilers will optimize away the strcmp */
|
||||
if (!module_egl && strcmp (G_MODULE_SUFFIX, "so") == 0)
|
||||
if (strcmp (G_MODULE_SUFFIX, "so") == 0)
|
||||
module_egl = g_module_open ("libEGL.so.1", G_MODULE_BIND_LAZY);
|
||||
|
||||
/* This automatically handles the suffix and even .la files */
|
||||
if (!module_egl)
|
||||
module_egl = g_module_open ("libEGL", G_MODULE_BIND_LAZY);
|
||||
#endif
|
||||
|
||||
return NULL;
|
||||
|
|
|
@ -77,13 +77,14 @@ load_opengl_module (gpointer user_data)
|
|||
#ifdef GST_GL_LIBGL_MODULE_NAME
|
||||
module_opengl = g_module_open (GST_GL_LIBGL_MODULE_NAME, G_MODULE_BIND_LAZY);
|
||||
#else
|
||||
/* This automatically handles the suffix and even .la files */
|
||||
module_opengl = g_module_open ("libGL", G_MODULE_BIND_LAZY);
|
||||
|
||||
/* On Linux the .so is only in -dev packages, try with a real soname
|
||||
* Proper compilers will optimize away the strcmp */
|
||||
if (!module_opengl && strcmp (G_MODULE_SUFFIX, "so") == 0)
|
||||
if (strcmp (G_MODULE_SUFFIX, "so") == 0)
|
||||
module_opengl = g_module_open ("libGL.so.1", G_MODULE_BIND_LAZY);
|
||||
|
||||
/* This automatically handles the suffix and even .la files */
|
||||
if (!module_opengl)
|
||||
module_opengl = g_module_open ("libGL", G_MODULE_BIND_LAZY);
|
||||
#endif
|
||||
|
||||
return NULL;
|
||||
|
@ -101,13 +102,15 @@ load_gles2_module (gpointer user_data)
|
|||
module_gles2 =
|
||||
g_module_open (GST_GL_LIBGLESV2_MODULE_NAME, G_MODULE_BIND_LAZY);
|
||||
#else
|
||||
/* This automatically handles the suffix and even .la files */
|
||||
module_gles2 = g_module_open ("libGLESv2", G_MODULE_BIND_LAZY);
|
||||
|
||||
/* On Linux the .so is only in -dev packages, try with a real soname
|
||||
* Proper compilers will optimize away the strcmp */
|
||||
if (!module_gles2 && strcmp (G_MODULE_SUFFIX, "so") == 0)
|
||||
if (strcmp (G_MODULE_SUFFIX, "so") == 0)
|
||||
module_gles2 = g_module_open ("libGLESv2.so.2", G_MODULE_BIND_LAZY);
|
||||
|
||||
/* This automatically handles the suffix and even .la files */
|
||||
if (!module_gles2)
|
||||
module_gles2 = g_module_open ("libGLESv2", G_MODULE_BIND_LAZY);
|
||||
|
||||
#endif
|
||||
|
||||
return NULL;
|
||||
|
|
Loading…
Reference in a new issue