GLX: Add support for loading glvnd libGLX

(cherry picked from commit c18851f52e)
This commit is contained in:
Camilla Löwy 2022-07-27 15:05:23 +02:00
parent ed55529ce8
commit 1f675ab62f
3 changed files with 5 additions and 1 deletions

View File

@ -126,6 +126,7 @@ information on what to include when reporting a bug.
- [Wayland] Bugfix: Connecting a mouse after `glfwInit` would segfault (#1450)
- [Linux] Bugfix: Joysticks without buttons were ignored (#2042,#2043)
[EGL] Added loading of glvnd `libOpenGL.so.0` where available for OpenGL
- [GLX] Added loading of glvnd `libGLX.so.0` where available
## Contact

View File

@ -226,8 +226,11 @@ static GLFWglproc getProcAddressGLX(const char* procname)
else if (_glfw.glx.GetProcAddressARB)
return _glfw.glx.GetProcAddressARB((const GLubyte*) procname);
else
{
// NOTE: glvnd provides GLX 1.4, so this can only happen with libGL
return _glfw_dlsym(_glfw.glx.handle, procname);
}
}
static void destroyContextGLX(_GLFWwindow* window)
{
@ -263,6 +266,7 @@ GLFWbool _glfwInitGLX(void)
#elif defined(__OpenBSD__) || defined(__NetBSD__)
"libGL.so",
#else
"libGLX.so.0",
"libGL.so.1",
"libGL.so",
#endif

View File

@ -127,7 +127,6 @@ typedef struct _GLFWlibraryGLX
int eventBase;
int errorBase;
// dlopen handle for libGL.so.1
void* handle;
// GLX 1.3 functions