diff options
-rw-r--r-- | video/out/gl_common.c | 2 | ||||
-rw-r--r-- | video/out/gl_common.h | 2 | ||||
-rw-r--r-- | video/out/gl_x11.c | 22 | ||||
-rw-r--r-- | waftools/fragments/gl_x11.c | 3 |
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; } |