Add support for GLVND split libGLX/libOpenGL libraries. Closes #1069

This commit is contained in:
baldurk
2018-08-10 13:36:04 +01:00
parent b539eca0f6
commit c3191e37bb
2 changed files with 12 additions and 0 deletions
+1
View File
@@ -673,6 +673,7 @@ void GLXHook::RegisterHooks()
// register library hooks
LibraryHooks::RegisterLibraryHook("libGL.so", &GLXHooked);
LibraryHooks::RegisterLibraryHook("libGL.so.1", &GLXHooked);
LibraryHooks::RegisterLibraryHook("libGLX.so.0", &GLXHooked);
// register EGL hooks
#define GLX_REGISTER(func) \
+11
View File
@@ -42,6 +42,9 @@ void *GetGLHandle()
if(!handle)
handle = Process::LoadModule("libGL.so");
if(!handle)
handle = Process::LoadModule("libGLX.so.0");
return handle;
}
@@ -279,6 +282,14 @@ class GLXPlatform : public GLPlatform
if(!ret)
ret = Process::GetFunctionAddress(GetGLHandle(), funcname);
if(!ret)
{
// last ditch attempt, try the libOpenGL version
static void *OpenGLhandle = Process::LoadModule("libOpenGL.so.0");
if(OpenGLhandle)
ret = Process::GetFunctionAddress(OpenGLhandle, funcname);
}
return ret;
}