aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xquartz/GL/indirect.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-12-22 13:12:15 +0100
committermarha <marha@users.sourceforge.net>2013-12-22 13:16:58 +0100
commit1d03b6f684ab1ea6772f00058605a9ebb2910628 (patch)
tree8b393bd59900eba6aa9010cab9e714922cac2536 /xorg-server/hw/xquartz/GL/indirect.c
parent5567cf1befbda64f2dc6fae1d337567cd984b46e (diff)
parentc81020559f329a516191927222b3698ba7370aca (diff)
downloadvcxsrv-1d03b6f684ab1ea6772f00058605a9ebb2910628.tar.gz
vcxsrv-1d03b6f684ab1ea6772f00058605a9ebb2910628.tar.bz2
vcxsrv-1d03b6f684ab1ea6772f00058605a9ebb2910628.zip
Merge remote-tracking branch 'origin/released'
* origin/released: libxtrans fontconfig glproto libX11 libxcb xcbproto mesa xserver pixman xkeyboard-config git update 22 Dec 2013 Conflicts: mesalib/include/GL/glext.h mesalib/src/mesa/drivers/dri/common/dri_util.c mesalib/src/mesa/drivers/dri/swrast/swrast.c xorg-server/damageext/damageext.c xorg-server/dix/dispatch.c xorg-server/glx/glxdriswrast.c xorg-server/glx/indirect_dispatch.c xorg-server/glx/indirect_dispatch_swap.c xorg-server/glx/indirect_program.c xorg-server/glx/render2.c xorg-server/glx/render2swap.c xorg-server/hw/xwin/glx/gen_gl_wrappers.py xorg-server/hw/xwin/glx/glthunk.c xorg-server/hw/xwin/glx/indirect.c xorg-server/include/os.h xorg-server/present/present_request.c
Diffstat (limited to 'xorg-server/hw/xquartz/GL/indirect.c')
-rw-r--r--xorg-server/hw/xquartz/GL/indirect.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/xorg-server/hw/xquartz/GL/indirect.c b/xorg-server/hw/xquartz/GL/indirect.c
index c4999b5ff..8dabda14d 100644
--- a/xorg-server/hw/xquartz/GL/indirect.c
+++ b/xorg-server/hw/xquartz/GL/indirect.c
@@ -48,8 +48,6 @@
#include <glxserver.h>
#include <glxutil.h>
-#include <glapi.h>
-
#include "x-hash.h"
#include "visualConfigs.h"
@@ -643,15 +641,20 @@ __glFloorLog2(GLuint val)
"/System/Library/Frameworks/OpenGL.framework/OpenGL"
#endif
+static void *opengl_framework_handle;
+
+static glx_gpa_proc
+get_proc_address(const char *sym)
+{
+ return (glx_gpa_proc) dlsym(opengl_framework_handle, sym);
+}
+
static void
setup_dispatch_table(void)
{
- static struct _glapi_table *disp = NULL;
- static void *handle;
const char *opengl_framework_path;
- if (disp) {
- _glapi_set_dispatch(disp);
+ if (opengl_framework_handle) {
return;
}
@@ -661,16 +664,13 @@ setup_dispatch_table(void)
}
(void)dlerror(); /*drain dlerror */
- handle = dlopen(opengl_framework_path, RTLD_LOCAL);
+ opengl_framework_handle = dlopen(opengl_framework_path, RTLD_LOCAL);
- if (!handle) {
+ if (!opengl_framework_handle) {
ErrorF("unable to dlopen %s : %s, using RTLD_DEFAULT\n",
opengl_framework_path, dlerror());
- handle = RTLD_DEFAULT;
+ opengl_framework_handle = RTLD_DEFAULT;
}
- disp = _glapi_create_table_from_handle(handle, "gl");
- assert(disp);
-
- _glapi_set_dispatch(disp);
+ __glXsetGetProcAddress(get_proc_address);
}