summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/glx/glxclient.h1
-rw-r--r--src/glx/single2.c7
-rw-r--r--src/glx/singlepix.c8
-rw-r--r--src/mapi/glapi/gen/glX_proto_send.py5
4 files changed, 14 insertions, 7 deletions
diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h
index f8ae450f09c..91577a81c2d 100644
--- a/src/glx/glxclient.h
+++ b/src/glx/glxclient.h
@@ -51,7 +51,6 @@
#include <stdint.h>
#endif
#include "GL/glxproto.h"
-#include "glapi/glapitable.h"
#include "glxconfig.h"
#include "glxhash.h"
#if defined( PTHREADS )
diff --git a/src/glx/single2.c b/src/glx/single2.c
index 259c4fec1ff..d422d9dcf1a 100644
--- a/src/glx/single2.c
+++ b/src/glx/single2.c
@@ -35,7 +35,6 @@
#include "glxextensions.h"
#include "indirect.h"
#include "indirect_vertex_array.h"
-#include "glapitable.h"
#include "glapi.h"
#ifdef USE_XCB
#include <xcb/xcb.h>
@@ -943,7 +942,11 @@ glAreTexturesResidentEXT(GLsizei n, const GLuint * textures,
struct glx_context *const gc = __glXGetCurrentContext();
if (gc->isDirect) {
- return GET_DISPATCH()->AreTexturesResident(n, textures, residences);
+ const _glapi_proc *const table = (_glapi_proc *) GET_DISPATCH();
+ PFNGLARETEXTURESRESIDENTEXTPROC p =
+ (PFNGLARETEXTURESRESIDENTEXTPROC) table[332];
+
+ return p(n, textures, residences);
}
else {
struct glx_context *const gc = __glXGetCurrentContext();
diff --git a/src/glx/singlepix.c b/src/glx/singlepix.c
index d8a71664d05..3c06f8d2150 100644
--- a/src/glx/singlepix.c
+++ b/src/glx/singlepix.c
@@ -30,7 +30,6 @@
#include "packsingle.h"
#include "indirect.h"
-#include "glapitable.h"
#include "glapi.h"
#include "glthread.h"
#include <GL/glxproto.h>
@@ -117,8 +116,11 @@ void gl_dispatch_stub_GetSeparableFilterEXT (GLenum target, GLenum format,
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
if (gc->isDirect) {
- GET_DISPATCH()->GetSeparableFilter(target, format, type,
- row, column, span);
+ const _glapi_proc *const table = (_glapi_proc *) GET_DISPATCH();
+ PFNGLGETSEPARABLEFILTEREXTPROC p =
+ (PFNGLGETSEPARABLEFILTEREXTPROC) table[359];
+
+ p(target, format, type, row, column, span);
return;
}
else
diff --git a/src/mapi/glapi/gen/glX_proto_send.py b/src/mapi/glapi/gen/glX_proto_send.py
index b90b1674428..ca3a7905605 100644
--- a/src/mapi/glapi/gen/glX_proto_send.py
+++ b/src/mapi/glapi/gen/glX_proto_send.py
@@ -423,7 +423,10 @@ __indirect_get_proc_address(const char *name)
print ''
print '#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)'
print ' if (gc->isDirect) {'
- print ' %sGET_DISPATCH()->%s(%s);' % (ret_string, func.name, func.get_called_parameter_string())
+ print ' const _glapi_proc *const table = GET_DISPATCH();'
+ print ' PFNGL%sPROC p =' % (name.upper())
+ print ' (PFNGL%sPROC) table[%d];' % (name.upper(), func.offset)
+ print ' %sp(%s);' % (ret_string, func.get_called_parameter_string())
print ' } else'
print '#endif'
print ' {'