summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libvo/gl_common.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libvo/gl_common.c b/libvo/gl_common.c
index 476613d92a..3408fb2996 100644
--- a/libvo/gl_common.c
+++ b/libvo/gl_common.c
@@ -1768,6 +1768,12 @@ static int setGlWindow_x11(MPGLContext *ctx)
appendstr(&glxstr, glXExtStr(mDisplay, GLX_EXTENSIONS));
getFunctions(getProcAddress, glxstr);
+ if (!mpglGenPrograms && mpglGetString &&
+ getProcAddress != (void *)getdladdr &&
+ strstr(mpglGetString(GL_EXTENSIONS), "GL_ARB_vertex_program")) {
+ mp_msg(MSGT_VO, MSGL_WARN, "Broken glXGetProcAddress detected, trying workaround\n");
+ getFunctions((void *)getdladdr, glxstr);
+ }
free(glxstr);
// and inform that reinit is neccessary