summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/out/gl_common.c2
-rw-r--r--video/out/gl_common.h2
-rw-r--r--video/out/gl_x11.c22
-rw-r--r--waftools/fragments/gl_x11.c3
4 files changed, 9 insertions, 20 deletions
diff --git a/video/out/gl_common.c b/video/out/gl_common.c
index 271c2f3595..b8e5efbb6a 100644
--- a/video/out/gl_common.c
+++ b/video/out/gl_common.c
@@ -144,7 +144,7 @@ static bool is_software_gl(GL *gl)
#include <dlfcn.h>
#endif
-void *mp_getdladdr(const char *s)
+static void *mp_getdladdr(const char *s)
{
void *ret = NULL;
#if HAVE_LIBDL
diff --git a/video/out/gl_common.h b/video/out/gl_common.h
index 6f973e23be..622f1f2659 100644
--- a/video/out/gl_common.h
+++ b/video/out/gl_common.h
@@ -208,8 +208,6 @@ struct gl_hwdec_driver {
extern const struct gl_hwdec_driver *mpgl_hwdec_drivers[];
-void *mp_getdladdr(const char *s);
-
void mpgl_load_functions(GL *gl, void *(*getProcAddress)(const GLubyte *),
const char *ext2, struct mp_log *log);
diff --git a/video/out/gl_x11.c b/video/out/gl_x11.c
index a3733dea3a..78dfd8fbff 100644
--- a/video/out/gl_x11.c
+++ b/video/out/gl_x11.c
@@ -62,18 +62,9 @@ static bool create_context_x11_old(struct MPGLContext *ctx)
return false;
}
- void *(*getProcAddress)(const GLubyte *);
- getProcAddress = mp_getdladdr("glXGetProcAddress");
- if (!getProcAddress)
- getProcAddress = mp_getdladdr("glXGetProcAddressARB");
-
- const char *glxstr = "";
- const char *(*glXExtStr)(Display *, int)
- = mp_getdladdr("glXQueryExtensionsString");
- if (glXExtStr)
- glxstr = glXExtStr(display, ctx->vo->x11->screen);
-
- mpgl_load_functions(gl, getProcAddress, glxstr, vo->log);
+ const char *glxstr = glXQueryExtensionsString(display, ctx->vo->x11->screen);
+
+ mpgl_load_functions(gl, (void *)glXGetProcAddressARB, glxstr, vo->log);
if (!gl->GenPrograms && gl->GetString &&
gl->version < MPGL_VER(3, 0) &&
strstr(gl->GetString(GL_EXTENSIONS), "GL_ARB_vertex_program"))
@@ -105,11 +96,8 @@ static bool create_context_x11_gl3(struct MPGLContext *ctx, bool debug)
(glXCreateContextAttribsARBProc)
glXGetProcAddressARB((const GLubyte *)"glXCreateContextAttribsARB");
- const char *glxstr = "";
- const char *(*glXExtStr)(Display *, int)
- = mp_getdladdr("glXQueryExtensionsString");
- if (glXExtStr)
- glxstr = glXExtStr(vo->x11->display, vo->x11->screen);
+ const char *glxstr =
+ glXQueryExtensionsString(vo->x11->display, vo->x11->screen);
bool have_ctx_ext = glxstr && !!strstr(glxstr, "GLX_ARB_create_context");
if (!(have_ctx_ext && glXCreateContextAttribsARB)) {
diff --git a/waftools/fragments/gl_x11.c b/waftools/fragments/gl_x11.c
index 6c617d43ee..8f6c950f47 100644
--- a/waftools/fragments/gl_x11.c
+++ b/waftools/fragments/gl_x11.c
@@ -1,9 +1,12 @@
#include <X11/Xlib.h>
#include <GL/glx.h>
#include <GL/gl.h>
+#include <stddef.h>
int main(int argc, char *argv[]) {
glXCreateContext(NULL, NULL, NULL, True);
+ glXQueryExtensionsString(NULL, 0);
+ glXGetProcAddressARB("");
glFinish();
return 0;
}