xserver: Branch 'XACE-modular' - 43 commits

Eamon Walsh ewalsh at kemper.freedesktop.org
Wed Sep 6 00:59:22 EEST 2006


 GL/glx/Makefile.am                    |   13 
 GL/glx/extension_string.c             |  165 +
 GL/glx/extension_string.h             |   63 
 GL/glx/g_disptab.c                    |  840 ------
 GL/glx/g_disptab.h                    |  112 
 GL/glx/g_disptab_EXT.c                | 4656 ----------------------------------
 GL/glx/g_disptab_EXT.h                |   47 
 GL/glx/glxcmds.c                      |  354 +-
 GL/glx/glxcmdsswap.c                  |  512 ---
 GL/glx/glxdri.c                       |   84 
 GL/glx/glxext.c                       |   45 
 GL/glx/glxext.h                       |    5 
 GL/glx/glxscreens.c                   |   48 
 GL/glx/glxscreens.h                   |    2 
 GL/glx/glxserver.h                    |    8 
 GL/glx/indirect_dispatch.c            | 2014 +++++++-------
 GL/glx/indirect_dispatch.h            |  198 +
 GL/glx/indirect_dispatch_swap.c       | 2114 +++++++--------
 GL/glx/indirect_program.c             |  163 +
 GL/glx/indirect_size_get.c            |  113 
 GL/glx/indirect_size_get.h            |    8 
 GL/glx/indirect_table.c               | 1577 +++++++++++
 GL/glx/indirect_table.h               |  106 
 GL/glx/indirect_texture_compression.c |  133 
 GL/glx/indirect_util.c                |  112 
 GL/glx/indirect_util.h                |   10 
 GL/glx/rensize.c                      |    2 
 GL/glx/rensizetab.c                   | 2552 ------------------
 GL/glx/singlepix.c                    |   53 
 GL/glx/singlepixswap.c                |   59 
 GL/glx/swap_interval.c                |  105 
 GL/glx/xfont.c                        |    3 
 GL/symlink-mesa.sh                    |    2 
 Xext/Makefile.am                      |    7 
 Xext/xcalibrate.c                     |  262 +
 configure.ac                          |   34 
 hw/kdrive/ati/Makefile.am             |   14 
 hw/kdrive/chips/Makefile.am           |   17 
 hw/kdrive/ephyr/Makefile.am           |   10 
 hw/kdrive/epson/Makefile.am           |   11 
 hw/kdrive/fake/Makefile.am            |    4 
 hw/kdrive/fbdev/Makefile.am           |   11 
 hw/kdrive/fbdev/fbdev.c               |   18 
 hw/kdrive/fbdev/fbdev.h               |    1 
 hw/kdrive/fbdev/fbinit.c              |   19 
 hw/kdrive/i810/Makefile.am            |    8 
 hw/kdrive/mach64/Makefile.am          |    2 
 hw/kdrive/mga/Makefile.am             |    4 
 hw/kdrive/neomagic/Makefile.am        |   13 
 hw/kdrive/nvidia/Makefile.am          |    7 
 hw/kdrive/pm2/Makefile.am             |   12 
 hw/kdrive/r128/Makefile.am            |   12 
 hw/kdrive/sdl/Makefile.am             |    2 
 hw/kdrive/sis300/Makefile.am          |    2 
 hw/kdrive/smi/Makefile.am             |   13 
 hw/kdrive/vesa/Makefile.am            |    9 
 hw/kdrive/via/Makefile.am             |    2 
 hw/vfb/InitOutput.c                   |    3 
 hw/xfree86/common/xf86Config.c        |    9 
 hw/xfree86/common/xf86Cursor.c        |   36 
 hw/xfree86/common/xf86DoScanPci.c     |    4 
 hw/xfree86/common/xf86Init.c          |   13 
 hw/xfree86/common/xf86Privstr.h       |    1 
 hw/xfree86/doc/man/xorg.conf.man.pre  |    4 
 hw/xnest/Args.c                       |    7 
 hw/xwin/winmultiwindowwndproc.c       |   20 
 hw/xwin/winshadgdi.c                  |    7 
 include/dix-config.h.in               |    3 
 68 files changed, 5721 insertions(+), 11158 deletions(-)

New commits:
diff-tree 0b81fccd2ee4e054e5cffb739de07460ff2c13f7 (from parents)
Merge: 20c4ac6e038607ebbf6c04639670514c016d8597 c2813514cf7b1a36caa848cbc2ceef99cf2eb769
Author: Eamon Walsh <ewalsh at tycho.nsa.gov>
Date:   Tue Sep 5 18:03:25 2006 -0400

    Merge branch 'master' into my-XACE-modular
    
    Conflicts:
    
    	configure.ac

diff --cc Xext/Makefile.am
index 4d77e2f,3a48109..4deb8e5
@@@ -156,8 -155,8 +162,9 @@@
  	$(XV_SRCS) \
  	$(RES_SRCS) \
  	$(SCREENSAVER_SRCS) \
 +	$(XACE_SRCS) \
  	$(XCSECURITY_SRCS) \
+ 	$(XCALIBRATE_SRCS) \
  	$(XINERAMA_SRCS) \
  	$(XEVIE_SRCS) \
  	$(XPRINT_SRCS) \
diff --cc configure.ac
index 3bce0b1,798c8f0..49dfad2
@@@ -413,10 -413,11 +413,12 @@@
  AC_ARG_ENABLE(xinerama,	      AS_HELP_STRING([--disable-xinerama], [Build Xinerama extension (default: enabled)]), [XINERAMA=$enableval], [XINERAMA=yes])
  AC_ARG_ENABLE(xf86vidmode,    AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: enabled)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=yes])
  AC_ARG_ENABLE(xf86misc,       AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: enabled)]), [XF86MISC=$enableval], [XF86MISC=yes])
 -AC_ARG_ENABLE(xcsecurity,     AS_HELP_STRING([--disable-xcsecurity], [Build Security extension (default: enabled)]), [XCSECURITY=$enableval], [XCSECURITY=yes])
 +AC_ARG_ENABLE(xace,     AS_HELP_STRING([--disable-xace], [Build X-ACE extension (default: enabled)]), [XACE=$enableval], [XACE=yes])
 +AC_ARG_ENABLE(xcsecurity,     AS_HELP_STRING([--disable-xcsecurity], [Build Security extension (default: enabled)]), [XCSECURITY=$enableval], [XCSECURITY=$XACE])
 +AC_ARG_ENABLE(appgroup,       AS_HELP_STRING([--disable-appgroup], [Build XC-APPGROUP extension (default: enabled)]), [APPGROUP=$enableval], [APPGROUP=$XCSECURITY])
+ AC_ARG_ENABLE(xcalibrate,     AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no])
+ AC_ARG_ENABLE(tslib,          AS_HELP_STRING([--enable-tslib], [Build kdrive tslib touchscreen support (default: disabled)]), [TSLIB=$enableval], [TSLIB=no])
  AC_ARG_ENABLE(xevie,          AS_HELP_STRING([--disable-xevie], [Build XEvIE extension (default: enabled)]), [XEVIE=$enableval], [XEVIE=yes])
 -AC_ARG_ENABLE(appgroup,       AS_HELP_STRING([--disable-appgroup], [Build XC-APPGROUP extension (default: enabled)]), [APPGROUP=$enableval], [APPGROUP=yes])
  AC_ARG_ENABLE(cup,            AS_HELP_STRING([--disable-cup], [Build TOG-CUP extension (default: enabled)]), [CUP=$enableval], [CUP=yes])
  AC_ARG_ENABLE(evi,            AS_HELP_STRING([--disable-evi], [Build Extended-Visual-Information extension (default: enabled)]), [EVI=$enableval], [EVI=yes])
  AC_ARG_ENABLE(multibuffer,    AS_HELP_STRING([--enable-multibuffer], [Build Multibuffer extension (default: disabled)]), [MULTIBUFFER=$enableval], [MULTIBUFFER=no])
diff-tree c2813514cf7b1a36caa848cbc2ceef99cf2eb769 (from 0f9cfb2f752a9010ff07f4b2bd891db0cc30b8e6)
Author: Ian Romanick <idr at us.ibm.com>
Date:   Thu Aug 31 15:36:13 2006 -0700

    Add missing file from previous commit.

diff --git a/GL/glx/swap_interval.c b/GL/glx/swap_interval.c
new file mode 100644
index 0000000..bcc1c47
--- /dev/null
+++ b/GL/glx/swap_interval.c
@@ -0,0 +1,105 @@
+/*
+ * (C) Copyright IBM Corporation 2006
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
+ * license, and/or sell copies of the Software, and to permit persons to whom
+ * the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#define NEED_REPLIES
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include "glxserver.h"
+#include "glxutil.h"
+#include "glxext.h"
+#include "singlesize.h"
+#include "unpack.h"
+#include "indirect_size_get.h"
+#include "indirect_dispatch.h"
+#include "glapitable.h"
+#include "glapi.h"
+#include "glthread.h"
+#include "dispatch.h"
+#include "glapioffsets.h"
+
+#ifdef __linux__
+#include <byteswap.h>
+#elif defined(__OpenBSD__)
+#include <sys/endian.h>
+#define bswap_16 __swap16
+#define bswap_32 __swap32
+#define bswap_64 __swap64
+#else
+#include <sys/endian.h>
+#define bswap_16 bswap16
+#define bswap_32 bswap32
+#define bswap_64 bswap64
+#endif
+
+static int DoSwapInterval(__GLXclientState *cl, GLbyte *pc, int do_swap);
+
+int DoSwapInterval(__GLXclientState *cl, GLbyte *pc, int do_swap)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    ClientPtr client = cl->client;
+    const GLXContextTag tag = req->contextTag;
+    __GLXcontext *cx;
+    GLint interval;
+
+
+    cx = __glXLookupContextByTag(cl, tag);
+
+    LogMessage(X_ERROR, "%s: cx = %p, GLX screen = %p\n", __func__,
+	       cx, (cx == NULL) ? NULL : cx->pGlxScreen);
+    if ((cx == NULL) || (cx->pGlxScreen == NULL)) {
+	client->errorValue = tag;
+	return __glXError(GLXBadContext);
+    }
+    
+    if (cx->pGlxScreen->swapInterval == NULL) {
+	LogMessage(X_ERROR, "AIGLX: cx->pGlxScreen->swapInterval == NULL\n");
+	client->errorValue = tag;
+	return __glXError(GLXUnsupportedPrivateRequest);
+    }
+
+    if (cx->drawPriv == NULL) {
+	client->errorValue = tag;
+	return __glXError(GLXBadDrawable);
+    }
+    
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    interval = (do_swap)
+      ? bswap_32(*(int *)(pc + 0))
+      :          *(int *)(pc + 0);
+
+    (void) (*cx->pGlxScreen->swapInterval)(cx->drawPriv, interval);
+    return Success;
+}
+
+int __glXDisp_SwapIntervalSGI(__GLXclientState *cl, GLbyte *pc)
+{
+    return DoSwapInterval(cl, pc, 0);
+}
+
+int __glXDispSwap_SwapIntervalSGI(__GLXclientState *cl, GLbyte *pc)
+{
+    return DoSwapInterval(cl, pc, 1);
+}
diff-tree 0f9cfb2f752a9010ff07f4b2bd891db0cc30b8e6 (from a9ef5862919313582f72fc0cfb5ab0af4df6507e)
Author: Ian Romanick <idr at us.ibm.com>
Date:   Thu Aug 31 13:54:10 2006 -0700

    Implement GLX_SGI_swap_control.
    
    Regenerate from glX_API.xml 1.2.  Add infrastructure to support
    GLX_SGI_swap_control for AIGLX when the DRI driver enables it.  Tested
    with R300.

diff --git a/GL/glx/Makefile.am b/GL/glx/Makefile.am
index 9bb2b7e..44d9cf9 100644
--- a/GL/glx/Makefile.am
+++ b/GL/glx/Makefile.am
@@ -77,5 +77,6 @@ libglx_la_SOURCES = \
         singlepixswap.c \
         singlesize.c \
         singlesize.h \
+        swap_interval.c \
         unpack.h \
         xfont.c
diff --git a/GL/glx/extension_string.c b/GL/glx/extension_string.c
index 8f13963..a4b202a 100644
--- a/GL/glx/extension_string.c
+++ b/GL/glx/extension_string.c
@@ -60,7 +60,7 @@ struct extension_info {
     unsigned char  version_minor;
 
     /**
-     * Is driver supported foced by the ABI?
+     * Is driver support forced by the ABI?
      */
     unsigned char  driver_support;
 };
@@ -77,9 +77,7 @@ static const struct extension_info known
    { GLX(MESA_copy_sub_buffer),        VER(0,0), N, },
    { GLX(OML_swap_method),             VER(0,0), Y, },
    { GLX(SGI_make_current_read),       VER(1,3), N, },
-#if 0 /* GLX protocol not yet supported for these. */
    { GLX(SGI_swap_control),            VER(0,0), N, },
-#endif
    { GLX(SGIS_multisample),            VER(0,0), Y, },
    { GLX(SGIX_fbconfig),               VER(1,3), Y, },
    { GLX(SGIX_pbuffer),                VER(1,3), N, },
diff --git a/GL/glx/glxcmds.c b/GL/glx/glxcmds.c
index 3092f85..ccdf3fa 100644
--- a/GL/glx/glxcmds.c
+++ b/GL/glx/glxcmds.c
@@ -2274,9 +2274,6 @@ int __glXDisp_VendorPrivate(__GLXclientS
 	return Success;
     }
 
-    /*
-    ** This sample implemention does not support any private requests.
-    */
     cl->client->errorValue = req->vendorCode;
     return __glXError(GLXUnsupportedPrivateRequest);
 }
diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
index 212f2a8..41e49e2 100644
--- a/GL/glx/glxdri.c
+++ b/GL/glx/glxdri.c
@@ -148,6 +148,22 @@ __glXDRIenterServer(void)
   DRIWakeupHandler(NULL, 0, NULL);
 }
 
+/**
+ * \bug
+ * We're jumping through hoops here to get the DRIdrawable which the DRI
+ * driver tries to keep to it self...  cf. FIXME in \c createDrawable.
+ */
+static void
+__glXDRIdrawableFoo(__GLXDRIdrawable *draw)
+{
+    __GLXDRIscreen * const screen =
+      (__GLXDRIscreen *) __glXgetActiveScreen(draw->base.pDraw->pScreen->myNum);
+
+    draw->driDrawable = (*screen->driScreen.getDrawable)(NULL,
+							 draw->base.drawId,
+							 screen->driScreen.private);
+}
+
 static void
 __glXDRIdrawableDestroy(__GLXdrawable *private)
 {
@@ -172,16 +188,8 @@ static GLboolean
 __glXDRIdrawableSwapBuffers(__GLXdrawable *basePrivate)
 {
     __GLXDRIdrawable *private = (__GLXDRIdrawable *) basePrivate;
-    __GLXDRIscreen *screen;
 
-    /* FIXME: We're jumping through hoops here to get the DRIdrawable
-     * which the dri driver tries to keep to it self...  cf. FIXME in
-     * createDrawable. */
-
-    screen = (__GLXDRIscreen *) __glXgetActiveScreen(private->base.pDraw->pScreen->myNum);
-    private->driDrawable = (screen->driScreen.getDrawable)(NULL,
-							   private->base.drawId,
-							   screen->driScreen.private);
+    __glXDRIdrawableFoo(private);
 
     (*private->driDrawable->swapBuffers)(NULL,
 					 private->driDrawable->private);
@@ -189,21 +197,26 @@ __glXDRIdrawableSwapBuffers(__GLXdrawabl
     return TRUE;
 }
 
+
+static int
+__glXDRIdrawableSwapInterval(__GLXdrawable *baseDrawable, int interval)
+{
+    __GLXDRIdrawable *draw = (__GLXDRIdrawable *) baseDrawable;
+
+    __glXDRIdrawableFoo(draw);
+
+    draw->driDrawable->swap_interval = interval;
+    return 0;
+}
+
+
 static void
 __glXDRIdrawableCopySubBuffer(__GLXdrawable *basePrivate,
 			       int x, int y, int w, int h)
 {
     __GLXDRIdrawable *private = (__GLXDRIdrawable *) basePrivate;
-    __GLXDRIscreen *screen;
 
-    /* FIXME: We're jumping through hoops here to get the DRIdrawable
-     * which the dri driver tries to keep to it self...  cf. FIXME in
-     * createDrawable. */
-
-    screen = (__GLXDRIscreen *) __glXgetActiveScreen(private->base.pDraw->pScreen->myNum);
-    private->driDrawable = (screen->driScreen.getDrawable)(NULL,
-							   private->base.drawId,
-							   screen->driScreen.private);
+    __glXDRIdrawableFoo(private);
 
     (*private->driDrawable->copySubBuffer)(NULL,
 					   private->driDrawable->private,
@@ -849,6 +862,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
     screen->base.destroy        = __glXDRIscreenDestroy;
     screen->base.createContext  = __glXDRIscreenCreateContext;
     screen->base.createDrawable = __glXDRIscreenCreateDrawable;
+    screen->base.swapInterval   = __glXDRIdrawableSwapInterval;
     screen->base.pScreen       = pScreen;
 
     __glXInitExtensionEnableBits(screen->glx_enable_bits);
diff --git a/GL/glx/glxscreens.h b/GL/glx/glxscreens.h
index 8beec17..a7700f6 100644
--- a/GL/glx/glxscreens.h
+++ b/GL/glx/glxscreens.h
@@ -62,6 +62,8 @@ struct __GLXscreen {
 				     DrawablePtr pDraw,
 				     XID drawId,
 				     __GLcontextModes *modes);
+    int            (*swapInterval)  (__GLXdrawable *drawable,
+				     int interval);
 
     ScreenPtr pScreen;
 
diff --git a/GL/glx/indirect_dispatch.h b/GL/glx/indirect_dispatch.h
index 2a2fd27..c259fd9 100644
--- a/GL/glx/indirect_dispatch.h
+++ b/GL/glx/indirect_dispatch.h
@@ -401,8 +401,8 @@ extern HIDDEN void __glXDisp_TexCoord4fv
 extern HIDDEN void __glXDispSwap_TexCoord4fv(GLbyte * pc);
 extern HIDDEN int __glXDisp_WaitX(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_WaitX(struct __GLXclientStateRec *, GLbyte *);
-extern HIDDEN void __glXDisp_VertexAttrib2dvNV(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_VertexAttrib2dvNV(GLbyte * pc);
+extern HIDDEN void __glXDisp_SecondaryColor3uivEXT(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_SecondaryColor3uivEXT(GLbyte * pc);
 extern HIDDEN void __glXDisp_FramebufferRenderbufferEXT(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_FramebufferRenderbufferEXT(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib1dvNV(GLbyte * pc);
@@ -549,6 +549,8 @@ extern HIDDEN void __glXDisp_PolygonMode
 extern HIDDEN void __glXDispSwap_PolygonMode(GLbyte * pc);
 extern HIDDEN void __glXDisp_CompressedTexSubImage1DARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_CompressedTexSubImage1DARB(GLbyte * pc);
+extern HIDDEN void __glXDisp_VertexAttrib2dvNV(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_VertexAttrib2dvNV(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetVertexAttribivNV(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetVertexAttribivNV(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_IsQueryARB(struct __GLXclientStateRec *, GLbyte *);
@@ -679,8 +681,8 @@ extern HIDDEN void __glXDisp_TexEnviv(GL
 extern HIDDEN void __glXDispSwap_TexEnviv(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexSubImage3D(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexSubImage3D(GLbyte * pc);
-extern HIDDEN void __glXDisp_SecondaryColor3uivEXT(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_SecondaryColor3uivEXT(GLbyte * pc);
+extern HIDDEN int __glXDisp_SwapIntervalSGI(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_SwapIntervalSGI(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_GetColorTableParameterfv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetColorTableParameterfv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Bitmap(GLbyte * pc);
diff --git a/GL/glx/indirect_table.c b/GL/glx/indirect_table.c
index de3986c..d13e4f8 100644
--- a/GL/glx/indirect_table.c
+++ b/GL/glx/indirect_table.c
@@ -1557,7 +1557,7 @@ static const void *VendorPriv_function_t
     /* [ 69] =  5157 */ {NULL, NULL},
     /* [ 70] =  5158 */ {NULL, NULL},
     /* [ 71] =  5159 */ {NULL, NULL},
-    /* [ 72] = 65536 */ {NULL, NULL},
+    /* [ 72] = 65536 */ {__glXDisp_SwapIntervalSGI, __glXDispSwap_SwapIntervalSGI},
     /* [ 73] = 65537 */ {__glXDisp_MakeCurrentReadSGI, __glXDispSwap_MakeCurrentReadSGI},
     /* [ 74] = 65538 */ {NULL, NULL},
     /* [ 75] = 65539 */ {NULL, NULL},
diff-tree a9ef5862919313582f72fc0cfb5ab0af4df6507e (from 69d5becce4ca2cfc8f8de53672ed54a47de62164)
Author: Ian Romanick <idr at us.ibm.com>
Date:   Thu Aug 31 13:47:50 2006 -0700

    Fix problems with vertex program protocol
    
    There were two sets of bugs in the vertex program (ARB and NV)
    protocol.  First, several of the ARB functions were missing the
    'doubles_in_order="true"' annotation.  Second, after the ARB decided
    that glVertexAttrib*ARB functions must not alias fixed-function state
    for GLSL, Nvidia re-assigned GLX protocol opcodes for
    glVertexAttrib*NV (circa Septeber 2004).  For some reason gl_API.xml
    was never updated to reflect this, and the updated version of the
    GL_NV_vertex_program spec never made into the registry.
    
    This is just a server-side regeneration from gl_API.xml version 1.68.

diff --git a/GL/glx/indirect_dispatch.c b/GL/glx/indirect_dispatch.c
index 04bb204..d43afeb 100644
--- a/GL/glx/indirect_dispatch.c
+++ b/GL/glx/indirect_dispatch.c
@@ -4038,8 +4038,8 @@ void __glXDisp_VertexAttrib1dvARB(GLbyte
 #endif
 
     CALL_VertexAttrib1dvARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  8),
-         (const GLdouble *)(pc +  0)
+        *(GLuint   *)(pc +  0),
+         (const GLdouble *)(pc +  4)
     ) );
 }
 
@@ -4069,8 +4069,8 @@ void __glXDisp_VertexAttrib2dvARB(GLbyte
 #endif
 
     CALL_VertexAttrib2dvARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc + 16),
-         (const GLdouble *)(pc +  0)
+        *(GLuint   *)(pc +  0),
+         (const GLdouble *)(pc +  4)
     ) );
 }
 
@@ -4100,8 +4100,8 @@ void __glXDisp_VertexAttrib3dvARB(GLbyte
 #endif
 
     CALL_VertexAttrib3dvARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc + 24),
-         (const GLdouble *)(pc +  0)
+        *(GLuint   *)(pc +  0),
+         (const GLdouble *)(pc +  4)
     ) );
 }
 
@@ -4187,8 +4187,8 @@ void __glXDisp_VertexAttrib4dvARB(GLbyte
 #endif
 
     CALL_VertexAttrib4dvARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc + 32),
-         (const GLdouble *)(pc +  0)
+        *(GLuint   *)(pc +  0),
+         (const GLdouble *)(pc +  4)
     ) );
 }
 
diff --git a/GL/glx/indirect_dispatch_swap.c b/GL/glx/indirect_dispatch_swap.c
index 9a06cce..a84879a 100644
--- a/GL/glx/indirect_dispatch_swap.c
+++ b/GL/glx/indirect_dispatch_swap.c
@@ -4186,8 +4186,8 @@ void __glXDispSwap_VertexAttrib1dvARB(GL
 #endif
 
     CALL_VertexAttrib1dvARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  8 ),
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  0), 1 )
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  4), 1 )
     ) );
 }
 
@@ -4217,8 +4217,8 @@ void __glXDispSwap_VertexAttrib2dvARB(GL
 #endif
 
     CALL_VertexAttrib2dvARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc + 16 ),
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  0), 2 )
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  4), 2 )
     ) );
 }
 
@@ -4248,8 +4248,8 @@ void __glXDispSwap_VertexAttrib3dvARB(GL
 #endif
 
     CALL_VertexAttrib3dvARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc + 24 ),
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  0), 3 )
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  4), 3 )
     ) );
 }
 
@@ -4335,8 +4335,8 @@ void __glXDispSwap_VertexAttrib4dvARB(GL
 #endif
 
     CALL_VertexAttrib4dvARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc + 32 ),
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  0), 4 )
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  4), 4 )
     ) );
 }
 
diff --git a/GL/glx/indirect_table.c b/GL/glx/indirect_table.c
index 3e294ad..de3986c 100644
--- a/GL/glx/indirect_table.c
+++ b/GL/glx/indirect_table.c
@@ -199,7 +199,7 @@ const struct __glXDispatchInfo Single_di
 
 /*****************************************************************/
 /* tree depth = 8 */
-static const int_fast16_t Render_dispatch_tree[96] = {
+static const int_fast16_t Render_dispatch_tree[95] = {
     /* [0] -> opcode range [0, 8192], node depth 1 */
     2,
     5,
@@ -294,59 +294,52 @@ static const int_fast16_t Render_dispatc
     EMPTY_LEAF,
 
     /* [63] -> opcode range [4096, 4352], node depth 5 */
-    3,
+    4,
     LEAF(264),
-    72,
-    78,
-    LEAF(296),
-    81,
+    LEAF(280),
+    80,
     EMPTY_LEAF,
-    84,
-    90,
-
-    /* [72] -> opcode range [4128, 4160], node depth 6 */
-    1,
-    75,
     EMPTY_LEAF,
-
-    /* [75] -> opcode range [4128, 4144], node depth 7 */
-    1,
+    LEAF(296),
+    LEAF(312),
     LEAF(328),
+    LEAF(344),
     EMPTY_LEAF,
-
-    /* [78] -> opcode range [4160, 4192], node depth 6 */
-    1,
+    83,
+    86,
+    EMPTY_LEAF,
+    89,
+    92,
     EMPTY_LEAF,
-    LEAF(336),
 
-    /* [81] -> opcode range [4224, 4256], node depth 6 */
+    /* [80] -> opcode range [4128, 4144], node depth 6 */
     1,
-    LEAF(352),
+    LEAF(360),
     EMPTY_LEAF,
 
-    /* [84] -> opcode range [4288, 4320], node depth 6 */
+    /* [83] -> opcode range [4256, 4272], node depth 6 */
     1,
     EMPTY_LEAF,
-    87,
+    LEAF(368),
 
-    /* [87] -> opcode range [4304, 4320], node depth 7 */
+    /* [86] -> opcode range [4272, 4288], node depth 6 */
     1,
+    LEAF(376),
     EMPTY_LEAF,
-    LEAF(368),
 
-    /* [90] -> opcode range [4320, 4352], node depth 6 */
+    /* [89] -> opcode range [4304, 4320], node depth 6 */
     1,
-    93,
     EMPTY_LEAF,
+    LEAF(384),
 
-    /* [93] -> opcode range [4320, 4336], node depth 7 */
+    /* [92] -> opcode range [4320, 4336], node depth 6 */
     1,
-    LEAF(376),
+    LEAF(392),
     EMPTY_LEAF,
 
 };
 
-static const void *Render_function_table[384][2] = {
+static const void *Render_function_table[400][2] = {
     /* [  0] =     0 */ {NULL, NULL},
     /* [  1] =     1 */ {__glXDisp_CallList, __glXDispSwap_CallList},
     /* [  2] =     2 */ {__glXDisp_CallLists, __glXDispSwap_CallLists},
@@ -643,97 +636,113 @@ static const void *Render_function_table
     /* [ 293] =  4125 */ {__glXDisp_FogCoorddvEXT, __glXDispSwap_FogCoorddvEXT},
     /* [ 294] =  4126 */ {__glXDisp_SecondaryColor3bvEXT, __glXDispSwap_SecondaryColor3bvEXT},
     /* [ 295] =  4127 */ {__glXDisp_SecondaryColor3svEXT, __glXDispSwap_SecondaryColor3svEXT},
-    /* [ 296] =  4192 */ {__glXDisp_VertexAttrib4svARB, __glXDispSwap_VertexAttrib4svARB},
-    /* [ 297] =  4193 */ {__glXDisp_VertexAttrib1fvARB, __glXDispSwap_VertexAttrib1fvARB},
-    /* [ 298] =  4194 */ {__glXDisp_VertexAttrib2fvARB, __glXDispSwap_VertexAttrib2fvARB},
-    /* [ 299] =  4195 */ {__glXDisp_VertexAttrib3fvNV, __glXDispSwap_VertexAttrib3fvNV},
-    /* [ 300] =  4196 */ {__glXDisp_VertexAttrib4fvARB, __glXDispSwap_VertexAttrib4fvARB},
-    /* [ 301] =  4197 */ {__glXDisp_VertexAttrib1dvARB, __glXDispSwap_VertexAttrib1dvARB},
-    /* [ 302] =  4198 */ {__glXDisp_VertexAttrib2dvARB, __glXDispSwap_VertexAttrib2dvARB},
-    /* [ 303] =  4199 */ {__glXDisp_VertexAttrib3dvNV, __glXDispSwap_VertexAttrib3dvNV},
-    /* [ 304] =  4200 */ {__glXDisp_VertexAttrib4dvNV, __glXDispSwap_VertexAttrib4dvNV},
-    /* [ 305] =  4201 */ {__glXDisp_VertexAttrib4NubvARB, __glXDispSwap_VertexAttrib4NubvARB},
-    /* [ 306] =  4202 */ {__glXDisp_VertexAttribs1svNV, __glXDispSwap_VertexAttribs1svNV},
-    /* [ 307] =  4203 */ {__glXDisp_VertexAttribs2svNV, __glXDispSwap_VertexAttribs2svNV},
-    /* [ 308] =  4204 */ {__glXDisp_VertexAttribs3svNV, __glXDispSwap_VertexAttribs3svNV},
-    /* [ 309] =  4205 */ {__glXDisp_VertexAttribs4svNV, __glXDispSwap_VertexAttribs4svNV},
-    /* [ 310] =  4206 */ {__glXDisp_VertexAttribs1fvNV, __glXDispSwap_VertexAttribs1fvNV},
-    /* [ 311] =  4207 */ {__glXDisp_VertexAttribs2fvNV, __glXDispSwap_VertexAttribs2fvNV},
-    /* [ 312] =  4208 */ {__glXDisp_VertexAttribs3fvNV, __glXDispSwap_VertexAttribs3fvNV},
-    /* [ 313] =  4209 */ {__glXDisp_VertexAttribs4fvNV, __glXDispSwap_VertexAttribs4fvNV},
-    /* [ 314] =  4210 */ {__glXDisp_VertexAttribs1dvNV, __glXDispSwap_VertexAttribs1dvNV},
-    /* [ 315] =  4211 */ {__glXDisp_VertexAttribs2dvNV, __glXDispSwap_VertexAttribs2dvNV},
-    /* [ 316] =  4212 */ {__glXDisp_VertexAttribs3dvNV, __glXDispSwap_VertexAttribs3dvNV},
-    /* [ 317] =  4213 */ {__glXDisp_VertexAttribs4dvNV, __glXDispSwap_VertexAttribs4dvNV},
-    /* [ 318] =  4214 */ {__glXDisp_VertexAttribs4ubvNV, __glXDispSwap_VertexAttribs4ubvNV},
-    /* [ 319] =  4215 */ {__glXDisp_ProgramLocalParameter4fvARB, __glXDispSwap_ProgramLocalParameter4fvARB},
-    /* [ 320] =  4216 */ {__glXDisp_ProgramLocalParameter4dvARB, __glXDispSwap_ProgramLocalParameter4dvARB},
-    /* [ 321] =  4217 */ {__glXDisp_ProgramStringARB, __glXDispSwap_ProgramStringARB},
-    /* [ 322] =  4218 */ {__glXDisp_ProgramNamedParameter4fvNV, __glXDispSwap_ProgramNamedParameter4fvNV},
-    /* [ 323] =  4219 */ {__glXDisp_ProgramNamedParameter4dvNV, __glXDispSwap_ProgramNamedParameter4dvNV},
-    /* [ 324] =  4220 */ {__glXDisp_ActiveStencilFaceEXT, __glXDispSwap_ActiveStencilFaceEXT},
-    /* [ 325] =  4221 */ {__glXDisp_PointParameteriNV, __glXDispSwap_PointParameteriNV},
-    /* [ 326] =  4222 */ {__glXDisp_PointParameterivNV, __glXDispSwap_PointParameterivNV},
-    /* [ 327] =  4223 */ {NULL, NULL},
-    /* [ 328] =  4128 */ {__glXDisp_SecondaryColor3ivEXT, __glXDispSwap_SecondaryColor3ivEXT},
-    /* [ 329] =  4129 */ {__glXDisp_SecondaryColor3fvEXT, __glXDispSwap_SecondaryColor3fvEXT},
-    /* [ 330] =  4130 */ {__glXDisp_SecondaryColor3dvEXT, __glXDispSwap_SecondaryColor3dvEXT},
-    /* [ 331] =  4131 */ {__glXDisp_SecondaryColor3ubvEXT, __glXDispSwap_SecondaryColor3ubvEXT},
-    /* [ 332] =  4132 */ {__glXDisp_SecondaryColor3usvEXT, __glXDispSwap_SecondaryColor3usvEXT},
-    /* [ 333] =  4133 */ {__glXDisp_SecondaryColor3uivEXT, __glXDispSwap_SecondaryColor3uivEXT},
-    /* [ 334] =  4134 */ {__glXDisp_BlendFuncSeparateEXT, __glXDispSwap_BlendFuncSeparateEXT},
-    /* [ 335] =  4135 */ {NULL, NULL},
-    /* [ 336] =  4176 */ {NULL, NULL},
-    /* [ 337] =  4177 */ {NULL, NULL},
-    /* [ 338] =  4178 */ {NULL, NULL},
-    /* [ 339] =  4179 */ {NULL, NULL},
-    /* [ 340] =  4180 */ {__glXDisp_BindProgramNV, __glXDispSwap_BindProgramNV},
-    /* [ 341] =  4181 */ {__glXDisp_ExecuteProgramNV, __glXDispSwap_ExecuteProgramNV},
-    /* [ 342] =  4182 */ {__glXDisp_RequestResidentProgramsNV, __glXDispSwap_RequestResidentProgramsNV},
-    /* [ 343] =  4183 */ {__glXDisp_LoadProgramNV, __glXDispSwap_LoadProgramNV},
-    /* [ 344] =  4184 */ {__glXDisp_ProgramParameter4fvNV, __glXDispSwap_ProgramParameter4fvNV},
-    /* [ 345] =  4185 */ {__glXDisp_ProgramParameter4dvNV, __glXDispSwap_ProgramParameter4dvNV},
-    /* [ 346] =  4186 */ {__glXDisp_ProgramParameters4fvNV, __glXDispSwap_ProgramParameters4fvNV},
-    /* [ 347] =  4187 */ {__glXDisp_ProgramParameters4dvNV, __glXDispSwap_ProgramParameters4dvNV},
-    /* [ 348] =  4188 */ {__glXDisp_TrackMatrixNV, __glXDispSwap_TrackMatrixNV},
-    /* [ 349] =  4189 */ {__glXDisp_VertexAttrib1svNV, __glXDispSwap_VertexAttrib1svNV},
-    /* [ 350] =  4190 */ {__glXDisp_VertexAttrib2svARB, __glXDispSwap_VertexAttrib2svARB},
-    /* [ 351] =  4191 */ {__glXDisp_VertexAttrib3svNV, __glXDispSwap_VertexAttrib3svNV},
-    /* [ 352] =  4224 */ {NULL, NULL},
-    /* [ 353] =  4225 */ {NULL, NULL},
-    /* [ 354] =  4226 */ {NULL, NULL},
-    /* [ 355] =  4227 */ {NULL, NULL},
-    /* [ 356] =  4228 */ {__glXDisp_BlendEquationSeparateEXT, __glXDispSwap_BlendEquationSeparateEXT},
-    /* [ 357] =  4229 */ {NULL, NULL},
-    /* [ 358] =  4230 */ {__glXDisp_VertexAttrib4bvARB, __glXDispSwap_VertexAttrib4bvARB},
-    /* [ 359] =  4231 */ {__glXDisp_VertexAttrib4ivARB, __glXDispSwap_VertexAttrib4ivARB},
-    /* [ 360] =  4232 */ {__glXDisp_VertexAttrib4ubvARB, __glXDispSwap_VertexAttrib4ubvARB},
-    /* [ 361] =  4233 */ {__glXDisp_VertexAttrib4usvARB, __glXDispSwap_VertexAttrib4usvARB},
-    /* [ 362] =  4234 */ {__glXDisp_VertexAttrib4uivARB, __glXDispSwap_VertexAttrib4uivARB},
-    /* [ 363] =  4235 */ {__glXDisp_VertexAttrib4NbvARB, __glXDispSwap_VertexAttrib4NbvARB},
-    /* [ 364] =  4236 */ {__glXDisp_VertexAttrib4NsvARB, __glXDispSwap_VertexAttrib4NsvARB},
-    /* [ 365] =  4237 */ {__glXDisp_VertexAttrib4NivARB, __glXDispSwap_VertexAttrib4NivARB},
-    /* [ 366] =  4238 */ {__glXDisp_VertexAttrib4NusvARB, __glXDispSwap_VertexAttrib4NusvARB},
-    /* [ 367] =  4239 */ {__glXDisp_VertexAttrib4NuivARB, __glXDispSwap_VertexAttrib4NuivARB},
-    /* [ 368] =  4312 */ {NULL, NULL},
-    /* [ 369] =  4313 */ {NULL, NULL},
-    /* [ 370] =  4314 */ {NULL, NULL},
-    /* [ 371] =  4315 */ {NULL, NULL},
-    /* [ 372] =  4316 */ {__glXDisp_BindRenderbufferEXT, __glXDispSwap_BindRenderbufferEXT},
-    /* [ 373] =  4317 */ {__glXDisp_DeleteRenderbuffersEXT, __glXDispSwap_DeleteRenderbuffersEXT},
-    /* [ 374] =  4318 */ {__glXDisp_RenderbufferStorageEXT, __glXDispSwap_RenderbufferStorageEXT},
-    /* [ 375] =  4319 */ {__glXDisp_BindFramebufferEXT, __glXDispSwap_BindFramebufferEXT},
-    /* [ 376] =  4320 */ {__glXDisp_DeleteFramebuffersEXT, __glXDispSwap_DeleteFramebuffersEXT},
-    /* [ 377] =  4321 */ {__glXDisp_FramebufferTexture1DEXT, __glXDispSwap_FramebufferTexture1DEXT},
-    /* [ 378] =  4322 */ {__glXDisp_FramebufferTexture2DEXT, __glXDispSwap_FramebufferTexture2DEXT},
-    /* [ 379] =  4323 */ {__glXDisp_FramebufferTexture3DEXT, __glXDispSwap_FramebufferTexture3DEXT},
-    /* [ 380] =  4324 */ {__glXDisp_FramebufferRenderbufferEXT, __glXDispSwap_FramebufferRenderbufferEXT},
-    /* [ 381] =  4325 */ {__glXDisp_GenerateMipmapEXT, __glXDispSwap_GenerateMipmapEXT},
-    /* [ 382] =  4326 */ {NULL, NULL},
-    /* [ 383] =  4327 */ {NULL, NULL},
+    /* [ 296] =  4176 */ {NULL, NULL},
+    /* [ 297] =  4177 */ {NULL, NULL},
+    /* [ 298] =  4178 */ {NULL, NULL},
+    /* [ 299] =  4179 */ {NULL, NULL},
+    /* [ 300] =  4180 */ {__glXDisp_BindProgramNV, __glXDispSwap_BindProgramNV},
+    /* [ 301] =  4181 */ {__glXDisp_ExecuteProgramNV, __glXDispSwap_ExecuteProgramNV},
+    /* [ 302] =  4182 */ {__glXDisp_RequestResidentProgramsNV, __glXDispSwap_RequestResidentProgramsNV},
+    /* [ 303] =  4183 */ {__glXDisp_LoadProgramNV, __glXDispSwap_LoadProgramNV},
+    /* [ 304] =  4184 */ {__glXDisp_ProgramParameter4fvNV, __glXDispSwap_ProgramParameter4fvNV},
+    /* [ 305] =  4185 */ {__glXDisp_ProgramParameter4dvNV, __glXDispSwap_ProgramParameter4dvNV},
+    /* [ 306] =  4186 */ {__glXDisp_ProgramParameters4fvNV, __glXDispSwap_ProgramParameters4fvNV},
+    /* [ 307] =  4187 */ {__glXDisp_ProgramParameters4dvNV, __glXDispSwap_ProgramParameters4dvNV},
+    /* [ 308] =  4188 */ {__glXDisp_TrackMatrixNV, __glXDispSwap_TrackMatrixNV},
+    /* [ 309] =  4189 */ {__glXDisp_VertexAttrib1svARB, __glXDispSwap_VertexAttrib1svARB},
+    /* [ 310] =  4190 */ {__glXDisp_VertexAttrib2svARB, __glXDispSwap_VertexAttrib2svARB},
+    /* [ 311] =  4191 */ {__glXDisp_VertexAttrib3svARB, __glXDispSwap_VertexAttrib3svARB},
+    /* [ 312] =  4192 */ {__glXDisp_VertexAttrib4svARB, __glXDispSwap_VertexAttrib4svARB},
+    /* [ 313] =  4193 */ {__glXDisp_VertexAttrib1fvARB, __glXDispSwap_VertexAttrib1fvARB},
+    /* [ 314] =  4194 */ {__glXDisp_VertexAttrib2fvARB, __glXDispSwap_VertexAttrib2fvARB},
+    /* [ 315] =  4195 */ {__glXDisp_VertexAttrib3fvARB, __glXDispSwap_VertexAttrib3fvARB},
+    /* [ 316] =  4196 */ {__glXDisp_VertexAttrib4fvARB, __glXDispSwap_VertexAttrib4fvARB},
+    /* [ 317] =  4197 */ {__glXDisp_VertexAttrib1dvARB, __glXDispSwap_VertexAttrib1dvARB},
+    /* [ 318] =  4198 */ {__glXDisp_VertexAttrib2dvARB, __glXDispSwap_VertexAttrib2dvARB},
+    /* [ 319] =  4199 */ {__glXDisp_VertexAttrib3dvARB, __glXDispSwap_VertexAttrib3dvARB},
+    /* [ 320] =  4200 */ {__glXDisp_VertexAttrib4dvARB, __glXDispSwap_VertexAttrib4dvARB},
+    /* [ 321] =  4201 */ {__glXDisp_VertexAttrib4NubvARB, __glXDispSwap_VertexAttrib4NubvARB},
+    /* [ 322] =  4202 */ {__glXDisp_VertexAttribs1svNV, __glXDispSwap_VertexAttribs1svNV},
+    /* [ 323] =  4203 */ {__glXDisp_VertexAttribs2svNV, __glXDispSwap_VertexAttribs2svNV},
+    /* [ 324] =  4204 */ {__glXDisp_VertexAttribs3svNV, __glXDispSwap_VertexAttribs3svNV},
+    /* [ 325] =  4205 */ {__glXDisp_VertexAttribs4svNV, __glXDispSwap_VertexAttribs4svNV},
+    /* [ 326] =  4206 */ {__glXDisp_VertexAttribs1fvNV, __glXDispSwap_VertexAttribs1fvNV},
+    /* [ 327] =  4207 */ {__glXDisp_VertexAttribs2fvNV, __glXDispSwap_VertexAttribs2fvNV},
+    /* [ 328] =  4208 */ {__glXDisp_VertexAttribs3fvNV, __glXDispSwap_VertexAttribs3fvNV},
+    /* [ 329] =  4209 */ {__glXDisp_VertexAttribs4fvNV, __glXDispSwap_VertexAttribs4fvNV},
+    /* [ 330] =  4210 */ {__glXDisp_VertexAttribs1dvNV, __glXDispSwap_VertexAttribs1dvNV},
+    /* [ 331] =  4211 */ {__glXDisp_VertexAttribs2dvNV, __glXDispSwap_VertexAttribs2dvNV},
+    /* [ 332] =  4212 */ {__glXDisp_VertexAttribs3dvNV, __glXDispSwap_VertexAttribs3dvNV},
+    /* [ 333] =  4213 */ {__glXDisp_VertexAttribs4dvNV, __glXDispSwap_VertexAttribs4dvNV},
+    /* [ 334] =  4214 */ {__glXDisp_VertexAttribs4ubvNV, __glXDispSwap_VertexAttribs4ubvNV},
+    /* [ 335] =  4215 */ {__glXDisp_ProgramLocalParameter4fvARB, __glXDispSwap_ProgramLocalParameter4fvARB},
+    /* [ 336] =  4216 */ {__glXDisp_ProgramLocalParameter4dvARB, __glXDispSwap_ProgramLocalParameter4dvARB},
+    /* [ 337] =  4217 */ {__glXDisp_ProgramStringARB, __glXDispSwap_ProgramStringARB},
+    /* [ 338] =  4218 */ {__glXDisp_ProgramNamedParameter4fvNV, __glXDispSwap_ProgramNamedParameter4fvNV},
+    /* [ 339] =  4219 */ {__glXDisp_ProgramNamedParameter4dvNV, __glXDispSwap_ProgramNamedParameter4dvNV},
+    /* [ 340] =  4220 */ {__glXDisp_ActiveStencilFaceEXT, __glXDispSwap_ActiveStencilFaceEXT},
+    /* [ 341] =  4221 */ {__glXDisp_PointParameteriNV, __glXDispSwap_PointParameteriNV},
+    /* [ 342] =  4222 */ {__glXDisp_PointParameterivNV, __glXDispSwap_PointParameterivNV},
+    /* [ 343] =  4223 */ {NULL, NULL},
+    /* [ 344] =  4224 */ {NULL, NULL},
+    /* [ 345] =  4225 */ {NULL, NULL},
+    /* [ 346] =  4226 */ {NULL, NULL},
+    /* [ 347] =  4227 */ {NULL, NULL},
+    /* [ 348] =  4228 */ {__glXDisp_BlendEquationSeparateEXT, __glXDispSwap_BlendEquationSeparateEXT},
+    /* [ 349] =  4229 */ {NULL, NULL},
+    /* [ 350] =  4230 */ {__glXDisp_VertexAttrib4bvARB, __glXDispSwap_VertexAttrib4bvARB},
+    /* [ 351] =  4231 */ {__glXDisp_VertexAttrib4ivARB, __glXDispSwap_VertexAttrib4ivARB},
+    /* [ 352] =  4232 */ {__glXDisp_VertexAttrib4ubvARB, __glXDispSwap_VertexAttrib4ubvARB},
+    /* [ 353] =  4233 */ {__glXDisp_VertexAttrib4usvARB, __glXDispSwap_VertexAttrib4usvARB},
+    /* [ 354] =  4234 */ {__glXDisp_VertexAttrib4uivARB, __glXDispSwap_VertexAttrib4uivARB},
+    /* [ 355] =  4235 */ {__glXDisp_VertexAttrib4NbvARB, __glXDispSwap_VertexAttrib4NbvARB},
+    /* [ 356] =  4236 */ {__glXDisp_VertexAttrib4NsvARB, __glXDispSwap_VertexAttrib4NsvARB},
+    /* [ 357] =  4237 */ {__glXDisp_VertexAttrib4NivARB, __glXDispSwap_VertexAttrib4NivARB},
+    /* [ 358] =  4238 */ {__glXDisp_VertexAttrib4NusvARB, __glXDispSwap_VertexAttrib4NusvARB},
+    /* [ 359] =  4239 */ {__glXDisp_VertexAttrib4NuivARB, __glXDispSwap_VertexAttrib4NuivARB},
+    /* [ 360] =  4128 */ {__glXDisp_SecondaryColor3ivEXT, __glXDispSwap_SecondaryColor3ivEXT},
+    /* [ 361] =  4129 */ {__glXDisp_SecondaryColor3fvEXT, __glXDispSwap_SecondaryColor3fvEXT},
+    /* [ 362] =  4130 */ {__glXDisp_SecondaryColor3dvEXT, __glXDispSwap_SecondaryColor3dvEXT},
+    /* [ 363] =  4131 */ {__glXDisp_SecondaryColor3ubvEXT, __glXDispSwap_SecondaryColor3ubvEXT},
+    /* [ 364] =  4132 */ {__glXDisp_SecondaryColor3usvEXT, __glXDispSwap_SecondaryColor3usvEXT},
+    /* [ 365] =  4133 */ {__glXDisp_SecondaryColor3uivEXT, __glXDispSwap_SecondaryColor3uivEXT},
+    /* [ 366] =  4134 */ {__glXDisp_BlendFuncSeparateEXT, __glXDispSwap_BlendFuncSeparateEXT},
+    /* [ 367] =  4135 */ {NULL, NULL},
+    /* [ 368] =  4264 */ {NULL, NULL},
+    /* [ 369] =  4265 */ {__glXDisp_VertexAttrib1svNV, __glXDispSwap_VertexAttrib1svNV},
+    /* [ 370] =  4266 */ {__glXDisp_VertexAttrib2svNV, __glXDispSwap_VertexAttrib2svNV},
+    /* [ 371] =  4267 */ {__glXDisp_VertexAttrib3svNV, __glXDispSwap_VertexAttrib3svNV},
+    /* [ 372] =  4268 */ {__glXDisp_VertexAttrib4svNV, __glXDispSwap_VertexAttrib4svNV},
+    /* [ 373] =  4269 */ {__glXDisp_VertexAttrib1fvNV, __glXDispSwap_VertexAttrib1fvNV},
+    /* [ 374] =  4270 */ {__glXDisp_VertexAttrib2fvNV, __glXDispSwap_VertexAttrib2fvNV},
+    /* [ 375] =  4271 */ {__glXDisp_VertexAttrib3fvNV, __glXDispSwap_VertexAttrib3fvNV},
+    /* [ 376] =  4272 */ {__glXDisp_VertexAttrib4fvNV, __glXDispSwap_VertexAttrib4fvNV},
+    /* [ 377] =  4273 */ {__glXDisp_VertexAttrib1dvNV, __glXDispSwap_VertexAttrib1dvNV},
+    /* [ 378] =  4274 */ {__glXDisp_VertexAttrib2dvNV, __glXDispSwap_VertexAttrib2dvNV},
+    /* [ 379] =  4275 */ {__glXDisp_VertexAttrib3dvNV, __glXDispSwap_VertexAttrib3dvNV},
+    /* [ 380] =  4276 */ {__glXDisp_VertexAttrib4dvNV, __glXDispSwap_VertexAttrib4dvNV},
+    /* [ 381] =  4277 */ {__glXDisp_VertexAttrib4ubvNV, __glXDispSwap_VertexAttrib4ubvNV},
+    /* [ 382] =  4278 */ {NULL, NULL},
+    /* [ 383] =  4279 */ {NULL, NULL},
+    /* [ 384] =  4312 */ {NULL, NULL},
+    /* [ 385] =  4313 */ {NULL, NULL},
+    /* [ 386] =  4314 */ {NULL, NULL},
+    /* [ 387] =  4315 */ {NULL, NULL},
+    /* [ 388] =  4316 */ {__glXDisp_BindRenderbufferEXT, __glXDispSwap_BindRenderbufferEXT},
+    /* [ 389] =  4317 */ {__glXDisp_DeleteRenderbuffersEXT, __glXDispSwap_DeleteRenderbuffersEXT},
+    /* [ 390] =  4318 */ {__glXDisp_RenderbufferStorageEXT, __glXDispSwap_RenderbufferStorageEXT},
+    /* [ 391] =  4319 */ {__glXDisp_BindFramebufferEXT, __glXDispSwap_BindFramebufferEXT},
+    /* [ 392] =  4320 */ {__glXDisp_DeleteFramebuffersEXT, __glXDispSwap_DeleteFramebuffersEXT},
+    /* [ 393] =  4321 */ {__glXDisp_FramebufferTexture1DEXT, __glXDispSwap_FramebufferTexture1DEXT},
+    /* [ 394] =  4322 */ {__glXDisp_FramebufferTexture2DEXT, __glXDispSwap_FramebufferTexture2DEXT},
+    /* [ 395] =  4323 */ {__glXDisp_FramebufferTexture3DEXT, __glXDispSwap_FramebufferTexture3DEXT},
+    /* [ 396] =  4324 */ {__glXDisp_FramebufferRenderbufferEXT, __glXDispSwap_FramebufferRenderbufferEXT},
+    /* [ 397] =  4325 */ {__glXDisp_GenerateMipmapEXT, __glXDispSwap_GenerateMipmapEXT},
+    /* [ 398] =  4326 */ {NULL, NULL},
+    /* [ 399] =  4327 */ {NULL, NULL},
 };
 
-static const int_fast16_t Render_size_table[384][2] = {
+static const int_fast16_t Render_size_table[400][2] = {
     /* [  0] =     0 */ {  0, ~0},
     /* [  1] =     1 */ {  8, ~0},
     /* [  2] =     2 */ { 12,  0},
@@ -1030,94 +1039,110 @@ static const int_fast16_t Render_size_ta
     /* [293] =  4125 */ { 12, ~0},
     /* [294] =  4126 */ {  8, ~0},
     /* [295] =  4127 */ { 12, ~0},
-    /* [296] =  4192 */ { 16, ~0},
-    /* [297] =  4193 */ { 12, ~0},
-    /* [298] =  4194 */ { 16, ~0},
-    /* [299] =  4195 */ { 20, ~0},
-    /* [300] =  4196 */ { 24, ~0},
-    /* [301] =  4197 */ { 16, ~0},
-    /* [302] =  4198 */ { 24, ~0},
-    /* [303] =  4199 */ { 32, ~0},
-    /* [304] =  4200 */ { 40, ~0},
-    /* [305] =  4201 */ { 12, ~0},
-    /* [306] =  4202 */ { 12, 51},
-    /* [307] =  4203 */ { 12, 52},
-    /* [308] =  4204 */ { 12, 53},
-    /* [309] =  4205 */ { 12, 54},
-    /* [310] =  4206 */ { 12, 55},
-    /* [311] =  4207 */ { 12, 56},
-    /* [312] =  4208 */ { 12, 57},
-    /* [313] =  4209 */ { 12, 58},
-    /* [314] =  4210 */ { 12, 59},
-    /* [315] =  4211 */ { 12, 60},
-    /* [316] =  4212 */ { 12, 61},
-    /* [317] =  4213 */ { 12, 62},
-    /* [318] =  4214 */ { 12, 63},
-    /* [319] =  4215 */ { 28, ~0},
-    /* [320] =  4216 */ { 44, ~0},
-    /* [321] =  4217 */ { 16, 64},
-    /* [322] =  4218 */ { 28, 65},
-    /* [323] =  4219 */ { 44, 66},
-    /* [324] =  4220 */ {  8, ~0},
-    /* [325] =  4221 */ { 12, ~0},
-    /* [326] =  4222 */ {  8, 67},
-    /* [327] =  4223 */ {  0, ~0},
-    /* [328] =  4128 */ { 16, ~0},
-    /* [329] =  4129 */ { 16, ~0},
-    /* [330] =  4130 */ { 28, ~0},
-    /* [331] =  4131 */ {  8, ~0},
-    /* [332] =  4132 */ { 12, ~0},
-    /* [333] =  4133 */ { 16, ~0},
-    /* [334] =  4134 */ { 20, ~0},
-    /* [335] =  4135 */ {  0, ~0},
-    /* [336] =  4176 */ {  0, ~0},
-    /* [337] =  4177 */ {  0, ~0},
-    /* [338] =  4178 */ {  0, ~0},
-    /* [339] =  4179 */ {  0, ~0},
-    /* [340] =  4180 */ { 12, ~0},
-    /* [341] =  4181 */ { 28, ~0},
-    /* [342] =  4182 */ {  8, 68},
-    /* [343] =  4183 */ { 16, 69},
-    /* [344] =  4184 */ { 28, ~0},
-    /* [345] =  4185 */ { 44, ~0},
-    /* [346] =  4186 */ { 16, 70},
-    /* [347] =  4187 */ { 16, 71},
-    /* [348] =  4188 */ { 20, ~0},
-    /* [349] =  4189 */ { 12, ~0},
-    /* [350] =  4190 */ { 12, ~0},
-    /* [351] =  4191 */ { 16, ~0},
-    /* [352] =  4224 */ {  0, ~0},
-    /* [353] =  4225 */ {  0, ~0},
-    /* [354] =  4226 */ {  0, ~0},
-    /* [355] =  4227 */ {  0, ~0},
-    /* [356] =  4228 */ { 12, ~0},
-    /* [357] =  4229 */ {  0, ~0},
-    /* [358] =  4230 */ { 12, ~0},
-    /* [359] =  4231 */ { 24, ~0},
-    /* [360] =  4232 */ { 12, ~0},
-    /* [361] =  4233 */ { 16, ~0},
-    /* [362] =  4234 */ { 24, ~0},
-    /* [363] =  4235 */ { 12, ~0},
-    /* [364] =  4236 */ { 16, ~0},
-    /* [365] =  4237 */ { 24, ~0},
-    /* [366] =  4238 */ { 16, ~0},
-    /* [367] =  4239 */ { 24, ~0},
-    /* [368] =  4312 */ {  0, ~0},
-    /* [369] =  4313 */ {  0, ~0},
-    /* [370] =  4314 */ {  0, ~0},
-    /* [371] =  4315 */ {  0, ~0},
-    /* [372] =  4316 */ { 12, ~0},
-    /* [373] =  4317 */ {  8, 72},
-    /* [374] =  4318 */ { 20, ~0},
-    /* [375] =  4319 */ { 12, ~0},
-    /* [376] =  4320 */ {  8, 73},
-    /* [377] =  4321 */ { 24, ~0},
-    /* [378] =  4322 */ { 24, ~0},
-    /* [379] =  4323 */ { 28, ~0},
-    /* [380] =  4324 */ { 20, ~0},
-    /* [381] =  4325 */ {  8, ~0},
-    /* [382] =  4326 */ {  0, ~0},
-    /* [383] =  4327 */ {  0, ~0},
+    /* [296] =  4176 */ {  0, ~0},
+    /* [297] =  4177 */ {  0, ~0},
+    /* [298] =  4178 */ {  0, ~0},
+    /* [299] =  4179 */ {  0, ~0},
+    /* [300] =  4180 */ { 12, ~0},
+    /* [301] =  4181 */ { 28, ~0},
+    /* [302] =  4182 */ {  8, 51},
+    /* [303] =  4183 */ { 16, 52},
+    /* [304] =  4184 */ { 28, ~0},
+    /* [305] =  4185 */ { 44, ~0},
+    /* [306] =  4186 */ { 16, 53},
+    /* [307] =  4187 */ { 16, 54},
+    /* [308] =  4188 */ { 20, ~0},
+    /* [309] =  4189 */ { 12, ~0},
+    /* [310] =  4190 */ { 12, ~0},
+    /* [311] =  4191 */ { 16, ~0},
+    /* [312] =  4192 */ { 16, ~0},
+    /* [313] =  4193 */ { 12, ~0},
+    /* [314] =  4194 */ { 16, ~0},
+    /* [315] =  4195 */ { 20, ~0},
+    /* [316] =  4196 */ { 24, ~0},
+    /* [317] =  4197 */ { 16, ~0},
+    /* [318] =  4198 */ { 24, ~0},
+    /* [319] =  4199 */ { 32, ~0},
+    /* [320] =  4200 */ { 40, ~0},
+    /* [321] =  4201 */ { 12, ~0},
+    /* [322] =  4202 */ { 12, 55},
+    /* [323] =  4203 */ { 12, 56},
+    /* [324] =  4204 */ { 12, 57},
+    /* [325] =  4205 */ { 12, 58},
+    /* [326] =  4206 */ { 12, 59},
+    /* [327] =  4207 */ { 12, 60},
+    /* [328] =  4208 */ { 12, 61},
+    /* [329] =  4209 */ { 12, 62},
+    /* [330] =  4210 */ { 12, 63},
+    /* [331] =  4211 */ { 12, 64},
+    /* [332] =  4212 */ { 12, 65},
+    /* [333] =  4213 */ { 12, 66},
+    /* [334] =  4214 */ { 12, 67},
+    /* [335] =  4215 */ { 28, ~0},
+    /* [336] =  4216 */ { 44, ~0},
+    /* [337] =  4217 */ { 16, 68},
+    /* [338] =  4218 */ { 28, 69},
+    /* [339] =  4219 */ { 44, 70},
+    /* [340] =  4220 */ {  8, ~0},
+    /* [341] =  4221 */ { 12, ~0},
+    /* [342] =  4222 */ {  8, 71},
+    /* [343] =  4223 */ {  0, ~0},
+    /* [344] =  4224 */ {  0, ~0},
+    /* [345] =  4225 */ {  0, ~0},
+    /* [346] =  4226 */ {  0, ~0},
+    /* [347] =  4227 */ {  0, ~0},
+    /* [348] =  4228 */ { 12, ~0},
+    /* [349] =  4229 */ {  0, ~0},
+    /* [350] =  4230 */ { 12, ~0},
+    /* [351] =  4231 */ { 24, ~0},
+    /* [352] =  4232 */ { 12, ~0},
+    /* [353] =  4233 */ { 16, ~0},
+    /* [354] =  4234 */ { 24, ~0},
+    /* [355] =  4235 */ { 12, ~0},
+    /* [356] =  4236 */ { 16, ~0},
+    /* [357] =  4237 */ { 24, ~0},
+    /* [358] =  4238 */ { 16, ~0},
+    /* [359] =  4239 */ { 24, ~0},
+    /* [360] =  4128 */ { 16, ~0},
+    /* [361] =  4129 */ { 16, ~0},
+    /* [362] =  4130 */ { 28, ~0},
+    /* [363] =  4131 */ {  8, ~0},
+    /* [364] =  4132 */ { 12, ~0},
+    /* [365] =  4133 */ { 16, ~0},
+    /* [366] =  4134 */ { 20, ~0},
+    /* [367] =  4135 */ {  0, ~0},
+    /* [368] =  4264 */ {  0, ~0},
+    /* [369] =  4265 */ { 12, ~0},
+    /* [370] =  4266 */ { 12, ~0},
+    /* [371] =  4267 */ { 16, ~0},
+    /* [372] =  4268 */ { 16, ~0},
+    /* [373] =  4269 */ { 12, ~0},
+    /* [374] =  4270 */ { 16, ~0},
+    /* [375] =  4271 */ { 20, ~0},
+    /* [376] =  4272 */ { 24, ~0},
+    /* [377] =  4273 */ { 16, ~0},
+    /* [378] =  4274 */ { 24, ~0},
+    /* [379] =  4275 */ { 32, ~0},
+    /* [380] =  4276 */ { 40, ~0},
+    /* [381] =  4277 */ { 12, ~0},
+    /* [382] =  4278 */ {  0, ~0},
+    /* [383] =  4279 */ {  0, ~0},
+    /* [384] =  4312 */ {  0, ~0},
+    /* [385] =  4313 */ {  0, ~0},
+    /* [386] =  4314 */ {  0, ~0},
+    /* [387] =  4315 */ {  0, ~0},
+    /* [388] =  4316 */ { 12, ~0},
+    /* [389] =  4317 */ {  8, 72},
+    /* [390] =  4318 */ { 20, ~0},
+    /* [391] =  4319 */ { 12, ~0},
+    /* [392] =  4320 */ {  8, 73},
+    /* [393] =  4321 */ { 24, ~0},
+    /* [394] =  4322 */ { 24, ~0},
+    /* [395] =  4323 */ { 28, ~0},
+    /* [396] =  4324 */ { 20, ~0},
+    /* [397] =  4325 */ {  8, ~0},
+    /* [398] =  4326 */ {  0, ~0},
+    /* [399] =  4327 */ {  0, ~0},
 };
 
 static const gl_proto_size_func Render_size_func_table[74] = {
@@ -1172,6 +1197,10 @@ static const gl_proto_size_func Render_s
    __glXTexImage3DReqSize,
    __glXTexSubImage3DReqSize,
    __glXPrioritizeTexturesReqSize,
+   __glXRequestResidentProgramsNVReqSize,
+   __glXLoadProgramNVReqSize,
+   __glXProgramParameters4fvNVReqSize,
+   __glXProgramParameters4dvNVReqSize,
    __glXVertexAttribs1svNVReqSize,
    __glXVertexAttribs2svNVReqSize,
    __glXVertexAttribs3svNVReqSize,
@@ -1189,10 +1218,6 @@ static const gl_proto_size_func Render_s
    __glXProgramNamedParameter4fvNVReqSize,
    __glXProgramNamedParameter4dvNVReqSize,
    __glXPointParameterivNVReqSize,
-   __glXRequestResidentProgramsNVReqSize,
-   __glXLoadProgramNVReqSize,
-   __glXProgramParameters4fvNVReqSize,
-   __glXProgramParameters4dvNVReqSize,
    __glXDeleteRenderbuffersEXTReqSize,
    __glXDeleteFramebuffersEXTReqSize,
 };
diff-tree 69d5becce4ca2cfc8f8de53672ed54a47de62164 (from fd609956f27d76ee76ac8623787f0fc8633a5546)
Author: Matthew Allum <mallum at openedhand.com>
Date:   Thu Aug 31 17:30:24 2006 +0100

    Fix previous commit breaking other kdrives pulling in fbdev.a

diff --git a/hw/kdrive/fbdev/fbdev.c b/hw/kdrive/fbdev/fbdev.c
index 904d5f3..20bf758 100644
--- a/hw/kdrive/fbdev/fbdev.c
+++ b/hw/kdrive/fbdev/fbdev.c
@@ -33,6 +33,8 @@
 
 extern int KdTsPhyScreen;
 
+char *fbdevDevicePath = NULL;
+
 Bool
 fbdevInitialize (KdCardInfo *card, FbdevPriv *priv)
 {
diff --git a/hw/kdrive/fbdev/fbinit.c b/hw/kdrive/fbdev/fbinit.c
index 1a7e4bf..ee37327 100644
--- a/hw/kdrive/fbdev/fbinit.c
+++ b/hw/kdrive/fbdev/fbinit.c
@@ -77,7 +77,7 @@ ddxProcessArgument (int argc, char **arg
   return KdProcessArgument (argc, argv, i);
 }
 
-char           *fbdevDevicePath = NULL;
+
 KdCardFuncs	fbdevFuncs = {
     fbdevCardInit,	    /* cardinit */
     fbdevScreenInit,	    /* scrinit */
diff-tree fd609956f27d76ee76ac8623787f0fc8633a5546 (from 2fb7b8795a9a36cce61f6449f6ca26ffd1b071f0)
Author: Matthew Allum <mallum at openedhand.com>
Date:   Thu Aug 31 17:18:57 2006 +0100

    Add framebuffer device command line switch for Xfbdev

diff --git a/hw/kdrive/fbdev/fbdev.c b/hw/kdrive/fbdev/fbdev.c
index 86384f0..904d5f3 100644
--- a/hw/kdrive/fbdev/fbdev.c
+++ b/hw/kdrive/fbdev/fbdev.c
@@ -38,11 +38,17 @@ fbdevInitialize (KdCardInfo *card, Fbdev
 {
     int		    k;
     unsigned long   off;
-    if ((priv->fd = open("/dev/fb0", O_RDWR)) < 0 && \
-        (priv->fd = open("/dev/fb/0", O_RDWR)) < 0) {
-	perror("Error opening /dev/fb0");
-	return FALSE;
-    }
+
+    if (fbdevDevicePath == NULL) 
+      fbdevDevicePath = "/dev/fb0";
+
+    if ((priv->fd = open(fbdevDevicePath, O_RDWR)) < 0)
+      {
+	ErrorF("Error opening framebuffer %s: %s\n", 
+	       fbdevDevicePath, strerror(errno));
+        return FALSE;
+      }
+
     /* quiet valgrind */
     memset (&priv->fix, '\0', sizeof (priv->fix));
     if ((k=ioctl(priv->fd, FBIOGET_FSCREENINFO, &priv->fix)) < 0) {
diff --git a/hw/kdrive/fbdev/fbdev.h b/hw/kdrive/fbdev/fbdev.h
index d37b995..b7951db 100644
--- a/hw/kdrive/fbdev/fbdev.h
+++ b/hw/kdrive/fbdev/fbdev.h
@@ -53,6 +53,7 @@ typedef struct _fbdevScrPriv {
 } FbdevScrPriv;
 
 extern KdCardFuncs  fbdevFuncs;
+extern char*        fbdevDevicePath;
 
 Bool
 fbdevInitialize (KdCardInfo *card, FbdevPriv *priv);
diff --git a/hw/kdrive/fbdev/fbinit.c b/hw/kdrive/fbdev/fbinit.c
index ba9d1c6..1a7e4bf 100644
--- a/hw/kdrive/fbdev/fbinit.c
+++ b/hw/kdrive/fbdev/fbinit.c
@@ -54,17 +54,30 @@ InitInput (int argc, char **argv)
 void
 ddxUseMsg (void)
 {
-    KdUseMsg();
+  KdUseMsg();
+  ErrorF("\nXfbdev Device Usage:\n");
+  ErrorF("-fb path         Framebuffer device to use. Defaults to /dev/fb0\n");
+  ErrorF("\n");
 }
 
 int
 ddxProcessArgument (int argc, char **argv, int i)
 {
-    return KdProcessArgument (argc, argv, i);
-}
-
+  if (!strcmp (argv[i], "-fb"))
+    {
+      if (i+1 < argc) 
+	{
+	  fbdevDevicePath = argv[i+1];
+	  return 2;
+	} 
+      UseMsg();
+      exit(1);
+    }
 
+  return KdProcessArgument (argc, argv, i);
+}
 
+char           *fbdevDevicePath = NULL;
 KdCardFuncs	fbdevFuncs = {
     fbdevCardInit,	    /* cardinit */
     fbdevScreenInit,	    /* scrinit */
diff-tree 2fb7b8795a9a36cce61f6449f6ca26ffd1b071f0 (from 1c8851ad491dd02d1c79e620b46384956838ed42)
Author: Ian Romanick <idr at us.ibm.com>
Date:   Tue Aug 29 16:35:32 2006 -0700

    Minor extension tweaks.
    
    GLX_EXT_texture_from_pixmap should always be enabled.
    GLX_SGI_video_sync is only for direct rendering and should never
    appear in the server's string.

diff --git a/GL/glx/extension_string.c b/GL/glx/extension_string.c
index 963b18a..8f13963 100644
--- a/GL/glx/extension_string.c
+++ b/GL/glx/extension_string.c
@@ -70,7 +70,7 @@ static const struct extension_info known
    { GLX(ARB_multisample),             VER(1,4), Y, },
 
    { GLX(EXT_import_context),          VER(0,0), Y, },
-   { GLX(EXT_texture_from_pixmap),     VER(0,0), N, },
+   { GLX(EXT_texture_from_pixmap),     VER(0,0), Y, },
    { GLX(EXT_visual_info),             VER(0,0), Y, },
    { GLX(EXT_visual_rating),           VER(0,0), Y, },
 
@@ -79,7 +79,6 @@ static const struct extension_info known
    { GLX(SGI_make_current_read),       VER(1,3), N, },
 #if 0 /* GLX protocol not yet supported for these. */
    { GLX(SGI_swap_control),            VER(0,0), N, },
-   { GLX(SGI_video_sync),              VER(0,0), N, },
 #endif
    { GLX(SGIS_multisample),            VER(0,0), Y, },
    { GLX(SGIX_fbconfig),               VER(1,3), Y, },
diff-tree 1c8851ad491dd02d1c79e620b46384956838ed42 (from parents)
Merge: d59b52fc08f2d80b38993e383e61c3eeb0bb0763 5ddbf4bcd46fe0d3d682668c2748c712fea410ae
Author: Ian Romanick <idr at us.ibm.com>
Date:   Tue Aug 29 16:34:04 2006 -0700

    Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver

diff-tree d59b52fc08f2d80b38993e383e61c3eeb0bb0763 (from db6d04d4b87fd9b6409a3ddf0479a88440c2eda1)
Author: Ian Romanick <idr at us.ibm.com>
Date:   Tue Aug 29 14:40:13 2006 -0700

    Make sure unsupported extensions are disabled.
    
    GLX protocol isn't supported for GLX_SGI_swap_control or
    GLX_SGI_video_sync.  Remove them from the list of available extensions
    until they are supported.

diff --git a/GL/glx/extension_string.c b/GL/glx/extension_string.c
index e5899d7..963b18a 100644
--- a/GL/glx/extension_string.c
+++ b/GL/glx/extension_string.c
@@ -77,8 +77,10 @@ static const struct extension_info known
    { GLX(MESA_copy_sub_buffer),        VER(0,0), N, },
    { GLX(OML_swap_method),             VER(0,0), Y, },
    { GLX(SGI_make_current_read),       VER(1,3), N, },
+#if 0 /* GLX protocol not yet supported for these. */
    { GLX(SGI_swap_control),            VER(0,0), N, },
    { GLX(SGI_video_sync),              VER(0,0), N, },
+#endif
    { GLX(SGIS_multisample),            VER(0,0), Y, },
    { GLX(SGIX_fbconfig),               VER(1,3), Y, },
    { GLX(SGIX_pbuffer),                VER(1,3), N, },
diff-tree db6d04d4b87fd9b6409a3ddf0479a88440c2eda1 (from 942b4369990a255257f66835caf8671432c405a3)
Author: Ian Romanick <idr at us.ibm.com>
Date:   Tue Aug 29 14:35:08 2006 -0700

    Add support for AIGLX drivers to enable GLX extensions that they support.

diff --git a/GL/glx/Makefile.am b/GL/glx/Makefile.am
index 339fbe0..9bb2b7e 100644
--- a/GL/glx/Makefile.am
+++ b/GL/glx/Makefile.am
@@ -31,7 +31,9 @@ INCLUDES = \
 nodist_libglx_la_SOURCES = indirect_size.h
 
 libglxdri_la_SOURCES = \
-        glxdri.c
+        glxdri.c \
+        extension_string.c \
+        extension_string.h
 
 libglx_la_SOURCES = \
         g_disptab.h \
diff --git a/GL/glx/extension_string.c b/GL/glx/extension_string.c
new file mode 100644
index 0000000..e5899d7
--- /dev/null
+++ b/GL/glx/extension_string.c
@@ -0,0 +1,166 @@
+/*
+ * (C) Copyright IBM Corporation 2002-2006
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
+ * license, and/or sell copies of the Software, and to permit persons to whom
+ * the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+ * \file extension_string.c
+ * Routines to manage the GLX extension string and GLX version for AIGLX
+ * drivers.  This code is loosely based on src/glx/x11/glxextensions.c from
+ * Mesa.
+ *
+ * \author Ian Romanick <idr at us.ibm.com>
+ */
+
+#include <string.h>
+#include "extension_string.h"
+
+#define SET_BIT(m,b)    (m[ (b) / 8 ] |=  (1U << ((b) % 8)))
+#define CLR_BIT(m,b)    (m[ (b) / 8 ] &= ~(1U << ((b) % 8)))
+#define IS_SET(m,b)    ((m[ (b) / 8 ] &   (1U << ((b) % 8))) != 0)
+#define CONCAT(a,b) a ## b
+#define GLX(n) "GLX_" # n, 4 + sizeof( # n ) - 1, CONCAT(n,_bit)
+#define VER(a,b)  a, b
+#define Y  1
+#define N  0
+#define EXT_ENABLED(bit,supported) (IS_SET(supported, bit))
+
+struct extension_info {
+    const char * const name;
+    unsigned   name_len;
+
+    unsigned char  bit;
+
+    /**
+     * This is the lowest version of GLX that "requires" this extension.
+     * For example, GLX 1.3 requires SGIX_fbconfig, SGIX_pbuffer, and
+     * SGI_make_current_read.  If the extension is not required by any known
+     * version of GLX, use 0, 0.
+     */
+    unsigned char  version_major;
+    unsigned char  version_minor;
+
+    /**
+     * Is driver supported foced by the ABI?
+     */
+    unsigned char  driver_support;
+};
+
+static const struct extension_info known_glx_extensions[] = {
+/*   GLX_ARB_get_proc_address is implemented on the client. */
+   { GLX(ARB_multisample),             VER(1,4), Y, },
+
+   { GLX(EXT_import_context),          VER(0,0), Y, },
+   { GLX(EXT_texture_from_pixmap),     VER(0,0), N, },
+   { GLX(EXT_visual_info),             VER(0,0), Y, },
+   { GLX(EXT_visual_rating),           VER(0,0), Y, },
+
+   { GLX(MESA_copy_sub_buffer),        VER(0,0), N, },
+   { GLX(OML_swap_method),             VER(0,0), Y, },
+   { GLX(SGI_make_current_read),       VER(1,3), N, },
+   { GLX(SGI_swap_control),            VER(0,0), N, },
+   { GLX(SGI_video_sync),              VER(0,0), N, },
+   { GLX(SGIS_multisample),            VER(0,0), Y, },
+   { GLX(SGIX_fbconfig),               VER(1,3), Y, },
+   { GLX(SGIX_pbuffer),                VER(1,3), N, },
+   { GLX(SGIX_visual_select_group),    VER(0,0), Y, },
+   { NULL }
+};
+
+
+/**
+ * Create a GLX extension string for a set of enable bits.
+ *
+ * Creates a GLX extension string for the set of bit in \c enable_bits.  This
+ * string is then stored in \c buffer if buffer is not \c NULL.  This allows
+ * two-pass operation.  On the first pass the caller passes \c NULL for
+ * \c buffer, and the function determines how much space is required to store
+ * the extension string.  The caller allocates the buffer and calls the
+ * function again.
+ *
+ * \param enable_bits  Bits representing the enabled extensions.
+ * \param buffer       Buffer to store the extension string.  May be \c NULL.
+ *
+ * \return
+ * The number of characters in \c buffer that were written to.  If \c buffer
+ * is \c NULL, this is the size of buffer that must be allocated by the
+ * caller.
+ */
+int
+__glXGetExtensionString(const unsigned char *enable_bits, char *buffer)
+{
+    unsigned i;
+    int length = 0;
+
+
+    for (i = 0; known_glx_extensions[i].name != NULL; i++) {
+	const unsigned bit = known_glx_extensions[i].bit;
+	const size_t len = known_glx_extensions[i].name_len;
+
+	if (EXT_ENABLED(bit, enable_bits)) {
+	    if (buffer != NULL) {
+		(void) memcpy(& buffer[length], known_glx_extensions[i].name,
+			      len);
+		
+		buffer[length + len + 0] = ' ';
+		buffer[length + len + 1] = '\0';
+	    }
+
+	    length += len + 1;
+	}
+    }
+
+    return length + 1;
+}
+
+
+void
+__glXEnableExtension(unsigned char *enable_bits, const char *ext)
+{
+    const size_t ext_name_len = strlen(ext);
+    unsigned i;
+
+
+    for (i = 0; known_glx_extensions[i].name != NULL; i++) {
+	if ((ext_name_len == known_glx_extensions[i].name_len)
+	    && (memcmp(ext, known_glx_extensions[i].name, ext_name_len) == 0)) {
+	    SET_BIT(enable_bits, known_glx_extensions[i].bit);
+	    break;
+	}
+    }
+}
+
+
+void
+__glXInitExtensionEnableBits(unsigned char *enable_bits)
+{
+    unsigned i;
+
+
+    (void) memset(enable_bits, 0, __GLX_EXT_BYTES);
+
+    for (i = 0; known_glx_extensions[i].name != NULL; i++) {
+	if (known_glx_extensions[i].driver_support) {
+	    SET_BIT(enable_bits, known_glx_extensions[i].bit);
+	}
+    }
+}
diff --git a/GL/glx/extension_string.h b/GL/glx/extension_string.h
new file mode 100644
index 0000000..98e91bc
--- /dev/null
+++ b/GL/glx/extension_string.h
@@ -0,0 +1,63 @@
+/*
+ * (C) Copyright IBM Corporation 2002-2006
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
+ * license, and/or sell copies of the Software, and to permit persons to whom
+ * the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+ * \file extension_string.h
+ * Routines to manage the GLX extension string and GLX version for AIGLX
+ * drivers.  This code is loosely based on src/glx/x11/glxextensions.c from
+ * Mesa.
+ *
+ * \author Ian Romanick <idr at us.ibm.com>
+ */
+
+#ifndef GLX_EXTENSION_STRING_H
+#define GLX_EXTENSION_STRING_H
+
+enum {
+/*   GLX_ARB_get_proc_address is implemented on the client. */
+   ARB_multisample_bit = 0,
+   EXT_import_context_bit,
+   EXT_texture_from_pixmap_bit,
+   EXT_visual_info_bit,
+   EXT_visual_rating_bit,
+   MESA_copy_sub_buffer_bit,
+   OML_swap_method_bit,
+   SGI_make_current_read_bit,
+   SGI_swap_control_bit,
+   SGI_video_sync_bit,
+   SGIS_multisample_bit,
+   SGIX_fbconfig_bit,
+   SGIX_pbuffer_bit,
+   SGIX_visual_select_group_bit,
+   __NUM_GLX_EXTS,
+};
+
+#define __GLX_EXT_BYTES ((__NUM_GLX_EXTS + 7) / 8)
+
+extern int __glXGetExtensionString(const unsigned char *enable_bits,
+    char *buffer);
+extern void __glXEnableExtension(unsigned char *enable_bits, const char *ext);
+extern void __glXInitExtensionEnableBits(unsigned char *enable_bits);
+
+#endif /* GLX_EXTENSION_STRING_H */
diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
index fa7f1dd..212f2a8 100644
--- a/GL/glx/glxdri.c
+++ b/GL/glx/glxdri.c
@@ -57,6 +57,7 @@
 #include "glapi.h"
 #include "glthread.h"
 #include "dispatch.h"
+#include "extension_string.h"
 
 
 #define STRINGIFY(macro_or_string)	STRINGIFY_ARG (macro_or_string)
@@ -71,6 +72,8 @@ struct __GLXDRIscreen {
 
     __DRIscreen			 driScreen;
     void			*driver;
+
+    unsigned char glx_enable_bits[__GLX_EXT_BYTES];
 };
 
 struct __GLXDRIcontext {
@@ -586,8 +589,21 @@ filter_modes(__GLcontextModes **server_m
 }
 
 
+static void
+enable_glx_extension(void *psc, const char *ext_name)
+{
+    __GLXDRIscreen * const screen = (__GLXDRIscreen *) psc;
+
+    __glXEnableExtension(screen->glx_enable_bits, ext_name);
+}
+
+
 static __DRIfuncPtr getProcAddress(const char *proc_name)
 {
+    if (strcmp(proc_name, "glxEnableExtension") == 0) {
+	return (__DRIfuncPtr) enable_glx_extension;
+    }
+
     return NULL;
 }
 
@@ -812,6 +828,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
     void *dev_priv = NULL;
     char filename[128];
     Bool isCapable;
+    size_t buffer_size;
 
     if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable")) {
 	LogMessage(X_ERROR, "AIGLX: DRI module not loaded\n");
@@ -834,6 +851,10 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
     screen->base.createDrawable = __glXDRIscreenCreateDrawable;
     screen->base.pScreen       = pScreen;
 
+    __glXInitExtensionEnableBits(screen->glx_enable_bits);
+    screen->driScreen.screenConfigs = screen;
+
+
     /* DRI protocol version. */
     dri_version.major = XF86DRI_MAJOR_VERSION;
     dri_version.minor = XF86DRI_MINOR_VERSION;
@@ -977,6 +998,18 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
 
     __glXScreenInit(&screen->base, pScreen);
 
+    buffer_size = __glXGetExtensionString(screen->glx_enable_bits, NULL);
+    if (buffer_size > 0) {
+	if (screen->base.GLXextensions != NULL) {
+	    xfree(screen->base.GLXextensions);
+	}
+
+	screen->base.GLXextensions = xnfalloc(buffer_size);
+	(void) __glXGetExtensionString(screen->glx_enable_bits, 
+				       screen->base.GLXextensions);
+    }
+
+
     filter_modes(&screen->base.modes, driver_modes);
     _gl_context_modes_destroy(driver_modes);
 
diff-tree 5ddbf4bcd46fe0d3d682668c2748c712fea410ae (from 942b4369990a255257f66835caf8671432c405a3)
Author: Matthew Allum <mallum at openedhand.com>
Date:   Tue Aug 29 22:07:15 2006 +0100

    Re-add support for tslib (1.0 release) and Xcalibrate extension.

diff --git a/Xext/Makefile.am b/Xext/Makefile.am
index ad3f98e..3a48109 100644
--- a/Xext/Makefile.am
+++ b/Xext/Makefile.am
@@ -75,6 +75,12 @@ SERVERCONFIG_DATA = SecurityPolicy
 AM_CFLAGS += -DDEFAULTPOLICYFILE=\"$(SERVERCONFIGdir)/SecurityPolicy\"
 endif
 
+XCALIBRATE_SRCS = xcalibrate.c
+if XCALIBRATE
+BUILTIN_SRCS += $(XCALIBRATE_SRCS)
+# XCalibrare needs tslib
+endif
+
 # X EVent Interception Extension: allows accessibility helpers & composite
 # managers to intercept events from input devices and transform as needed
 # before the clients see them.
@@ -150,6 +156,7 @@ EXTRA_DIST = \
 	$(RES_SRCS) \
 	$(SCREENSAVER_SRCS) \
 	$(XCSECURITY_SRCS) \
+	$(XCALIBRATE_SRCS) \
 	$(XINERAMA_SRCS) \
 	$(XEVIE_SRCS) \
 	$(XPRINT_SRCS) \
diff --git a/Xext/xcalibrate.c b/Xext/xcalibrate.c
new file mode 100644
index 0000000..e273c53
--- /dev/null
+++ b/Xext/xcalibrate.c
@@ -0,0 +1,262 @@
+/*
+ * $Id: xcalibrate.c,v 3.1 2004/06/02 20:49:50 pb Exp $
+ *
+ * Copyright © 2003 Philip Blundell
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Philip Blundell not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission.  Philip Blundell makes no
+ * representations about the suitability of this software for any purpose.  It
+ * is provided "as is" without express or implied warranty.
+ *
+ * PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifdef HAVE_KDRIVE_CONFIG_H
+#include <kdrive-config.h>
+#endif
+
+#define NEED_EVENTS
+#define NEED_REPLIES
+
+#include <X11/X.h>
+#include <X11/Xproto.h>
+#include "misc.h"
+#include "os.h"
+#include "dixstruct.h"
+#include "extnsionst.h"
+#include "swaprep.h"
+
+#include <X11/extensions/xcalibrateproto.h>
+#include <X11/extensions/xcalibratewire.h>
+
+extern void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure);
+extern void *tslib_raw_event_closure;
+
+static CARD8	XCalibrateReqCode;
+int		XCalibrateEventBase;
+int		XCalibrateReqBase;
+int		XCalibrateErrorBase;
+
+static ClientPtr xcalibrate_client;
+
+static void
+xcalibrate_event_hook (int x, int y, int pressure, void *closure)
+{
+  ClientPtr pClient = (ClientPtr) closure;
+  xXCalibrateRawTouchscreenEvent	ev;
+
+  ev.type = XCalibrateEventBase + X_XCalibrateRawTouchscreen;
+  ev.sequenceNumber = pClient->sequence;
+  ev.x = x;
+  ev.y = y;
+  ev.pressure = pressure;
+
+  if (!pClient->clientGone)
+    WriteEventsToClient (pClient, 1, (xEvent *) &ev);
+}
+
+static int
+ProcXCalibrateQueryVersion (ClientPtr client)
+{
+  REQUEST(xXCalibrateQueryVersionReq);
+  xXCalibrateQueryVersionReply rep;
+  CARD16 client_major, client_minor;  /* not used */
+
+  REQUEST_SIZE_MATCH (xXCalibrateQueryVersionReq);
+
+  client_major = stuff->majorVersion;
+  client_minor = stuff->minorVersion;
+
+  fprintf(stderr, "%s(): called\n", __func__); 
+
+  rep.type = X_Reply;
+  rep.length = 0;
+  rep.sequenceNumber = client->sequence;
+  rep.majorVersion = XCALIBRATE_MAJOR_VERSION;
+  rep.minorVersion = XCALIBRATE_MINOR_VERSION;   
+  if (client->swapped) { 
+    int n;
+    swaps(&rep.sequenceNumber, n);
+    swapl(&rep.length, n);     
+    swaps(&rep.majorVersion, n);
+    swaps(&rep.minorVersion, n);
+  }
+  WriteToClient(client, sizeof (xXCalibrateQueryVersionReply), (char *)&rep);
+  return (client->noClientException);
+}
+
+static int
+SProcXCalibrateQueryVersion (ClientPtr client)
+{
+    REQUEST(xXCalibrateQueryVersionReq);
+    int n;
+
+    REQUEST_SIZE_MATCH (xXCalibrateQueryVersionReq);
+    swaps(&stuff->majorVersion,n);
+    swaps(&stuff->minorVersion,n);
+    return ProcXCalibrateQueryVersion(client);
+}
+
+static int
+ProcXCalibrateSetRawMode (ClientPtr client)
+{
+  REQUEST(xXCalibrateRawModeReq);
+  xXCalibrateRawModeReply rep;
+
+  REQUEST_SIZE_MATCH (xXCalibrateRawModeReq);
+
+  memset (&rep, 0, sizeof (rep));
+  rep.type = X_Reply;
+  rep.sequenceNumber = client->sequence;
+
+  if (stuff->on)
+    {
+      if (xcalibrate_client == NULL)
+	{
+	  /* Start calibrating.  */
+	  xcalibrate_client = client;
+	  tslib_raw_event_hook = xcalibrate_event_hook;
+	  tslib_raw_event_closure = client;
+	  rep.status = GrabSuccess;
+	}
+      else
+	{
+	  rep.status = AlreadyGrabbed;
+	}
+    }
+  else
+    {
+      if (xcalibrate_client == client)
+	{
+	  /* Stop calibrating.  */
+	  xcalibrate_client = NULL;
+	  tslib_raw_event_hook = NULL;
+	  tslib_raw_event_closure = NULL;
+	  rep.status = GrabSuccess;
+
+	  /* Cycle input off and on to reload configuration.  */
+	  KdDisableInput ();
+	  KdEnableInput ();
+	}
+      else
+	{
+	  rep.status = AlreadyGrabbed;
+	}
+    }
+
+  if (client->swapped)
+    {
+      int n;
+
+      swaps (&rep.sequenceNumber, n);
+      swaps (&rep.status, n);
+    }
+  WriteToClient(client, sizeof (rep), (char *) &rep);
+  return (client->noClientException);
+}
+
+
+static int
+SProcXCalibrateSetRawMode (ClientPtr client)
+{
+  REQUEST(xXCalibrateRawModeReq);
+  int n;
+
+  REQUEST_SIZE_MATCH (xXCalibrateRawModeReq);
+
+  swaps(&stuff->on, n);
+
+  return ProcXCalibrateSetRawMode(client);
+}
+
+static void
+XCalibrateResetProc (ExtensionEntry *extEntry) 
+{ 
+}
+
+static int
+ProcXCalibrateDispatch (ClientPtr client)
+{
+    REQUEST(xReq);
+    switch (stuff->data) {
+    case X_XCalibrateQueryVersion:
+        return ProcXCalibrateQueryVersion(client);
+    case X_XCalibrateRawMode:
+        return ProcXCalibrateSetRawMode(client);
+    default: break;
+    }
+
+    return BadRequest;
+}
+
+static int
+SProcXCalibrateDispatch (ClientPtr client)
+{
+    REQUEST(xReq);
+    int n;
+
+    swaps(&stuff->length,n);
+
+    switch (stuff->data) {
+    case X_XCalibrateQueryVersion:
+        return SProcXCalibrateQueryVersion(client);
+    case X_XCalibrateRawMode:
+        return SProcXCalibrateSetRawMode(client);
+
+    default: break;
+    }
+
+    return BadRequest;
+}
+
+static void
+XCalibrateClientCallback (CallbackListPtr	*list,
+			  pointer		closure,
+			  pointer		data)
+{
+    NewClientInfoRec	*clientinfo = (NewClientInfoRec *) data;
+    ClientPtr		pClient = clientinfo->client;
+
+    if (clientinfo->setup == NULL
+	&& xcalibrate_client != NULL
+	&& xcalibrate_client == pClient)
+      {
+	/* Stop calibrating.  */
+	xcalibrate_client = NULL;
+	tslib_raw_event_hook = NULL;
+	tslib_raw_event_closure = NULL;
+      }
+}
+
+void
+XCalibrateExtensionInit(void)
+{
+  ExtensionEntry *extEntry;
+
+  if (!AddCallback (&ClientStateCallback, XCalibrateClientCallback, 0))
+    return;  
+
+  extEntry = AddExtension(XCALIBRATE_NAME, XCalibrateNumberEvents, XCalibrateNumberErrors,
+			  ProcXCalibrateDispatch, SProcXCalibrateDispatch,
+			  XCalibrateResetProc, StandardMinorOpcode);
+
+  if (!extEntry)
+    return;
+
+  XCalibrateReqCode = (unsigned char)extEntry->base;
+  XCalibrateEventBase = extEntry->eventBase;
+  XCalibrateErrorBase = extEntry->errorBase;
+
+  xcalibrate_client = 0;
+}
diff --git a/configure.ac b/configure.ac
index bbff387..798c8f0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -414,6 +414,8 @@ AC_ARG_ENABLE(xinerama,	      AS_HELP_ST
 AC_ARG_ENABLE(xf86vidmode,    AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: enabled)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=yes])
 AC_ARG_ENABLE(xf86misc,       AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: enabled)]), [XF86MISC=$enableval], [XF86MISC=yes])
 AC_ARG_ENABLE(xcsecurity,     AS_HELP_STRING([--disable-xcsecurity], [Build Security extension (default: enabled)]), [XCSECURITY=$enableval], [XCSECURITY=yes])
+AC_ARG_ENABLE(xcalibrate,     AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no])
+AC_ARG_ENABLE(tslib,          AS_HELP_STRING([--enable-tslib], [Build kdrive tslib touchscreen support (default: disabled)]), [TSLIB=$enableval], [TSLIB=no])
 AC_ARG_ENABLE(xevie,          AS_HELP_STRING([--disable-xevie], [Build XEvIE extension (default: enabled)]), [XEVIE=$enableval], [XEVIE=yes])
 AC_ARG_ENABLE(appgroup,       AS_HELP_STRING([--disable-appgroup], [Build XC-APPGROUP extension (default: enabled)]), [APPGROUP=$enableval], [APPGROUP=yes])
 AC_ARG_ENABLE(cup,            AS_HELP_STRING([--disable-cup], [Build TOG-CUP extension (default: enabled)]), [CUP=$enableval], [CUP=yes])
@@ -696,6 +698,14 @@ if test "x$XPRINT" = xyes; then
 	REQUIRED_MODULES="$REQUIRED_MODULES printproto"
 fi
 
+if test "x$XCALIBRATE" = xyes && test "$KDRIVE" = yes; then
+   AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
+   REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto"
+else
+   XCALIBRATE=no
+fi
+AM_CONDITIONAL(XCALIBRATE, [test "x$XCALIBRATE" = xyes])
+
 AC_DEFINE(RENDER, 1, [Support RENDER extension])
 RENDER_LIB='$(top_builddir)/render/librender.la'
 RENDER_INC='-I$(top_srcdir)/render'
@@ -1439,6 +1449,13 @@ if test "$KDRIVE" = yes; then
     fi
     
     # tslib...
+    if test "x$TSLIB" = xyes; then
+        PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
+        if test "x$HAVE_TSLIB" = xno; then
+            AC_MSG_ERROR([tslib must be installed to build the tslib driver. See http://tslib.berlios.de/])
+        fi
+        AC_DEFINE(TSLIB, 1, [Have tslib support])
+    fi
 
     # damage shadow extension glx (NOTYET) fb mi
     KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src'
@@ -1446,7 +1463,7 @@ if test "$KDRIVE" = yes; then
     KDRIVE_OS_INC='-I$(top_srcdir)/hw/kdrive/linux'
     KDRIVE_INCS="$KDRIVE_PURE_INCS $KDRIVE_OS_INC"
     
-    KDRIVE_CFLAGS="$XSERVER_CFLAGS -DHAVE_KDRIVE_CONFIG_H"
+    KDRIVE_CFLAGS="$XSERVER_CFLAGS -DHAVE_KDRIVE_CONFIG_H $TSLIB_CFLAGS"
 
     # dix os fb mi extension glx (NOTYET) damage shadow xpstubs
     #KDRIVE_PURE_LIBS="$DIX_LIB $OS_LIB $FB_LIB $XEXT_LIB $MIEXT_DAMAGE_LIB \
@@ -1455,7 +1472,7 @@ if test "$KDRIVE" = yes; then
     KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.a'
     KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.a'
     KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a'
-    KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB"
+    KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB $TSLIB_LIBS"
 
     # check if we can build Xephyr
     PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"])
@@ -1471,7 +1488,7 @@ AC_SUBST(KDRIVE_PURE_INCS)
 AC_SUBST(KDRIVE_CFLAGS)
 AC_SUBST(KDRIVE_PURE_LIBS)
 AC_SUBST(KDRIVE_LIBS)
-AM_CONDITIONAL(TSLIB, false)
+AM_CONDITIONAL(TSLIB, [test "x$HAVE_TSLIB" = xyes])
 AM_CONDITIONAL(H3600_TS, false)
 AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes])
 AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes])
diff --git a/hw/kdrive/ati/Makefile.am b/hw/kdrive/ati/Makefile.am
index b234181..3732d7d 100644
--- a/hw/kdrive/ati/Makefile.am
+++ b/hw/kdrive/ati/Makefile.am
@@ -31,10 +31,6 @@ INCLUDES = 					\
 
 bin_PROGRAMS = Xati
 
-if TSLIB
-TSLIB_FLAG = -lts
-endif
-
 noinst_LIBRARIES = libati.a
 
 libati_a_SOURCES = 	\
@@ -65,8 +61,12 @@ ATI_LIBS =				\
 Xati_LDADD = \
 	$(ATI_LIBS)			\
 	@KDRIVE_LIBS@			\
-	@XSERVER_LIBS@			\
-	$(TSLIB_FLAG)
+	@XSERVER_LIBS@			
+
 
+Xati_DEPENDENCIES =                     \
+        libati.a                        \
+        $(FBDEV_LIBS)                   \
+        $(VESA_LIBS)                    \
+        $(DRI_LIBS)                     
 
-Xati_DEPENDENCIES = $(ATI_LIBS)
diff --git a/hw/kdrive/chips/Makefile.am b/hw/kdrive/chips/Makefile.am
index 4966fae..80fb2dd 100644
--- a/hw/kdrive/chips/Makefile.am
+++ b/hw/kdrive/chips/Makefile.am
@@ -5,10 +5,6 @@ INCLUDES = 					\
 
 bin_PROGRAMS = Xchips
 
-if TSLIB
-TSLIB_FLAG = -lts
-endif
-
 noinst_LIBRARIES = libchips.a
 
 libchips_a_SOURCES = 	\
@@ -19,15 +15,16 @@ libchips_a_SOURCES = 	\
 Xchips_SOURCES = \
 	chipsstub.c
 
-CHIPS_LIBS =					\
-	libchips.a 				\
+CHIPS_LIBS =					 \
+	libchips.a 				 \
 	$(top_builddir)/hw/kdrive/vesa/libvesa.a \
 	@KDRIVE_LIBS@
 
 Xchips_LDADD = \
 	$(CHIPS_LIBS)				\
-	@KDRIVE_LIBS@                          \
-	@XSERVER_LIBS@				\
-	$(TSLIB_FLAG)
+	@KDRIVE_LIBS@                           \
+	@XSERVER_LIBS@				
 
-Xchips_DEPENDENCIES = $(CHIPS_LIBS)
+Xchips_DEPENDENCIES =                           \
+        libchips.a                              \
+        $(top_builddir)/hw/kdrive/vesa/libvesa.a 
diff --git a/hw/kdrive/ephyr/Makefile.am b/hw/kdrive/ephyr/Makefile.am
index 1c65944..8f51bbe 100644
--- a/hw/kdrive/ephyr/Makefile.am
+++ b/hw/kdrive/ephyr/Makefile.am
@@ -5,11 +5,6 @@ INCLUDES = 					\
 
 noinst_LIBRARIES = libxephyr.a libxephyr-hostx.a
 
-if TSLIB
-TSLIB_LIBS = -lts
-endif
-
-
 bin_PROGRAMS = Xephyr
 
 libxephyr_a_SOURCES =	\
@@ -34,7 +29,6 @@ Xephyr_LDADD = 						\
 	../../../exa/libexa.la				\
 	@KDRIVE_LIBS@					\
 	@KDRIVE_LIBS@					\
-        $(TSLIB_LIBS)                                   \
         @XEPHYR_LIBS@
 
 Xephyr_DEPENDENCIES =					\
diff --git a/hw/kdrive/epson/Makefile.am b/hw/kdrive/epson/Makefile.am
index 97b0a75..665d136 100644
--- a/hw/kdrive/epson/Makefile.am
+++ b/hw/kdrive/epson/Makefile.am
@@ -4,10 +4,6 @@ INCLUDES = 					\
 
 bin_PROGRAMS = Xepson
 
-if TSLIB
-TSLIB_FLAG = -lts
-endif
-
 noinst_LIBRARIES = libepson.a
 
 libepson_a_SOURCES = 	\
@@ -25,9 +21,8 @@ EPSON_LIBS =					\
 	@KDRIVE_LIBS@
 
 Xepson_LDADD = \
-	$(EPSON_LIBS)				\
+	$(EPSON_LIBS)			       \
 	@KDRIVE_LIBS@                          \
-	@XSERVER_LIBS@				\
-	$(TSLIB_FLAG)
+	@XSERVER_LIBS@				
 
-Xepson_DEPENDENCIES = $(EPSON_LIBS)
+Xepson_DEPENDENCIES = libepson.a
diff --git a/hw/kdrive/fbdev/Makefile.am b/hw/kdrive/fbdev/Makefile.am
index 92464f4..3a8c65b 100644
--- a/hw/kdrive/fbdev/Makefile.am
+++ b/hw/kdrive/fbdev/Makefile.am
@@ -6,10 +6,6 @@ noinst_LIBRARIES = libfbdev.a
 
 bin_PROGRAMS = Xfbdev
 
-if TSLIB
-TSLIB_FLAG = -lts
-endif
-
 libfbdev_a_SOURCES =	\
 	fbdev.c		\
 	fbdev.h
@@ -20,8 +16,7 @@ Xfbdev_SOURCES = \
 Xfbdev_LDADD = 						\
 	libfbdev.a					\
 	@KDRIVE_LIBS@					\
-	@XSERVER_LIBS@					\
-	$(TSLIB_FLAG)
+	@XSERVER_LIBS@					
 
 Xfbdev_DEPENDENCIES =					\
 	libfbdev.a
diff --git a/hw/kdrive/i810/Makefile.am b/hw/kdrive/i810/Makefile.am
index a611829..808d8f7 100644
--- a/hw/kdrive/i810/Makefile.am
+++ b/hw/kdrive/i810/Makefile.am
@@ -6,9 +6,6 @@ bin_PROGRAMS = Xi810
 
 noinst_LIBRARIES = libi810.a
 
-if TSLIB
-TSLIB_FLAG = -lts
-endif
 
 libi810_a_SOURCES = 		\
 	i810_cursor.c	\
@@ -29,7 +26,6 @@ I810_LIBS =						\
 Xi810_LDADD = \
 	$(I810_LIBS)					\
 	@KDRIVE_LIBS@                                  \
-	@XSERVER_LIBS@					\
-	$(TSLIB_FLAG)
+	@XSERVER_LIBS@					
 
-Xi810_DEPENDENCIES = $(I810_LIBS)
+Xi810_DEPENDENCIES = libi810.a
diff --git a/hw/kdrive/mga/Makefile.am b/hw/kdrive/mga/Makefile.am
index 00b8c56..d8ebae9 100644
--- a/hw/kdrive/mga/Makefile.am
+++ b/hw/kdrive/mga/Makefile.am
@@ -32,4 +32,6 @@ Xmga_LDADD = \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
 
-Xmga_DEPENDENCIES = $(MGA_LIBS)
+Xmga_DEPENDENCIES = 					\
+	libmga.a 					\
+	$(top_builddir)/hw/kdrive/vesa/libvesa.a	
diff --git a/hw/kdrive/neomagic/Makefile.am b/hw/kdrive/neomagic/Makefile.am
index 75fd4ed..9f8e029 100644
--- a/hw/kdrive/neomagic/Makefile.am
+++ b/hw/kdrive/neomagic/Makefile.am
@@ -16,10 +16,6 @@ INCLUDES =                      \
 
 bin_PROGRAMS = Xneomagic
 
-if TSLIB
-TSLIB_FLAG = -lts
-endif
-
 noinst_LIBRARIES = libneomagic.a
 
 libneomagic_a_SOURCES =         \
@@ -41,7 +37,10 @@ NEOMAGIC_LIBS =                 \
 Xneomagic_LDADD = \
 	$(NEOMAGIC_LIBS)            \
 	@KDRIVE_LIBS@               \
-	@XSERVER_LIBS@					\
-	$(TSLIB_FLAG)
+	@XSERVER_LIBS@		  
+
 
-Xneomagic_DEPENDENCIES = $(NEOMAGIC_LIBS)
+Xneomagic_DEPENDENCIES =                 \
+	libneomagic.a               \
+	${FBDEV_LIBS}               \
+	${VESA_LIBS}                
diff --git a/hw/kdrive/nvidia/Makefile.am b/hw/kdrive/nvidia/Makefile.am
index 3c31a98..d7b26cf 100644
--- a/hw/kdrive/nvidia/Makefile.am
+++ b/hw/kdrive/nvidia/Makefile.am
@@ -30,7 +30,8 @@ NVIDIA_LIBS =					\
 Xnvidia_LDADD = \
 	$(NVIDIA_LIBS)				\
 	@KDRIVE_LIBS@				\
-	@XSERVER_LIBS@					\
-	$(TSLIB_FLAG)
+	@XSERVER_LIBS@			
 
-Xnvidia_DEPENDENCIES = $(NVIDIA_LIBS)
+Xnvidia_DEPENDENCIES = 				\
+	libnvidia.a 				\
+	$(top_builddir)/hw/kdrive/vesa/libvesa.a 
diff --git a/hw/kdrive/pm2/Makefile.am b/hw/kdrive/pm2/Makefile.am
index 4c41c65..24ef150 100644
--- a/hw/kdrive/pm2/Makefile.am
+++ b/hw/kdrive/pm2/Makefile.am
@@ -5,10 +5,6 @@ INCLUDES = 					\
 
 bin_PROGRAMS = Xpm2
 
-if TSLIB
-TSLIB_FLAG = -lts
-endif
-
 noinst_LIBRARIES = libpm2.a
 
 libpm2_a_SOURCES = 	\
@@ -28,7 +24,9 @@ PM2_LIBS =					\
 Xpm2_LDADD = \
 	$(PM2_LIBS)				\
 	@KDRIVE_LIBS@                          \
-	@XSERVER_LIBS@					\
-	$(TSLIB_FLAG)
+	@XSERVER_LIBS@			
+
 
-Xpm2_DEPENDENCIES = $(PM2_LIBS)
+Xpm2_DEPENDENCIES = 				\
+	libpm2.a 				\
+	$(top_builddir)/hw/kdrive/vesa/libvesa.a 
diff --git a/hw/kdrive/r128/Makefile.am b/hw/kdrive/r128/Makefile.am
index d68e155..da42af9 100644
--- a/hw/kdrive/r128/Makefile.am
+++ b/hw/kdrive/r128/Makefile.am
@@ -5,10 +5,6 @@ INCLUDES = 					\
 
 bin_PROGRAMS = Xr128
 
-if TSLIB
-TSLIB_FLAG = -lts
-endif
-
 noinst_LIBRARIES = libr128.a
 
 libr128_a_SOURCES = 	\
@@ -27,7 +23,9 @@ R128_LIBS =					\
 Xr128_LDADD = \
 	$(R128_LIBS)				\
 	@KDRIVE_LIBS@                          \
-	@XSERVER_LIBS@					\
-	$(TSLIB_FLAG)
+	@XSERVER_LIBS@					
+
 
-Xr128_DEPENDENCIES = $(R128_LIBS)
+Xr128_DEPENDENCIES = 				\
+	libr128.a 				\
+	$(top_builddir)/hw/kdrive/vesa/libvesa.a
diff --git a/hw/kdrive/smi/Makefile.am b/hw/kdrive/smi/Makefile.am
index f7f0a66..86a9ea9 100644
--- a/hw/kdrive/smi/Makefile.am
+++ b/hw/kdrive/smi/Makefile.am
@@ -6,10 +6,6 @@ INCLUDES = 					\
 
 bin_PROGRAMS = Xsmi
 
-if TSLIB
-TSLIB_FLAG = -lts
-endif
-
 noinst_LIBRARIES = libsmi.a
 
 #	smivideo.c	# not ready yet
@@ -32,7 +28,10 @@ SMI_LIBS =					\
 Xsmi_LDADD = \
 	$(SMI_LIBS)				\
 	@KDRIVE_LIBS@                          \
-	@XSERVER_LIBS@					\
-	$(TSLIB_FLAG)
+	@XSERVER_LIBS@					
+
 
-Xsmi_DEPENDENCIES = $(SMI_LIBS)
+Xsmi_DEPENDENCIES = 				\
+	libsmi.a 				\
+	$(top_builddir)/hw/kdrive/fbdev/libfbdev.a \
+	$(top_builddir)/hw/kdrive/vesa/libvesa.a
diff --git a/hw/kdrive/vesa/Makefile.am b/hw/kdrive/vesa/Makefile.am
index c490205..70ba55f 100644
--- a/hw/kdrive/vesa/Makefile.am
+++ b/hw/kdrive/vesa/Makefile.am
@@ -6,11 +6,6 @@ noinst_LIBRARIES = libvesa.a
 
 bin_PROGRAMS = Xvesa
 
-if TSLIB
-TSLIB_FLAG = -lts
-endif
-
-
 libvesa_a_SOURCES = \
 	vesa.c		\
 	vesa.h		\
@@ -28,7 +23,6 @@ Xvesa_LDADD = \
 	libvesa.a 				\
 	@KDRIVE_LIBS@				\
 	@KDRIVE_LIBS@                          \
-	$(TSLIB_FLAG)				\
 	@XSERVER_LIBS@
 
 Xvesa_DEPENDENCIES = \
diff-tree 942b4369990a255257f66835caf8671432c405a3 (from parents)
Merge: 77d315bd2fd2f9014c831d313efbe5821189177c 393dc0a3388d56186181b2bd9bcc1d267747e709
Author: Ian Romanick <idr at us.ibm.com>
Date:   Tue Aug 29 13:30:37 2006 -0700

    Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver

diff-tree 77d315bd2fd2f9014c831d313efbe5821189177c (from ebbdc1342a243b301723390696f742dc91f59764)
Author: Ian Romanick <idr at us.ibm.com>
Date:   Tue Aug 29 13:30:20 2006 -0700

    Remove __glXNoSuchRenderOpcode because it is no longer used.

diff --git a/GL/glx/glxext.c b/GL/glx/glxext.c
index 5600d17..fdb8ea2 100644
--- a/GL/glx/glxext.c
+++ b/GL/glx/glxext.c
@@ -514,9 +514,3 @@ static int __glXDispatch(ClientPtr clien
 
     return retval;
 }
-
-void __glXNoSuchRenderOpcode(GLbyte *pc)
-{
-    return;
-}
-
diff --git a/GL/glx/glxext.h b/GL/glx/glxext.h
index c494de4..d708208 100644
--- a/GL/glx/glxext.h
+++ b/GL/glx/glxext.h
@@ -66,7 +66,6 @@ typedef struct {
 extern GLboolean __glXFreeContext(__GLXcontext *glxc);
 extern void __glXFlushContextCache(void);
 
-extern void __glXNoSuchRenderOpcode(GLbyte*);
 extern void __glXErrorCallBack(__GLinterface *gc, GLenum code);
 extern void __glXClearErrorOccured(void);
 extern GLboolean __glXErrorOccured(void);
diff-tree 393dc0a3388d56186181b2bd9bcc1d267747e709 (from cff23616fe45e10c6786a303c8dcfc0a80463a53)
Author: Daniel Stone <daniel at fooishbar.org>
Date:   Tue Aug 29 22:53:54 2006 +0300

    kdrive: remove @KDRIVE_LIBS@ from Xfoo_DEPENDENCIES

diff --git a/hw/kdrive/chips/Makefile.am b/hw/kdrive/chips/Makefile.am
index e308077..4966fae 100644
--- a/hw/kdrive/chips/Makefile.am
+++ b/hw/kdrive/chips/Makefile.am
@@ -30,4 +30,4 @@ Xchips_LDADD = \
 	@XSERVER_LIBS@				\
 	$(TSLIB_FLAG)
 
-Xchips_DEPENDENCIES = $(CHIPS_LIBS) @KDRIVE_LIBS@
+Xchips_DEPENDENCIES = $(CHIPS_LIBS)
diff --git a/hw/kdrive/ephyr/Makefile.am b/hw/kdrive/ephyr/Makefile.am
index f423bfe..1c65944 100644
--- a/hw/kdrive/ephyr/Makefile.am
+++ b/hw/kdrive/ephyr/Makefile.am
@@ -39,6 +39,4 @@ Xephyr_LDADD = 						\
 
 Xephyr_DEPENDENCIES =					\
 	libxephyr.a					\
-	libxephyr-hostx.a                               \
-	@KDRIVE_LIBS@					\
-	../../../exa/libexa.la					
+	libxephyr-hostx.a
diff --git a/hw/kdrive/epson/Makefile.am b/hw/kdrive/epson/Makefile.am
index 0538f4c..97b0a75 100644
--- a/hw/kdrive/epson/Makefile.am
+++ b/hw/kdrive/epson/Makefile.am
@@ -30,4 +30,4 @@ Xepson_LDADD = \
 	@XSERVER_LIBS@				\
 	$(TSLIB_FLAG)
 
-Xepson_DEPENDENCIES = $(EPSON_LIBS) @KDRIVE_LIBS@
+Xepson_DEPENDENCIES = $(EPSON_LIBS)
diff --git a/hw/kdrive/fake/Makefile.am b/hw/kdrive/fake/Makefile.am
index f3a6a34..3a53e3d 100644
--- a/hw/kdrive/fake/Makefile.am
+++ b/hw/kdrive/fake/Makefile.am
@@ -28,6 +28,4 @@ Xfake_LDADD = 						\
         @XSERVER_LIBS@
 
 Xfake_DEPENDENCIES =					\
-	libfake.a					\
-	@KDRIVE_LIBS@					
-
+	libfake.a
diff --git a/hw/kdrive/fbdev/Makefile.am b/hw/kdrive/fbdev/Makefile.am
index fce6df9..92464f4 100644
--- a/hw/kdrive/fbdev/Makefile.am
+++ b/hw/kdrive/fbdev/Makefile.am
@@ -24,6 +24,4 @@ Xfbdev_LDADD = 						\
 	$(TSLIB_FLAG)
 
 Xfbdev_DEPENDENCIES =					\
-	libfbdev.a					\
-	@KDRIVE_LIBS@					
-
+	libfbdev.a
diff --git a/hw/kdrive/i810/Makefile.am b/hw/kdrive/i810/Makefile.am
index d676a69..a611829 100644
--- a/hw/kdrive/i810/Makefile.am
+++ b/hw/kdrive/i810/Makefile.am
@@ -32,4 +32,4 @@ Xi810_LDADD = \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
 
-Xi810_DEPENDENCIES = $(I810_LIBS) @KDRIVE_LIBS@
+Xi810_DEPENDENCIES = $(I810_LIBS)
diff --git a/hw/kdrive/mach64/Makefile.am b/hw/kdrive/mach64/Makefile.am
index 299565f..e924aef 100644
--- a/hw/kdrive/mach64/Makefile.am
+++ b/hw/kdrive/mach64/Makefile.am
@@ -34,4 +34,4 @@ Xmach64_LDADD = 					\
 	$(TSLIB_FLAG)
 
 
-Xmach64_DEPENDENCIES = $(MACH64_LIBS) @KDRIVE_LIBS@
+Xmach64_DEPENDENCIES = $(MACH64_LIBS)
diff --git a/hw/kdrive/mga/Makefile.am b/hw/kdrive/mga/Makefile.am
index 64d260e..00b8c56 100644
--- a/hw/kdrive/mga/Makefile.am
+++ b/hw/kdrive/mga/Makefile.am
@@ -32,4 +32,4 @@ Xmga_LDADD = \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
 
-Xmga_DEPENDENCIES = $(MGA_LIBS) @KDRIVE_LIBS@
+Xmga_DEPENDENCIES = $(MGA_LIBS)
diff --git a/hw/kdrive/neomagic/Makefile.am b/hw/kdrive/neomagic/Makefile.am
index b37bfc3..75fd4ed 100644
--- a/hw/kdrive/neomagic/Makefile.am
+++ b/hw/kdrive/neomagic/Makefile.am
@@ -44,4 +44,4 @@ Xneomagic_LDADD = \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
 
-Xneomagic_DEPENDENCIES = $(NEOMAGIC_LIBS) @KDRIVE_LIBS@
+Xneomagic_DEPENDENCIES = $(NEOMAGIC_LIBS)
diff --git a/hw/kdrive/nvidia/Makefile.am b/hw/kdrive/nvidia/Makefile.am
index 48551a3..3c31a98 100644
--- a/hw/kdrive/nvidia/Makefile.am
+++ b/hw/kdrive/nvidia/Makefile.am
@@ -33,4 +33,4 @@ Xnvidia_LDADD = \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
 
-Xnvidia_DEPENDENCIES = $(NVIDIA_LIBS) @KDRIVE_LIBS@
+Xnvidia_DEPENDENCIES = $(NVIDIA_LIBS)
diff --git a/hw/kdrive/pm2/Makefile.am b/hw/kdrive/pm2/Makefile.am
index 1a71207..4c41c65 100644
--- a/hw/kdrive/pm2/Makefile.am
+++ b/hw/kdrive/pm2/Makefile.am
@@ -31,4 +31,4 @@ Xpm2_LDADD = \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
 
-Xpm2_DEPENDENCIES = $(PM2_LIBS) @KDRIVE_LIBS@
+Xpm2_DEPENDENCIES = $(PM2_LIBS)
diff --git a/hw/kdrive/r128/Makefile.am b/hw/kdrive/r128/Makefile.am
index b33e138..d68e155 100644
--- a/hw/kdrive/r128/Makefile.am
+++ b/hw/kdrive/r128/Makefile.am
@@ -30,4 +30,4 @@ Xr128_LDADD = \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
 
-Xr128_DEPENDENCIES = $(R128_LIBS) @KDRIVE_LIBS@
+Xr128_DEPENDENCIES = $(R128_LIBS)
diff --git a/hw/kdrive/sdl/Makefile.am b/hw/kdrive/sdl/Makefile.am
index ba6ed4d..cc3873c 100644
--- a/hw/kdrive/sdl/Makefile.am
+++ b/hw/kdrive/sdl/Makefile.am
@@ -16,5 +16,3 @@ Xsdl_LDADD = @KDRIVE_PURE_LIBS@				\
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)					\
 	@XSDL_LIBS@
-
-Xsdl_DEPENDENCIES = @KDRIVE_LIBS@
diff --git a/hw/kdrive/sis300/Makefile.am b/hw/kdrive/sis300/Makefile.am
index efd1e9a..6a6e0bf 100644
--- a/hw/kdrive/sis300/Makefile.am
+++ b/hw/kdrive/sis300/Makefile.am
@@ -43,4 +43,4 @@ Xsis_LDADD = \
 	@KDRIVE_LIBS@                          \
 	$(TSLIB_FLAG)
 
-Xsis_DEPENDENCIES = $(SIS_LIBS) @KDRIVE_LIBS@
+Xsis_DEPENDENCIES = $(SIS_LIBS)
diff --git a/hw/kdrive/smi/Makefile.am b/hw/kdrive/smi/Makefile.am
index a214e76..f7f0a66 100644
--- a/hw/kdrive/smi/Makefile.am
+++ b/hw/kdrive/smi/Makefile.am
@@ -35,4 +35,4 @@ Xsmi_LDADD = \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
 
-Xsmi_DEPENDENCIES = $(SMI_LIBS) @KDRIVE_LIBS@
+Xsmi_DEPENDENCIES = $(SMI_LIBS)
diff --git a/hw/kdrive/vesa/Makefile.am b/hw/kdrive/vesa/Makefile.am
index 01bc0a3..c490205 100644
--- a/hw/kdrive/vesa/Makefile.am
+++ b/hw/kdrive/vesa/Makefile.am
@@ -32,5 +32,4 @@ Xvesa_LDADD = \
 	@XSERVER_LIBS@
 
 Xvesa_DEPENDENCIES = \
-	libvesa.a    \
-	@KDRIVE_LIBS@
+	libvesa.a
diff --git a/hw/kdrive/via/Makefile.am b/hw/kdrive/via/Makefile.am
index 4d52df9..7dcfd7c 100644
--- a/hw/kdrive/via/Makefile.am
+++ b/hw/kdrive/via/Makefile.am
@@ -31,4 +31,4 @@ Xvia_LDADD =						\
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)					
 
-Xvia_DEPENDENCIES = $(VIA_LIBS) @KDRIVE_LIBS@
+Xvia_DEPENDENCIES = $(VIA_LIBS)
diff-tree cff23616fe45e10c6786a303c8dcfc0a80463a53 (from ebbdc1342a243b301723390696f742dc91f59764)
Author: Daniel Stone <daniel at fooishbar.org>
Date:   Tue Aug 29 22:44:09 2006 +0300

    configure.ac: allow disabling of XSDL

diff --git a/configure.ac b/configure.ac
index da3e55d..bbff387 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1416,7 +1416,6 @@ AM_CONDITIONAL(XWIN_XV, [test "x$XWIN" =
 
 
 dnl kdrive DDX
-dnl utterly incomplete yet
 
 XEYPHR_LIBS=
 XEPHYR_INCS=
@@ -1463,6 +1462,9 @@ if test "$KDRIVE" = yes; then
     
     # check for SDL SDK
     AC_CHECK_HEADERS([SDL/SDL.h])
+    if test "x$XSDL" = xauto; then
+        XSDL="$ac_cv_header_SDL_SDL_h"
+    fi
 fi
 AC_SUBST(KDRIVE_INCS)
 AC_SUBST(KDRIVE_PURE_INCS)
@@ -1473,8 +1475,6 @@ AM_CONDITIONAL(TSLIB, false)
 AM_CONDITIONAL(H3600_TS, false)
 AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes])
 AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes])
-#AM_CONDITIONAL(KDRIVEVESA, false)
-#AM_CONDITIONAL(KDRIVEFBDEV, false)
 
 # Xephyr needs nanosleep() which is in librt on Solaris
 AC_CHECK_FUNC([nanosleep], [],
@@ -1485,13 +1485,12 @@ XEPHYR_LIBS="$XEPHYR_LIBS $XSERVER_LIBS"
 AC_SUBST([XEPHYR_LIBS])
 AC_SUBST([XEPHYR_INCS])
 
-AM_CONDITIONAL(XSDLSERVER, [test x"$ac_cv_header_SDL_SDL_h" = xyes])
-if test x"$ac_cv_header_SDL_SDL_h" = xyes -o x"$XSDL" = xyes; then
-    # PKG_CHECK_MODULES(XSDL_EXTRA, Xfont xau $XDMCP_MODULES)
+if test x"$XSDL" = xyes; then
     AC_DEFINE(XSDLSERVER,,[Build Xsdl server])
     XSDL_LIBS="`sdl-config --libs` $XSERVER_LIBS"
     XSDL_INCS="`sdl-config --cflags` $XSERVER_CFLAGS"
 fi
+AM_CONDITIONAL(XSDLSERVER, [test x"$XSDL" = xyes])
 AC_SUBST([XSDL_LIBS])
 AC_SUBST([XSDL_INCS])
 
diff-tree ebbdc1342a243b301723390696f742dc91f59764 (from 2fde560bbb9c1148f26fd969dc30c4e736672b7c)
Author: Adam Jackson <ajax at benzedrine.nwnk.net>
Date:   Mon Aug 28 18:17:32 2006 -0400

    Remove calls to LoaderCheckUnresolved(), since it's now a stub.

diff --git a/hw/xfree86/common/xf86DoScanPci.c b/hw/xfree86/common/xf86DoScanPci.c
index 746ff70..0c6668a 100644
--- a/hw/xfree86/common/xf86DoScanPci.c
+++ b/hw/xfree86/common/xf86DoScanPci.c
@@ -100,10 +100,6 @@ void DoScanPci(int argc, char **argv, in
     LoaderErrorMsg(NULL, "scanpci", errmaj, errmin);
     exit(1);
   }
-  if (LoaderCheckUnresolved(LD_RESOLV_IFDONE)) {
-      /* For now, just a warning */
-      xf86Msg(X_WARNING, "Some symbols could not be resolved!\n");
-  }
   PciSetup = (ScanPciSetupProcPtr)LoaderSymbol("ScanPciSetupPciIds");
   DisplayPCICardInfo =
     (ScanPciDisplayCardInfoProcPtr)LoaderSymbol("ScanPciDisplayPCICardInfo");
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index 408536d..8b4bf14 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -973,11 +973,6 @@ InitOutput(ScreenInfo *pScreenInfo, int 
 #endif
   }
 
-    if ((serverGeneration == 1) && LoaderCheckUnresolved(LD_RESOLV_IFDONE)) {
-	/* For now, just a warning */
-	xf86Msg(X_WARNING, "Some symbols could not be resolved!\n");
-    }
-
   xf86PostScreenInit();
 
   xf86InitOrigins();
diff-tree 2fde560bbb9c1148f26fd969dc30c4e736672b7c (from e2d529963ed40b5f113cf82c17809d241cd4aac1)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Fri Aug 25 13:01:51 2006 -0700

    Enable GL_EXT_texture_filter_anisotropic and GL_EXT_blend_equation_separate.
    
    Re-generate from gl_API.xml 1.65.  This provides the missing bits for
    GL_EXT_texture_filter_anisotropic and GL_EXT_blend_equation_separate.
    Enable those extensions.

diff --git a/GL/glx/glxscreens.c b/GL/glx/glxscreens.c
index 41e08af..43447a4 100644
--- a/GL/glx/glxscreens.c
+++ b/GL/glx/glxscreens.c
@@ -74,6 +74,7 @@ static const char GLServerExtensions[] =
 			"GL_EXT_abgr "
 			"GL_EXT_bgra "
  			"GL_EXT_blend_color "
+			"GL_EXT_blend_equation_separate "
 			"GL_EXT_blend_func_separate "
 			"GL_EXT_blend_logic_op "
  			"GL_EXT_blend_minmax "
@@ -104,6 +105,7 @@ static const char GLServerExtensions[] =
  			"GL_EXT_texture_env_add "
  			"GL_EXT_texture_env_combine "
  			"GL_EXT_texture_env_dot3 "
+ 			"GL_EXT_texture_filter_ansiotropic "
 			"GL_EXT_texture_lod "
  			"GL_EXT_texture_lod_bias "
  			"GL_EXT_texture_mirror_clamp "
diff --git a/GL/glx/indirect_dispatch.c b/GL/glx/indirect_dispatch.c
index 9c2b7b1..04bb204 100644
--- a/GL/glx/indirect_dispatch.c
+++ b/GL/glx/indirect_dispatch.c
@@ -5466,6 +5466,14 @@ void __glXDisp_ProgramNamedParameter4fvN
     ) );
 }
 
+void __glXDisp_BlendEquationSeparateEXT(GLbyte * pc)
+{
+    CALL_BlendEquationSeparateEXT( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLenum   *)(pc +  4)
+    ) );
+}
+
 void __glXDisp_BindFramebufferEXT(GLbyte * pc)
 {
     CALL_BindFramebufferEXT( GET_DISPATCH(), (
diff --git a/GL/glx/indirect_dispatch.h b/GL/glx/indirect_dispatch.h
index a0da3e5..2a2fd27 100644
--- a/GL/glx/indirect_dispatch.h
+++ b/GL/glx/indirect_dispatch.h
@@ -73,6 +73,8 @@ extern HIDDEN void __glXDisp_RasterPos4d
 extern HIDDEN void __glXDispSwap_RasterPos4dv(GLbyte * pc);
 extern HIDDEN void __glXDisp_PolygonStipple(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_PolygonStipple(GLbyte * pc);
+extern HIDDEN void __glXDisp_BlendEquationSeparateEXT(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_BlendEquationSeparateEXT(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetPixelMapfv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetPixelMapfv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Color3uiv(GLbyte * pc);
@@ -247,8 +249,6 @@ extern HIDDEN void __glXDisp_PixelMapfv(
 extern HIDDEN void __glXDispSwap_PixelMapfv(GLbyte * pc);
 extern HIDDEN void __glXDisp_Color3usv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Color3usv(GLbyte * pc);
-extern HIDDEN void __glXDisp_DrawBuffersARB(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_DrawBuffersARB(GLbyte * pc);
 extern HIDDEN int __glXDisp_AreTexturesResident(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_AreTexturesResident(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_IsRenderbufferEXT(struct __GLXclientStateRec *, GLbyte *);
@@ -891,6 +891,8 @@ extern HIDDEN int __glXDisp_IsList(struc
 extern HIDDEN int __glXDispSwap_IsList(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_RenderMode(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_RenderMode(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN void __glXDisp_DrawBuffersARB(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_DrawBuffersARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_LoadName(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_LoadName(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttribs4ubvNV(GLbyte * pc);
diff --git a/GL/glx/indirect_dispatch_swap.c b/GL/glx/indirect_dispatch_swap.c
index 06c1d03..9a06cce 100644
--- a/GL/glx/indirect_dispatch_swap.c
+++ b/GL/glx/indirect_dispatch_swap.c
@@ -5631,6 +5631,14 @@ void __glXDispSwap_ProgramNamedParameter
     ) );
 }
 
+void __glXDispSwap_BlendEquationSeparateEXT(GLbyte * pc)
+{
+    CALL_BlendEquationSeparateEXT( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLenum  )bswap_ENUM   ( pc +  4 )
+    ) );
+}
+
 void __glXDispSwap_BindFramebufferEXT(GLbyte * pc)
 {
     CALL_BindFramebufferEXT( GET_DISPATCH(), (
diff --git a/GL/glx/indirect_size_get.c b/GL/glx/indirect_size_get.c
index c16b29a..6ca9a35 100644
--- a/GL/glx/indirect_size_get.c
+++ b/GL/glx/indirect_size_get.c
@@ -609,6 +609,7 @@ __glGetBooleanv_size( GLenum e )
         case GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB:
 /*      case GL_MAX_RECTANGLE_TEXTURE_SIZE_NV:*/
         case GL_MAX_TEXTURE_LOD_BIAS:
+        case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT:
         case GL_MAX_SHININESS_NV:
         case GL_MAX_SPOT_EXPONENT_NV:
         case GL_TEXTURE_CUBE_MAP:
diff --git a/GL/glx/indirect_table.c b/GL/glx/indirect_table.c
index 8671a84..3e294ad 100644
--- a/GL/glx/indirect_table.c
+++ b/GL/glx/indirect_table.c
@@ -703,7 +703,7 @@ static const void *Render_function_table
     /* [ 353] =  4225 */ {NULL, NULL},
     /* [ 354] =  4226 */ {NULL, NULL},
     /* [ 355] =  4227 */ {NULL, NULL},
-    /* [ 356] =  4228 */ {NULL, NULL},
+    /* [ 356] =  4228 */ {__glXDisp_BlendEquationSeparateEXT, __glXDispSwap_BlendEquationSeparateEXT},
     /* [ 357] =  4229 */ {NULL, NULL},
     /* [ 358] =  4230 */ {__glXDisp_VertexAttrib4bvARB, __glXDispSwap_VertexAttrib4bvARB},
     /* [ 359] =  4231 */ {__glXDisp_VertexAttrib4ivARB, __glXDispSwap_VertexAttrib4ivARB},
@@ -1090,7 +1090,7 @@ static const int_fast16_t Render_size_ta
     /* [353] =  4225 */ {  0, ~0},
     /* [354] =  4226 */ {  0, ~0},
     /* [355] =  4227 */ {  0, ~0},
-    /* [356] =  4228 */ {  0, ~0},
+    /* [356] =  4228 */ { 12, ~0},
     /* [357] =  4229 */ {  0, ~0},
     /* [358] =  4230 */ { 12, ~0},
     /* [359] =  4231 */ { 24, ~0},
diff-tree e2d529963ed40b5f113cf82c17809d241cd4aac1 (from c33e39c86be2010b169ffbd8adbe53b93222dc5f)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Fri Aug 25 12:05:16 2006 -0700

    Enable vertex and fragment programs.
    
    Implement glGetProgramStringARB and glGetProgramStringNV.  With these
    functions implemented, GL_ARB_{vertex,fragment}_program,
    GL_NV_{vertex,fragment}_program, and related extensions can be enabled.

diff --git a/GL/glx/Makefile.am b/GL/glx/Makefile.am
index f8af30e..339fbe0 100644
--- a/GL/glx/Makefile.am
+++ b/GL/glx/Makefile.am
@@ -54,6 +54,7 @@ libglx_la_SOURCES = \
         indirect_dispatch.c \
         indirect_dispatch.h \
         indirect_dispatch_swap.c \
+        indirect_program.c \
         indirect_reqsize.c \
         indirect_reqsize.h \
         indirect_size_get.c \
diff --git a/GL/glx/glxscreens.c b/GL/glx/glxscreens.c
index c94c27c..41e08af 100644
--- a/GL/glx/glxscreens.c
+++ b/GL/glx/glxscreens.c
@@ -49,6 +49,8 @@ const char GLServerVersion[] = "1.4";
 static const char GLServerExtensions[] = 
 			"GL_ARB_depth_texture "
 			"GL_ARB_draw_buffers "
+			"GL_ARB_fragment_program "
+			"GL_ARB_fragment_program_shadow "
 			"GL_ARB_imaging "
 			"GL_ARB_multisample "
 			"GL_ARB_multitexture "
@@ -58,8 +60,8 @@ static const char GLServerExtensions[] =
 			"GL_ARB_shadow "
 			"GL_ARB_shadow_ambient "
 			"GL_ARB_texture_border_clamp "
-			"GL_ARB_texture_cube_map "
 			"GL_ARB_texture_compression "
+			"GL_ARB_texture_cube_map "
 			"GL_ARB_texture_env_add "
 			"GL_ARB_texture_env_combine "
 			"GL_ARB_texture_env_crossbar "
@@ -67,6 +69,7 @@ static const char GLServerExtensions[] =
 			"GL_ARB_texture_mirrored_repeat "
 			"GL_ARB_texture_non_power_of_two "
 			"GL_ARB_transpose_matrix "
+			"GL_ARB_vertex_program "
 			"GL_ARB_window_pos "
 			"GL_EXT_abgr "
 			"GL_EXT_bgra "
@@ -120,6 +123,9 @@ static const char GLServerExtensions[] =
 			"GL_NV_blend_square "
 			"GL_NV_depth_clamp "
 			"GL_NV_fog_distance "
+			"GL_NV_fragment_program "
+			"GL_NV_fragment_program_option "
+			"GL_NV_fragment_program2 "
 			"GL_NV_light_max_exponent "
 			"GL_NV_multisample_filter_hint "
 			"GL_NV_point_sprite "
@@ -128,6 +134,11 @@ static const char GLServerExtensions[] =
 			"GL_NV_texture_env_combine4 "
 			"GL_NV_texture_expand_normal "
 			"GL_NV_texture_rectangle "
+			"GL_NV_vertex_program "
+			"GL_NV_vertex_program1_1 "
+			"GL_NV_vertex_program2 "
+			"GL_NV_vertex_program2_option "
+			"GL_NV_vertex_program3 "
 			"GL_OES_compressed_paletted_texture "
 			"GL_SGI_color_matrix "
 			"GL_SGI_color_table "
diff --git a/GL/glx/indirect_program.c b/GL/glx/indirect_program.c
new file mode 100644
index 0000000..d0fd3d1
--- /dev/null
+++ b/GL/glx/indirect_program.c
@@ -0,0 +1,163 @@
+/*
+ * (C) Copyright IBM Corporation 2005, 2006
+ * All Rights Reserved.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sub license,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ * 
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS, THE AUTHORS, AND/OR THEIR SUPPLIERS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+ * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+ * \file indirect_program.c
+ * Hand-coded routines needed to support programmable pipeline extensions.
+ *
+ * \author Ian Romanick <idr at us.ibm.com>
+ */
+
+#define NEED_REPLIES
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include "glxserver.h"
+#include "glxext.h"
+#include "singlesize.h"
+#include "unpack.h"
+#include "indirect_size_get.h"
+#include "indirect_dispatch.h"
+#include "glapitable.h"
+#include "glapi.h"
+#include "glthread.h"
+#include "dispatch.h"
+#include "glapioffsets.h"
+
+#ifdef __linux__
+#include <byteswap.h>
+#elif defined(__OpenBSD__)
+#include <sys/endian.h>
+#define bswap_16 __swap16
+#define bswap_32 __swap32
+#define bswap_64 __swap64
+#else
+#include <sys/endian.h>
+#define bswap_16 bswap16
+#define bswap_32 bswap32
+#define bswap_64 bswap64
+#endif
+
+static int DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte *pc,
+    unsigned get_programiv_offset, unsigned get_program_string_offset,
+    Bool do_swap);
+
+/**
+ * Handle both types of glGetProgramString calls.
+ *
+ * This single function handles both \c glGetProgramStringARB and
+ * \c glGetProgramStringNV.  The dispatch offsets for the functions to use
+ * for \c glGetProgramivARB and \c glGetProgramStringARB are passed in by the
+ * caller.  These can be the offsets of either the ARB versions or the NV
+ * versions.
+ */
+int DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte *pc,
+		       unsigned get_programiv_offset,
+		       unsigned get_program_string_offset,
+		       Bool do_swap)
+{
+    xGLXVendorPrivateWithReplyReq * const req = 
+      (xGLXVendorPrivateWithReplyReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, & error);
+    ClientPtr client = cl->client;
+
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if (cx != NULL) {
+	GLenum target;
+	GLenum pname;
+	GLint compsize = 0;
+	char *answer = NULL, answerBuffer[200];
+
+	if (do_swap) {
+	    target = (GLenum) bswap_32(*(int *)(pc + 0));
+	    pname =  (GLenum) bswap_32(*(int *)(pc + 4));
+	}
+	else {
+	    target = *(GLenum *)(pc + 0);
+	    pname =  *(GLuint *)(pc + 4);
+	}
+
+	/* The value of the GL_PROGRAM_LENGTH_ARB and GL_PROGRAM_LENGTH_NV
+	 * enumerants is the same.
+	 */
+	CALL_by_offset(GET_DISPATCH(),
+		       (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), 
+		       get_programiv_offset,
+		       (target, GL_PROGRAM_LENGTH_ARB, &compsize));
+
+	if (compsize != 0) {
+	    __GLX_GET_ANSWER_BUFFER(answer,cl,compsize,1);
+	    __glXClearErrorOccured();
+
+	    CALL_by_offset(GET_DISPATCH(), 
+			   (void (GLAPIENTRYP)(GLuint, GLenum, GLubyte *)),
+			   get_program_string_offset,
+			   (target, pname, answer));
+	}
+
+	if (__glXErrorOccured()) {
+	    __GLX_BEGIN_REPLY(0);
+	    __GLX_SEND_HEADER();
+	} else {
+	    __GLX_BEGIN_REPLY(compsize);
+	    ((xGLXGetTexImageReply *)&__glXReply)->width = compsize;
+	    __GLX_SEND_HEADER();
+	    __GLX_SEND_VOID_ARRAY(compsize);
+	}
+
+	error = Success;
+    }
+
+    return error;
+}
+
+int __glXDisp_GetProgramStringARB(struct __GLXclientStateRec *cl, GLbyte *pc)
+{
+    return DoGetProgramString(cl, pc, _gloffset_GetProgramivARB,
+			      _gloffset_GetProgramStringARB, False);
+}
+
+
+int __glXDispSwap_GetProgramStringARB(struct __GLXclientStateRec *cl, GLbyte *pc)
+{
+    return DoGetProgramString(cl, pc, _gloffset_GetProgramivARB,
+			      _gloffset_GetProgramStringARB, True);
+}
+
+
+int __glXDisp_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte *pc)
+{
+    return DoGetProgramString(cl, pc, _gloffset_GetProgramivNV,
+			      _gloffset_GetProgramStringNV, False);
+}
+
+
+int __glXDispSwap_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte *pc)
+{
+    return DoGetProgramString(cl, pc, _gloffset_GetProgramivNV,
+			      _gloffset_GetProgramStringNV, True);
+}
diff --git a/GL/glx/single2.c b/GL/glx/single2.c
index 357cd31..3387af2 100644
--- a/GL/glx/single2.c
+++ b/GL/glx/single2.c
@@ -392,13 +392,3 @@ int __glXDisp_GetString(__GLXclientState
 {
     return DoGetString(cl, pc, GL_FALSE);
 }
-
-int __glXDisp_GetProgramStringARB(__GLXclientState *cl, GLbyte *pc)
-{
-    return BadRequest;
-}
-
-int __glXDisp_GetProgramStringNV(__GLXclientState *cl, GLbyte *pc)
-{
-    return BadRequest;
-}
diff --git a/GL/glx/single2swap.c b/GL/glx/single2swap.c
index 6d5e5ce..41a42bb 100644
--- a/GL/glx/single2swap.c
+++ b/GL/glx/single2swap.c
@@ -270,13 +270,3 @@ int __glXDispSwap_GetString(__GLXclientS
 {
     return DoGetString(cl, pc, GL_TRUE);
 }
-
-int __glXDispSwap_GetProgramStringARB(__GLXclientState *cl, GLbyte *pc)
-{
-    return BadRequest;
-}
-
-int __glXDispSwap_GetProgramStringNV(__GLXclientState *cl, GLbyte *pc)
-{
-    return BadRequest;
-}
diff-tree c33e39c86be2010b169ffbd8adbe53b93222dc5f (from cd2da4e41eae233b50f8830d9a8f5d1d916a5a1b)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Thu Aug 24 20:33:57 2006 -0700

    Finish support for GL_ARB_texture_compression.
    
    Fill in __glXDisp_GetCompressedTexImageARB and
    __glXDispSwap_GetCompressedTexImageARB to finish support for
    GL_ARB_texture_compression.  With this extension (and the related
    compression extensions), the server-side GLX supports all of the
    protocol for GL 1.4.  w00t!
    
    The bad news is that this has received only minimal testing, and Mesa
    does not contain any good tests for GL_ARB_texture_compression.

diff --git a/GL/glx/Makefile.am b/GL/glx/Makefile.am
index 4e21e50..f8af30e 100644
--- a/GL/glx/Makefile.am
+++ b/GL/glx/Makefile.am
@@ -60,6 +60,7 @@ libglx_la_SOURCES = \
         indirect_size_get.h \
         indirect_table.c \
         indirect_table.h \
+        indirect_texture_compression.c \
         indirect_util.c \
         indirect_util.h \
         render2.c \
diff --git a/GL/glx/glxscreens.c b/GL/glx/glxscreens.c
index 763e55e..c94c27c 100644
--- a/GL/glx/glxscreens.c
+++ b/GL/glx/glxscreens.c
@@ -45,7 +45,7 @@
 #include "glxutil.h"
 #include "glxext.h"
 
-const char GLServerVersion[] = "1.2";
+const char GLServerVersion[] = "1.4";
 static const char GLServerExtensions[] = 
 			"GL_ARB_depth_texture "
 			"GL_ARB_draw_buffers "
@@ -59,6 +59,7 @@ static const char GLServerExtensions[] =
 			"GL_ARB_shadow_ambient "
 			"GL_ARB_texture_border_clamp "
 			"GL_ARB_texture_cube_map "
+			"GL_ARB_texture_compression "
 			"GL_ARB_texture_env_add "
 			"GL_ARB_texture_env_combine "
 			"GL_ARB_texture_env_crossbar "
@@ -94,6 +95,8 @@ static const char GLServerExtensions[] =
 			"GL_EXT_subtexture "
 			"GL_EXT_texture "
 			"GL_EXT_texture3D "
+			"GL_EXT_texture_compression_dxt1 "
+			"GL_EXT_texture_compression_s3tc "
 			"GL_EXT_texture_edge_clamp "
  			"GL_EXT_texture_env_add "
  			"GL_EXT_texture_env_combine "
@@ -104,6 +107,7 @@ static const char GLServerExtensions[] =
 			"GL_EXT_texture_object "
 			"GL_EXT_texture_rectangle "
 			"GL_EXT_vertex_array "
+			"GL_3DFX_texture_compression_FXT1 "
 			"GL_APPLE_packed_pixels "
 			"GL_ATI_draw_buffers "
 			"GL_ATI_texture_env_combine3 "
@@ -120,9 +124,11 @@ static const char GLServerExtensions[] =
 			"GL_NV_multisample_filter_hint "
 			"GL_NV_point_sprite "
 			"GL_NV_texgen_reflection "
+			"GL_NV_texture_compression_vtc "
 			"GL_NV_texture_env_combine4 "
 			"GL_NV_texture_expand_normal "
 			"GL_NV_texture_rectangle "
+			"GL_OES_compressed_paletted_texture "
 			"GL_SGI_color_matrix "
 			"GL_SGI_color_table "
 			"GL_SGIS_generate_mipmap "
diff --git a/GL/glx/indirect_texture_compression.c b/GL/glx/indirect_texture_compression.c
new file mode 100644
index 0000000..0c42ea0
--- /dev/null
+++ b/GL/glx/indirect_texture_compression.c
@@ -0,0 +1,133 @@
+/*
+ * (C) Copyright IBM Corporation 2005, 2006
+ * All Rights Reserved.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sub license,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ * 
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+ * IBM,
+ * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#define NEED_REPLIES
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include "glxserver.h"
+#include "glxext.h"
+#include "singlesize.h"
+#include "unpack.h"
+#include "indirect_size_get.h"
+#include "indirect_dispatch.h"
+#include "glapitable.h"
+#include "glapi.h"
+#include "glthread.h"
+#include "dispatch.h"
+
+#ifdef __linux__
+#include <byteswap.h>
+#elif defined(__OpenBSD__)
+#include <sys/endian.h>
+#define bswap_16 __swap16
+#define bswap_32 __swap32
+#define bswap_64 __swap64
+#else
+#include <sys/endian.h>
+#define bswap_16 bswap16
+#define bswap_32 bswap32
+#define bswap_64 bswap64
+#endif
+
+int __glXDisp_GetCompressedTexImageARB(struct __GLXclientStateRec *cl, GLbyte *pc)
+{
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent( cl, req->contextTag, & error );
+    ClientPtr client = cl->client;
+
+
+    pc += __GLX_SINGLE_HDR_SIZE;
+    if ( cx != NULL ) {
+	const GLenum target = *(GLenum *)(pc + 0);
+	const GLint  level  = *(GLint  *)(pc + 4);
+	GLint compsize = 0;
+	char *answer, answerBuffer[200];
+
+	CALL_GetTexLevelParameteriv(GET_DISPATCH(), (target, level, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, &compsize));
+
+	if ( compsize != 0 ) {
+	    __GLX_GET_ANSWER_BUFFER(answer,cl,compsize,1);
+	    __glXClearErrorOccured();
+	    CALL_GetCompressedTexImageARB(GET_DISPATCH(), (target, level, answer));
+	}
+
+	if (__glXErrorOccured()) {
+	    __GLX_BEGIN_REPLY(0);
+	    __GLX_SEND_HEADER();
+	} else {
+	    __GLX_BEGIN_REPLY(compsize);
+	    ((xGLXGetTexImageReply *)&__glXReply)->width = compsize;
+	    __GLX_SEND_HEADER();
+	    __GLX_SEND_VOID_ARRAY(compsize);
+	}
+
+	error = Success;
+    }
+
+    return error;
+}
+
+
+int __glXDispSwap_GetCompressedTexImageARB(struct __GLXclientStateRec *cl, GLbyte *pc)
+{
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent( cl, bswap_32( req->contextTag ), & error );
+    ClientPtr client = cl->client;
+
+
+    pc += __GLX_SINGLE_HDR_SIZE;
+    if ( cx != NULL ) {
+	const GLenum target = (GLenum) bswap_32( *(int *)(pc + 0) );
+	const GLint  level =  (GLint ) bswap_32( *(int *)(pc + 4) );
+	GLint compsize = 0;
+	char *answer, answerBuffer[200];
+
+	CALL_GetTexLevelParameteriv(GET_DISPATCH(), (target, level, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, &compsize));
+
+	if ( compsize != 0 ) {
+	    __GLX_GET_ANSWER_BUFFER(answer,cl,compsize,1);
+	    __glXClearErrorOccured();
+	    CALL_GetCompressedTexImageARB(GET_DISPATCH(), (target, level, answer));
+	}
+
+	if (__glXErrorOccured()) {
+	    __GLX_BEGIN_REPLY(0);
+	    __GLX_SEND_HEADER();
+	} else {
+	    __GLX_BEGIN_REPLY(compsize);
+	    ((xGLXGetTexImageReply *)&__glXReply)->width = compsize;
+	    __GLX_SEND_HEADER();
+	    __GLX_SEND_VOID_ARRAY(compsize);
+	}
+	
+	error = Success;
+    }
+
+    return error;
+}
diff --git a/GL/glx/singlepix.c b/GL/glx/singlepix.c
index 62588b0..3f76e5e 100644
--- a/GL/glx/singlepix.c
+++ b/GL/glx/singlepix.c
@@ -515,8 +515,3 @@ int __glXDisp_GetColorTableSGI(__GLXclie
 
     return Success;
 }
-
-int __glXDisp_GetCompressedTexImageARB(__GLXclientState *cl, GLbyte *pc)
-{
-    return BadRequest;
-}
diff --git a/GL/glx/singlepixswap.c b/GL/glx/singlepixswap.c
index d5510b9..c2e06d1 100644
--- a/GL/glx/singlepixswap.c
+++ b/GL/glx/singlepixswap.c
@@ -576,8 +576,3 @@ int __glXDispSwap_GetColorTableSGI(__GLX
 
     return Success;
 }
-
-int __glXDispSwap_GetCompressedTexImageARB(__GLXclientState *cl, GLbyte *pc)
-{
-    return BadRequest;
-}
diff-tree cd2da4e41eae233b50f8830d9a8f5d1d916a5a1b (from a29e6dd2d2d45c18c52737bb3b7945aafcea5032)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Thu Aug 24 18:00:16 2006 -0700

    Remove GL/glx/g_disptab.c, GL/glx/g_disptab_EXT.c, and
    GL/glx/g_disptab_EXT.h.  Unfortunately GL/glx/g_disptab.h has to be
    kept around a bit longer.

diff --git a/GL/glx/Makefile.am b/GL/glx/Makefile.am
index 94f8fd6..4e21e50 100644
--- a/GL/glx/Makefile.am
+++ b/GL/glx/Makefile.am
@@ -34,10 +34,7 @@ libglxdri_la_SOURCES = \
         glxdri.c
 
 libglx_la_SOURCES = \
-        g_disptab.c \
         g_disptab.h \
-        g_disptab_EXT.c \
-        g_disptab_EXT.h \
         glapi.c \
         glcontextmodes.c \
         glcontextmodes.h \
diff --git a/GL/glx/g_disptab.c b/GL/glx/g_disptab.c
deleted file mode 100644
index 6019301..0000000
--- a/GL/glx/g_disptab.c
+++ /dev/null
@@ -1,515 +0,0 @@
-/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-** 
-** http://oss.sgi.com/projects/FreeB
-** 
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-** 
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-** 
-** Additional Notice Provisions: This software was created using the
-** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
-** not been independently verified as being compliant with the OpenGL(R)
-** version 1.2.1 Specification.
-*/
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include "glxserver.h"
-#include "glxext.h"
-#include "g_disptab.h"
-#include "indirect_dispatch.h"
-
-__GLXdispatchRenderProcPtr __glXRenderTable[] = {
-	__glXNoSuchRenderOpcode,
-	__glXDisp_CallList,
-	__glXDisp_CallLists,
-	__glXDisp_ListBase,
-	__glXDisp_Begin,
-	__glXDisp_Bitmap,
-	__glXDisp_Color3bv,
-	__glXDisp_Color3dv,
-	__glXDisp_Color3fv,
-	__glXDisp_Color3iv,
-	__glXDisp_Color3sv,
-	__glXDisp_Color3ubv,
-	__glXDisp_Color3uiv,
-	__glXDisp_Color3usv,
-	__glXDisp_Color4bv,
-	__glXDisp_Color4dv,
-	__glXDisp_Color4fv,
-	__glXDisp_Color4iv,
-	__glXDisp_Color4sv,
-	__glXDisp_Color4ubv,
-	__glXDisp_Color4uiv,
-	__glXDisp_Color4usv,
-	__glXDisp_EdgeFlagv,
-	__glXDisp_End,
-	__glXDisp_Indexdv,
-	__glXDisp_Indexfv,
-	__glXDisp_Indexiv,
-	__glXDisp_Indexsv,
-	__glXDisp_Normal3bv,
-	__glXDisp_Normal3dv,
-	__glXDisp_Normal3fv,
-	__glXDisp_Normal3iv,
-	__glXDisp_Normal3sv,
-	__glXDisp_RasterPos2dv,
-	__glXDisp_RasterPos2fv,
-	__glXDisp_RasterPos2iv,
-	__glXDisp_RasterPos2sv,
-	__glXDisp_RasterPos3dv,
-	__glXDisp_RasterPos3fv,
-	__glXDisp_RasterPos3iv,
-	__glXDisp_RasterPos3sv,
-	__glXDisp_RasterPos4dv,
-	__glXDisp_RasterPos4fv,
-	__glXDisp_RasterPos4iv,
-	__glXDisp_RasterPos4sv,
-	__glXDisp_Rectdv,
-	__glXDisp_Rectfv,
-	__glXDisp_Rectiv,
-	__glXDisp_Rectsv,
-	__glXDisp_TexCoord1dv,
-	__glXDisp_TexCoord1fv,
-	__glXDisp_TexCoord1iv,
-	__glXDisp_TexCoord1sv,
-	__glXDisp_TexCoord2dv,
-	__glXDisp_TexCoord2fv,
-	__glXDisp_TexCoord2iv,
-	__glXDisp_TexCoord2sv,
-	__glXDisp_TexCoord3dv,
-	__glXDisp_TexCoord3fv,
-	__glXDisp_TexCoord3iv,
-	__glXDisp_TexCoord3sv,
-	__glXDisp_TexCoord4dv,
-	__glXDisp_TexCoord4fv,
-	__glXDisp_TexCoord4iv,
-	__glXDisp_TexCoord4sv,
-	__glXDisp_Vertex2dv,
-	__glXDisp_Vertex2fv,
-	__glXDisp_Vertex2iv,
-	__glXDisp_Vertex2sv,
-	__glXDisp_Vertex3dv,
-	__glXDisp_Vertex3fv,
-	__glXDisp_Vertex3iv,
-	__glXDisp_Vertex3sv,
-	__glXDisp_Vertex4dv,
-	__glXDisp_Vertex4fv,
-	__glXDisp_Vertex4iv,
-	__glXDisp_Vertex4sv,
-	__glXDisp_ClipPlane,
-	__glXDisp_ColorMaterial,
-	__glXDisp_CullFace,
-	__glXDisp_Fogf,
-	__glXDisp_Fogfv,
-	__glXDisp_Fogi,
-	__glXDisp_Fogiv,
-	__glXDisp_FrontFace,
-	__glXDisp_Hint,
-	__glXDisp_Lightf,
-	__glXDisp_Lightfv,
-	__glXDisp_Lighti,
-	__glXDisp_Lightiv,
-	__glXDisp_LightModelf,
-	__glXDisp_LightModelfv,
-	__glXDisp_LightModeli,
-	__glXDisp_LightModeliv,
-	__glXDisp_LineStipple,
-	__glXDisp_LineWidth,
-	__glXDisp_Materialf,
-	__glXDisp_Materialfv,
-	__glXDisp_Materiali,
-	__glXDisp_Materialiv,
-	__glXDisp_PointSize,
-	__glXDisp_PolygonMode,
-	__glXDisp_PolygonStipple,
-	__glXDisp_Scissor,
-	__glXDisp_ShadeModel,
-	__glXDisp_TexParameterf,
-	__glXDisp_TexParameterfv,
-	__glXDisp_TexParameteri,
-	__glXDisp_TexParameteriv,
-	__glXDisp_TexImage1D,
-	__glXDisp_TexImage2D,
-	__glXDisp_TexEnvf,
-	__glXDisp_TexEnvfv,
-	__glXDisp_TexEnvi,
-	__glXDisp_TexEnviv,
-	__glXDisp_TexGend,
-	__glXDisp_TexGendv,
-	__glXDisp_TexGenf,
-	__glXDisp_TexGenfv,
-	__glXDisp_TexGeni,
-	__glXDisp_TexGeniv,
-	__glXDisp_InitNames,
-	__glXDisp_LoadName,
-	__glXDisp_PassThrough,
-	__glXDisp_PopName,
-	__glXDisp_PushName,
-	__glXDisp_DrawBuffer,
-	__glXDisp_Clear,
-	__glXDisp_ClearAccum,
-	__glXDisp_ClearIndex,
-	__glXDisp_ClearColor,
-	__glXDisp_ClearStencil,
-	__glXDisp_ClearDepth,
-	__glXDisp_StencilMask,
-	__glXDisp_ColorMask,
-	__glXDisp_DepthMask,
-	__glXDisp_IndexMask,
-	__glXDisp_Accum,
-	__glXDisp_Disable,
-	__glXDisp_Enable,
-	__glXNoSuchRenderOpcode,
-	__glXDisp_PopAttrib,
-	__glXDisp_PushAttrib,
-	__glXDisp_Map1d,
-	__glXDisp_Map1f,
-	__glXDisp_Map2d,
-	__glXDisp_Map2f,
-	__glXDisp_MapGrid1d,
-	__glXDisp_MapGrid1f,
-	__glXDisp_MapGrid2d,
-	__glXDisp_MapGrid2f,
-	__glXDisp_EvalCoord1dv,
-	__glXDisp_EvalCoord1fv,
-	__glXDisp_EvalCoord2dv,
-	__glXDisp_EvalCoord2fv,
-	__glXDisp_EvalMesh1,
-	__glXDisp_EvalPoint1,
-	__glXDisp_EvalMesh2,
-	__glXDisp_EvalPoint2,
-	__glXDisp_AlphaFunc,
-	__glXDisp_BlendFunc,
-	__glXDisp_LogicOp,
-	__glXDisp_StencilFunc,
-	__glXDisp_StencilOp,
-	__glXDisp_DepthFunc,
-	__glXDisp_PixelZoom,
-	__glXDisp_PixelTransferf,
-	__glXDisp_PixelTransferi,
-	__glXDisp_PixelMapfv,
-	__glXDisp_PixelMapuiv,
-	__glXDisp_PixelMapusv,
-	__glXDisp_ReadBuffer,
-	__glXDisp_CopyPixels,
-	__glXDisp_DrawPixels,
-	__glXDisp_DepthRange,
-	__glXDisp_Frustum,
-	__glXDisp_LoadIdentity,
-	__glXDisp_LoadMatrixf,
-	__glXDisp_LoadMatrixd,
-	__glXDisp_MatrixMode,
-	__glXDisp_MultMatrixf,
-	__glXDisp_MultMatrixd,
-	__glXDisp_Ortho,
-	__glXDisp_PopMatrix,
-	__glXDisp_PushMatrix,
-	__glXDisp_Rotated,
-	__glXDisp_Rotatef,
-	__glXDisp_Scaled,
-	__glXDisp_Scalef,
-	__glXDisp_Translated,
-	__glXDisp_Translatef,
-	__glXDisp_Viewport,
-	__glXDisp_PolygonOffset,
-	__glXDisp_DrawArrays,
-	__glXDisp_Indexubv,
-	__glXDisp_ColorSubTable,
-	__glXDisp_CopyColorSubTable,
-	__glXDisp_ActiveTextureARB,
-	__glXDisp_MultiTexCoord1dvARB,
-	__glXDisp_MultiTexCoord1fvARB,
-	__glXDisp_MultiTexCoord1ivARB,
-	__glXDisp_MultiTexCoord1svARB,
-	__glXDisp_MultiTexCoord2dvARB,
-	__glXDisp_MultiTexCoord2fvARB,
-	__glXDisp_MultiTexCoord2ivARB,
-	__glXDisp_MultiTexCoord2svARB,
-	__glXDisp_MultiTexCoord3dvARB,
-	__glXDisp_MultiTexCoord3fvARB,
-	__glXDisp_MultiTexCoord3ivARB,
-	__glXDisp_MultiTexCoord3svARB,
-	__glXDisp_MultiTexCoord4dvARB,
-	__glXDisp_MultiTexCoord4fvARB,
-	__glXDisp_MultiTexCoord4ivARB,
-	__glXDisp_MultiTexCoord4svARB, /* 213 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 220 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXDisp_SampleCoverageARB,
-#ifndef MISSING_GL_EXTS
-	__glXDisp_WindowPos3fvMESA /* 230 */
-#else
-	__glXNoSuchRenderOpcode
-#endif
-};
-
-
-__GLXdispatchRenderProcPtr __glXSwapRenderTable[__GLX_RENDER_TABLE_SIZE] = {
-	__glXNoSuchRenderOpcode,
-	__glXDispSwap_CallList,
-	__glXDispSwap_CallLists,
-	__glXDispSwap_ListBase,
-	__glXDispSwap_Begin,
-	__glXDispSwap_Bitmap,
-	__glXDispSwap_Color3bv,
-	__glXDispSwap_Color3dv,
-	__glXDispSwap_Color3fv,
-	__glXDispSwap_Color3iv,
-	__glXDispSwap_Color3sv,
-	__glXDispSwap_Color3ubv,
-	__glXDispSwap_Color3uiv,
-	__glXDispSwap_Color3usv,
-	__glXDispSwap_Color4bv,
-	__glXDispSwap_Color4dv,
-	__glXDispSwap_Color4fv,
-	__glXDispSwap_Color4iv,
-	__glXDispSwap_Color4sv,
-	__glXDispSwap_Color4ubv,
-	__glXDispSwap_Color4uiv,
-	__glXDispSwap_Color4usv,
-	__glXDispSwap_EdgeFlagv,
-	__glXDispSwap_End,
-	__glXDispSwap_Indexdv,
-	__glXDispSwap_Indexfv,
-	__glXDispSwap_Indexiv,
-	__glXDispSwap_Indexsv,
-	__glXDispSwap_Normal3bv,
-	__glXDispSwap_Normal3dv,
-	__glXDispSwap_Normal3fv,
-	__glXDispSwap_Normal3iv,
-	__glXDispSwap_Normal3sv,
-	__glXDispSwap_RasterPos2dv,
-	__glXDispSwap_RasterPos2fv,
-	__glXDispSwap_RasterPos2iv,
-	__glXDispSwap_RasterPos2sv,
-	__glXDispSwap_RasterPos3dv,
-	__glXDispSwap_RasterPos3fv,
-	__glXDispSwap_RasterPos3iv,
-	__glXDispSwap_RasterPos3sv,
-	__glXDispSwap_RasterPos4dv,
-	__glXDispSwap_RasterPos4fv,
-	__glXDispSwap_RasterPos4iv,
-	__glXDispSwap_RasterPos4sv,
-	__glXDispSwap_Rectdv,
-	__glXDispSwap_Rectfv,
-	__glXDispSwap_Rectiv,
-	__glXDispSwap_Rectsv,
-	__glXDispSwap_TexCoord1dv,
-	__glXDispSwap_TexCoord1fv,
-	__glXDispSwap_TexCoord1iv,
-	__glXDispSwap_TexCoord1sv,
-	__glXDispSwap_TexCoord2dv,
-	__glXDispSwap_TexCoord2fv,
-	__glXDispSwap_TexCoord2iv,
-	__glXDispSwap_TexCoord2sv,
-	__glXDispSwap_TexCoord3dv,
-	__glXDispSwap_TexCoord3fv,
-	__glXDispSwap_TexCoord3iv,
-	__glXDispSwap_TexCoord3sv,
-	__glXDispSwap_TexCoord4dv,
-	__glXDispSwap_TexCoord4fv,
-	__glXDispSwap_TexCoord4iv,
-	__glXDispSwap_TexCoord4sv,
-	__glXDispSwap_Vertex2dv,
-	__glXDispSwap_Vertex2fv,
-	__glXDispSwap_Vertex2iv,
-	__glXDispSwap_Vertex2sv,
-	__glXDispSwap_Vertex3dv,
-	__glXDispSwap_Vertex3fv,
-	__glXDispSwap_Vertex3iv,
-	__glXDispSwap_Vertex3sv,
-	__glXDispSwap_Vertex4dv,
-	__glXDispSwap_Vertex4fv,
-	__glXDispSwap_Vertex4iv,
-	__glXDispSwap_Vertex4sv,
-	__glXDispSwap_ClipPlane,
-	__glXDispSwap_ColorMaterial,
-	__glXDispSwap_CullFace,
-	__glXDispSwap_Fogf,
-	__glXDispSwap_Fogfv,
-	__glXDispSwap_Fogi,
-	__glXDispSwap_Fogiv,
-	__glXDispSwap_FrontFace,
-	__glXDispSwap_Hint,
-	__glXDispSwap_Lightf,
-	__glXDispSwap_Lightfv,
-	__glXDispSwap_Lighti,
-	__glXDispSwap_Lightiv,
-	__glXDispSwap_LightModelf,
-	__glXDispSwap_LightModelfv,
-	__glXDispSwap_LightModeli,
-	__glXDispSwap_LightModeliv,
-	__glXDispSwap_LineStipple,
-	__glXDispSwap_LineWidth,
-	__glXDispSwap_Materialf,
-	__glXDispSwap_Materialfv,
-	__glXDispSwap_Materiali,
-	__glXDispSwap_Materialiv,
-	__glXDispSwap_PointSize,
-	__glXDispSwap_PolygonMode,
-	__glXDispSwap_PolygonStipple,
-	__glXDispSwap_Scissor,
-	__glXDispSwap_ShadeModel,
-	__glXDispSwap_TexParameterf,
-	__glXDispSwap_TexParameterfv,
-	__glXDispSwap_TexParameteri,
-	__glXDispSwap_TexParameteriv,
-	__glXDispSwap_TexImage1D,
-	__glXDispSwap_TexImage2D,
-	__glXDispSwap_TexEnvf,
-	__glXDispSwap_TexEnvfv,
-	__glXDispSwap_TexEnvi,
-	__glXDispSwap_TexEnviv,
-	__glXDispSwap_TexGend,
-	__glXDispSwap_TexGendv,
-	__glXDispSwap_TexGenf,
-	__glXDispSwap_TexGenfv,
-	__glXDispSwap_TexGeni,
-	__glXDispSwap_TexGeniv,
-	__glXDispSwap_InitNames,
-	__glXDispSwap_LoadName,
-	__glXDispSwap_PassThrough,
-	__glXDispSwap_PopName,
-	__glXDispSwap_PushName,
-	__glXDispSwap_DrawBuffer,
-	__glXDispSwap_Clear,
-	__glXDispSwap_ClearAccum,
-	__glXDispSwap_ClearIndex,
-	__glXDispSwap_ClearColor,
-	__glXDispSwap_ClearStencil,
-	__glXDispSwap_ClearDepth,
-	__glXDispSwap_StencilMask,
-	__glXDispSwap_ColorMask,
-	__glXDispSwap_DepthMask,
-	__glXDispSwap_IndexMask,
-	__glXDispSwap_Accum,
-	__glXDispSwap_Disable,
-	__glXDispSwap_Enable,
-	__glXNoSuchRenderOpcode,
-	__glXDispSwap_PopAttrib,
-	__glXDispSwap_PushAttrib,
-	__glXDispSwap_Map1d,
-	__glXDispSwap_Map1f,
-	__glXDispSwap_Map2d,
-	__glXDispSwap_Map2f,
-	__glXDispSwap_MapGrid1d,
-	__glXDispSwap_MapGrid1f,
-	__glXDispSwap_MapGrid2d,
-	__glXDispSwap_MapGrid2f,
-	__glXDispSwap_EvalCoord1dv,
-	__glXDispSwap_EvalCoord1fv,
-	__glXDispSwap_EvalCoord2dv,
-	__glXDispSwap_EvalCoord2fv,
-	__glXDispSwap_EvalMesh1,
-	__glXDispSwap_EvalPoint1,
-	__glXDispSwap_EvalMesh2,
-	__glXDispSwap_EvalPoint2,
-	__glXDispSwap_AlphaFunc,
-	__glXDispSwap_BlendFunc,
-	__glXDispSwap_LogicOp,
-	__glXDispSwap_StencilFunc,
-	__glXDispSwap_StencilOp,
-	__glXDispSwap_DepthFunc,
-	__glXDispSwap_PixelZoom,
-	__glXDispSwap_PixelTransferf,
-	__glXDispSwap_PixelTransferi,
-	__glXDispSwap_PixelMapfv,
-	__glXDispSwap_PixelMapuiv,
-	__glXDispSwap_PixelMapusv,
-	__glXDispSwap_ReadBuffer,
-	__glXDispSwap_CopyPixels,
-	__glXDispSwap_DrawPixels,
-	__glXDispSwap_DepthRange,
-	__glXDispSwap_Frustum,
-	__glXDispSwap_LoadIdentity,
-	__glXDispSwap_LoadMatrixf,
-	__glXDispSwap_LoadMatrixd,
-	__glXDispSwap_MatrixMode,
-	__glXDispSwap_MultMatrixf,
-	__glXDispSwap_MultMatrixd,
-	__glXDispSwap_Ortho,
-	__glXDispSwap_PopMatrix,
-	__glXDispSwap_PushMatrix,
-	__glXDispSwap_Rotated,
-	__glXDispSwap_Rotatef,
-	__glXDispSwap_Scaled,
-	__glXDispSwap_Scalef,
-	__glXDispSwap_Translated,
-	__glXDispSwap_Translatef,
-	__glXDispSwap_Viewport,
-	__glXDispSwap_PolygonOffset,
-	__glXDispSwap_DrawArrays,
-	__glXDispSwap_Indexubv,
-	__glXDispSwap_ColorSubTable,
-	__glXDispSwap_CopyColorSubTable,
-	__glXDispSwap_ActiveTextureARB,
-	__glXDispSwap_MultiTexCoord1dvARB,
-	__glXDispSwap_MultiTexCoord1fvARB,
-	__glXDispSwap_MultiTexCoord1ivARB,
-	__glXDispSwap_MultiTexCoord1svARB,
-	__glXDispSwap_MultiTexCoord2dvARB,
-	__glXDispSwap_MultiTexCoord2fvARB,
-	__glXDispSwap_MultiTexCoord2ivARB,
-	__glXDispSwap_MultiTexCoord2svARB,
-	__glXDispSwap_MultiTexCoord3dvARB,
-	__glXDispSwap_MultiTexCoord3fvARB,
-	__glXDispSwap_MultiTexCoord3ivARB,
-	__glXDispSwap_MultiTexCoord3svARB,
-	__glXDispSwap_MultiTexCoord4dvARB,
-	__glXDispSwap_MultiTexCoord4fvARB,
-	__glXDispSwap_MultiTexCoord4ivARB,
-	__glXDispSwap_MultiTexCoord4svARB, /* 213 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 220 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXDispSwap_SampleCoverageARB,
-#ifndef MISSING_GL_EXTS
-	__glXDispSwap_WindowPos3fvMESA /* 230 */
-#else
-	__glXNoSuchRenderOpcode
-#endif
-};
diff --git a/GL/glx/g_disptab.h b/GL/glx/g_disptab.h
index 5ee242f..f9a09cc 100644
--- a/GL/glx/g_disptab.h
+++ b/GL/glx/g_disptab.h
@@ -34,7 +34,6 @@
 ** version 1.2.1 Specification.
 */
 
-extern int __glXDisp_CopySubBufferMESA(__GLXclientState *cl, GLbyte *pc);
 extern int __glXDisp_GetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc);
 extern int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc);
 extern int __glXDisp_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc);
@@ -43,7 +42,6 @@ extern int __glXDisp_DestroyHyperpipeCon
 extern int __glXDisp_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
 extern int __glXDisp_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
 
-extern int __glXDispSwap_CopySubBufferMESA(__GLXclientState *cl, GLbyte *pc);
 extern int __glXDispSwap_GetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc);
 extern int __glXDispSwap_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc);
 extern int __glXDispSwap_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc);
@@ -52,20 +50,4 @@ extern int __glXDispSwap_DestroyHyperpip
 extern int __glXDispSwap_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
 extern int __glXDispSwap_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
 
-
-
-#define __GLX_MIN_GLXCMD_OPCODE 1
-#define __GLX_MAX_GLXCMD_OPCODE 20
-#define __GLX_MIN_RENDER_OPCODE 1
-#define __GLX_MAX_RENDER_OPCODE 230
-#define __GLX_RENDER_TABLE_SIZE 231
-extern __GLXdispatchRenderProcPtr __glXRenderTable[__GLX_RENDER_TABLE_SIZE];
-extern __GLXdispatchRenderProcPtr __glXSwapRenderTable[__GLX_RENDER_TABLE_SIZE];
-
-/* Copied from mesa src/glx/x11/glxcmds.c
- *
- * Apparently there's no standardized opcode for this extension.
- */
-#define X_GLXvop_CopySubBufferMESA 5154 /* temporary */
-
 #endif /* _GLX_g_disptab_h_ */
diff --git a/GL/glx/g_disptab_EXT.c b/GL/glx/g_disptab_EXT.c
deleted file mode 100644
index 9c171ac..0000000
--- a/GL/glx/g_disptab_EXT.c
+++ /dev/null
@@ -1,4643 +0,0 @@
-/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-** 
-** http://oss.sgi.com/projects/FreeB
-** 
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-** 
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-** 
-** Additional Notice Provisions: This software was created using the
-** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
-** not been independently verified as being compliant with the OpenGL(R)
-** version 1.2.1 Specification.
-*/
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include "glxserver.h"
-#include "glxext.h"
-#include "g_disptab_EXT.h"
-#include "indirect_dispatch.h"
-
-__GLXdispatchRenderProcPtr __glXRenderTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT - __GLX_MIN_RENDER_OPCODE_EXT + 1] = {
-	__glXDisp_ColorTable, /* 2053 */
-	__glXDisp_ColorTableParameterfv, /* 2054 */
-	__glXDisp_ColorTableParameteriv,
-	__glXDisp_CopyColorTable,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 2060 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-#ifndef MISSING_GL_EXTS
-	__glXDisp_PointParameterfEXT, /* 2065 */
-	__glXDisp_PointParameterfvEXT, /* 2066 */
-#else
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-#endif
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 2070 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXDisp_BlendColor,     /* 4096 */
-	__glXDisp_BlendEquation,  /* 4097 */
-	__glXNoSuchRenderOpcode,  /* 4098 */
-	__glXDisp_TexSubImage1D,  /* 4099 */
-	__glXDisp_TexSubImage2D,  /* 4100 */
-	__glXDisp_ConvolutionFilter1D,
-	__glXDisp_ConvolutionFilter2D,
-	__glXDisp_ConvolutionParameterf,
-	__glXDisp_ConvolutionParameterfv,
-	__glXDisp_ConvolutionParameteri,
-	__glXDisp_ConvolutionParameteriv,
-	__glXDisp_CopyConvolutionFilter1D,
-	__glXDisp_CopyConvolutionFilter2D,
-	__glXDisp_SeparableFilter2D,
-	__glXDisp_Histogram,          /* 4110 */
-	__glXDisp_Minmax,
-	__glXDisp_ResetHistogram,
-	__glXDisp_ResetMinmax,
-	__glXDisp_TexImage3D,
-	__glXDisp_TexSubImage3D,
-	__glXDisp_DrawArrays,
-	__glXDisp_BindTexture,
-	__glXDisp_PrioritizeTextures,
-	__glXDisp_CopyTexImage1D,
-	__glXDisp_CopyTexImage2D,     /* 4120 */
-	__glXDisp_CopyTexSubImage1D,  /* 4121 */
-	__glXDisp_CopyTexSubImage2D,  /* 4122 */
-	__glXDisp_CopyTexSubImage3D,  /* 4123 */
-#ifndef MISSING_GL_EXTS
-	__glXDisp_FogCoordfvEXT,         /* 4124 */
-	__glXDisp_FogCoorddvEXT,         /* 4125 */
-	__glXDisp_SecondaryColor3bvEXT,  /* 4126 */
-	__glXDisp_SecondaryColor3svEXT,  /* 4127 */
-	__glXDisp_SecondaryColor3ivEXT,  /* 4128 */
-	__glXDisp_SecondaryColor3fvEXT,  /* 4129 */
-	__glXDisp_SecondaryColor3dvEXT,  /* 4130 */
-	__glXDisp_SecondaryColor3ubvEXT, /* 4131 */
-	__glXDisp_SecondaryColor3usvEXT, /* 4132 */
-	__glXDisp_SecondaryColor3uivEXT, /* 4133 */
-	__glXDisp_BlendFuncSeparateEXT,  /* 4134 */
-#else
-	__glXNoSuchRenderOpcode,      /* 4124 */
-	__glXNoSuchRenderOpcode,      /* 4125 */
-	__glXNoSuchRenderOpcode,      /* 4126 */
-	__glXNoSuchRenderOpcode,      /* 4127 */
-	__glXNoSuchRenderOpcode,      /* 4128 */
-	__glXNoSuchRenderOpcode,      /* 4129 */
-	__glXNoSuchRenderOpcode,      /* 4130 */
-	__glXNoSuchRenderOpcode,      /* 4131 */
-	__glXNoSuchRenderOpcode,      /* 4132 */
-	__glXNoSuchRenderOpcode,      /* 4133 */
-	__glXNoSuchRenderOpcode,      /* 4134 */
-#endif
-	__glXNoSuchRenderOpcode,      /* 4135 */
-	__glXNoSuchRenderOpcode,      /* 4136 */
-	__glXNoSuchRenderOpcode,      /* 4137 */
-	__glXNoSuchRenderOpcode,      /* 4138 */
-	__glXNoSuchRenderOpcode,      /* 4139 */
-	__glXNoSuchRenderOpcode, /* 4140 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4150 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4160 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4170 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4180 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4190 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4200 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4210 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4219 */
-#ifndef MISSING_GL_EXTS
-	__glXDisp_ActiveStencilFaceEXT, /* 4220 */
-	__glXDisp_PointParameteriNV,    /* 4221 */
-	__glXDisp_PointParameterivNV,   /* 4222 */
-#else
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-#endif
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-
-	__glXDisp_BindRenderbufferEXT, /* 4316 */
-	__glXDisp_DeleteRenderbuffersEXT, /* 4317 */
-	__glXDisp_RenderbufferStorageEXT, /* 4318 */
-	__glXDisp_BindFramebufferEXT, /* 4319 */
-	__glXDisp_DeleteFramebuffersEXT, /* 4320 */
-	__glXDisp_FramebufferTexture1DEXT, /* 4321 */
-	__glXDisp_FramebufferTexture2DEXT, /* 4322 */
-	__glXDisp_FramebufferTexture3DEXT, /* 4323 */
-	__glXDisp_FramebufferRenderbufferEXT, /* 4324 */
-	__glXDisp_GenerateMipmapEXT /* 4325 */
-};
-
-
-__GLXdispatchRenderProcPtr __glXSwapRenderTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT - __GLX_MIN_RENDER_OPCODE_EXT + 1] = {
-	__glXDispSwap_ColorTable, /* 2053 */
-	__glXDispSwap_ColorTableParameterfv, /* 2054 */
-	__glXDispSwap_ColorTableParameteriv,
-	__glXDispSwap_CopyColorTable,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 2060 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-#ifndef MISSING_GL_EXTS
-	__glXDispSwap_PointParameterfEXT, /* 2065 */
-	__glXDispSwap_PointParameterfvEXT, /* 2066 */
-#else
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-#endif
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 2070 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXDispSwap_BlendColor,
-	__glXDispSwap_BlendEquation,
-	__glXNoSuchRenderOpcode,
-	__glXDispSwap_TexSubImage1D,
-	__glXDispSwap_TexSubImage2D,
-	__glXDispSwap_ConvolutionFilter1D,
-	__glXDispSwap_ConvolutionFilter2D,
-	__glXDispSwap_ConvolutionParameterf,
-	__glXDispSwap_ConvolutionParameterfv,
-	__glXDispSwap_ConvolutionParameteri,
-	__glXDispSwap_ConvolutionParameteriv,
-	__glXDispSwap_CopyConvolutionFilter1D,
-	__glXDispSwap_CopyConvolutionFilter2D,
-	__glXDispSwap_SeparableFilter2D,
-	__glXDispSwap_Histogram,
-	__glXDispSwap_Minmax,
-	__glXDispSwap_ResetHistogram,
-	__glXDispSwap_ResetMinmax,
-	__glXDispSwap_TexImage3D,
-	__glXDispSwap_TexSubImage3D,
-	__glXDispSwap_DrawArrays,
-	__glXDispSwap_BindTexture,
-	__glXDispSwap_PrioritizeTextures,
-	__glXDispSwap_CopyTexImage1D,
-	__glXDispSwap_CopyTexImage2D,     /* 4120 */
-	__glXDispSwap_CopyTexSubImage1D,  /* 4121 */
-	__glXDispSwap_CopyTexSubImage2D,  /* 4122 */
-	__glXDispSwap_CopyTexSubImage3D,  /* 4123 */
-#ifndef MISSING_GL_EXTS
-	__glXDispSwap_FogCoordfvEXT,         /* 4124 */
-	__glXDispSwap_FogCoorddvEXT,         /* 4125 */
-	__glXDispSwap_SecondaryColor3bvEXT,  /* 4126 */
-	__glXDispSwap_SecondaryColor3svEXT,  /* 4127 */
-	__glXDispSwap_SecondaryColor3ivEXT,  /* 4128 */
-	__glXDispSwap_SecondaryColor3fvEXT,  /* 4129 */
-	__glXDispSwap_SecondaryColor3dvEXT,  /* 4130 */
-	__glXDispSwap_SecondaryColor3ubvEXT, /* 4131 */
-	__glXDispSwap_SecondaryColor3usvEXT, /* 4132 */
-	__glXDispSwap_SecondaryColor3uivEXT, /* 4133 */
-	__glXDisp_BlendFuncSeparateEXT,      /* 4134 */
-#else
-	__glXNoSuchRenderOpcode,          /* 4124 */
-	__glXNoSuchRenderOpcode,          /* 4125 */
-	__glXNoSuchRenderOpcode,          /* 4126 */
-	__glXNoSuchRenderOpcode,          /* 4127 */
-	__glXNoSuchRenderOpcode,          /* 4128 */
-	__glXNoSuchRenderOpcode,          /* 4129 */
-	__glXNoSuchRenderOpcode,          /* 4130 */
-	__glXNoSuchRenderOpcode,          /* 4131 */
-	__glXNoSuchRenderOpcode,          /* 4132 */
-	__glXNoSuchRenderOpcode,          /* 4133 */
-	__glXNoSuchRenderOpcode,          /* 4134 */
-#endif
-	__glXNoSuchRenderOpcode,          /* 4135 */
-	__glXNoSuchRenderOpcode,          /* 4136 */
-	__glXNoSuchRenderOpcode,          /* 4137 */
-	__glXNoSuchRenderOpcode,          /* 4138 */
-	__glXNoSuchRenderOpcode,          /* 4139 */
-	__glXNoSuchRenderOpcode, /* 4140 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4150 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4160 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4170 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4180 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4190 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4200 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4210 */
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode, /* 4219 */
-#ifndef MISSING_GL_EXTS
-	__glXDispSwap_ActiveStencilFaceEXT, /* 4220 */
-	__glXDispSwap_PointParameteriNV,    /* 4221 */
-	__glXDispSwap_PointParameterivNV,   /* 4222 */
-#else
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-#endif
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-	__glXNoSuchRenderOpcode,
-
-	__glXDispSwap_BindRenderbufferEXT, /* 4316 */
-	__glXDispSwap_DeleteRenderbuffersEXT, /* 4317 */
-	__glXDispSwap_RenderbufferStorageEXT, /* 4318 */
-	__glXDispSwap_BindFramebufferEXT, /* 4319 */
-	__glXDispSwap_DeleteFramebuffersEXT, /* 4320 */
-	__glXDispSwap_FramebufferTexture1DEXT, /* 4321 */
-	__glXDispSwap_FramebufferTexture2DEXT, /* 4322 */
-	__glXDispSwap_FramebufferTexture3DEXT, /* 4323 */
-	__glXDispSwap_FramebufferRenderbufferEXT, /* 4324 */
-	__glXDispSwap_GenerateMipmapEXT /* 4325 */
-};
diff --git a/GL/glx/g_disptab_EXT.h b/GL/glx/g_disptab_EXT.h
deleted file mode 100644
index 0b59171..0000000
--- a/GL/glx/g_disptab_EXT.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef _GLX_g_disptab_EXT_h_
-#define _GLX_g_disptab_EXT_h_
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-** 
-** http://oss.sgi.com/projects/FreeB
-** 
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-** 
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-** 
-** Additional Notice Provisions: This software was created using the
-** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
-** not been independently verified as being compliant with the OpenGL(R)
-** version 1.2.1 Specification.
-*/
-
-#define __GLX_MIN_RENDER_OPCODE_EXT 2053
-#define __GLX_MAX_RENDER_OPCODE_EXT 4325
-#define __GLX_RENDER_TABLE_SIZE_EXT (__GLX_MAX_RENDER_OPCODE_EXT - __GLX_MIN_RENDER_OPCODE_EXT + 1)
-extern __GLXdispatchRenderProcPtr __glXRenderTable_EXT[__GLX_RENDER_TABLE_SIZE_EXT];
-extern __GLXdispatchRenderProcPtr __glXSwapRenderTable_EXT[__GLX_RENDER_TABLE_SIZE_EXT];
-#endif /* _GLX_g_disptab_EXT_h_ */
diff --git a/GL/glx/glxcmds.c b/GL/glx/glxcmds.c
index 01e8ffa..3092f85 100644
--- a/GL/glx/glxcmds.c
+++ b/GL/glx/glxcmds.c
@@ -48,7 +48,6 @@
 #include "g_disptab.h"
 #include <pixmapstr.h>
 #include <windowstr.h>
-#include "g_disptab_EXT.h"
 #include "glxutil.h"
 #include "glxext.h"
 #include "glcontextmodes.h"
diff --git a/GL/glx/glxcmdsswap.c b/GL/glx/glxcmdsswap.c
index 551824c..d59dfdb 100644
--- a/GL/glx/glxcmdsswap.c
+++ b/GL/glx/glxcmdsswap.c
@@ -44,8 +44,7 @@
 #include "glxutil.h"
 #include <GL/glxtokens.h>
 #include <unpack.h>
-#include <g_disptab.h>
-#include <g_disptab_EXT.h>
+#include "g_disptab.h"
 #include <pixmapstr.h>
 #include <windowstr.h>
 #include "glxext.h"
diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
index cfa9996..fa7f1dd 100644
--- a/GL/glx/glxdri.c
+++ b/GL/glx/glxdri.c
@@ -53,7 +53,6 @@
 #include "glcontextmodes.h"
 
 #include "g_disptab.h"
-#include "g_disptab_EXT.h"
 #include "glapitable.h"
 #include "glapi.h"
 #include "glthread.h"
diff-tree a29e6dd2d2d45c18c52737bb3b7945aafcea5032 (from ae608b2071d882966e9c7ede71f846b1ecec0b23)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Thu Aug 24 17:58:52 2006 -0700

    Add some missing bits of GL_SGI_color_table.

diff --git a/GL/glx/indirect_size_get.c b/GL/glx/indirect_size_get.c
index a814655..c16b29a 100644
--- a/GL/glx/indirect_size_get.c
+++ b/GL/glx/indirect_size_get.c
@@ -1154,6 +1154,8 @@ ALIAS( GetMinmaxParameteriv, GetMinmaxPa
 ALIAS( GetVertexAttribfvARB, GetVertexAttribdvARB )
 ALIAS( GetVertexAttribivARB, GetVertexAttribdvARB )
 ALIAS( GetQueryObjectuivARB, GetQueryObjectivARB )
+ALIAS( GetColorTableParameterfvSGI, GetColorTableParameterfv )
+ALIAS( GetColorTableParameterivSGI, GetColorTableParameterfv )
 ALIAS( GetVertexAttribfvNV, GetVertexAttribdvNV )
 ALIAS( GetVertexAttribivNV, GetVertexAttribdvNV )
 ALIAS( PointParameterivNV, PointParameterfvEXT )
diff --git a/GL/glx/indirect_size_get.h b/GL/glx/indirect_size_get.h
index 3e46b3f..c6f9532 100644
--- a/GL/glx/indirect_size_get.h
+++ b/GL/glx/indirect_size_get.h
@@ -86,6 +86,8 @@ extern INTERNAL PURE FASTCALL GLint __gl
 extern INTERNAL PURE FASTCALL GLint __glGetQueryObjectivARB_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetQueryObjectuivARB_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetQueryivARB_size(GLenum);
+extern INTERNAL PURE FASTCALL GLint __glGetColorTableParameterfvSGI_size(GLenum);
+extern INTERNAL PURE FASTCALL GLint __glGetColorTableParameterivSGI_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetProgramivNV_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribdvNV_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribfvNV_size(GLenum);
diff --git a/GL/glx/singlepix.c b/GL/glx/singlepix.c
index 10a16b1..62588b0 100644
--- a/GL/glx/singlepix.c
+++ b/GL/glx/singlepix.c
@@ -463,6 +463,59 @@ int __glXDisp_GetColorTable(__GLXclientS
     return Success;
 }
 
+int __glXDisp_GetColorTableSGI(__GLXclientState *cl, GLbyte *pc)
+{
+    GLint compsize;
+    GLenum format, type, target;
+    GLboolean swapBytes;
+    __GLXcontext *cx;
+    ClientPtr client = cl->client;
+    int error;
+    char *answer, answerBuffer[200];
+    GLint width=0;
+
+    cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
+    if (!cx) {
+	return error;
+    }
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    target = *(GLenum *)(pc + 0);
+    format = *(GLenum *)(pc + 4);
+    type = *(GLenum *)(pc + 8);
+    swapBytes = *(GLboolean *)(pc + 12);
+
+    CALL_GetColorTableParameterivSGI( GET_DISPATCH(), (target, GL_COLOR_TABLE_WIDTH, &width) );
+    /*
+     * The one query above might fail if we're in a state where queries
+     * are illegal, but then width would still be zero anyway.
+     */
+    compsize = __glGetTexImage_size(target,1,format,type,width,1,1);
+    if (compsize < 0) compsize = 0;
+
+    CALL_PixelStorei( GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes) );
+    __GLX_GET_ANSWER_BUFFER(answer,cl,compsize,1);
+    __glXClearErrorOccured();
+    CALL_GetColorTableSGI( GET_DISPATCH(), (
+		  *(GLenum   *)(pc + 0),
+		  *(GLenum   *)(pc + 4),
+		  *(GLenum   *)(pc + 8),
+		  answer
+		  ) );
+
+    if (__glXErrorOccured()) {
+	__GLX_BEGIN_REPLY(0);
+	__GLX_SEND_HEADER();
+    } else {
+	__GLX_BEGIN_REPLY(compsize);
+	((xGLXGetColorTableReply *)&__glXReply)->width = width;
+	__GLX_SEND_HEADER();
+	__GLX_SEND_VOID_ARRAY(compsize);
+    }
+
+    return Success;
+}
+
 int __glXDisp_GetCompressedTexImageARB(__GLXclientState *cl, GLbyte *pc)
 {
     return BadRequest;
diff --git a/GL/glx/singlepixswap.c b/GL/glx/singlepixswap.c
index b22dc5f..d5510b9 100644
--- a/GL/glx/singlepixswap.c
+++ b/GL/glx/singlepixswap.c
@@ -518,6 +518,65 @@ int __glXDispSwap_GetColorTable(__GLXcli
     return Success;
 }
 
+int __glXDispSwap_GetColorTableSGI(__GLXclientState *cl, GLbyte *pc)
+{
+    GLint compsize;
+    GLenum format, type, target;
+    GLboolean swapBytes;
+    __GLXcontext *cx;
+    ClientPtr client = cl->client;
+    int error;
+    __GLX_DECLARE_SWAP_VARIABLES;
+    char *answer, answerBuffer[200];
+    GLint width=0;
+
+    cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
+    if (!cx) {
+	return error;
+    }
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    __GLX_SWAP_INT(pc+0);
+    __GLX_SWAP_INT(pc+4);
+    __GLX_SWAP_INT(pc+8);
+
+    format = *(GLenum *)(pc + 4);
+    type = *(GLenum *)(pc + 8);
+    target = *(GLenum *)(pc + 0);
+    swapBytes = *(GLboolean *)(pc + 12);
+
+    CALL_GetColorTableParameterivSGI( GET_DISPATCH(), (target, GL_COLOR_TABLE_WIDTH, &width) );
+    /*
+     * The one query above might fail if we're in a state where queries
+     * are illegal, but then width would still be zero anyway.
+     */
+    compsize = __glGetTexImage_size(target,1,format,type,width,1,1);
+    if (compsize < 0) compsize = 0;
+
+    CALL_PixelStorei( GET_DISPATCH(), (GL_PACK_SWAP_BYTES, !swapBytes) );
+    __GLX_GET_ANSWER_BUFFER(answer,cl,compsize,1);
+    __glXClearErrorOccured();
+    CALL_GetColorTableSGI( GET_DISPATCH(), (
+		  *(GLenum   *)(pc + 0),
+		  *(GLenum   *)(pc + 4),
+		  *(GLenum   *)(pc + 8),
+		  answer
+		  ) );
+
+    if (__glXErrorOccured()) {
+	__GLX_BEGIN_REPLY(0);
+	__GLX_SWAP_REPLY_HEADER();
+    } else {
+	__GLX_BEGIN_REPLY(compsize);
+	__GLX_SWAP_REPLY_HEADER();
+	__GLX_SWAP_INT(&width);
+	((xGLXGetColorTableReply *)&__glXReply)->width = width;
+	__GLX_SEND_VOID_ARRAY(compsize);
+    }
+
+    return Success;
+}
+
 int __glXDispSwap_GetCompressedTexImageARB(__GLXclientState *cl, GLbyte *pc)
 {
     return BadRequest;
diff-tree ae608b2071d882966e9c7ede71f846b1ecec0b23 (from parents)
Merge: 2c865277fe1d056981d1020e1af001d2319252c0 b879356ce96929d02bcb75b9aa24b17ac7e28125
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Thu Aug 24 14:56:33 2006 -0700

    Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver

diff-tree 2c865277fe1d056981d1020e1af001d2319252c0 (from 7d5de5c6657304246473d7ddd5c29bb0c7a3bc34)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Thu Aug 24 14:54:49 2006 -0700

    Regenerate from gl_API.xml 1.63.  Enable extensions.
    
    gl_API.xml 1.63 corrects some problems with GLX protocol for
    GL_EXT_paletted_texture and GL_SGI_color_table.  Regenerate from that
    file, and enable those extensions and GL_EXT_shared_texture_palette.

diff --git a/GL/glx/glxscreens.c b/GL/glx/glxscreens.c
index 40de9ee..763e55e 100644
--- a/GL/glx/glxscreens.c
+++ b/GL/glx/glxscreens.c
@@ -81,12 +81,14 @@ static const char GLServerExtensions[] =
 			"GL_EXT_framebuffer_object "
 			"GL_EXT_multi_draw_arrays "
 			"GL_EXT_packed_pixels "
+			"GL_EXT_paletted_texture "
 			"GL_EXT_point_parameters "
 			"GL_EXT_polygon_offset "
 			"GL_EXT_rescale_normal "
 			"GL_EXT_secondary_color "
 			"GL_EXT_separate_specular_color "
 			"GL_EXT_shadow_funcs "
+			"GL_EXT_shared_texture_palette "
  			"GL_EXT_stencil_two_side "
 			"GL_EXT_stencil_wrap "
 			"GL_EXT_subtexture "
@@ -122,6 +124,7 @@ static const char GLServerExtensions[] =
 			"GL_NV_texture_expand_normal "
 			"GL_NV_texture_rectangle "
 			"GL_SGI_color_matrix "
+			"GL_SGI_color_table "
 			"GL_SGIS_generate_mipmap "
 			"GL_SGIS_multisample "
 			"GL_SGIS_point_parameters "
diff --git a/GL/glx/indirect_dispatch.c b/GL/glx/indirect_dispatch.c
index 142eba2..9c2b7b1 100644
--- a/GL/glx/indirect_dispatch.c
+++ b/GL/glx/indirect_dispatch.c
@@ -4414,6 +4414,64 @@ void __glXDisp_DrawBuffersARB(GLbyte * p
     ) );
 }
 
+int __glXDisp_GetColorTableParameterfvSGI(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLenum pname = *(GLenum   *)(pc +  4);
+
+        const GLuint compsize = __glGetColorTableParameterfvSGI_size(pname);
+        GLfloat answerBuffer[200];
+        GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+        if (params == NULL) return BadAlloc;
+        __glXClearErrorOccured();
+
+        CALL_GetColorTableParameterfvSGI( GET_DISPATCH(), (
+            *(GLenum   *)(pc +  0),
+            pname,
+            params
+        ) );
+        __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
+        error = Success;
+    }
+
+    return error;
+}
+
+int __glXDisp_GetColorTableParameterivSGI(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLenum pname = *(GLenum   *)(pc +  4);
+
+        const GLuint compsize = __glGetColorTableParameterivSGI_size(pname);
+        GLint answerBuffer[200];
+        GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+        if (params == NULL) return BadAlloc;
+        __glXClearErrorOccured();
+
+        CALL_GetColorTableParameterivSGI( GET_DISPATCH(), (
+            *(GLenum   *)(pc +  0),
+            pname,
+            params
+        ) );
+        __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
+        error = Success;
+    }
+
+    return error;
+}
+
 int __glXDisp_AreTexturesResidentEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
diff --git a/GL/glx/indirect_dispatch.h b/GL/glx/indirect_dispatch.h
index e2c0c41..a0da3e5 100644
--- a/GL/glx/indirect_dispatch.h
+++ b/GL/glx/indirect_dispatch.h
@@ -61,6 +61,8 @@ extern HIDDEN void __glXDisp_ActiveTextu
 extern HIDDEN void __glXDispSwap_ActiveTextureARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib4ubvNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttrib4ubvNV(GLbyte * pc);
+extern HIDDEN int __glXDisp_GetColorTableParameterfvSGI(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_GetColorTableParameterfvSGI(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_GetProgramNamedParameterdvNV(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetProgramNamedParameterdvNV(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Histogram(GLbyte * pc);
@@ -631,6 +633,8 @@ extern HIDDEN void __glXDisp_PolygonOffs
 extern HIDDEN void __glXDispSwap_PolygonOffset(GLbyte * pc);
 extern HIDDEN void __glXDisp_ExecuteProgramNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_ExecuteProgramNV(GLbyte * pc);
+extern HIDDEN int __glXDisp_GetColorTableParameterivSGI(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_GetColorTableParameterivSGI(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Normal3dv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Normal3dv(GLbyte * pc);
 extern HIDDEN void __glXDisp_Lightf(GLbyte * pc);
@@ -767,6 +771,8 @@ extern HIDDEN void __glXDisp_BindRenderb
 extern HIDDEN void __glXDispSwap_BindRenderbufferEXT(GLbyte * pc);
 extern HIDDEN void __glXDisp_Vertex3sv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Vertex3sv(GLbyte * pc);
+extern HIDDEN int __glXDisp_GetColorTableSGI(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_GetColorTableSGI(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_BindTexImageEXT(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_BindTexImageEXT(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_ProgramLocalParameter4fvARB(GLbyte * pc);
diff --git a/GL/glx/indirect_dispatch_swap.c b/GL/glx/indirect_dispatch_swap.c
index 0c732e2..06c1d03 100644
--- a/GL/glx/indirect_dispatch_swap.c
+++ b/GL/glx/indirect_dispatch_swap.c
@@ -4566,6 +4566,66 @@ void __glXDispSwap_DrawBuffersARB(GLbyte
     ) );
 }
 
+int __glXDispSwap_GetColorTableParameterfvSGI(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
+
+        const GLuint compsize = __glGetColorTableParameterfvSGI_size(pname);
+        GLfloat answerBuffer[200];
+        GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+        if (params == NULL) return BadAlloc;
+        __glXClearErrorOccured();
+
+        CALL_GetColorTableParameterfvSGI( GET_DISPATCH(), (
+             (GLenum  )bswap_ENUM   ( pc +  0 ),
+            pname,
+            params
+        ) );
+        (void) bswap_32_array( (uint32_t *) params, compsize );
+        __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
+        error = Success;
+    }
+
+    return error;
+}
+
+int __glXDispSwap_GetColorTableParameterivSGI(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
+
+        const GLuint compsize = __glGetColorTableParameterivSGI_size(pname);
+        GLint answerBuffer[200];
+        GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+        if (params == NULL) return BadAlloc;
+        __glXClearErrorOccured();
+
+        CALL_GetColorTableParameterivSGI( GET_DISPATCH(), (
+             (GLenum  )bswap_ENUM   ( pc +  0 ),
+            pname,
+            params
+        ) );
+        (void) bswap_32_array( (uint32_t *) params, compsize );
+        __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
+        error = Success;
+    }
+
+    return error;
+}
+
 int __glXDispSwap_AreTexturesResidentEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
diff --git a/GL/glx/indirect_table.c b/GL/glx/indirect_table.c
index ec69234..8671a84 100644
--- a/GL/glx/indirect_table.c
+++ b/GL/glx/indirect_table.c
@@ -1207,12 +1207,12 @@ const struct __glXDispatchInfo Render_di
 
 /*****************************************************************/
 /* tree depth = 13 */
-static const int_fast16_t VendorPriv_dispatch_tree[138] = {
+static const int_fast16_t VendorPriv_dispatch_tree[155] = {
     /* [0] -> opcode range [0, 131072], node depth 1 */
     2,
     5,
     EMPTY_LEAF,
-    102,
+    119,
     EMPTY_LEAF,
 
     /* [5] -> opcode range [0, 32768], node depth 2 */
@@ -1331,108 +1331,135 @@ static const int_fast16_t VendorPriv_dis
     EMPTY_LEAF,
 
     /* [78] -> opcode range [4096, 6144], node depth 5 */
+    2,
+    83,
+    EMPTY_LEAF,
+    101,
+    EMPTY_LEAF,
+
+    /* [83] -> opcode range [4096, 4608], node depth 6 */
     1,
+    86,
     EMPTY_LEAF,
-    81,
 
-    /* [81] -> opcode range [5120, 6144], node depth 6 */
+    /* [86] -> opcode range [4096, 4352], node depth 7 */
     1,
-    84,
+    89,
     EMPTY_LEAF,
 
-    /* [84] -> opcode range [5120, 5632], node depth 7 */
+    /* [89] -> opcode range [4096, 4224], node depth 8 */
     1,
-    87,
+    92,
     EMPTY_LEAF,
 
-    /* [87] -> opcode range [5120, 5376], node depth 8 */
+    /* [92] -> opcode range [4096, 4160], node depth 9 */
     1,
-    90,
+    95,
     EMPTY_LEAF,
 
-    /* [90] -> opcode range [5120, 5248], node depth 9 */
+    /* [95] -> opcode range [4096, 4128], node depth 10 */
     1,
-    93,
+    98,
     EMPTY_LEAF,
 
-    /* [93] -> opcode range [5120, 5184], node depth 10 */
+    /* [98] -> opcode range [4096, 4112], node depth 11 */
     1,
+    LEAF(56),
     EMPTY_LEAF,
-    96,
 
-    /* [96] -> opcode range [5152, 5184], node depth 11 */
+    /* [101] -> opcode range [5120, 5632], node depth 6 */
     1,
-    99,
+    104,
     EMPTY_LEAF,
 
-    /* [99] -> opcode range [5152, 5168], node depth 12 */
+    /* [104] -> opcode range [5120, 5376], node depth 7 */
     1,
-    LEAF(56),
+    107,
     EMPTY_LEAF,
 
-    /* [102] -> opcode range [65536, 98304], node depth 2 */
+    /* [107] -> opcode range [5120, 5248], node depth 8 */
     1,
-    105,
+    110,
     EMPTY_LEAF,
 
-    /* [105] -> opcode range [65536, 81920], node depth 3 */
+    /* [110] -> opcode range [5120, 5184], node depth 9 */
     1,
-    108,
     EMPTY_LEAF,
+    113,
 
-    /* [108] -> opcode range [65536, 73728], node depth 4 */
+    /* [113] -> opcode range [5152, 5184], node depth 10 */
     1,
-    111,
+    116,
     EMPTY_LEAF,
 
-    /* [111] -> opcode range [65536, 69632], node depth 5 */
+    /* [116] -> opcode range [5152, 5168], node depth 11 */
     1,
-    114,
+    LEAF(64),
     EMPTY_LEAF,
 
-    /* [114] -> opcode range [65536, 67584], node depth 6 */
+    /* [119] -> opcode range [65536, 98304], node depth 2 */
     1,
-    117,
+    122,
     EMPTY_LEAF,
 
-    /* [117] -> opcode range [65536, 66560], node depth 7 */
+    /* [122] -> opcode range [65536, 81920], node depth 3 */
     1,
-    120,
+    125,
     EMPTY_LEAF,
 
-    /* [120] -> opcode range [65536, 66048], node depth 8 */
+    /* [125] -> opcode range [65536, 73728], node depth 4 */
     1,
-    123,
+    128,
     EMPTY_LEAF,
 
-    /* [123] -> opcode range [65536, 65792], node depth 9 */
+    /* [128] -> opcode range [65536, 69632], node depth 5 */
     1,
-    126,
+    131,
     EMPTY_LEAF,
 
-    /* [126] -> opcode range [65536, 65664], node depth 10 */
+    /* [131] -> opcode range [65536, 67584], node depth 6 */
     1,
-    129,
+    134,
     EMPTY_LEAF,
 
-    /* [129] -> opcode range [65536, 65600], node depth 11 */
+    /* [134] -> opcode range [65536, 66560], node depth 7 */
     1,
-    132,
+    137,
     EMPTY_LEAF,
 
-    /* [132] -> opcode range [65536, 65568], node depth 12 */
+    /* [137] -> opcode range [65536, 66048], node depth 8 */
     1,
-    135,
+    140,
     EMPTY_LEAF,
 
-    /* [135] -> opcode range [65536, 65552], node depth 13 */
+    /* [140] -> opcode range [65536, 65792], node depth 9 */
     1,
-    LEAF(64),
+    143,
+    EMPTY_LEAF,
+
+    /* [143] -> opcode range [65536, 65664], node depth 10 */
+    1,
+    146,
+    EMPTY_LEAF,
+
+    /* [146] -> opcode range [65536, 65600], node depth 11 */
+    1,
+    149,
+    EMPTY_LEAF,
+
+    /* [149] -> opcode range [65536, 65568], node depth 12 */
+    1,
+    152,
+    EMPTY_LEAF,
+
+    /* [152] -> opcode range [65536, 65552], node depth 13 */
+    1,
+    LEAF(72),
     EMPTY_LEAF,
 
 };
 
-static const void *VendorPriv_function_table[72][2] = {
+static const void *VendorPriv_function_table[80][2] = {
     /* [  0] =     8 */ {NULL, NULL},
     /* [  1] =     9 */ {NULL, NULL},
     /* [  2] =    10 */ {NULL, NULL},
@@ -1489,22 +1516,30 @@ static const void *VendorPriv_function_t
     /* [ 53] =  1429 */ {NULL, NULL},
     /* [ 54] =  1430 */ {NULL, NULL},
     /* [ 55] =  1431 */ {NULL, NULL},
-    /* [ 56] =  5152 */ {__glXDisp_BindTexImageEXT, __glXDispSwap_BindTexImageEXT},
-    /* [ 57] =  5153 */ {__glXDisp_ReleaseTexImageEXT, __glXDispSwap_ReleaseTexImageEXT},
-    /* [ 58] =  5154 */ {__glXDisp_CopySubBufferMESA, __glXDispSwap_CopySubBufferMESA},
-    /* [ 59] =  5155 */ {NULL, NULL},
-    /* [ 60] =  5156 */ {NULL, NULL},
-    /* [ 61] =  5157 */ {NULL, NULL},
-    /* [ 62] =  5158 */ {NULL, NULL},
-    /* [ 63] =  5159 */ {NULL, NULL},
-    /* [ 64] = 65536 */ {NULL, NULL},
-    /* [ 65] = 65537 */ {__glXDisp_MakeCurrentReadSGI, __glXDispSwap_MakeCurrentReadSGI},
-    /* [ 66] = 65538 */ {NULL, NULL},
-    /* [ 67] = 65539 */ {NULL, NULL},
-    /* [ 68] = 65540 */ {__glXDisp_GetFBConfigsSGIX, __glXDispSwap_GetFBConfigsSGIX},
-    /* [ 69] = 65541 */ {__glXDisp_CreateContextWithConfigSGIX, __glXDispSwap_CreateContextWithConfigSGIX},
-    /* [ 70] = 65542 */ {__glXDisp_CreateGLXPixmapWithConfigSGIX, __glXDispSwap_CreateGLXPixmapWithConfigSGIX},
-    /* [ 71] = 65543 */ {NULL, NULL},
+    /* [ 56] =  4096 */ {NULL, NULL},
+    /* [ 57] =  4097 */ {NULL, NULL},
+    /* [ 58] =  4098 */ {__glXDisp_GetColorTableSGI, __glXDispSwap_GetColorTableSGI},
+    /* [ 59] =  4099 */ {__glXDisp_GetColorTableParameterfvSGI, __glXDispSwap_GetColorTableParameterfvSGI},
+    /* [ 60] =  4100 */ {__glXDisp_GetColorTableParameterivSGI, __glXDispSwap_GetColorTableParameterivSGI},
+    /* [ 61] =  4101 */ {NULL, NULL},
+    /* [ 62] =  4102 */ {NULL, NULL},
+    /* [ 63] =  4103 */ {NULL, NULL},
+    /* [ 64] =  5152 */ {__glXDisp_BindTexImageEXT, __glXDispSwap_BindTexImageEXT},
+    /* [ 65] =  5153 */ {__glXDisp_ReleaseTexImageEXT, __glXDispSwap_ReleaseTexImageEXT},
+    /* [ 66] =  5154 */ {__glXDisp_CopySubBufferMESA, __glXDispSwap_CopySubBufferMESA},
+    /* [ 67] =  5155 */ {NULL, NULL},
+    /* [ 68] =  5156 */ {NULL, NULL},
+    /* [ 69] =  5157 */ {NULL, NULL},
+    /* [ 70] =  5158 */ {NULL, NULL},
+    /* [ 71] =  5159 */ {NULL, NULL},
+    /* [ 72] = 65536 */ {NULL, NULL},
+    /* [ 73] = 65537 */ {__glXDisp_MakeCurrentReadSGI, __glXDispSwap_MakeCurrentReadSGI},
+    /* [ 74] = 65538 */ {NULL, NULL},
+    /* [ 75] = 65539 */ {NULL, NULL},
+    /* [ 76] = 65540 */ {__glXDisp_GetFBConfigsSGIX, __glXDispSwap_GetFBConfigsSGIX},
+    /* [ 77] = 65541 */ {__glXDisp_CreateContextWithConfigSGIX, __glXDispSwap_CreateContextWithConfigSGIX},
+    /* [ 78] = 65542 */ {__glXDisp_CreateGLXPixmapWithConfigSGIX, __glXDispSwap_CreateGLXPixmapWithConfigSGIX},
+    /* [ 79] = 65543 */ {NULL, NULL},
 };
 
 const struct __glXDispatchInfo VendorPriv_dispatch_info = {
diff-tree 7d5de5c6657304246473d7ddd5c29bb0c7a3bc34 (from b29b236d88789fd45d823a55dbedb393bb134c5b)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Thu Aug 24 14:49:46 2006 -0700

    Regenerate from gl_API.xml 1.62.  Functions move, no real changes.

diff --git a/GL/glx/indirect_dispatch.c b/GL/glx/indirect_dispatch.c
index fa794ac..142eba2 100644
--- a/GL/glx/indirect_dispatch.c
+++ b/GL/glx/indirect_dispatch.c
@@ -3667,171 +3667,18 @@ void __glXDisp_SampleCoverageARB(GLbyte 
     ) );
 }
 
-void __glXDisp_DrawBuffersARB(GLbyte * pc)
-{
-    const GLsizei n = *(GLsizei  *)(pc +  0);
-
-    CALL_DrawBuffersARB( GET_DISPATCH(), (
-        n,
-         (const GLenum *)(pc +  4)
-    ) );
-}
-
-int __glXDisp_AreTexturesResidentEXT(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        const GLsizei n = *(GLsizei  *)(pc +  0);
-
-        GLboolean retval;
-        GLboolean answerBuffer[200];
-        GLboolean * residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
-        retval = CALL_AreTexturesResidentEXT( GET_DISPATCH(), (
-            n,
-             (const GLuint *)(pc +  4),
-            residences
-        ) );
-        __glXSendReply(cl->client, residences, n, 1, GL_TRUE, retval);
-        error = Success;
-    }
-
-    return error;
-}
-
-int __glXDisp_GenTexturesEXT(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        const GLsizei n = *(GLsizei  *)(pc +  0);
-
-        GLuint answerBuffer[200];
-        GLuint * textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
-        CALL_GenTexturesEXT( GET_DISPATCH(), (
-            n,
-            textures
-        ) );
-        __glXSendReply(cl->client, textures, n, 4, GL_TRUE, 0);
-        error = Success;
-    }
-
-    return error;
-}
-
-int __glXDisp_IsTextureEXT(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        GLboolean retval;
-        retval = CALL_IsTextureEXT( GET_DISPATCH(), (
-            *(GLuint   *)(pc +  0)
-        ) );
-        __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
-        error = Success;
-    }
-
-    return error;
-}
-
-void __glXDisp_SampleMaskSGIS(GLbyte * pc)
-{
-    CALL_SampleMaskSGIS( GET_DISPATCH(), (
-        *(GLclampf *)(pc +  0),
-        *(GLboolean *)(pc +  4)
-    ) );
-}
-
-void __glXDisp_SamplePatternSGIS(GLbyte * pc)
-{
-    CALL_SamplePatternSGIS( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0)
-    ) );
-}
-
-void __glXDisp_PointParameterfEXT(GLbyte * pc)
-{
-    CALL_PointParameterfEXT( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLfloat  *)(pc +  4)
-    ) );
-}
-
-void __glXDisp_PointParameterfvEXT(GLbyte * pc)
-{
-    const GLenum pname = *(GLenum   *)(pc +  0);
-    const GLfloat * params;
-
-    params = (const GLfloat *) (pc + 4);
-
-    CALL_PointParameterfvEXT( GET_DISPATCH(), (
-        pname,
-        params
-    ) );
-}
-
-void __glXDisp_WindowPos3fvMESA(GLbyte * pc)
-{
-    CALL_WindowPos3fvMESA( GET_DISPATCH(), (
-         (const GLfloat *)(pc +  0)
-    ) );
-}
-
-void __glXDisp_BlendFuncSeparateEXT(GLbyte * pc)
-{
-    CALL_BlendFuncSeparateEXT( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLenum   *)(pc +  4),
-        *(GLenum   *)(pc +  8),
-        *(GLenum   *)(pc + 12)
-    ) );
-}
-
-void __glXDisp_FogCoordfvEXT(GLbyte * pc)
-{
-    CALL_FogCoordfvEXT( GET_DISPATCH(), (
-         (const GLfloat *)(pc +  0)
-    ) );
-}
-
-void __glXDisp_FogCoorddvEXT(GLbyte * pc)
-{
-#ifdef __GLX_ALIGN64
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 8);
-        pc -= 4;
-    }
-#endif
-
-    CALL_FogCoorddvEXT( GET_DISPATCH(), (
-         (const GLdouble *)(pc +  0)
-    ) );
-}
-
-void __glXDisp_CompressedTexImage3DARB(GLbyte * pc)
+void __glXDisp_CompressedTexImage1DARB(GLbyte * pc)
 {
-    const GLsizei imageSize = *(GLsizei  *)(pc + 28);
+    const GLsizei imageSize = *(GLsizei  *)(pc + 20);
 
-    CALL_CompressedTexImage3DARB( GET_DISPATCH(), (
+    CALL_CompressedTexImage1DARB( GET_DISPATCH(), (
         *(GLenum   *)(pc +  0),
         *(GLint    *)(pc +  4),
         *(GLenum   *)(pc +  8),
         *(GLsizei  *)(pc + 12),
-        *(GLsizei  *)(pc + 16),
-        *(GLsizei  *)(pc + 20),
-        *(GLint    *)(pc + 24),
+        *(GLint    *)(pc + 16),
         imageSize,
-         (const GLvoid *)(pc + 32)
+         (const GLvoid *)(pc + 24)
     ) );
 }
 
@@ -3851,37 +3698,35 @@ void __glXDisp_CompressedTexImage2DARB(G
     ) );
 }
 
-void __glXDisp_CompressedTexImage1DARB(GLbyte * pc)
+void __glXDisp_CompressedTexImage3DARB(GLbyte * pc)
 {
-    const GLsizei imageSize = *(GLsizei  *)(pc + 20);
+    const GLsizei imageSize = *(GLsizei  *)(pc + 28);
 
-    CALL_CompressedTexImage1DARB( GET_DISPATCH(), (
+    CALL_CompressedTexImage3DARB( GET_DISPATCH(), (
         *(GLenum   *)(pc +  0),
         *(GLint    *)(pc +  4),
         *(GLenum   *)(pc +  8),
         *(GLsizei  *)(pc + 12),
-        *(GLint    *)(pc + 16),
+        *(GLsizei  *)(pc + 16),
+        *(GLsizei  *)(pc + 20),
+        *(GLint    *)(pc + 24),
         imageSize,
-         (const GLvoid *)(pc + 24)
+         (const GLvoid *)(pc + 32)
     ) );
 }
 
-void __glXDisp_CompressedTexSubImage3DARB(GLbyte * pc)
+void __glXDisp_CompressedTexSubImage1DARB(GLbyte * pc)
 {
-    const GLsizei imageSize = *(GLsizei  *)(pc + 36);
+    const GLsizei imageSize = *(GLsizei  *)(pc + 20);
 
-    CALL_CompressedTexSubImage3DARB( GET_DISPATCH(), (
+    CALL_CompressedTexSubImage1DARB( GET_DISPATCH(), (
         *(GLenum   *)(pc +  0),
         *(GLint    *)(pc +  4),
         *(GLint    *)(pc +  8),
-        *(GLint    *)(pc + 12),
-        *(GLint    *)(pc + 16),
-        *(GLsizei  *)(pc + 20),
-        *(GLsizei  *)(pc + 24),
-        *(GLsizei  *)(pc + 28),
-        *(GLenum   *)(pc + 32),
+        *(GLsizei  *)(pc + 12),
+        *(GLenum   *)(pc + 16),
         imageSize,
-         (const GLvoid *)(pc + 40)
+         (const GLvoid *)(pc + 24)
     ) );
 }
 
@@ -3902,170 +3747,68 @@ void __glXDisp_CompressedTexSubImage2DAR
     ) );
 }
 
-void __glXDisp_CompressedTexSubImage1DARB(GLbyte * pc)
+void __glXDisp_CompressedTexSubImage3DARB(GLbyte * pc)
 {
-    const GLsizei imageSize = *(GLsizei  *)(pc + 20);
+    const GLsizei imageSize = *(GLsizei  *)(pc + 36);
 
-    CALL_CompressedTexSubImage1DARB( GET_DISPATCH(), (
+    CALL_CompressedTexSubImage3DARB( GET_DISPATCH(), (
         *(GLenum   *)(pc +  0),
         *(GLint    *)(pc +  4),
         *(GLint    *)(pc +  8),
-        *(GLsizei  *)(pc + 12),
-        *(GLenum   *)(pc + 16),
+        *(GLint    *)(pc + 12),
+        *(GLint    *)(pc + 16),
+        *(GLsizei  *)(pc + 20),
+        *(GLsizei  *)(pc + 24),
+        *(GLsizei  *)(pc + 28),
+        *(GLenum   *)(pc + 32),
         imageSize,
-         (const GLvoid *)(pc + 24)
+         (const GLvoid *)(pc + 40)
     ) );
 }
 
-void __glXDisp_SecondaryColor3bvEXT(GLbyte * pc)
+int __glXDisp_GetProgramEnvParameterdvARB(__GLXclientState *cl, GLbyte *pc)
 {
-    CALL_SecondaryColor3bvEXT( GET_DISPATCH(), (
-         (const GLbyte *)(pc +  0)
-    ) );
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        GLdouble params[4];
+        CALL_GetProgramEnvParameterdvARB( GET_DISPATCH(), (
+            *(GLenum   *)(pc +  0),
+            *(GLuint   *)(pc +  4),
+            params
+        ) );
+        __glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
+        error = Success;
+    }
+
+    return error;
 }
 
-void __glXDisp_SecondaryColor3dvEXT(GLbyte * pc)
+int __glXDisp_GetProgramEnvParameterfvARB(__GLXclientState *cl, GLbyte *pc)
 {
-#ifdef __GLX_ALIGN64
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 24);
-        pc -= 4;
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        GLfloat params[4];
+        CALL_GetProgramEnvParameterfvARB( GET_DISPATCH(), (
+            *(GLenum   *)(pc +  0),
+            *(GLuint   *)(pc +  4),
+            params
+        ) );
+        __glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
+        error = Success;
     }
-#endif
 
-    CALL_SecondaryColor3dvEXT( GET_DISPATCH(), (
-         (const GLdouble *)(pc +  0)
-    ) );
+    return error;
 }
 
-void __glXDisp_SecondaryColor3fvEXT(GLbyte * pc)
-{
-    CALL_SecondaryColor3fvEXT( GET_DISPATCH(), (
-         (const GLfloat *)(pc +  0)
-    ) );
-}
-
-void __glXDisp_SecondaryColor3ivEXT(GLbyte * pc)
-{
-    CALL_SecondaryColor3ivEXT( GET_DISPATCH(), (
-         (const GLint *)(pc +  0)
-    ) );
-}
-
-void __glXDisp_SecondaryColor3svEXT(GLbyte * pc)
-{
-    CALL_SecondaryColor3svEXT( GET_DISPATCH(), (
-         (const GLshort *)(pc +  0)
-    ) );
-}
-
-void __glXDisp_SecondaryColor3ubvEXT(GLbyte * pc)
-{
-    CALL_SecondaryColor3ubvEXT( GET_DISPATCH(), (
-         (const GLubyte *)(pc +  0)
-    ) );
-}
-
-void __glXDisp_SecondaryColor3uivEXT(GLbyte * pc)
-{
-    CALL_SecondaryColor3uivEXT( GET_DISPATCH(), (
-         (const GLuint *)(pc +  0)
-    ) );
-}
-
-void __glXDisp_SecondaryColor3usvEXT(GLbyte * pc)
-{
-    CALL_SecondaryColor3usvEXT( GET_DISPATCH(), (
-         (const GLushort *)(pc +  0)
-    ) );
-}
-
-int __glXDisp_AreProgramsResidentNV(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        const GLsizei n = *(GLsizei  *)(pc +  0);
-
-        GLboolean retval;
-        GLboolean answerBuffer[200];
-        GLboolean * residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
-        retval = CALL_AreProgramsResidentNV( GET_DISPATCH(), (
-            n,
-             (const GLuint *)(pc +  4),
-            residences
-        ) );
-        __glXSendReply(cl->client, residences, n, 1, GL_FALSE, retval);
-        error = Success;
-    }
-
-    return error;
-}
-
-void __glXDisp_BindProgramNV(GLbyte * pc)
-{
-    CALL_BindProgramNV( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLuint   *)(pc +  4)
-    ) );
-}
-
-int __glXDisp_DeleteProgramsNV(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        const GLsizei n = *(GLsizei  *)(pc +  0);
-
-        CALL_DeleteProgramsNV( GET_DISPATCH(), (
-            n,
-             (const GLuint *)(pc +  4)
-        ) );
-        error = Success;
-    }
-
-    return error;
-}
-
-void __glXDisp_ExecuteProgramNV(GLbyte * pc)
-{
-    CALL_ExecuteProgramNV( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLuint   *)(pc +  4),
-         (const GLfloat *)(pc +  8)
-    ) );
-}
-
-int __glXDisp_GenProgramsNV(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        const GLsizei n = *(GLsizei  *)(pc +  0);
-
-        GLuint answerBuffer[200];
-        GLuint * programs = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
-        CALL_GenProgramsNV( GET_DISPATCH(), (
-            n,
-            programs
-        ) );
-        __glXSendReply(cl->client, programs, n, 4, GL_TRUE, 0);
-        error = Success;
-    }
-
-    return error;
-}
-
-int __glXDisp_GetProgramParameterdvNV(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetProgramLocalParameterdvARB(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -4074,10 +3817,9 @@ int __glXDisp_GetProgramParameterdvNV(__
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
         GLdouble params[4];
-        CALL_GetProgramParameterdvNV( GET_DISPATCH(), (
+        CALL_GetProgramLocalParameterdvARB( GET_DISPATCH(), (
             *(GLenum   *)(pc +  0),
             *(GLuint   *)(pc +  4),
-            *(GLenum   *)(pc +  8),
             params
         ) );
         __glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
@@ -4087,7 +3829,7 @@ int __glXDisp_GetProgramParameterdvNV(__
     return error;
 }
 
-int __glXDisp_GetProgramParameterfvNV(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetProgramLocalParameterfvARB(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -4096,10 +3838,9 @@ int __glXDisp_GetProgramParameterfvNV(__
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
         GLfloat params[4];
-        CALL_GetProgramParameterfvNV( GET_DISPATCH(), (
+        CALL_GetProgramLocalParameterfvARB( GET_DISPATCH(), (
             *(GLenum   *)(pc +  0),
             *(GLuint   *)(pc +  4),
-            *(GLenum   *)(pc +  8),
             params
         ) );
         __glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
@@ -4109,7 +3850,7 @@ int __glXDisp_GetProgramParameterfvNV(__
     return error;
 }
 
-int __glXDisp_GetProgramivNV(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetProgramivARB(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -4119,15 +3860,15 @@ int __glXDisp_GetProgramivNV(__GLXclient
     if ( cx != NULL ) {
         const GLenum pname = *(GLenum   *)(pc +  4);
 
-        const GLuint compsize = __glGetProgramivNV_size(pname);
+        const GLuint compsize = __glGetProgramivARB_size(pname);
         GLint answerBuffer[200];
         GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
 
         if (params == NULL) return BadAlloc;
         __glXClearErrorOccured();
 
-        CALL_GetProgramivNV( GET_DISPATCH(), (
-            *(GLuint   *)(pc +  0),
+        CALL_GetProgramivARB( GET_DISPATCH(), (
+            *(GLenum   *)(pc +  0),
             pname,
             params
         ) );
@@ -4138,28 +3879,6 @@ int __glXDisp_GetProgramivNV(__GLXclient
     return error;
 }
 
-int __glXDisp_GetTrackMatrixivNV(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        GLint params[1];
-        CALL_GetTrackMatrixivNV( GET_DISPATCH(), (
-            *(GLenum   *)(pc +  0),
-            *(GLuint   *)(pc +  4),
-            *(GLenum   *)(pc +  8),
-            params
-        ) );
-        __glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
-        error = Success;
-    }
-
-    return error;
-}
-
 int __glXDisp_GetVertexAttribdvARB(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
@@ -4247,38 +3966,7 @@ int __glXDisp_GetVertexAttribivARB(__GLX
     return error;
 }
 
-int __glXDisp_IsProgramNV(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        GLboolean retval;
-        retval = CALL_IsProgramNV( GET_DISPATCH(), (
-            *(GLuint   *)(pc +  0)
-        ) );
-        __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
-        error = Success;
-    }
-
-    return error;
-}
-
-void __glXDisp_LoadProgramNV(GLbyte * pc)
-{
-    const GLsizei len = *(GLsizei  *)(pc +  8);
-
-    CALL_LoadProgramNV( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLuint   *)(pc +  4),
-        len,
-         (const GLubyte *)(pc + 12)
-    ) );
-}
-
-void __glXDisp_ProgramParameter4dvNV(GLbyte * pc)
+void __glXDisp_ProgramEnvParameter4dvARB(GLbyte * pc)
 {
 #ifdef __GLX_ALIGN64
     if ((unsigned long)(pc) & 7) {
@@ -4287,71 +3975,56 @@ void __glXDisp_ProgramParameter4dvNV(GLb
     }
 #endif
 
-    CALL_ProgramParameter4dvNV( GET_DISPATCH(), (
+    CALL_ProgramEnvParameter4dvARB( GET_DISPATCH(), (
         *(GLenum   *)(pc +  0),
         *(GLuint   *)(pc +  4),
          (const GLdouble *)(pc +  8)
     ) );
 }
 
-void __glXDisp_ProgramParameter4fvNV(GLbyte * pc)
+void __glXDisp_ProgramEnvParameter4fvARB(GLbyte * pc)
 {
-    CALL_ProgramParameter4fvNV( GET_DISPATCH(), (
+    CALL_ProgramEnvParameter4fvARB( GET_DISPATCH(), (
         *(GLenum   *)(pc +  0),
         *(GLuint   *)(pc +  4),
          (const GLfloat *)(pc +  8)
     ) );
 }
 
-void __glXDisp_ProgramParameters4dvNV(GLbyte * pc)
+void __glXDisp_ProgramLocalParameter4dvARB(GLbyte * pc)
 {
-    const GLuint num = *(GLuint   *)(pc +  8);
-
 #ifdef __GLX_ALIGN64
-    const GLuint cmdlen = 16 + __GLX_PAD((num * 32)) - 4;
     if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, cmdlen);
+        (void) memmove(pc-4, pc, 40);
         pc -= 4;
     }
 #endif
 
-    CALL_ProgramParameters4dvNV( GET_DISPATCH(), (
+    CALL_ProgramLocalParameter4dvARB( GET_DISPATCH(), (
         *(GLenum   *)(pc +  0),
         *(GLuint   *)(pc +  4),
-        num,
-         (const GLdouble *)(pc + 12)
+         (const GLdouble *)(pc +  8)
     ) );
 }
 
-void __glXDisp_ProgramParameters4fvNV(GLbyte * pc)
+void __glXDisp_ProgramLocalParameter4fvARB(GLbyte * pc)
 {
-    const GLuint num = *(GLuint   *)(pc +  8);
-
-    CALL_ProgramParameters4fvNV( GET_DISPATCH(), (
+    CALL_ProgramLocalParameter4fvARB( GET_DISPATCH(), (
         *(GLenum   *)(pc +  0),
         *(GLuint   *)(pc +  4),
-        num,
-         (const GLfloat *)(pc + 12)
+         (const GLfloat *)(pc +  8)
     ) );
 }
 
-void __glXDisp_RequestResidentProgramsNV(GLbyte * pc)
+void __glXDisp_ProgramStringARB(GLbyte * pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  0);
-
-    CALL_RequestResidentProgramsNV( GET_DISPATCH(), (
-        n,
-         (const GLuint *)(pc +  4)
-    ) );
-}
+    const GLsizei len = *(GLsizei  *)(pc +  8);
 
-void __glXDisp_TrackMatrixNV(GLbyte * pc)
-{
-    CALL_TrackMatrixNV( GET_DISPATCH(), (
+    CALL_ProgramStringARB( GET_DISPATCH(), (
         *(GLenum   *)(pc +  0),
-        *(GLuint   *)(pc +  4),
-        *(GLenum   *)(pc +  8),
-        *(GLenum   *)(pc + 12)
+        *(GLenum   *)(pc +  4),
+        len,
+         (const GLvoid *)(pc + 12)
     ) );
 }
 
@@ -4448,32 +4121,25 @@ void __glXDisp_VertexAttrib3svARB(GLbyte
     ) );
 }
 
-void __glXDisp_VertexAttrib4dvARB(GLbyte * pc)
+void __glXDisp_VertexAttrib4NbvARB(GLbyte * pc)
 {
-#ifdef __GLX_ALIGN64
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 36);
-        pc -= 4;
-    }
-#endif
-
-    CALL_VertexAttrib4dvARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc + 32),
-         (const GLdouble *)(pc +  0)
+    CALL_VertexAttrib4NbvARB( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+         (const GLbyte *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttrib4fvARB(GLbyte * pc)
+void __glXDisp_VertexAttrib4NivARB(GLbyte * pc)
 {
-    CALL_VertexAttrib4fvARB( GET_DISPATCH(), (
+    CALL_VertexAttrib4NivARB( GET_DISPATCH(), (
         *(GLuint   *)(pc +  0),
-         (const GLfloat *)(pc +  4)
+         (const GLint *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttrib4svARB(GLbyte * pc)
+void __glXDisp_VertexAttrib4NsvARB(GLbyte * pc)
 {
-    CALL_VertexAttrib4svARB( GET_DISPATCH(), (
+    CALL_VertexAttrib4NsvARB( GET_DISPATCH(), (
         *(GLuint   *)(pc +  0),
          (const GLshort *)(pc +  4)
     ) );
@@ -4487,394 +4153,268 @@ void __glXDisp_VertexAttrib4NubvARB(GLby
     ) );
 }
 
-void __glXDisp_VertexAttribs1dvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4NuivARB(GLbyte * pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  4);
-
-#ifdef __GLX_ALIGN64
-    const GLuint cmdlen = 12 + __GLX_PAD((n * 8)) - 4;
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, cmdlen);
-        pc -= 4;
-    }
-#endif
-
-    CALL_VertexAttribs1dvNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4NuivARB( GET_DISPATCH(), (
         *(GLuint   *)(pc +  0),
-        n,
-         (const GLdouble *)(pc +  8)
+         (const GLuint *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttribs1fvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4NusvARB(GLbyte * pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  4);
-
-    CALL_VertexAttribs1fvNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4NusvARB( GET_DISPATCH(), (
         *(GLuint   *)(pc +  0),
-        n,
-         (const GLfloat *)(pc +  8)
+         (const GLushort *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttribs1svNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4bvARB(GLbyte * pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  4);
-
-    CALL_VertexAttribs1svNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4bvARB( GET_DISPATCH(), (
         *(GLuint   *)(pc +  0),
-        n,
-         (const GLshort *)(pc +  8)
+         (const GLbyte *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttribs2dvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4dvARB(GLbyte * pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  4);
-
 #ifdef __GLX_ALIGN64
-    const GLuint cmdlen = 12 + __GLX_PAD((n * 16)) - 4;
     if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, cmdlen);
+        (void) memmove(pc-4, pc, 36);
         pc -= 4;
     }
 #endif
 
-    CALL_VertexAttribs2dvNV( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-        n,
-         (const GLdouble *)(pc +  8)
+    CALL_VertexAttrib4dvARB( GET_DISPATCH(), (
+        *(GLuint   *)(pc + 32),
+         (const GLdouble *)(pc +  0)
     ) );
 }
 
-void __glXDisp_VertexAttribs2fvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4fvARB(GLbyte * pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  4);
-
-    CALL_VertexAttribs2fvNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4fvARB( GET_DISPATCH(), (
         *(GLuint   *)(pc +  0),
-        n,
-         (const GLfloat *)(pc +  8)
+         (const GLfloat *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttribs2svNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4ivARB(GLbyte * pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  4);
-
-    CALL_VertexAttribs2svNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4ivARB( GET_DISPATCH(), (
         *(GLuint   *)(pc +  0),
-        n,
-         (const GLshort *)(pc +  8)
+         (const GLint *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttribs3dvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4svARB(GLbyte * pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  4);
-
-#ifdef __GLX_ALIGN64
-    const GLuint cmdlen = 12 + __GLX_PAD((n * 24)) - 4;
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, cmdlen);
-        pc -= 4;
-    }
-#endif
-
-    CALL_VertexAttribs3dvNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4svARB( GET_DISPATCH(), (
         *(GLuint   *)(pc +  0),
-        n,
-         (const GLdouble *)(pc +  8)
+         (const GLshort *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttribs3fvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4ubvARB(GLbyte * pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  4);
-
-    CALL_VertexAttribs3fvNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4ubvARB( GET_DISPATCH(), (
         *(GLuint   *)(pc +  0),
-        n,
-         (const GLfloat *)(pc +  8)
+         (const GLubyte *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttribs3svNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4uivARB(GLbyte * pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  4);
-
-    CALL_VertexAttribs3svNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4uivARB( GET_DISPATCH(), (
         *(GLuint   *)(pc +  0),
-        n,
-         (const GLshort *)(pc +  8)
+         (const GLuint *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttribs4dvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4usvARB(GLbyte * pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  4);
-
-#ifdef __GLX_ALIGN64
-    const GLuint cmdlen = 12 + __GLX_PAD((n * 32)) - 4;
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, cmdlen);
-        pc -= 4;
-    }
-#endif
-
-    CALL_VertexAttribs4dvNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4usvARB( GET_DISPATCH(), (
         *(GLuint   *)(pc +  0),
-        n,
-         (const GLdouble *)(pc +  8)
+         (const GLushort *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttribs4fvNV(GLbyte * pc)
+void __glXDisp_BeginQueryARB(GLbyte * pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  4);
-
-    CALL_VertexAttribs4fvNV( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-        n,
-         (const GLfloat *)(pc +  8)
+    CALL_BeginQueryARB( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLuint   *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttribs4svNV(GLbyte * pc)
+int __glXDisp_DeleteQueriesARB(__GLXclientState *cl, GLbyte *pc)
 {
-    const GLsizei n = *(GLsizei  *)(pc +  4);
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
 
-    CALL_VertexAttribs4svNV( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-        n,
-         (const GLshort *)(pc +  8)
-    ) );
-}
+    pc += __GLX_SINGLE_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLsizei n = *(GLsizei  *)(pc +  0);
 
-void __glXDisp_VertexAttribs4ubvNV(GLbyte * pc)
-{
-    const GLsizei n = *(GLsizei  *)(pc +  4);
+        CALL_DeleteQueriesARB( GET_DISPATCH(), (
+            n,
+             (const GLuint *)(pc +  4)
+        ) );
+        error = Success;
+    }
 
-    CALL_VertexAttribs4ubvNV( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-        n,
-         (const GLubyte *)(pc +  8)
-    ) );
+    return error;
 }
 
-void __glXDisp_PointParameteriNV(GLbyte * pc)
+void __glXDisp_EndQueryARB(GLbyte * pc)
 {
-    CALL_PointParameteriNV( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLint    *)(pc +  4)
+    CALL_EndQueryARB( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0)
     ) );
 }
 
-void __glXDisp_PointParameterivNV(GLbyte * pc)
+int __glXDisp_GenQueriesARB(__GLXclientState *cl, GLbyte *pc)
 {
-    const GLenum pname = *(GLenum   *)(pc +  0);
-    const GLint * params;
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
 
-    params = (const GLint *) (pc + 4);
+    pc += __GLX_SINGLE_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLsizei n = *(GLsizei  *)(pc +  0);
 
-    CALL_PointParameterivNV( GET_DISPATCH(), (
-        pname,
-        params
-    ) );
-}
+        GLuint answerBuffer[200];
+        GLuint * ids = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+        CALL_GenQueriesARB( GET_DISPATCH(), (
+            n,
+            ids
+        ) );
+        __glXSendReply(cl->client, ids, n, 4, GL_TRUE, 0);
+        error = Success;
+    }
 
-void __glXDisp_ActiveStencilFaceEXT(GLbyte * pc)
-{
-    CALL_ActiveStencilFaceEXT( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0)
-    ) );
+    return error;
 }
 
-void __glXDisp_VertexAttrib4bvARB(GLbyte * pc)
+int __glXDisp_GetQueryObjectivARB(__GLXclientState *cl, GLbyte *pc)
 {
-    CALL_VertexAttrib4bvARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLbyte *)(pc +  4)
-    ) );
-}
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
 
-void __glXDisp_VertexAttrib4ivARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4ivARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLint *)(pc +  4)
-    ) );
-}
+    pc += __GLX_SINGLE_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLenum pname = *(GLenum   *)(pc +  4);
 
-void __glXDisp_VertexAttrib4ubvARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4ubvARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLubyte *)(pc +  4)
-    ) );
-}
+        const GLuint compsize = __glGetQueryObjectivARB_size(pname);
+        GLint answerBuffer[200];
+        GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
 
-void __glXDisp_VertexAttrib4usvARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4usvARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLushort *)(pc +  4)
-    ) );
-}
+        if (params == NULL) return BadAlloc;
+        __glXClearErrorOccured();
 
-void __glXDisp_VertexAttrib4uivARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4uivARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLuint *)(pc +  4)
-    ) );
-}
-
-void __glXDisp_VertexAttrib4NbvARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4NbvARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLbyte *)(pc +  4)
-    ) );
-}
-
-void __glXDisp_VertexAttrib4NsvARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4NsvARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLshort *)(pc +  4)
-    ) );
-}
-
-void __glXDisp_VertexAttrib4NivARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4NivARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLint *)(pc +  4)
-    ) );
-}
-
-void __glXDisp_VertexAttrib4NusvARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4NusvARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLushort *)(pc +  4)
-    ) );
-}
+        CALL_GetQueryObjectivARB( GET_DISPATCH(), (
+            *(GLuint   *)(pc +  0),
+            pname,
+            params
+        ) );
+        __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
+        error = Success;
+    }
 
-void __glXDisp_VertexAttrib4NuivARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4NuivARB( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLuint *)(pc +  4)
-    ) );
+    return error;
 }
 
-void __glXDisp_ProgramStringARB(GLbyte * pc)
+int __glXDisp_GetQueryObjectuivARB(__GLXclientState *cl, GLbyte *pc)
 {
-    const GLsizei len = *(GLsizei  *)(pc +  8);
-
-    CALL_ProgramStringARB( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLenum   *)(pc +  4),
-        len,
-         (const GLvoid *)(pc + 12)
-    ) );
-}
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
 
-void __glXDisp_ProgramEnvParameter4dvARB(GLbyte * pc)
-{
-#ifdef __GLX_ALIGN64
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 40);
-        pc -= 4;
-    }
-#endif
+    pc += __GLX_SINGLE_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLenum pname = *(GLenum   *)(pc +  4);
 
-    CALL_ProgramEnvParameter4dvARB( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLuint   *)(pc +  4),
-         (const GLdouble *)(pc +  8)
-    ) );
-}
+        const GLuint compsize = __glGetQueryObjectuivARB_size(pname);
+        GLuint answerBuffer[200];
+        GLuint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
 
-void __glXDisp_ProgramEnvParameter4fvARB(GLbyte * pc)
-{
-    CALL_ProgramEnvParameter4fvARB( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLuint   *)(pc +  4),
-         (const GLfloat *)(pc +  8)
-    ) );
-}
+        if (params == NULL) return BadAlloc;
+        __glXClearErrorOccured();
 
-void __glXDisp_ProgramLocalParameter4dvARB(GLbyte * pc)
-{
-#ifdef __GLX_ALIGN64
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 40);
-        pc -= 4;
+        CALL_GetQueryObjectuivARB( GET_DISPATCH(), (
+            *(GLuint   *)(pc +  0),
+            pname,
+            params
+        ) );
+        __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
+        error = Success;
     }
-#endif
-
-    CALL_ProgramLocalParameter4dvARB( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLuint   *)(pc +  4),
-         (const GLdouble *)(pc +  8)
-    ) );
-}
 
-void __glXDisp_ProgramLocalParameter4fvARB(GLbyte * pc)
-{
-    CALL_ProgramLocalParameter4fvARB( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLuint   *)(pc +  4),
-         (const GLfloat *)(pc +  8)
-    ) );
+    return error;
 }
 
-int __glXDisp_GetProgramEnvParameterdvARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetQueryivARB(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
 
-    pc += __GLX_VENDPRIV_HDR_SIZE;
+    pc += __GLX_SINGLE_HDR_SIZE;
     if ( cx != NULL ) {
-        GLdouble params[4];
-        CALL_GetProgramEnvParameterdvARB( GET_DISPATCH(), (
+        const GLenum pname = *(GLenum   *)(pc +  4);
+
+        const GLuint compsize = __glGetQueryivARB_size(pname);
+        GLint answerBuffer[200];
+        GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+        if (params == NULL) return BadAlloc;
+        __glXClearErrorOccured();
+
+        CALL_GetQueryivARB( GET_DISPATCH(), (
             *(GLenum   *)(pc +  0),
-            *(GLuint   *)(pc +  4),
+            pname,
             params
         ) );
-        __glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
+        __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDisp_GetProgramEnvParameterfvARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_IsQueryARB(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
 
-    pc += __GLX_VENDPRIV_HDR_SIZE;
+    pc += __GLX_SINGLE_HDR_SIZE;
     if ( cx != NULL ) {
-        GLfloat params[4];
-        CALL_GetProgramEnvParameterfvARB( GET_DISPATCH(), (
-            *(GLenum   *)(pc +  0),
-            *(GLuint   *)(pc +  4),
-            params
+        GLboolean retval;
+        retval = CALL_IsQueryARB( GET_DISPATCH(), (
+            *(GLuint   *)(pc +  0)
         ) );
-        __glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
+        __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDisp_GetProgramLocalParameterdvARB(__GLXclientState *cl, GLbyte *pc)
+void __glXDisp_DrawBuffersARB(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  0);
+
+    CALL_DrawBuffersARB( GET_DISPATCH(), (
+        n,
+         (const GLenum *)(pc +  4)
+    ) );
+}
+
+int __glXDisp_AreTexturesResidentEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -4882,20 +4422,24 @@ int __glXDisp_GetProgramLocalParameterdv
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        GLdouble params[4];
-        CALL_GetProgramLocalParameterdvARB( GET_DISPATCH(), (
-            *(GLenum   *)(pc +  0),
-            *(GLuint   *)(pc +  4),
-            params
+        const GLsizei n = *(GLsizei  *)(pc +  0);
+
+        GLboolean retval;
+        GLboolean answerBuffer[200];
+        GLboolean * residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
+        retval = CALL_AreTexturesResidentEXT( GET_DISPATCH(), (
+            n,
+             (const GLuint *)(pc +  4),
+            residences
         ) );
-        __glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
+        __glXSendReply(cl->client, residences, n, 1, GL_TRUE, retval);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDisp_GetProgramLocalParameterfvARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GenTexturesEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -4903,20 +4447,22 @@ int __glXDisp_GetProgramLocalParameterfv
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        GLfloat params[4];
-        CALL_GetProgramLocalParameterfvARB( GET_DISPATCH(), (
-            *(GLenum   *)(pc +  0),
-            *(GLuint   *)(pc +  4),
-            params
+        const GLsizei n = *(GLsizei  *)(pc +  0);
+
+        GLuint answerBuffer[200];
+        GLuint * textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+        CALL_GenTexturesEXT( GET_DISPATCH(), (
+            n,
+            textures
         ) );
-        __glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
+        __glXSendReply(cl->client, textures, n, 4, GL_TRUE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDisp_GetProgramivARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_IsTextureEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -4924,60 +4470,155 @@ int __glXDisp_GetProgramivARB(__GLXclien
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLenum pname = *(GLenum   *)(pc +  4);
-
-        const GLuint compsize = __glGetProgramivARB_size(pname);
-        GLint answerBuffer[200];
-        GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
-
-        if (params == NULL) return BadAlloc;
-        __glXClearErrorOccured();
-
-        CALL_GetProgramivARB( GET_DISPATCH(), (
-            *(GLenum   *)(pc +  0),
-            pname,
-            params
+        GLboolean retval;
+        retval = CALL_IsTextureEXT( GET_DISPATCH(), (
+            *(GLuint   *)(pc +  0)
         ) );
-        __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
+        __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
         error = Success;
     }
 
     return error;
 }
 
-void __glXDisp_ProgramNamedParameter4fvNV(GLbyte * pc)
+void __glXDisp_SampleMaskSGIS(GLbyte * pc)
 {
-    const GLsizei len = *(GLsizei  *)(pc +  4);
-
-    CALL_ProgramNamedParameter4fvNV( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-        len,
-         (const GLubyte *)(pc + 24),
-         (const GLfloat *)(pc +  8)
+    CALL_SampleMaskSGIS( GET_DISPATCH(), (
+        *(GLclampf *)(pc +  0),
+        *(GLboolean *)(pc +  4)
     ) );
 }
 
-void __glXDisp_ProgramNamedParameter4dvNV(GLbyte * pc)
+void __glXDisp_SamplePatternSGIS(GLbyte * pc)
 {
-    const GLsizei len = *(GLsizei  *)(pc + 36);
-
-#ifdef __GLX_ALIGN64
-    const GLuint cmdlen = 44 + __GLX_PAD(len) - 4;
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, cmdlen);
-        pc -= 4;
-    }
-#endif
-
-    CALL_ProgramNamedParameter4dvNV( GET_DISPATCH(), (
-        *(GLuint   *)(pc + 32),
-        len,
-         (const GLubyte *)(pc + 40),
-         (const GLdouble *)(pc +  0)
+    CALL_SamplePatternSGIS( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0)
     ) );
 }
 
-int __glXDisp_GetProgramNamedParameterfvNV(__GLXclientState *cl, GLbyte *pc)
+void __glXDisp_PointParameterfEXT(GLbyte * pc)
+{
+    CALL_PointParameterfEXT( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLfloat  *)(pc +  4)
+    ) );
+}
+
+void __glXDisp_PointParameterfvEXT(GLbyte * pc)
+{
+    const GLenum pname = *(GLenum   *)(pc +  0);
+    const GLfloat * params;
+
+    params = (const GLfloat *) (pc + 4);
+
+    CALL_PointParameterfvEXT( GET_DISPATCH(), (
+        pname,
+        params
+    ) );
+}
+
+void __glXDisp_SecondaryColor3bvEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3bvEXT( GET_DISPATCH(), (
+         (const GLbyte *)(pc +  0)
+    ) );
+}
+
+void __glXDisp_SecondaryColor3dvEXT(GLbyte * pc)
+{
+#ifdef __GLX_ALIGN64
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, 24);
+        pc -= 4;
+    }
+#endif
+
+    CALL_SecondaryColor3dvEXT( GET_DISPATCH(), (
+         (const GLdouble *)(pc +  0)
+    ) );
+}
+
+void __glXDisp_SecondaryColor3fvEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3fvEXT( GET_DISPATCH(), (
+         (const GLfloat *)(pc +  0)
+    ) );
+}
+
+void __glXDisp_SecondaryColor3ivEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3ivEXT( GET_DISPATCH(), (
+         (const GLint *)(pc +  0)
+    ) );
+}
+
+void __glXDisp_SecondaryColor3svEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3svEXT( GET_DISPATCH(), (
+         (const GLshort *)(pc +  0)
+    ) );
+}
+
+void __glXDisp_SecondaryColor3ubvEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3ubvEXT( GET_DISPATCH(), (
+         (const GLubyte *)(pc +  0)
+    ) );
+}
+
+void __glXDisp_SecondaryColor3uivEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3uivEXT( GET_DISPATCH(), (
+         (const GLuint *)(pc +  0)
+    ) );
+}
+
+void __glXDisp_SecondaryColor3usvEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3usvEXT( GET_DISPATCH(), (
+         (const GLushort *)(pc +  0)
+    ) );
+}
+
+void __glXDisp_FogCoorddvEXT(GLbyte * pc)
+{
+#ifdef __GLX_ALIGN64
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, 8);
+        pc -= 4;
+    }
+#endif
+
+    CALL_FogCoorddvEXT( GET_DISPATCH(), (
+         (const GLdouble *)(pc +  0)
+    ) );
+}
+
+void __glXDisp_FogCoordfvEXT(GLbyte * pc)
+{
+    CALL_FogCoordfvEXT( GET_DISPATCH(), (
+         (const GLfloat *)(pc +  0)
+    ) );
+}
+
+void __glXDisp_BlendFuncSeparateEXT(GLbyte * pc)
+{
+    CALL_BlendFuncSeparateEXT( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLenum   *)(pc +  4),
+        *(GLenum   *)(pc +  8),
+        *(GLenum   *)(pc + 12)
+    ) );
+}
+
+void __glXDisp_WindowPos3fvMESA(GLbyte * pc)
+{
+    CALL_WindowPos3fvMESA( GET_DISPATCH(), (
+         (const GLfloat *)(pc +  0)
+    ) );
+}
+
+int __glXDisp_AreProgramsResidentNV(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -4985,23 +4626,32 @@ int __glXDisp_GetProgramNamedParameterfv
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLsizei len = *(GLsizei  *)(pc +  4);
+        const GLsizei n = *(GLsizei  *)(pc +  0);
 
-        GLfloat params[4];
-        CALL_GetProgramNamedParameterfvNV( GET_DISPATCH(), (
-            *(GLuint   *)(pc +  0),
-            len,
-             (const GLubyte *)(pc +  8),
-            params
+        GLboolean retval;
+        GLboolean answerBuffer[200];
+        GLboolean * residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
+        retval = CALL_AreProgramsResidentNV( GET_DISPATCH(), (
+            n,
+             (const GLuint *)(pc +  4),
+            residences
         ) );
-        __glXSendReply(cl->client, params, 4, 4, GL_TRUE, 0);
+        __glXSendReply(cl->client, residences, n, 1, GL_FALSE, retval);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDisp_GetProgramNamedParameterdvNV(__GLXclientState *cl, GLbyte *pc)
+void __glXDisp_BindProgramNV(GLbyte * pc)
+{
+    CALL_BindProgramNV( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLuint   *)(pc +  4)
+    ) );
+}
+
+int __glXDisp_DeleteProgramsNV(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5009,118 +4659,113 @@ int __glXDisp_GetProgramNamedParameterdv
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLsizei len = *(GLsizei  *)(pc +  4);
+        const GLsizei n = *(GLsizei  *)(pc +  0);
 
-        GLdouble params[4];
-        CALL_GetProgramNamedParameterdvNV( GET_DISPATCH(), (
-            *(GLuint   *)(pc +  0),
-            len,
-             (const GLubyte *)(pc +  8),
-            params
+        CALL_DeleteProgramsNV( GET_DISPATCH(), (
+            n,
+             (const GLuint *)(pc +  4)
         ) );
-        __glXSendReply(cl->client, params, 4, 8, GL_TRUE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDisp_GenQueriesARB(__GLXclientState *cl, GLbyte *pc)
+void __glXDisp_ExecuteProgramNV(GLbyte * pc)
 {
-    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    CALL_ExecuteProgramNV( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLuint   *)(pc +  4),
+         (const GLfloat *)(pc +  8)
+    ) );
+}
+
+int __glXDisp_GenProgramsNV(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
 
-    pc += __GLX_SINGLE_HDR_SIZE;
+    pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
         const GLsizei n = *(GLsizei  *)(pc +  0);
 
         GLuint answerBuffer[200];
-        GLuint * ids = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
-        CALL_GenQueriesARB( GET_DISPATCH(), (
+        GLuint * programs = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+        CALL_GenProgramsNV( GET_DISPATCH(), (
             n,
-            ids
+            programs
         ) );
-        __glXSendReply(cl->client, ids, n, 4, GL_TRUE, 0);
+        __glXSendReply(cl->client, programs, n, 4, GL_TRUE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDisp_DeleteQueriesARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetProgramParameterdvNV(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
 
-    pc += __GLX_SINGLE_HDR_SIZE;
+    pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLsizei n = *(GLsizei  *)(pc +  0);
-
-        CALL_DeleteQueriesARB( GET_DISPATCH(), (
-            n,
-             (const GLuint *)(pc +  4)
+        GLdouble params[4];
+        CALL_GetProgramParameterdvNV( GET_DISPATCH(), (
+            *(GLenum   *)(pc +  0),
+            *(GLuint   *)(pc +  4),
+            *(GLenum   *)(pc +  8),
+            params
         ) );
+        __glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDisp_IsQueryARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetProgramParameterfvNV(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
 
-    pc += __GLX_SINGLE_HDR_SIZE;
+    pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        GLboolean retval;
-        retval = CALL_IsQueryARB( GET_DISPATCH(), (
-            *(GLuint   *)(pc +  0)
+        GLfloat params[4];
+        CALL_GetProgramParameterfvNV( GET_DISPATCH(), (
+            *(GLenum   *)(pc +  0),
+            *(GLuint   *)(pc +  4),
+            *(GLenum   *)(pc +  8),
+            params
         ) );
-        __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
+        __glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
         error = Success;
     }
 
     return error;
 }
 
-void __glXDisp_BeginQueryARB(GLbyte * pc)
-{
-    CALL_BeginQueryARB( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLuint   *)(pc +  4)
-    ) );
-}
-
-void __glXDisp_EndQueryARB(GLbyte * pc)
-{
-    CALL_EndQueryARB( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0)
-    ) );
-}
-
-int __glXDisp_GetQueryivARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetProgramivNV(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
 
-    pc += __GLX_SINGLE_HDR_SIZE;
+    pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
         const GLenum pname = *(GLenum   *)(pc +  4);
 
-        const GLuint compsize = __glGetQueryivARB_size(pname);
+        const GLuint compsize = __glGetProgramivNV_size(pname);
         GLint answerBuffer[200];
         GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
 
         if (params == NULL) return BadAlloc;
         __glXClearErrorOccured();
 
-        CALL_GetQueryivARB( GET_DISPATCH(), (
-            *(GLenum   *)(pc +  0),
+        CALL_GetProgramivNV( GET_DISPATCH(), (
+            *(GLuint   *)(pc +  0),
             pname,
             params
         ) );
@@ -5131,58 +4776,22 @@ int __glXDisp_GetQueryivARB(__GLXclientS
     return error;
 }
 
-int __glXDisp_GetQueryObjectivARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetTrackMatrixivNV(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
 
-    pc += __GLX_SINGLE_HDR_SIZE;
+    pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLenum pname = *(GLenum   *)(pc +  4);
-
-        const GLuint compsize = __glGetQueryObjectivARB_size(pname);
-        GLint answerBuffer[200];
-        GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
-
-        if (params == NULL) return BadAlloc;
-        __glXClearErrorOccured();
-
-        CALL_GetQueryObjectivARB( GET_DISPATCH(), (
-            *(GLuint   *)(pc +  0),
-            pname,
-            params
-        ) );
-        __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
-        error = Success;
-    }
-
-    return error;
-}
-
-int __glXDisp_GetQueryObjectuivARB(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
-
-    pc += __GLX_SINGLE_HDR_SIZE;
-    if ( cx != NULL ) {
-        const GLenum pname = *(GLenum   *)(pc +  4);
-
-        const GLuint compsize = __glGetQueryObjectuivARB_size(pname);
-        GLuint answerBuffer[200];
-        GLuint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
-
-        if (params == NULL) return BadAlloc;
-        __glXClearErrorOccured();
-
-        CALL_GetQueryObjectuivARB( GET_DISPATCH(), (
-            *(GLuint   *)(pc +  0),
-            pname,
+        GLint params[1];
+        CALL_GetTrackMatrixivNV( GET_DISPATCH(), (
+            *(GLenum   *)(pc +  0),
+            *(GLuint   *)(pc +  4),
+            *(GLenum   *)(pc +  8),
             params
         ) );
-        __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
+        __glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
         error = Success;
     }
 
@@ -5276,6 +4885,114 @@ int __glXDisp_GetVertexAttribivNV(__GLXc
     return error;
 }
 
+int __glXDisp_IsProgramNV(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        GLboolean retval;
+        retval = CALL_IsProgramNV( GET_DISPATCH(), (
+            *(GLuint   *)(pc +  0)
+        ) );
+        __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
+        error = Success;
+    }
+
+    return error;
+}
+
+void __glXDisp_LoadProgramNV(GLbyte * pc)
+{
+    const GLsizei len = *(GLsizei  *)(pc +  8);
+
+    CALL_LoadProgramNV( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLuint   *)(pc +  4),
+        len,
+         (const GLubyte *)(pc + 12)
+    ) );
+}
+
+void __glXDisp_ProgramParameter4dvNV(GLbyte * pc)
+{
+#ifdef __GLX_ALIGN64
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, 40);
+        pc -= 4;
+    }
+#endif
+
+    CALL_ProgramParameter4dvNV( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLuint   *)(pc +  4),
+         (const GLdouble *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_ProgramParameter4fvNV(GLbyte * pc)
+{
+    CALL_ProgramParameter4fvNV( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLuint   *)(pc +  4),
+         (const GLfloat *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_ProgramParameters4dvNV(GLbyte * pc)
+{
+    const GLuint num = *(GLuint   *)(pc +  8);
+
+#ifdef __GLX_ALIGN64
+    const GLuint cmdlen = 16 + __GLX_PAD((num * 32)) - 4;
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, cmdlen);
+        pc -= 4;
+    }
+#endif
+
+    CALL_ProgramParameters4dvNV( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLuint   *)(pc +  4),
+        num,
+         (const GLdouble *)(pc + 12)
+    ) );
+}
+
+void __glXDisp_ProgramParameters4fvNV(GLbyte * pc)
+{
+    const GLuint num = *(GLuint   *)(pc +  8);
+
+    CALL_ProgramParameters4fvNV( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLuint   *)(pc +  4),
+        num,
+         (const GLfloat *)(pc + 12)
+    ) );
+}
+
+void __glXDisp_RequestResidentProgramsNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  0);
+
+    CALL_RequestResidentProgramsNV( GET_DISPATCH(), (
+        n,
+         (const GLuint *)(pc +  4)
+    ) );
+}
+
+void __glXDisp_TrackMatrixNV(GLbyte * pc)
+{
+    CALL_TrackMatrixNV( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLuint   *)(pc +  4),
+        *(GLenum   *)(pc +  8),
+        *(GLenum   *)(pc + 12)
+    ) );
+}
+
 void __glXDisp_VertexAttrib1dvNV(GLbyte * pc)
 {
 #ifdef __GLX_ALIGN64
@@ -5378,37 +5095,336 @@ void __glXDisp_VertexAttrib4dvNV(GLbyte 
     }
 #endif
 
-    CALL_VertexAttrib4dvNV( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLdouble *)(pc +  4)
+    CALL_VertexAttrib4dvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+         (const GLdouble *)(pc +  4)
+    ) );
+}
+
+void __glXDisp_VertexAttrib4fvNV(GLbyte * pc)
+{
+    CALL_VertexAttrib4fvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+         (const GLfloat *)(pc +  4)
+    ) );
+}
+
+void __glXDisp_VertexAttrib4svNV(GLbyte * pc)
+{
+    CALL_VertexAttrib4svNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+         (const GLshort *)(pc +  4)
+    ) );
+}
+
+void __glXDisp_VertexAttrib4ubvNV(GLbyte * pc)
+{
+    CALL_VertexAttrib4ubvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+         (const GLubyte *)(pc +  4)
+    ) );
+}
+
+void __glXDisp_VertexAttribs1dvNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+#ifdef __GLX_ALIGN64
+    const GLuint cmdlen = 12 + __GLX_PAD((n * 8)) - 4;
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, cmdlen);
+        pc -= 4;
+    }
+#endif
+
+    CALL_VertexAttribs1dvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLdouble *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_VertexAttribs1fvNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+    CALL_VertexAttribs1fvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLfloat *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_VertexAttribs1svNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+    CALL_VertexAttribs1svNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLshort *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_VertexAttribs2dvNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+#ifdef __GLX_ALIGN64
+    const GLuint cmdlen = 12 + __GLX_PAD((n * 16)) - 4;
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, cmdlen);
+        pc -= 4;
+    }
+#endif
+
+    CALL_VertexAttribs2dvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLdouble *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_VertexAttribs2fvNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+    CALL_VertexAttribs2fvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLfloat *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_VertexAttribs2svNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+    CALL_VertexAttribs2svNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLshort *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_VertexAttribs3dvNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+#ifdef __GLX_ALIGN64
+    const GLuint cmdlen = 12 + __GLX_PAD((n * 24)) - 4;
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, cmdlen);
+        pc -= 4;
+    }
+#endif
+
+    CALL_VertexAttribs3dvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLdouble *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_VertexAttribs3fvNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+    CALL_VertexAttribs3fvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLfloat *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_VertexAttribs3svNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+    CALL_VertexAttribs3svNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLshort *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_VertexAttribs4dvNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+#ifdef __GLX_ALIGN64
+    const GLuint cmdlen = 12 + __GLX_PAD((n * 32)) - 4;
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, cmdlen);
+        pc -= 4;
+    }
+#endif
+
+    CALL_VertexAttribs4dvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLdouble *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_VertexAttribs4fvNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+    CALL_VertexAttribs4fvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLfloat *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_VertexAttribs4svNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+    CALL_VertexAttribs4svNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLshort *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_VertexAttribs4ubvNV(GLbyte * pc)
+{
+    const GLsizei n = *(GLsizei  *)(pc +  4);
+
+    CALL_VertexAttribs4ubvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc +  0),
+        n,
+         (const GLubyte *)(pc +  8)
+    ) );
+}
+
+void __glXDisp_PointParameteriNV(GLbyte * pc)
+{
+    CALL_PointParameteriNV( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLint    *)(pc +  4)
+    ) );
+}
+
+void __glXDisp_PointParameterivNV(GLbyte * pc)
+{
+    const GLenum pname = *(GLenum   *)(pc +  0);
+    const GLint * params;
+
+    params = (const GLint *) (pc + 4);
+
+    CALL_PointParameterivNV( GET_DISPATCH(), (
+        pname,
+        params
+    ) );
+}
+
+void __glXDisp_ActiveStencilFaceEXT(GLbyte * pc)
+{
+    CALL_ActiveStencilFaceEXT( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0)
+    ) );
+}
+
+int __glXDisp_GetProgramNamedParameterdvNV(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLsizei len = *(GLsizei  *)(pc +  4);
+
+        GLdouble params[4];
+        CALL_GetProgramNamedParameterdvNV( GET_DISPATCH(), (
+            *(GLuint   *)(pc +  0),
+            len,
+             (const GLubyte *)(pc +  8),
+            params
+        ) );
+        __glXSendReply(cl->client, params, 4, 8, GL_TRUE, 0);
+        error = Success;
+    }
+
+    return error;
+}
+
+int __glXDisp_GetProgramNamedParameterfvNV(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLsizei len = *(GLsizei  *)(pc +  4);
+
+        GLfloat params[4];
+        CALL_GetProgramNamedParameterfvNV( GET_DISPATCH(), (
+            *(GLuint   *)(pc +  0),
+            len,
+             (const GLubyte *)(pc +  8),
+            params
+        ) );
+        __glXSendReply(cl->client, params, 4, 4, GL_TRUE, 0);
+        error = Success;
+    }
+
+    return error;
+}
+
+void __glXDisp_ProgramNamedParameter4dvNV(GLbyte * pc)
+{
+    const GLsizei len = *(GLsizei  *)(pc + 36);
+
+#ifdef __GLX_ALIGN64
+    const GLuint cmdlen = 44 + __GLX_PAD(len) - 4;
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, cmdlen);
+        pc -= 4;
+    }
+#endif
+
+    CALL_ProgramNamedParameter4dvNV( GET_DISPATCH(), (
+        *(GLuint   *)(pc + 32),
+        len,
+         (const GLubyte *)(pc + 40),
+         (const GLdouble *)(pc +  0)
     ) );
 }
 
-void __glXDisp_VertexAttrib4fvNV(GLbyte * pc)
+void __glXDisp_ProgramNamedParameter4fvNV(GLbyte * pc)
 {
-    CALL_VertexAttrib4fvNV( GET_DISPATCH(), (
+    const GLsizei len = *(GLsizei  *)(pc +  4);
+
+    CALL_ProgramNamedParameter4fvNV( GET_DISPATCH(), (
         *(GLuint   *)(pc +  0),
-         (const GLfloat *)(pc +  4)
+        len,
+         (const GLubyte *)(pc + 24),
+         (const GLfloat *)(pc +  8)
     ) );
 }
 
-void __glXDisp_VertexAttrib4svNV(GLbyte * pc)
+void __glXDisp_BindFramebufferEXT(GLbyte * pc)
 {
-    CALL_VertexAttrib4svNV( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLshort *)(pc +  4)
+    CALL_BindFramebufferEXT( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLuint   *)(pc +  4)
     ) );
 }
 
-void __glXDisp_VertexAttrib4ubvNV(GLbyte * pc)
+void __glXDisp_BindRenderbufferEXT(GLbyte * pc)
 {
-    CALL_VertexAttrib4ubvNV( GET_DISPATCH(), (
-        *(GLuint   *)(pc +  0),
-         (const GLubyte *)(pc +  4)
+    CALL_BindRenderbufferEXT( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLuint   *)(pc +  4)
     ) );
 }
 
-int __glXDisp_IsRenderbufferEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_CheckFramebufferStatusEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5416,9 +5432,9 @@ int __glXDisp_IsRenderbufferEXT(__GLXcli
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        GLboolean retval;
-        retval = CALL_IsRenderbufferEXT( GET_DISPATCH(), (
-            *(GLuint   *)(pc +  0)
+        GLenum retval;
+        retval = CALL_CheckFramebufferStatusEXT( GET_DISPATCH(), (
+            *(GLenum   *)(pc +  0)
         ) );
         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
         error = Success;
@@ -5427,11 +5443,13 @@ int __glXDisp_IsRenderbufferEXT(__GLXcli
     return error;
 }
 
-void __glXDisp_BindRenderbufferEXT(GLbyte * pc)
+void __glXDisp_DeleteFramebuffersEXT(GLbyte * pc)
 {
-    CALL_BindRenderbufferEXT( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLuint   *)(pc +  4)
+    const GLsizei n = *(GLsizei  *)(pc +  0);
+
+    CALL_DeleteFramebuffersEXT( GET_DISPATCH(), (
+        n,
+         (const GLuint *)(pc +  4)
     ) );
 }
 
@@ -5445,6 +5463,73 @@ void __glXDisp_DeleteRenderbuffersEXT(GL
     ) );
 }
 
+void __glXDisp_FramebufferRenderbufferEXT(GLbyte * pc)
+{
+    CALL_FramebufferRenderbufferEXT( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLenum   *)(pc +  4),
+        *(GLenum   *)(pc +  8),
+        *(GLuint   *)(pc + 12)
+    ) );
+}
+
+void __glXDisp_FramebufferTexture1DEXT(GLbyte * pc)
+{
+    CALL_FramebufferTexture1DEXT( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLenum   *)(pc +  4),
+        *(GLenum   *)(pc +  8),
+        *(GLuint   *)(pc + 12),
+        *(GLint    *)(pc + 16)
+    ) );
+}
+
+void __glXDisp_FramebufferTexture2DEXT(GLbyte * pc)
+{
+    CALL_FramebufferTexture2DEXT( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLenum   *)(pc +  4),
+        *(GLenum   *)(pc +  8),
+        *(GLuint   *)(pc + 12),
+        *(GLint    *)(pc + 16)
+    ) );
+}
+
+void __glXDisp_FramebufferTexture3DEXT(GLbyte * pc)
+{
+    CALL_FramebufferTexture3DEXT( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0),
+        *(GLenum   *)(pc +  4),
+        *(GLenum   *)(pc +  8),
+        *(GLuint   *)(pc + 12),
+        *(GLint    *)(pc + 16),
+        *(GLint    *)(pc + 20)
+    ) );
+}
+
+int __glXDisp_GenFramebuffersEXT(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLsizei n = *(GLsizei  *)(pc +  0);
+
+        GLuint answerBuffer[200];
+        GLuint * framebuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+        CALL_GenFramebuffersEXT( GET_DISPATCH(), (
+            n,
+            framebuffers
+        ) );
+        __glXSendReply(cl->client, framebuffers, n, 4, GL_TRUE, 0);
+        error = Success;
+    }
+
+    return error;
+}
+
 int __glXDisp_GenRenderbuffersEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
@@ -5468,17 +5553,14 @@ int __glXDisp_GenRenderbuffersEXT(__GLXc
     return error;
 }
 
-void __glXDisp_RenderbufferStorageEXT(GLbyte * pc)
+void __glXDisp_GenerateMipmapEXT(GLbyte * pc)
 {
-    CALL_RenderbufferStorageEXT( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLenum   *)(pc +  4),
-        *(GLsizei  *)(pc +  8),
-        *(GLsizei  *)(pc + 12)
+    CALL_GenerateMipmapEXT( GET_DISPATCH(), (
+        *(GLenum   *)(pc +  0)
     ) );
 }
 
-int __glXDisp_GetRenderbufferParameterivEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetFramebufferAttachmentParameterivEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5487,9 +5569,10 @@ int __glXDisp_GetRenderbufferParameteriv
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
         GLint params[1];
-        CALL_GetRenderbufferParameterivEXT( GET_DISPATCH(), (
+        CALL_GetFramebufferAttachmentParameterivEXT( GET_DISPATCH(), (
             *(GLenum   *)(pc +  0),
             *(GLenum   *)(pc +  4),
+            *(GLenum   *)(pc +  8),
             params
         ) );
         __glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
@@ -5499,7 +5582,7 @@ int __glXDisp_GetRenderbufferParameteriv
     return error;
 }
 
-int __glXDisp_IsFramebufferEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetRenderbufferParameterivEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5507,36 +5590,20 @@ int __glXDisp_IsFramebufferEXT(__GLXclie
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        GLboolean retval;
-        retval = CALL_IsFramebufferEXT( GET_DISPATCH(), (
-            *(GLuint   *)(pc +  0)
+        GLint params[1];
+        CALL_GetRenderbufferParameterivEXT( GET_DISPATCH(), (
+            *(GLenum   *)(pc +  0),
+            *(GLenum   *)(pc +  4),
+            params
         ) );
-        __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
+        __glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
         error = Success;
     }
 
     return error;
 }
 
-void __glXDisp_BindFramebufferEXT(GLbyte * pc)
-{
-    CALL_BindFramebufferEXT( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLuint   *)(pc +  4)
-    ) );
-}
-
-void __glXDisp_DeleteFramebuffersEXT(GLbyte * pc)
-{
-    const GLsizei n = *(GLsizei  *)(pc +  0);
-
-    CALL_DeleteFramebuffersEXT( GET_DISPATCH(), (
-        n,
-         (const GLuint *)(pc +  4)
-    ) );
-}
-
-int __glXDisp_GenFramebuffersEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_IsFramebufferEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5544,22 +5611,18 @@ int __glXDisp_GenFramebuffersEXT(__GLXcl
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLsizei n = *(GLsizei  *)(pc +  0);
-
-        GLuint answerBuffer[200];
-        GLuint * framebuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
-        CALL_GenFramebuffersEXT( GET_DISPATCH(), (
-            n,
-            framebuffers
+        GLboolean retval;
+        retval = CALL_IsFramebufferEXT( GET_DISPATCH(), (
+            *(GLuint   *)(pc +  0)
         ) );
-        __glXSendReply(cl->client, framebuffers, n, 4, GL_TRUE, 0);
+        __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDisp_CheckFramebufferStatusEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_IsRenderbufferEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5567,9 +5630,9 @@ int __glXDisp_CheckFramebufferStatusEXT(
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        GLenum retval;
-        retval = CALL_CheckFramebufferStatusEXT( GET_DISPATCH(), (
-            *(GLenum   *)(pc +  0)
+        GLboolean retval;
+        retval = CALL_IsRenderbufferEXT( GET_DISPATCH(), (
+            *(GLuint   *)(pc +  0)
         ) );
         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
         error = Success;
@@ -5578,76 +5641,13 @@ int __glXDisp_CheckFramebufferStatusEXT(
     return error;
 }
 
-void __glXDisp_FramebufferTexture1DEXT(GLbyte * pc)
-{
-    CALL_FramebufferTexture1DEXT( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLenum   *)(pc +  4),
-        *(GLenum   *)(pc +  8),
-        *(GLuint   *)(pc + 12),
-        *(GLint    *)(pc + 16)
-    ) );
-}
-
-void __glXDisp_FramebufferTexture2DEXT(GLbyte * pc)
-{
-    CALL_FramebufferTexture2DEXT( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLenum   *)(pc +  4),
-        *(GLenum   *)(pc +  8),
-        *(GLuint   *)(pc + 12),
-        *(GLint    *)(pc + 16)
-    ) );
-}
-
-void __glXDisp_FramebufferTexture3DEXT(GLbyte * pc)
-{
-    CALL_FramebufferTexture3DEXT( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0),
-        *(GLenum   *)(pc +  4),
-        *(GLenum   *)(pc +  8),
-        *(GLuint   *)(pc + 12),
-        *(GLint    *)(pc + 16),
-        *(GLint    *)(pc + 20)
-    ) );
-}
-
-void __glXDisp_FramebufferRenderbufferEXT(GLbyte * pc)
+void __glXDisp_RenderbufferStorageEXT(GLbyte * pc)
 {
-    CALL_FramebufferRenderbufferEXT( GET_DISPATCH(), (
+    CALL_RenderbufferStorageEXT( GET_DISPATCH(), (
         *(GLenum   *)(pc +  0),
         *(GLenum   *)(pc +  4),
-        *(GLenum   *)(pc +  8),
-        *(GLuint   *)(pc + 12)
-    ) );
-}
-
-int __glXDisp_GetFramebufferAttachmentParameterivEXT(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        GLint params[1];
-        CALL_GetFramebufferAttachmentParameterivEXT( GET_DISPATCH(), (
-            *(GLenum   *)(pc +  0),
-            *(GLenum   *)(pc +  4),
-            *(GLenum   *)(pc +  8),
-            params
-        ) );
-        __glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
-        error = Success;
-    }
-
-    return error;
-}
-
-void __glXDisp_GenerateMipmapEXT(GLbyte * pc)
-{
-    CALL_GenerateMipmapEXT( GET_DISPATCH(), (
-        *(GLenum   *)(pc +  0)
+        *(GLsizei  *)(pc +  8),
+        *(GLsizei  *)(pc + 12)
     ) );
 }
 
diff --git a/GL/glx/indirect_dispatch_swap.c b/GL/glx/indirect_dispatch_swap.c
index f5ed100..0c732e2 100644
--- a/GL/glx/indirect_dispatch_swap.c
+++ b/GL/glx/indirect_dispatch_swap.c
@@ -3807,172 +3807,18 @@ void __glXDispSwap_SampleCoverageARB(GLb
     ) );
 }
 
-void __glXDispSwap_DrawBuffersARB(GLbyte * pc)
-{
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
-
-    CALL_DrawBuffersARB( GET_DISPATCH(), (
-        n,
-         (const GLenum *)bswap_32_array( (uint32_t *) (pc +  4), 0 )
-    ) );
-}
-
-int __glXDispSwap_AreTexturesResidentEXT(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
-
-        GLboolean retval;
-        GLboolean answerBuffer[200];
-        GLboolean * residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
-        retval = CALL_AreTexturesResidentEXT( GET_DISPATCH(), (
-            n,
-             (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 0 ),
-            residences
-        ) );
-        __glXSendReplySwap(cl->client, residences, n, 1, GL_TRUE, retval);
-        error = Success;
-    }
-
-    return error;
-}
-
-int __glXDispSwap_GenTexturesEXT(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
-
-        GLuint answerBuffer[200];
-        GLuint * textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
-        CALL_GenTexturesEXT( GET_DISPATCH(), (
-            n,
-            textures
-        ) );
-        (void) bswap_32_array( (uint32_t *) textures, n );
-        __glXSendReplySwap(cl->client, textures, n, 4, GL_TRUE, 0);
-        error = Success;
-    }
-
-    return error;
-}
-
-int __glXDispSwap_IsTextureEXT(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        GLboolean retval;
-        retval = CALL_IsTextureEXT( GET_DISPATCH(), (
-             (GLuint  )bswap_CARD32 ( pc +  0 )
-        ) );
-        __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
-        error = Success;
-    }
-
-    return error;
-}
-
-void __glXDispSwap_SampleMaskSGIS(GLbyte * pc)
-{
-    CALL_SampleMaskSGIS( GET_DISPATCH(), (
-         (GLclampf)bswap_FLOAT32( pc +  0 ),
-        *(GLboolean *)(pc +  4)
-    ) );
-}
-
-void __glXDispSwap_SamplePatternSGIS(GLbyte * pc)
-{
-    CALL_SamplePatternSGIS( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 )
-    ) );
-}
-
-void __glXDispSwap_PointParameterfEXT(GLbyte * pc)
-{
-    CALL_PointParameterfEXT( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLfloat )bswap_FLOAT32( pc +  4 )
-    ) );
-}
-
-void __glXDispSwap_PointParameterfvEXT(GLbyte * pc)
-{
-    const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  0 );
-    const GLfloat * params;
-
-    params = (const GLfloat *) bswap_32_array( (uint32_t *) (pc + 4), __glPointParameterfvEXT_size(pname) );
-
-    CALL_PointParameterfvEXT( GET_DISPATCH(), (
-        pname,
-        params
-    ) );
-}
-
-void __glXDispSwap_WindowPos3fvMESA(GLbyte * pc)
-{
-    CALL_WindowPos3fvMESA( GET_DISPATCH(), (
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  0), 3 )
-    ) );
-}
-
-void __glXDispSwap_BlendFuncSeparateEXT(GLbyte * pc)
-{
-    CALL_BlendFuncSeparateEXT( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLenum  )bswap_ENUM   ( pc +  4 ),
-         (GLenum  )bswap_ENUM   ( pc +  8 ),
-         (GLenum  )bswap_ENUM   ( pc + 12 )
-    ) );
-}
-
-void __glXDispSwap_FogCoordfvEXT(GLbyte * pc)
-{
-    CALL_FogCoordfvEXT( GET_DISPATCH(), (
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  0), 1 )
-    ) );
-}
-
-void __glXDispSwap_FogCoorddvEXT(GLbyte * pc)
-{
-#ifdef __GLX_ALIGN64
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 8);
-        pc -= 4;
-    }
-#endif
-
-    CALL_FogCoorddvEXT( GET_DISPATCH(), (
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  0), 1 )
-    ) );
-}
-
-void __glXDispSwap_CompressedTexImage3DARB(GLbyte * pc)
+void __glXDispSwap_CompressedTexImage1DARB(GLbyte * pc)
 {
-    const GLsizei imageSize =  (GLsizei )bswap_CARD32 ( pc + 28 );
+    const GLsizei imageSize =  (GLsizei )bswap_CARD32 ( pc + 20 );
 
-    CALL_CompressedTexImage3DARB( GET_DISPATCH(), (
+    CALL_CompressedTexImage1DARB( GET_DISPATCH(), (
          (GLenum  )bswap_ENUM   ( pc +  0 ),
          (GLint   )bswap_CARD32 ( pc +  4 ),
          (GLenum  )bswap_ENUM   ( pc +  8 ),
          (GLsizei )bswap_CARD32 ( pc + 12 ),
-         (GLsizei )bswap_CARD32 ( pc + 16 ),
-         (GLsizei )bswap_CARD32 ( pc + 20 ),
-         (GLint   )bswap_CARD32 ( pc + 24 ),
+         (GLint   )bswap_CARD32 ( pc + 16 ),
         imageSize,
-         (const GLvoid *)(pc + 32)
+         (const GLvoid *)(pc + 24)
     ) );
 }
 
@@ -3992,37 +3838,35 @@ void __glXDispSwap_CompressedTexImage2DA
     ) );
 }
 
-void __glXDispSwap_CompressedTexImage1DARB(GLbyte * pc)
+void __glXDispSwap_CompressedTexImage3DARB(GLbyte * pc)
 {
-    const GLsizei imageSize =  (GLsizei )bswap_CARD32 ( pc + 20 );
+    const GLsizei imageSize =  (GLsizei )bswap_CARD32 ( pc + 28 );
 
-    CALL_CompressedTexImage1DARB( GET_DISPATCH(), (
+    CALL_CompressedTexImage3DARB( GET_DISPATCH(), (
          (GLenum  )bswap_ENUM   ( pc +  0 ),
          (GLint   )bswap_CARD32 ( pc +  4 ),
          (GLenum  )bswap_ENUM   ( pc +  8 ),
          (GLsizei )bswap_CARD32 ( pc + 12 ),
-         (GLint   )bswap_CARD32 ( pc + 16 ),
+         (GLsizei )bswap_CARD32 ( pc + 16 ),
+         (GLsizei )bswap_CARD32 ( pc + 20 ),
+         (GLint   )bswap_CARD32 ( pc + 24 ),
         imageSize,
-         (const GLvoid *)(pc + 24)
+         (const GLvoid *)(pc + 32)
     ) );
 }
 
-void __glXDispSwap_CompressedTexSubImage3DARB(GLbyte * pc)
+void __glXDispSwap_CompressedTexSubImage1DARB(GLbyte * pc)
 {
-    const GLsizei imageSize =  (GLsizei )bswap_CARD32 ( pc + 36 );
+    const GLsizei imageSize =  (GLsizei )bswap_CARD32 ( pc + 20 );
 
-    CALL_CompressedTexSubImage3DARB( GET_DISPATCH(), (
+    CALL_CompressedTexSubImage1DARB( GET_DISPATCH(), (
          (GLenum  )bswap_ENUM   ( pc +  0 ),
          (GLint   )bswap_CARD32 ( pc +  4 ),
          (GLint   )bswap_CARD32 ( pc +  8 ),
-         (GLint   )bswap_CARD32 ( pc + 12 ),
-         (GLint   )bswap_CARD32 ( pc + 16 ),
-         (GLsizei )bswap_CARD32 ( pc + 20 ),
-         (GLsizei )bswap_CARD32 ( pc + 24 ),
-         (GLsizei )bswap_CARD32 ( pc + 28 ),
-         (GLenum  )bswap_ENUM   ( pc + 32 ),
+         (GLsizei )bswap_CARD32 ( pc + 12 ),
+         (GLenum  )bswap_ENUM   ( pc + 16 ),
         imageSize,
-         (const GLvoid *)(pc + 40)
+         (const GLvoid *)(pc + 24)
     ) );
 }
 
@@ -4043,171 +3887,70 @@ void __glXDispSwap_CompressedTexSubImage
     ) );
 }
 
-void __glXDispSwap_CompressedTexSubImage1DARB(GLbyte * pc)
+void __glXDispSwap_CompressedTexSubImage3DARB(GLbyte * pc)
 {
-    const GLsizei imageSize =  (GLsizei )bswap_CARD32 ( pc + 20 );
+    const GLsizei imageSize =  (GLsizei )bswap_CARD32 ( pc + 36 );
 
-    CALL_CompressedTexSubImage1DARB( GET_DISPATCH(), (
+    CALL_CompressedTexSubImage3DARB( GET_DISPATCH(), (
          (GLenum  )bswap_ENUM   ( pc +  0 ),
          (GLint   )bswap_CARD32 ( pc +  4 ),
          (GLint   )bswap_CARD32 ( pc +  8 ),
-         (GLsizei )bswap_CARD32 ( pc + 12 ),
-         (GLenum  )bswap_ENUM   ( pc + 16 ),
+         (GLint   )bswap_CARD32 ( pc + 12 ),
+         (GLint   )bswap_CARD32 ( pc + 16 ),
+         (GLsizei )bswap_CARD32 ( pc + 20 ),
+         (GLsizei )bswap_CARD32 ( pc + 24 ),
+         (GLsizei )bswap_CARD32 ( pc + 28 ),
+         (GLenum  )bswap_ENUM   ( pc + 32 ),
         imageSize,
-         (const GLvoid *)(pc + 24)
+         (const GLvoid *)(pc + 40)
     ) );
 }
 
-void __glXDispSwap_SecondaryColor3bvEXT(GLbyte * pc)
+int __glXDispSwap_GetProgramEnvParameterdvARB(__GLXclientState *cl, GLbyte *pc)
 {
-    CALL_SecondaryColor3bvEXT( GET_DISPATCH(), (
-         (const GLbyte *)(pc +  0)
-    ) );
-}
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-void __glXDispSwap_SecondaryColor3dvEXT(GLbyte * pc)
-{
-#ifdef __GLX_ALIGN64
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 24);
-        pc -= 4;
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        GLdouble params[4];
+        CALL_GetProgramEnvParameterdvARB( GET_DISPATCH(), (
+             (GLenum  )bswap_ENUM   ( pc +  0 ),
+             (GLuint  )bswap_CARD32 ( pc +  4 ),
+            params
+        ) );
+        (void) bswap_64_array( (uint64_t *) params, 4 );
+        __glXSendReplySwap(cl->client, params, 4, 8, GL_FALSE, 0);
+        error = Success;
     }
-#endif
-
-    CALL_SecondaryColor3dvEXT( GET_DISPATCH(), (
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  0), 3 )
-    ) );
-}
 
-void __glXDispSwap_SecondaryColor3fvEXT(GLbyte * pc)
-{
-    CALL_SecondaryColor3fvEXT( GET_DISPATCH(), (
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  0), 3 )
-    ) );
+    return error;
 }
 
-void __glXDispSwap_SecondaryColor3ivEXT(GLbyte * pc)
+int __glXDispSwap_GetProgramEnvParameterfvARB(__GLXclientState *cl, GLbyte *pc)
 {
-    CALL_SecondaryColor3ivEXT( GET_DISPATCH(), (
-         (const GLint *)bswap_32_array( (uint32_t *) (pc +  0), 3 )
-    ) );
-}
-
-void __glXDispSwap_SecondaryColor3svEXT(GLbyte * pc)
-{
-    CALL_SecondaryColor3svEXT( GET_DISPATCH(), (
-         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  0), 3 )
-    ) );
-}
-
-void __glXDispSwap_SecondaryColor3ubvEXT(GLbyte * pc)
-{
-    CALL_SecondaryColor3ubvEXT( GET_DISPATCH(), (
-         (const GLubyte *)(pc +  0)
-    ) );
-}
-
-void __glXDispSwap_SecondaryColor3uivEXT(GLbyte * pc)
-{
-    CALL_SecondaryColor3uivEXT( GET_DISPATCH(), (
-         (const GLuint *)bswap_32_array( (uint32_t *) (pc +  0), 3 )
-    ) );
-}
-
-void __glXDispSwap_SecondaryColor3usvEXT(GLbyte * pc)
-{
-    CALL_SecondaryColor3usvEXT( GET_DISPATCH(), (
-         (const GLushort *)bswap_16_array( (uint16_t *) (pc +  0), 3 )
-    ) );
-}
-
-int __glXDispSwap_AreProgramsResidentNV(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
-
-        GLboolean retval;
-        GLboolean answerBuffer[200];
-        GLboolean * residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
-        retval = CALL_AreProgramsResidentNV( GET_DISPATCH(), (
-            n,
-             (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 0 ),
-            residences
-        ) );
-        __glXSendReplySwap(cl->client, residences, n, 1, GL_FALSE, retval);
-        error = Success;
-    }
-
-    return error;
-}
-
-void __glXDispSwap_BindProgramNV(GLbyte * pc)
-{
-    CALL_BindProgramNV( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLuint  )bswap_CARD32 ( pc +  4 )
-    ) );
-}
-
-int __glXDispSwap_DeleteProgramsNV(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
-
-        CALL_DeleteProgramsNV( GET_DISPATCH(), (
-            n,
-             (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 0 )
-        ) );
-        error = Success;
-    }
-
-    return error;
-}
-
-void __glXDispSwap_ExecuteProgramNV(GLbyte * pc)
-{
-    CALL_ExecuteProgramNV( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLuint  )bswap_CARD32 ( pc +  4 ),
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 4 )
-    ) );
-}
-
-int __glXDispSwap_GenProgramsNV(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
-
-        GLuint answerBuffer[200];
-        GLuint * programs = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
-        CALL_GenProgramsNV( GET_DISPATCH(), (
-            n,
-            programs
+        GLfloat params[4];
+        CALL_GetProgramEnvParameterfvARB( GET_DISPATCH(), (
+             (GLenum  )bswap_ENUM   ( pc +  0 ),
+             (GLuint  )bswap_CARD32 ( pc +  4 ),
+            params
         ) );
-        (void) bswap_32_array( (uint32_t *) programs, n );
-        __glXSendReplySwap(cl->client, programs, n, 4, GL_TRUE, 0);
+        (void) bswap_32_array( (uint32_t *) params, 4 );
+        __glXSendReplySwap(cl->client, params, 4, 4, GL_FALSE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDispSwap_GetProgramParameterdvNV(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetProgramLocalParameterdvARB(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -4216,10 +3959,9 @@ int __glXDispSwap_GetProgramParameterdvN
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
         GLdouble params[4];
-        CALL_GetProgramParameterdvNV( GET_DISPATCH(), (
+        CALL_GetProgramLocalParameterdvARB( GET_DISPATCH(), (
              (GLenum  )bswap_ENUM   ( pc +  0 ),
              (GLuint  )bswap_CARD32 ( pc +  4 ),
-             (GLenum  )bswap_ENUM   ( pc +  8 ),
             params
         ) );
         (void) bswap_64_array( (uint64_t *) params, 4 );
@@ -4230,7 +3972,7 @@ int __glXDispSwap_GetProgramParameterdvN
     return error;
 }
 
-int __glXDispSwap_GetProgramParameterfvNV(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetProgramLocalParameterfvARB(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -4239,10 +3981,9 @@ int __glXDispSwap_GetProgramParameterfvN
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
         GLfloat params[4];
-        CALL_GetProgramParameterfvNV( GET_DISPATCH(), (
+        CALL_GetProgramLocalParameterfvARB( GET_DISPATCH(), (
              (GLenum  )bswap_ENUM   ( pc +  0 ),
              (GLuint  )bswap_CARD32 ( pc +  4 ),
-             (GLenum  )bswap_ENUM   ( pc +  8 ),
             params
         ) );
         (void) bswap_32_array( (uint32_t *) params, 4 );
@@ -4253,7 +3994,7 @@ int __glXDispSwap_GetProgramParameterfvN
     return error;
 }
 
-int __glXDispSwap_GetProgramivNV(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetProgramivARB(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -4263,15 +4004,15 @@ int __glXDispSwap_GetProgramivNV(__GLXcl
     if ( cx != NULL ) {
         const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
 
-        const GLuint compsize = __glGetProgramivNV_size(pname);
+        const GLuint compsize = __glGetProgramivARB_size(pname);
         GLint answerBuffer[200];
         GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
 
         if (params == NULL) return BadAlloc;
         __glXClearErrorOccured();
 
-        CALL_GetProgramivNV( GET_DISPATCH(), (
-             (GLuint  )bswap_CARD32 ( pc +  0 ),
+        CALL_GetProgramivARB( GET_DISPATCH(), (
+             (GLenum  )bswap_ENUM   ( pc +  0 ),
             pname,
             params
         ) );
@@ -4283,29 +4024,6 @@ int __glXDispSwap_GetProgramivNV(__GLXcl
     return error;
 }
 
-int __glXDispSwap_GetTrackMatrixivNV(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        GLint params[1];
-        CALL_GetTrackMatrixivNV( GET_DISPATCH(), (
-             (GLenum  )bswap_ENUM   ( pc +  0 ),
-             (GLuint  )bswap_CARD32 ( pc +  4 ),
-             (GLenum  )bswap_ENUM   ( pc +  8 ),
-            params
-        ) );
-        (void) bswap_32_array( (uint32_t *) params, 1 );
-        __glXSendReplySwap(cl->client, params, 1, 4, GL_FALSE, 0);
-        error = Success;
-    }
-
-    return error;
-}
-
 int __glXDispSwap_GetVertexAttribdvARB(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
@@ -4396,38 +4114,7 @@ int __glXDispSwap_GetVertexAttribivARB(_
     return error;
 }
 
-int __glXDispSwap_IsProgramNV(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        GLboolean retval;
-        retval = CALL_IsProgramNV( GET_DISPATCH(), (
-             (GLuint  )bswap_CARD32 ( pc +  0 )
-        ) );
-        __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
-        error = Success;
-    }
-
-    return error;
-}
-
-void __glXDispSwap_LoadProgramNV(GLbyte * pc)
-{
-    const GLsizei len =  (GLsizei )bswap_CARD32 ( pc +  8 );
-
-    CALL_LoadProgramNV( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLuint  )bswap_CARD32 ( pc +  4 ),
-        len,
-         (const GLubyte *)(pc + 12)
-    ) );
-}
-
-void __glXDispSwap_ProgramParameter4dvNV(GLbyte * pc)
+void __glXDispSwap_ProgramEnvParameter4dvARB(GLbyte * pc)
 {
 #ifdef __GLX_ALIGN64
     if ((unsigned long)(pc) & 7) {
@@ -4436,71 +4123,56 @@ void __glXDispSwap_ProgramParameter4dvNV
     }
 #endif
 
-    CALL_ProgramParameter4dvNV( GET_DISPATCH(), (
+    CALL_ProgramEnvParameter4dvARB( GET_DISPATCH(), (
          (GLenum  )bswap_ENUM   ( pc +  0 ),
          (GLuint  )bswap_CARD32 ( pc +  4 ),
          (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 4 )
     ) );
 }
 
-void __glXDispSwap_ProgramParameter4fvNV(GLbyte * pc)
+void __glXDispSwap_ProgramEnvParameter4fvARB(GLbyte * pc)
 {
-    CALL_ProgramParameter4fvNV( GET_DISPATCH(), (
+    CALL_ProgramEnvParameter4fvARB( GET_DISPATCH(), (
          (GLenum  )bswap_ENUM   ( pc +  0 ),
          (GLuint  )bswap_CARD32 ( pc +  4 ),
          (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 4 )
     ) );
 }
 
-void __glXDispSwap_ProgramParameters4dvNV(GLbyte * pc)
+void __glXDispSwap_ProgramLocalParameter4dvARB(GLbyte * pc)
 {
-    const GLuint num =  (GLuint  )bswap_CARD32 ( pc +  8 );
-
 #ifdef __GLX_ALIGN64
-    const GLuint cmdlen = 16 + __GLX_PAD((num * 32)) - 4;
     if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, cmdlen);
+        (void) memmove(pc-4, pc, 40);
         pc -= 4;
     }
 #endif
 
-    CALL_ProgramParameters4dvNV( GET_DISPATCH(), (
+    CALL_ProgramLocalParameter4dvARB( GET_DISPATCH(), (
          (GLenum  )bswap_ENUM   ( pc +  0 ),
          (GLuint  )bswap_CARD32 ( pc +  4 ),
-        num,
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 12), 0 )
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 4 )
     ) );
 }
 
-void __glXDispSwap_ProgramParameters4fvNV(GLbyte * pc)
+void __glXDispSwap_ProgramLocalParameter4fvARB(GLbyte * pc)
 {
-    const GLuint num =  (GLuint  )bswap_CARD32 ( pc +  8 );
-
-    CALL_ProgramParameters4fvNV( GET_DISPATCH(), (
+    CALL_ProgramLocalParameter4fvARB( GET_DISPATCH(), (
          (GLenum  )bswap_ENUM   ( pc +  0 ),
          (GLuint  )bswap_CARD32 ( pc +  4 ),
-        num,
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 12), 0 )
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 4 )
     ) );
 }
 
-void __glXDispSwap_RequestResidentProgramsNV(GLbyte * pc)
+void __glXDispSwap_ProgramStringARB(GLbyte * pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
-
-    CALL_RequestResidentProgramsNV( GET_DISPATCH(), (
-        n,
-         (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 0 )
-    ) );
-}
+    const GLsizei len =  (GLsizei )bswap_CARD32 ( pc +  8 );
 
-void __glXDispSwap_TrackMatrixNV(GLbyte * pc)
-{
-    CALL_TrackMatrixNV( GET_DISPATCH(), (
+    CALL_ProgramStringARB( GET_DISPATCH(), (
          (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLuint  )bswap_CARD32 ( pc +  4 ),
-         (GLenum  )bswap_ENUM   ( pc +  8 ),
-         (GLenum  )bswap_ENUM   ( pc + 12 )
+         (GLenum  )bswap_ENUM   ( pc +  4 ),
+        len,
+         (const GLvoid *)(pc + 12)
     ) );
 }
 
@@ -4597,32 +4269,25 @@ void __glXDispSwap_VertexAttrib3svARB(GL
     ) );
 }
 
-void __glXDispSwap_VertexAttrib4dvARB(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4NbvARB(GLbyte * pc)
 {
-#ifdef __GLX_ALIGN64
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 36);
-        pc -= 4;
-    }
-#endif
-
-    CALL_VertexAttrib4dvARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc + 32 ),
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  0), 4 )
+    CALL_VertexAttrib4NbvARB( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLbyte *)(pc +  4)
     ) );
 }
 
-void __glXDispSwap_VertexAttrib4fvARB(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4NivARB(GLbyte * pc)
 {
-    CALL_VertexAttrib4fvARB( GET_DISPATCH(), (
+    CALL_VertexAttrib4NivARB( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  4), 4 )
+         (const GLint *)bswap_32_array( (uint32_t *) (pc +  4), 4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib4svARB(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4NsvARB(GLbyte * pc)
 {
-    CALL_VertexAttrib4svARB( GET_DISPATCH(), (
+    CALL_VertexAttrib4NsvARB( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
          (const GLshort *)bswap_16_array( (uint16_t *) (pc +  4), 4 )
     ) );
@@ -4636,396 +4301,272 @@ void __glXDispSwap_VertexAttrib4NubvARB(
     ) );
 }
 
-void __glXDispSwap_VertexAttribs1dvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4NuivARB(GLbyte * pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
-
-#ifdef __GLX_ALIGN64
-    const GLuint cmdlen = 12 + __GLX_PAD((n * 8)) - 4;
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, cmdlen);
-        pc -= 4;
-    }
-#endif
-
-    CALL_VertexAttribs1dvNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4NuivARB( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 0 )
+         (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttribs1fvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4NusvARB(GLbyte * pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
-
-    CALL_VertexAttribs1fvNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4NusvARB( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 0 )
+         (const GLushort *)bswap_16_array( (uint16_t *) (pc +  4), 4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttribs1svNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4bvARB(GLbyte * pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
-
-    CALL_VertexAttribs1svNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4bvARB( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  8), 0 )
+         (const GLbyte *)(pc +  4)
     ) );
 }
 
-void __glXDispSwap_VertexAttribs2dvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4dvARB(GLbyte * pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
-
 #ifdef __GLX_ALIGN64
-    const GLuint cmdlen = 12 + __GLX_PAD((n * 16)) - 4;
     if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, cmdlen);
+        (void) memmove(pc-4, pc, 36);
         pc -= 4;
     }
 #endif
 
-    CALL_VertexAttribs2dvNV( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 0 )
+    CALL_VertexAttrib4dvARB( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc + 32 ),
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  0), 4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttribs2fvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4fvARB(GLbyte * pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
-
-    CALL_VertexAttribs2fvNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4fvARB( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 0 )
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  4), 4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttribs2svNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4ivARB(GLbyte * pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
-
-    CALL_VertexAttribs2svNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4ivARB( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  8), 0 )
+         (const GLint *)bswap_32_array( (uint32_t *) (pc +  4), 4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttribs3dvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4svARB(GLbyte * pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
-
-#ifdef __GLX_ALIGN64
-    const GLuint cmdlen = 12 + __GLX_PAD((n * 24)) - 4;
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, cmdlen);
-        pc -= 4;
-    }
-#endif
-
-    CALL_VertexAttribs3dvNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4svARB( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 0 )
+         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  4), 4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttribs3fvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4ubvARB(GLbyte * pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
-
-    CALL_VertexAttribs3fvNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4ubvARB( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 0 )
+         (const GLubyte *)(pc +  4)
     ) );
 }
 
-void __glXDispSwap_VertexAttribs3svNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4uivARB(GLbyte * pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
-
-    CALL_VertexAttribs3svNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4uivARB( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  8), 0 )
+         (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttribs4dvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4usvARB(GLbyte * pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
-
-#ifdef __GLX_ALIGN64
-    const GLuint cmdlen = 12 + __GLX_PAD((n * 32)) - 4;
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, cmdlen);
-        pc -= 4;
-    }
-#endif
-
-    CALL_VertexAttribs4dvNV( GET_DISPATCH(), (
+    CALL_VertexAttrib4usvARB( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 0 )
+         (const GLushort *)bswap_16_array( (uint16_t *) (pc +  4), 4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttribs4fvNV(GLbyte * pc)
+void __glXDispSwap_BeginQueryARB(GLbyte * pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
-
-    CALL_VertexAttribs4fvNV( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 0 )
+    CALL_BeginQueryARB( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLuint  )bswap_CARD32 ( pc +  4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttribs4svNV(GLbyte * pc)
+int __glXDispSwap_DeleteQueriesARB(__GLXclientState *cl, GLbyte *pc)
 {
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-    CALL_VertexAttribs4svNV( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  8), 0 )
-    ) );
-}
+    pc += __GLX_SINGLE_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
 
-void __glXDispSwap_VertexAttribs4ubvNV(GLbyte * pc)
-{
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
+        CALL_DeleteQueriesARB( GET_DISPATCH(), (
+            n,
+             (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 0 )
+        ) );
+        error = Success;
+    }
 
-    CALL_VertexAttribs4ubvNV( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-        n,
-         (const GLubyte *)(pc +  8)
-    ) );
+    return error;
 }
 
-void __glXDispSwap_PointParameteriNV(GLbyte * pc)
+void __glXDispSwap_EndQueryARB(GLbyte * pc)
 {
-    CALL_PointParameteriNV( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLint   )bswap_CARD32 ( pc +  4 )
+    CALL_EndQueryARB( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 )
     ) );
 }
 
-void __glXDispSwap_PointParameterivNV(GLbyte * pc)
+int __glXDispSwap_GenQueriesARB(__GLXclientState *cl, GLbyte *pc)
 {
-    const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  0 );
-    const GLint * params;
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-    params = (const GLint *) bswap_32_array( (uint32_t *) (pc + 4), __glPointParameterivNV_size(pname) );
+    pc += __GLX_SINGLE_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
 
-    CALL_PointParameterivNV( GET_DISPATCH(), (
-        pname,
-        params
-    ) );
-}
+        GLuint answerBuffer[200];
+        GLuint * ids = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+        CALL_GenQueriesARB( GET_DISPATCH(), (
+            n,
+            ids
+        ) );
+        (void) bswap_32_array( (uint32_t *) ids, n );
+        __glXSendReplySwap(cl->client, ids, n, 4, GL_TRUE, 0);
+        error = Success;
+    }
 
-void __glXDispSwap_ActiveStencilFaceEXT(GLbyte * pc)
-{
-    CALL_ActiveStencilFaceEXT( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 )
-    ) );
+    return error;
 }
 
-void __glXDispSwap_VertexAttrib4bvARB(GLbyte * pc)
+int __glXDispSwap_GetQueryObjectivARB(__GLXclientState *cl, GLbyte *pc)
 {
-    CALL_VertexAttrib4bvARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLbyte *)(pc +  4)
-    ) );
-}
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-void __glXDispSwap_VertexAttrib4ivARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4ivARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLint *)bswap_32_array( (uint32_t *) (pc +  4), 4 )
-    ) );
-}
+    pc += __GLX_SINGLE_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
 
-void __glXDispSwap_VertexAttrib4ubvARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4ubvARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLubyte *)(pc +  4)
-    ) );
-}
+        const GLuint compsize = __glGetQueryObjectivARB_size(pname);
+        GLint answerBuffer[200];
+        GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
 
-void __glXDispSwap_VertexAttrib4usvARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4usvARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLushort *)bswap_16_array( (uint16_t *) (pc +  4), 4 )
-    ) );
-}
+        if (params == NULL) return BadAlloc;
+        __glXClearErrorOccured();
 
-void __glXDispSwap_VertexAttrib4uivARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4uivARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 4 )
-    ) );
+        CALL_GetQueryObjectivARB( GET_DISPATCH(), (
+             (GLuint  )bswap_CARD32 ( pc +  0 ),
+            pname,
+            params
+        ) );
+        (void) bswap_32_array( (uint32_t *) params, compsize );
+        __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
+        error = Success;
+    }
+
+    return error;
 }
 
-void __glXDispSwap_VertexAttrib4NbvARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4NbvARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLbyte *)(pc +  4)
-    ) );
-}
-
-void __glXDispSwap_VertexAttrib4NsvARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4NsvARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  4), 4 )
-    ) );
-}
-
-void __glXDispSwap_VertexAttrib4NivARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4NivARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLint *)bswap_32_array( (uint32_t *) (pc +  4), 4 )
-    ) );
-}
-
-void __glXDispSwap_VertexAttrib4NusvARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4NusvARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLushort *)bswap_16_array( (uint16_t *) (pc +  4), 4 )
-    ) );
-}
-
-void __glXDispSwap_VertexAttrib4NuivARB(GLbyte * pc)
-{
-    CALL_VertexAttrib4NuivARB( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 4 )
-    ) );
-}
-
-void __glXDispSwap_ProgramStringARB(GLbyte * pc)
+int __glXDispSwap_GetQueryObjectuivARB(__GLXclientState *cl, GLbyte *pc)
 {
-    const GLsizei len =  (GLsizei )bswap_CARD32 ( pc +  8 );
-
-    CALL_ProgramStringARB( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLenum  )bswap_ENUM   ( pc +  4 ),
-        len,
-         (const GLvoid *)(pc + 12)
-    ) );
-}
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-void __glXDispSwap_ProgramEnvParameter4dvARB(GLbyte * pc)
-{
-#ifdef __GLX_ALIGN64
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 40);
-        pc -= 4;
-    }
-#endif
+    pc += __GLX_SINGLE_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
 
-    CALL_ProgramEnvParameter4dvARB( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLuint  )bswap_CARD32 ( pc +  4 ),
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 4 )
-    ) );
-}
+        const GLuint compsize = __glGetQueryObjectuivARB_size(pname);
+        GLuint answerBuffer[200];
+        GLuint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
 
-void __glXDispSwap_ProgramEnvParameter4fvARB(GLbyte * pc)
-{
-    CALL_ProgramEnvParameter4fvARB( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLuint  )bswap_CARD32 ( pc +  4 ),
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 4 )
-    ) );
-}
+        if (params == NULL) return BadAlloc;
+        __glXClearErrorOccured();
 
-void __glXDispSwap_ProgramLocalParameter4dvARB(GLbyte * pc)
-{
-#ifdef __GLX_ALIGN64
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 40);
-        pc -= 4;
+        CALL_GetQueryObjectuivARB( GET_DISPATCH(), (
+             (GLuint  )bswap_CARD32 ( pc +  0 ),
+            pname,
+            params
+        ) );
+        (void) bswap_32_array( (uint32_t *) params, compsize );
+        __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
+        error = Success;
     }
-#endif
-
-    CALL_ProgramLocalParameter4dvARB( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLuint  )bswap_CARD32 ( pc +  4 ),
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 4 )
-    ) );
-}
 
-void __glXDispSwap_ProgramLocalParameter4fvARB(GLbyte * pc)
-{
-    CALL_ProgramLocalParameter4fvARB( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLuint  )bswap_CARD32 ( pc +  4 ),
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 4 )
-    ) );
+    return error;
 }
 
-int __glXDispSwap_GetProgramEnvParameterdvARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetQueryivARB(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-    pc += __GLX_VENDPRIV_HDR_SIZE;
+    pc += __GLX_SINGLE_HDR_SIZE;
     if ( cx != NULL ) {
-        GLdouble params[4];
-        CALL_GetProgramEnvParameterdvARB( GET_DISPATCH(), (
+        const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
+
+        const GLuint compsize = __glGetQueryivARB_size(pname);
+        GLint answerBuffer[200];
+        GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+        if (params == NULL) return BadAlloc;
+        __glXClearErrorOccured();
+
+        CALL_GetQueryivARB( GET_DISPATCH(), (
              (GLenum  )bswap_ENUM   ( pc +  0 ),
-             (GLuint  )bswap_CARD32 ( pc +  4 ),
+            pname,
             params
         ) );
-        (void) bswap_64_array( (uint64_t *) params, 4 );
-        __glXSendReplySwap(cl->client, params, 4, 8, GL_FALSE, 0);
+        (void) bswap_32_array( (uint32_t *) params, compsize );
+        __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDispSwap_GetProgramEnvParameterfvARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_IsQueryARB(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-    pc += __GLX_VENDPRIV_HDR_SIZE;
+    pc += __GLX_SINGLE_HDR_SIZE;
     if ( cx != NULL ) {
-        GLfloat params[4];
-        CALL_GetProgramEnvParameterfvARB( GET_DISPATCH(), (
-             (GLenum  )bswap_ENUM   ( pc +  0 ),
-             (GLuint  )bswap_CARD32 ( pc +  4 ),
-            params
+        GLboolean retval;
+        retval = CALL_IsQueryARB( GET_DISPATCH(), (
+             (GLuint  )bswap_CARD32 ( pc +  0 )
         ) );
-        (void) bswap_32_array( (uint32_t *) params, 4 );
-        __glXSendReplySwap(cl->client, params, 4, 4, GL_FALSE, 0);
+        __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDispSwap_GetProgramLocalParameterdvARB(__GLXclientState *cl, GLbyte *pc)
+void __glXDispSwap_DrawBuffersARB(GLbyte * pc)
+{
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
+
+    CALL_DrawBuffersARB( GET_DISPATCH(), (
+        n,
+         (const GLenum *)bswap_32_array( (uint32_t *) (pc +  4), 0 )
+    ) );
+}
+
+int __glXDispSwap_AreTexturesResidentEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5033,21 +4574,24 @@ int __glXDispSwap_GetProgramLocalParamet
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        GLdouble params[4];
-        CALL_GetProgramLocalParameterdvARB( GET_DISPATCH(), (
-             (GLenum  )bswap_ENUM   ( pc +  0 ),
-             (GLuint  )bswap_CARD32 ( pc +  4 ),
-            params
+        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
+
+        GLboolean retval;
+        GLboolean answerBuffer[200];
+        GLboolean * residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
+        retval = CALL_AreTexturesResidentEXT( GET_DISPATCH(), (
+            n,
+             (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 0 ),
+            residences
         ) );
-        (void) bswap_64_array( (uint64_t *) params, 4 );
-        __glXSendReplySwap(cl->client, params, 4, 8, GL_FALSE, 0);
+        __glXSendReplySwap(cl->client, residences, n, 1, GL_TRUE, retval);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDispSwap_GetProgramLocalParameterfvARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GenTexturesEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5055,21 +4599,23 @@ int __glXDispSwap_GetProgramLocalParamet
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        GLfloat params[4];
-        CALL_GetProgramLocalParameterfvARB( GET_DISPATCH(), (
-             (GLenum  )bswap_ENUM   ( pc +  0 ),
-             (GLuint  )bswap_CARD32 ( pc +  4 ),
-            params
+        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
+
+        GLuint answerBuffer[200];
+        GLuint * textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+        CALL_GenTexturesEXT( GET_DISPATCH(), (
+            n,
+            textures
         ) );
-        (void) bswap_32_array( (uint32_t *) params, 4 );
-        __glXSendReplySwap(cl->client, params, 4, 4, GL_FALSE, 0);
+        (void) bswap_32_array( (uint32_t *) textures, n );
+        __glXSendReplySwap(cl->client, textures, n, 4, GL_TRUE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDispSwap_GetProgramivARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_IsTextureEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5077,61 +4623,155 @@ int __glXDispSwap_GetProgramivARB(__GLXc
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
-
-        const GLuint compsize = __glGetProgramivARB_size(pname);
-        GLint answerBuffer[200];
-        GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
-
-        if (params == NULL) return BadAlloc;
-        __glXClearErrorOccured();
-
-        CALL_GetProgramivARB( GET_DISPATCH(), (
-             (GLenum  )bswap_ENUM   ( pc +  0 ),
-            pname,
-            params
+        GLboolean retval;
+        retval = CALL_IsTextureEXT( GET_DISPATCH(), (
+             (GLuint  )bswap_CARD32 ( pc +  0 )
         ) );
-        (void) bswap_32_array( (uint32_t *) params, compsize );
-        __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
+        __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
         error = Success;
     }
 
     return error;
 }
 
-void __glXDispSwap_ProgramNamedParameter4fvNV(GLbyte * pc)
+void __glXDispSwap_SampleMaskSGIS(GLbyte * pc)
 {
-    const GLsizei len =  (GLsizei )bswap_CARD32 ( pc +  4 );
-
-    CALL_ProgramNamedParameter4fvNV( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-        len,
-         (const GLubyte *)(pc + 24),
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 4 )
+    CALL_SampleMaskSGIS( GET_DISPATCH(), (
+         (GLclampf)bswap_FLOAT32( pc +  0 ),
+        *(GLboolean *)(pc +  4)
     ) );
 }
 
-void __glXDispSwap_ProgramNamedParameter4dvNV(GLbyte * pc)
+void __glXDispSwap_SamplePatternSGIS(GLbyte * pc)
 {
-    const GLsizei len =  (GLsizei )bswap_CARD32 ( pc + 36 );
-
-#ifdef __GLX_ALIGN64
-    const GLuint cmdlen = 44 + __GLX_PAD(len) - 4;
-    if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, cmdlen);
-        pc -= 4;
-    }
-#endif
-
-    CALL_ProgramNamedParameter4dvNV( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc + 32 ),
-        len,
-         (const GLubyte *)(pc + 40),
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  0), 4 )
+    CALL_SamplePatternSGIS( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 )
     ) );
 }
 
-int __glXDispSwap_GetProgramNamedParameterfvNV(__GLXclientState *cl, GLbyte *pc)
+void __glXDispSwap_PointParameterfEXT(GLbyte * pc)
+{
+    CALL_PointParameterfEXT( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLfloat )bswap_FLOAT32( pc +  4 )
+    ) );
+}
+
+void __glXDispSwap_PointParameterfvEXT(GLbyte * pc)
+{
+    const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  0 );
+    const GLfloat * params;
+
+    params = (const GLfloat *) bswap_32_array( (uint32_t *) (pc + 4), __glPointParameterfvEXT_size(pname) );
+
+    CALL_PointParameterfvEXT( GET_DISPATCH(), (
+        pname,
+        params
+    ) );
+}
+
+void __glXDispSwap_SecondaryColor3bvEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3bvEXT( GET_DISPATCH(), (
+         (const GLbyte *)(pc +  0)
+    ) );
+}
+
+void __glXDispSwap_SecondaryColor3dvEXT(GLbyte * pc)
+{
+#ifdef __GLX_ALIGN64
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, 24);
+        pc -= 4;
+    }
+#endif
+
+    CALL_SecondaryColor3dvEXT( GET_DISPATCH(), (
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  0), 3 )
+    ) );
+}
+
+void __glXDispSwap_SecondaryColor3fvEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3fvEXT( GET_DISPATCH(), (
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  0), 3 )
+    ) );
+}
+
+void __glXDispSwap_SecondaryColor3ivEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3ivEXT( GET_DISPATCH(), (
+         (const GLint *)bswap_32_array( (uint32_t *) (pc +  0), 3 )
+    ) );
+}
+
+void __glXDispSwap_SecondaryColor3svEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3svEXT( GET_DISPATCH(), (
+         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  0), 3 )
+    ) );
+}
+
+void __glXDispSwap_SecondaryColor3ubvEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3ubvEXT( GET_DISPATCH(), (
+         (const GLubyte *)(pc +  0)
+    ) );
+}
+
+void __glXDispSwap_SecondaryColor3uivEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3uivEXT( GET_DISPATCH(), (
+         (const GLuint *)bswap_32_array( (uint32_t *) (pc +  0), 3 )
+    ) );
+}
+
+void __glXDispSwap_SecondaryColor3usvEXT(GLbyte * pc)
+{
+    CALL_SecondaryColor3usvEXT( GET_DISPATCH(), (
+         (const GLushort *)bswap_16_array( (uint16_t *) (pc +  0), 3 )
+    ) );
+}
+
+void __glXDispSwap_FogCoorddvEXT(GLbyte * pc)
+{
+#ifdef __GLX_ALIGN64
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, 8);
+        pc -= 4;
+    }
+#endif
+
+    CALL_FogCoorddvEXT( GET_DISPATCH(), (
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  0), 1 )
+    ) );
+}
+
+void __glXDispSwap_FogCoordfvEXT(GLbyte * pc)
+{
+    CALL_FogCoordfvEXT( GET_DISPATCH(), (
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  0), 1 )
+    ) );
+}
+
+void __glXDispSwap_BlendFuncSeparateEXT(GLbyte * pc)
+{
+    CALL_BlendFuncSeparateEXT( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLenum  )bswap_ENUM   ( pc +  4 ),
+         (GLenum  )bswap_ENUM   ( pc +  8 ),
+         (GLenum  )bswap_ENUM   ( pc + 12 )
+    ) );
+}
+
+void __glXDispSwap_WindowPos3fvMESA(GLbyte * pc)
+{
+    CALL_WindowPos3fvMESA( GET_DISPATCH(), (
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  0), 3 )
+    ) );
+}
+
+int __glXDispSwap_AreProgramsResidentNV(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5139,24 +4779,32 @@ int __glXDispSwap_GetProgramNamedParamet
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLsizei len =  (GLsizei )bswap_CARD32 ( pc +  4 );
+        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
 
-        GLfloat params[4];
-        CALL_GetProgramNamedParameterfvNV( GET_DISPATCH(), (
-             (GLuint  )bswap_CARD32 ( pc +  0 ),
-            len,
-             (const GLubyte *)(pc +  8),
-            params
+        GLboolean retval;
+        GLboolean answerBuffer[200];
+        GLboolean * residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
+        retval = CALL_AreProgramsResidentNV( GET_DISPATCH(), (
+            n,
+             (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 0 ),
+            residences
         ) );
-        (void) bswap_32_array( (uint32_t *) params, 4 );
-        __glXSendReplySwap(cl->client, params, 4, 4, GL_TRUE, 0);
+        __glXSendReplySwap(cl->client, residences, n, 1, GL_FALSE, retval);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDispSwap_GetProgramNamedParameterdvNV(__GLXclientState *cl, GLbyte *pc)
+void __glXDispSwap_BindProgramNV(GLbyte * pc)
+{
+    CALL_BindProgramNV( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLuint  )bswap_CARD32 ( pc +  4 )
+    ) );
+}
+
+int __glXDispSwap_DeleteProgramsNV(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5164,120 +4812,116 @@ int __glXDispSwap_GetProgramNamedParamet
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLsizei len =  (GLsizei )bswap_CARD32 ( pc +  4 );
+        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
 
-        GLdouble params[4];
-        CALL_GetProgramNamedParameterdvNV( GET_DISPATCH(), (
-             (GLuint  )bswap_CARD32 ( pc +  0 ),
-            len,
-             (const GLubyte *)(pc +  8),
-            params
+        CALL_DeleteProgramsNV( GET_DISPATCH(), (
+            n,
+             (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 0 )
         ) );
-        (void) bswap_64_array( (uint64_t *) params, 4 );
-        __glXSendReplySwap(cl->client, params, 4, 8, GL_TRUE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDispSwap_GenQueriesARB(__GLXclientState *cl, GLbyte *pc)
+void __glXDispSwap_ExecuteProgramNV(GLbyte * pc)
 {
-    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    CALL_ExecuteProgramNV( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLuint  )bswap_CARD32 ( pc +  4 ),
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 4 )
+    ) );
+}
+
+int __glXDispSwap_GenProgramsNV(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-    pc += __GLX_SINGLE_HDR_SIZE;
+    pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
         const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
 
         GLuint answerBuffer[200];
-        GLuint * ids = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
-        CALL_GenQueriesARB( GET_DISPATCH(), (
+        GLuint * programs = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+        CALL_GenProgramsNV( GET_DISPATCH(), (
             n,
-            ids
+            programs
         ) );
-        (void) bswap_32_array( (uint32_t *) ids, n );
-        __glXSendReplySwap(cl->client, ids, n, 4, GL_TRUE, 0);
+        (void) bswap_32_array( (uint32_t *) programs, n );
+        __glXSendReplySwap(cl->client, programs, n, 4, GL_TRUE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDispSwap_DeleteQueriesARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetProgramParameterdvNV(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-    pc += __GLX_SINGLE_HDR_SIZE;
+    pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
-
-        CALL_DeleteQueriesARB( GET_DISPATCH(), (
-            n,
-             (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 0 )
+        GLdouble params[4];
+        CALL_GetProgramParameterdvNV( GET_DISPATCH(), (
+             (GLenum  )bswap_ENUM   ( pc +  0 ),
+             (GLuint  )bswap_CARD32 ( pc +  4 ),
+             (GLenum  )bswap_ENUM   ( pc +  8 ),
+            params
         ) );
+        (void) bswap_64_array( (uint64_t *) params, 4 );
+        __glXSendReplySwap(cl->client, params, 4, 8, GL_FALSE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDispSwap_IsQueryARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetProgramParameterfvNV(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-    pc += __GLX_SINGLE_HDR_SIZE;
+    pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        GLboolean retval;
-        retval = CALL_IsQueryARB( GET_DISPATCH(), (
-             (GLuint  )bswap_CARD32 ( pc +  0 )
+        GLfloat params[4];
+        CALL_GetProgramParameterfvNV( GET_DISPATCH(), (
+             (GLenum  )bswap_ENUM   ( pc +  0 ),
+             (GLuint  )bswap_CARD32 ( pc +  4 ),
+             (GLenum  )bswap_ENUM   ( pc +  8 ),
+            params
         ) );
-        __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
+        (void) bswap_32_array( (uint32_t *) params, 4 );
+        __glXSendReplySwap(cl->client, params, 4, 4, GL_FALSE, 0);
         error = Success;
     }
 
     return error;
 }
 
-void __glXDispSwap_BeginQueryARB(GLbyte * pc)
-{
-    CALL_BeginQueryARB( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLuint  )bswap_CARD32 ( pc +  4 )
-    ) );
-}
-
-void __glXDispSwap_EndQueryARB(GLbyte * pc)
-{
-    CALL_EndQueryARB( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 )
-    ) );
-}
-
-int __glXDispSwap_GetQueryivARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetProgramivNV(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-    pc += __GLX_SINGLE_HDR_SIZE;
+    pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
         const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
 
-        const GLuint compsize = __glGetQueryivARB_size(pname);
+        const GLuint compsize = __glGetProgramivNV_size(pname);
         GLint answerBuffer[200];
         GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
 
         if (params == NULL) return BadAlloc;
         __glXClearErrorOccured();
 
-        CALL_GetQueryivARB( GET_DISPATCH(), (
-             (GLenum  )bswap_ENUM   ( pc +  0 ),
+        CALL_GetProgramivNV( GET_DISPATCH(), (
+             (GLuint  )bswap_CARD32 ( pc +  0 ),
             pname,
             params
         ) );
@@ -5289,54 +4933,77 @@ int __glXDispSwap_GetQueryivARB(__GLXcli
     return error;
 }
 
-int __glXDispSwap_GetQueryObjectivARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetTrackMatrixivNV(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-    pc += __GLX_SINGLE_HDR_SIZE;
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        GLint params[1];
+        CALL_GetTrackMatrixivNV( GET_DISPATCH(), (
+             (GLenum  )bswap_ENUM   ( pc +  0 ),
+             (GLuint  )bswap_CARD32 ( pc +  4 ),
+             (GLenum  )bswap_ENUM   ( pc +  8 ),
+            params
+        ) );
+        (void) bswap_32_array( (uint32_t *) params, 1 );
+        __glXSendReplySwap(cl->client, params, 1, 4, GL_FALSE, 0);
+        error = Success;
+    }
+
+    return error;
+}
+
+int __glXDispSwap_GetVertexAttribdvNV(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
         const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
 
-        const GLuint compsize = __glGetQueryObjectivARB_size(pname);
-        GLint answerBuffer[200];
-        GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+        const GLuint compsize = __glGetVertexAttribdvNV_size(pname);
+        GLdouble answerBuffer[200];
+        GLdouble * params = __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, sizeof(answerBuffer), 8);
 
         if (params == NULL) return BadAlloc;
         __glXClearErrorOccured();
 
-        CALL_GetQueryObjectivARB( GET_DISPATCH(), (
+        CALL_GetVertexAttribdvNV( GET_DISPATCH(), (
              (GLuint  )bswap_CARD32 ( pc +  0 ),
             pname,
             params
         ) );
-        (void) bswap_32_array( (uint32_t *) params, compsize );
-        __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
+        (void) bswap_64_array( (uint64_t *) params, compsize );
+        __glXSendReplySwap(cl->client, params, compsize, 8, GL_FALSE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDispSwap_GetQueryObjectuivARB(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetVertexAttribfvNV(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXSingleReq * const req = (xGLXSingleReq *) pc;
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
     __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
 
-    pc += __GLX_SINGLE_HDR_SIZE;
+    pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
         const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
 
-        const GLuint compsize = __glGetQueryObjectuivARB_size(pname);
-        GLuint answerBuffer[200];
-        GLuint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+        const GLuint compsize = __glGetVertexAttribfvNV_size(pname);
+        GLfloat answerBuffer[200];
+        GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
 
         if (params == NULL) return BadAlloc;
         __glXClearErrorOccured();
 
-        CALL_GetQueryObjectuivARB( GET_DISPATCH(), (
+        CALL_GetVertexAttribfvNV( GET_DISPATCH(), (
              (GLuint  )bswap_CARD32 ( pc +  0 ),
             pname,
             params
@@ -5349,7 +5016,7 @@ int __glXDispSwap_GetQueryObjectuivARB(_
     return error;
 }
 
-int __glXDispSwap_GetVertexAttribdvNV(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetVertexAttribivNV(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5359,27 +5026,27 @@ int __glXDispSwap_GetVertexAttribdvNV(__
     if ( cx != NULL ) {
         const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
 
-        const GLuint compsize = __glGetVertexAttribdvNV_size(pname);
-        GLdouble answerBuffer[200];
-        GLdouble * params = __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, sizeof(answerBuffer), 8);
+        const GLuint compsize = __glGetVertexAttribivNV_size(pname);
+        GLint answerBuffer[200];
+        GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
 
         if (params == NULL) return BadAlloc;
         __glXClearErrorOccured();
 
-        CALL_GetVertexAttribdvNV( GET_DISPATCH(), (
+        CALL_GetVertexAttribivNV( GET_DISPATCH(), (
              (GLuint  )bswap_CARD32 ( pc +  0 ),
             pname,
             params
         ) );
-        (void) bswap_64_array( (uint64_t *) params, compsize );
-        __glXSendReplySwap(cl->client, params, compsize, 8, GL_FALSE, 0);
+        (void) bswap_32_array( (uint32_t *) params, compsize );
+        __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDispSwap_GetVertexAttribfvNV(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_IsProgramNV(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5387,191 +5054,540 @@ int __glXDispSwap_GetVertexAttribfvNV(__
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
+        GLboolean retval;
+        retval = CALL_IsProgramNV( GET_DISPATCH(), (
+             (GLuint  )bswap_CARD32 ( pc +  0 )
+        ) );
+        __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
+        error = Success;
+    }
 
-        const GLuint compsize = __glGetVertexAttribfvNV_size(pname);
-        GLfloat answerBuffer[200];
-        GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+    return error;
+}
+
+void __glXDispSwap_LoadProgramNV(GLbyte * pc)
+{
+    const GLsizei len =  (GLsizei )bswap_CARD32 ( pc +  8 );
+
+    CALL_LoadProgramNV( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLuint  )bswap_CARD32 ( pc +  4 ),
+        len,
+         (const GLubyte *)(pc + 12)
+    ) );
+}
+
+void __glXDispSwap_ProgramParameter4dvNV(GLbyte * pc)
+{
+#ifdef __GLX_ALIGN64
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, 40);
+        pc -= 4;
+    }
+#endif
+
+    CALL_ProgramParameter4dvNV( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLuint  )bswap_CARD32 ( pc +  4 ),
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 4 )
+    ) );
+}
+
+void __glXDispSwap_ProgramParameter4fvNV(GLbyte * pc)
+{
+    CALL_ProgramParameter4fvNV( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLuint  )bswap_CARD32 ( pc +  4 ),
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 4 )
+    ) );
+}
+
+void __glXDispSwap_ProgramParameters4dvNV(GLbyte * pc)
+{
+    const GLuint num =  (GLuint  )bswap_CARD32 ( pc +  8 );
+
+#ifdef __GLX_ALIGN64
+    const GLuint cmdlen = 16 + __GLX_PAD((num * 32)) - 4;
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, cmdlen);
+        pc -= 4;
+    }
+#endif
+
+    CALL_ProgramParameters4dvNV( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLuint  )bswap_CARD32 ( pc +  4 ),
+        num,
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 12), 0 )
+    ) );
+}
+
+void __glXDispSwap_ProgramParameters4fvNV(GLbyte * pc)
+{
+    const GLuint num =  (GLuint  )bswap_CARD32 ( pc +  8 );
+
+    CALL_ProgramParameters4fvNV( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLuint  )bswap_CARD32 ( pc +  4 ),
+        num,
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 12), 0 )
+    ) );
+}
+
+void __glXDispSwap_RequestResidentProgramsNV(GLbyte * pc)
+{
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
+
+    CALL_RequestResidentProgramsNV( GET_DISPATCH(), (
+        n,
+         (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 0 )
+    ) );
+}
+
+void __glXDispSwap_TrackMatrixNV(GLbyte * pc)
+{
+    CALL_TrackMatrixNV( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLuint  )bswap_CARD32 ( pc +  4 ),
+         (GLenum  )bswap_ENUM   ( pc +  8 ),
+         (GLenum  )bswap_ENUM   ( pc + 12 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib1dvNV(GLbyte * pc)
+{
+#ifdef __GLX_ALIGN64
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, 12);
+        pc -= 4;
+    }
+#endif
+
+    CALL_VertexAttrib1dvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  4), 1 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib1fvNV(GLbyte * pc)
+{
+    CALL_VertexAttrib1fvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  4), 1 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib1svNV(GLbyte * pc)
+{
+    CALL_VertexAttrib1svNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  4), 1 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib2dvNV(GLbyte * pc)
+{
+#ifdef __GLX_ALIGN64
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, 20);
+        pc -= 4;
+    }
+#endif
+
+    CALL_VertexAttrib2dvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  4), 2 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib2fvNV(GLbyte * pc)
+{
+    CALL_VertexAttrib2fvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  4), 2 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib2svNV(GLbyte * pc)
+{
+    CALL_VertexAttrib2svNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  4), 2 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib3dvNV(GLbyte * pc)
+{
+#ifdef __GLX_ALIGN64
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, 28);
+        pc -= 4;
+    }
+#endif
+
+    CALL_VertexAttrib3dvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  4), 3 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib3fvNV(GLbyte * pc)
+{
+    CALL_VertexAttrib3fvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  4), 3 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib3svNV(GLbyte * pc)
+{
+    CALL_VertexAttrib3svNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  4), 3 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib4dvNV(GLbyte * pc)
+{
+#ifdef __GLX_ALIGN64
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, 36);
+        pc -= 4;
+    }
+#endif
+
+    CALL_VertexAttrib4dvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  4), 4 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib4fvNV(GLbyte * pc)
+{
+    CALL_VertexAttrib4fvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  4), 4 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib4svNV(GLbyte * pc)
+{
+    CALL_VertexAttrib4svNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  4), 4 )
+    ) );
+}
+
+void __glXDispSwap_VertexAttrib4ubvNV(GLbyte * pc)
+{
+    CALL_VertexAttrib4ubvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+         (const GLubyte *)(pc +  4)
+    ) );
+}
 
-        if (params == NULL) return BadAlloc;
-        __glXClearErrorOccured();
+void __glXDispSwap_VertexAttribs1dvNV(GLbyte * pc)
+{
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
 
-        CALL_GetVertexAttribfvNV( GET_DISPATCH(), (
-             (GLuint  )bswap_CARD32 ( pc +  0 ),
-            pname,
-            params
-        ) );
-        (void) bswap_32_array( (uint32_t *) params, compsize );
-        __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
-        error = Success;
+#ifdef __GLX_ALIGN64
+    const GLuint cmdlen = 12 + __GLX_PAD((n * 8)) - 4;
+    if ((unsigned long)(pc) & 7) {
+        (void) memmove(pc-4, pc, cmdlen);
+        pc -= 4;
     }
+#endif
 
-    return error;
+    CALL_VertexAttribs1dvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+        n,
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 0 )
+    ) );
 }
 
-int __glXDispSwap_GetVertexAttribivNV(__GLXclientState *cl, GLbyte *pc)
+void __glXDispSwap_VertexAttribs1fvNV(GLbyte * pc)
 {
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  4 );
-
-        const GLuint compsize = __glGetVertexAttribivNV_size(pname);
-        GLint answerBuffer[200];
-        GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
 
-        if (params == NULL) return BadAlloc;
-        __glXClearErrorOccured();
+    CALL_VertexAttribs1fvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+        n,
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 0 )
+    ) );
+}
 
-        CALL_GetVertexAttribivNV( GET_DISPATCH(), (
-             (GLuint  )bswap_CARD32 ( pc +  0 ),
-            pname,
-            params
-        ) );
-        (void) bswap_32_array( (uint32_t *) params, compsize );
-        __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
-        error = Success;
-    }
+void __glXDispSwap_VertexAttribs1svNV(GLbyte * pc)
+{
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
 
-    return error;
+    CALL_VertexAttribs1svNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+        n,
+         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  8), 0 )
+    ) );
 }
 
-void __glXDispSwap_VertexAttrib1dvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttribs2dvNV(GLbyte * pc)
 {
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
 #ifdef __GLX_ALIGN64
+    const GLuint cmdlen = 12 + __GLX_PAD((n * 16)) - 4;
     if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 12);
+        (void) memmove(pc-4, pc, cmdlen);
         pc -= 4;
     }
 #endif
 
-    CALL_VertexAttrib1dvNV( GET_DISPATCH(), (
+    CALL_VertexAttribs2dvNV( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  4), 1 )
+        n,
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 0 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib1fvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttribs2fvNV(GLbyte * pc)
 {
-    CALL_VertexAttrib1fvNV( GET_DISPATCH(), (
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
+    CALL_VertexAttribs2fvNV( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  4), 1 )
+        n,
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 0 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib1svNV(GLbyte * pc)
+void __glXDispSwap_VertexAttribs2svNV(GLbyte * pc)
 {
-    CALL_VertexAttrib1svNV( GET_DISPATCH(), (
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
+    CALL_VertexAttribs2svNV( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  4), 1 )
+        n,
+         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  8), 0 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib2dvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttribs3dvNV(GLbyte * pc)
 {
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
 #ifdef __GLX_ALIGN64
+    const GLuint cmdlen = 12 + __GLX_PAD((n * 24)) - 4;
     if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 20);
+        (void) memmove(pc-4, pc, cmdlen);
         pc -= 4;
     }
 #endif
 
-    CALL_VertexAttrib2dvNV( GET_DISPATCH(), (
+    CALL_VertexAttribs3dvNV( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  4), 2 )
+        n,
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 0 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib2fvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttribs3fvNV(GLbyte * pc)
 {
-    CALL_VertexAttrib2fvNV( GET_DISPATCH(), (
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
+    CALL_VertexAttribs3fvNV( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  4), 2 )
+        n,
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 0 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib2svNV(GLbyte * pc)
+void __glXDispSwap_VertexAttribs3svNV(GLbyte * pc)
 {
-    CALL_VertexAttrib2svNV( GET_DISPATCH(), (
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
+    CALL_VertexAttribs3svNV( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  4), 2 )
+        n,
+         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  8), 0 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib3dvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttribs4dvNV(GLbyte * pc)
 {
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
 #ifdef __GLX_ALIGN64
+    const GLuint cmdlen = 12 + __GLX_PAD((n * 32)) - 4;
     if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 28);
+        (void) memmove(pc-4, pc, cmdlen);
         pc -= 4;
     }
 #endif
 
-    CALL_VertexAttrib3dvNV( GET_DISPATCH(), (
+    CALL_VertexAttribs4dvNV( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  4), 3 )
+        n,
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  8), 0 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib3fvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttribs4fvNV(GLbyte * pc)
 {
-    CALL_VertexAttrib3fvNV( GET_DISPATCH(), (
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
+    CALL_VertexAttribs4fvNV( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  4), 3 )
+        n,
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 0 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib3svNV(GLbyte * pc)
+void __glXDispSwap_VertexAttribs4svNV(GLbyte * pc)
 {
-    CALL_VertexAttrib3svNV( GET_DISPATCH(), (
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
+    CALL_VertexAttribs4svNV( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  4), 3 )
+        n,
+         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  8), 0 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib4dvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttribs4ubvNV(GLbyte * pc)
+{
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
+    CALL_VertexAttribs4ubvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc +  0 ),
+        n,
+         (const GLubyte *)(pc +  8)
+    ) );
+}
+
+void __glXDispSwap_PointParameteriNV(GLbyte * pc)
+{
+    CALL_PointParameteriNV( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLint   )bswap_CARD32 ( pc +  4 )
+    ) );
+}
+
+void __glXDispSwap_PointParameterivNV(GLbyte * pc)
+{
+    const GLenum pname =  (GLenum  )bswap_ENUM   ( pc +  0 );
+    const GLint * params;
+
+    params = (const GLint *) bswap_32_array( (uint32_t *) (pc + 4), __glPointParameterivNV_size(pname) );
+
+    CALL_PointParameterivNV( GET_DISPATCH(), (
+        pname,
+        params
+    ) );
+}
+
+void __glXDispSwap_ActiveStencilFaceEXT(GLbyte * pc)
+{
+    CALL_ActiveStencilFaceEXT( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 )
+    ) );
+}
+
+int __glXDispSwap_GetProgramNamedParameterdvNV(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLsizei len =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
+        GLdouble params[4];
+        CALL_GetProgramNamedParameterdvNV( GET_DISPATCH(), (
+             (GLuint  )bswap_CARD32 ( pc +  0 ),
+            len,
+             (const GLubyte *)(pc +  8),
+            params
+        ) );
+        (void) bswap_64_array( (uint64_t *) params, 4 );
+        __glXSendReplySwap(cl->client, params, 4, 8, GL_TRUE, 0);
+        error = Success;
+    }
+
+    return error;
+}
+
+int __glXDispSwap_GetProgramNamedParameterfvNV(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLsizei len =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
+        GLfloat params[4];
+        CALL_GetProgramNamedParameterfvNV( GET_DISPATCH(), (
+             (GLuint  )bswap_CARD32 ( pc +  0 ),
+            len,
+             (const GLubyte *)(pc +  8),
+            params
+        ) );
+        (void) bswap_32_array( (uint32_t *) params, 4 );
+        __glXSendReplySwap(cl->client, params, 4, 4, GL_TRUE, 0);
+        error = Success;
+    }
+
+    return error;
+}
+
+void __glXDispSwap_ProgramNamedParameter4dvNV(GLbyte * pc)
 {
+    const GLsizei len =  (GLsizei )bswap_CARD32 ( pc + 36 );
+
 #ifdef __GLX_ALIGN64
+    const GLuint cmdlen = 44 + __GLX_PAD(len) - 4;
     if ((unsigned long)(pc) & 7) {
-        (void) memmove(pc-4, pc, 36);
+        (void) memmove(pc-4, pc, cmdlen);
         pc -= 4;
     }
 #endif
 
-    CALL_VertexAttrib4dvNV( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  4), 4 )
+    CALL_ProgramNamedParameter4dvNV( GET_DISPATCH(), (
+         (GLuint  )bswap_CARD32 ( pc + 32 ),
+        len,
+         (const GLubyte *)(pc + 40),
+         (const GLdouble *)bswap_64_array( (uint64_t *) (pc +  0), 4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib4fvNV(GLbyte * pc)
+void __glXDispSwap_ProgramNamedParameter4fvNV(GLbyte * pc)
 {
-    CALL_VertexAttrib4fvNV( GET_DISPATCH(), (
+    const GLsizei len =  (GLsizei )bswap_CARD32 ( pc +  4 );
+
+    CALL_ProgramNamedParameter4fvNV( GET_DISPATCH(), (
          (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  4), 4 )
+        len,
+         (const GLubyte *)(pc + 24),
+         (const GLfloat *)bswap_32_array( (uint32_t *) (pc +  8), 4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib4svNV(GLbyte * pc)
+void __glXDispSwap_BindFramebufferEXT(GLbyte * pc)
 {
-    CALL_VertexAttrib4svNV( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLshort *)bswap_16_array( (uint16_t *) (pc +  4), 4 )
+    CALL_BindFramebufferEXT( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLuint  )bswap_CARD32 ( pc +  4 )
     ) );
 }
 
-void __glXDispSwap_VertexAttrib4ubvNV(GLbyte * pc)
+void __glXDispSwap_BindRenderbufferEXT(GLbyte * pc)
 {
-    CALL_VertexAttrib4ubvNV( GET_DISPATCH(), (
-         (GLuint  )bswap_CARD32 ( pc +  0 ),
-         (const GLubyte *)(pc +  4)
+    CALL_BindRenderbufferEXT( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLuint  )bswap_CARD32 ( pc +  4 )
     ) );
 }
 
-int __glXDispSwap_IsRenderbufferEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_CheckFramebufferStatusEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5579,9 +5595,9 @@ int __glXDispSwap_IsRenderbufferEXT(__GL
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        GLboolean retval;
-        retval = CALL_IsRenderbufferEXT( GET_DISPATCH(), (
-             (GLuint  )bswap_CARD32 ( pc +  0 )
+        GLenum retval;
+        retval = CALL_CheckFramebufferStatusEXT( GET_DISPATCH(), (
+             (GLenum  )bswap_ENUM   ( pc +  0 )
         ) );
         __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
         error = Success;
@@ -5590,11 +5606,13 @@ int __glXDispSwap_IsRenderbufferEXT(__GL
     return error;
 }
 
-void __glXDispSwap_BindRenderbufferEXT(GLbyte * pc)
+void __glXDispSwap_DeleteFramebuffersEXT(GLbyte * pc)
 {
-    CALL_BindRenderbufferEXT( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLuint  )bswap_CARD32 ( pc +  4 )
+    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
+
+    CALL_DeleteFramebuffersEXT( GET_DISPATCH(), (
+        n,
+         (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 0 )
     ) );
 }
 
@@ -5608,6 +5626,74 @@ void __glXDispSwap_DeleteRenderbuffersEX
     ) );
 }
 
+void __glXDispSwap_FramebufferRenderbufferEXT(GLbyte * pc)
+{
+    CALL_FramebufferRenderbufferEXT( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLenum  )bswap_ENUM   ( pc +  4 ),
+         (GLenum  )bswap_ENUM   ( pc +  8 ),
+         (GLuint  )bswap_CARD32 ( pc + 12 )
+    ) );
+}
+
+void __glXDispSwap_FramebufferTexture1DEXT(GLbyte * pc)
+{
+    CALL_FramebufferTexture1DEXT( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLenum  )bswap_ENUM   ( pc +  4 ),
+         (GLenum  )bswap_ENUM   ( pc +  8 ),
+         (GLuint  )bswap_CARD32 ( pc + 12 ),
+         (GLint   )bswap_CARD32 ( pc + 16 )
+    ) );
+}
+
+void __glXDispSwap_FramebufferTexture2DEXT(GLbyte * pc)
+{
+    CALL_FramebufferTexture2DEXT( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLenum  )bswap_ENUM   ( pc +  4 ),
+         (GLenum  )bswap_ENUM   ( pc +  8 ),
+         (GLuint  )bswap_CARD32 ( pc + 12 ),
+         (GLint   )bswap_CARD32 ( pc + 16 )
+    ) );
+}
+
+void __glXDispSwap_FramebufferTexture3DEXT(GLbyte * pc)
+{
+    CALL_FramebufferTexture3DEXT( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 ),
+         (GLenum  )bswap_ENUM   ( pc +  4 ),
+         (GLenum  )bswap_ENUM   ( pc +  8 ),
+         (GLuint  )bswap_CARD32 ( pc + 12 ),
+         (GLint   )bswap_CARD32 ( pc + 16 ),
+         (GLint   )bswap_CARD32 ( pc + 20 )
+    ) );
+}
+
+int __glXDispSwap_GenFramebuffersEXT(__GLXclientState *cl, GLbyte *pc)
+{
+    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+    int error;
+    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
+
+    pc += __GLX_VENDPRIV_HDR_SIZE;
+    if ( cx != NULL ) {
+        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
+
+        GLuint answerBuffer[200];
+        GLuint * framebuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+        CALL_GenFramebuffersEXT( GET_DISPATCH(), (
+            n,
+            framebuffers
+        ) );
+        (void) bswap_32_array( (uint32_t *) framebuffers, n );
+        __glXSendReplySwap(cl->client, framebuffers, n, 4, GL_TRUE, 0);
+        error = Success;
+    }
+
+    return error;
+}
+
 int __glXDispSwap_GenRenderbuffersEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
@@ -5632,17 +5718,14 @@ int __glXDispSwap_GenRenderbuffersEXT(__
     return error;
 }
 
-void __glXDispSwap_RenderbufferStorageEXT(GLbyte * pc)
+void __glXDispSwap_GenerateMipmapEXT(GLbyte * pc)
 {
-    CALL_RenderbufferStorageEXT( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLenum  )bswap_ENUM   ( pc +  4 ),
-         (GLsizei )bswap_CARD32 ( pc +  8 ),
-         (GLsizei )bswap_CARD32 ( pc + 12 )
+    CALL_GenerateMipmapEXT( GET_DISPATCH(), (
+         (GLenum  )bswap_ENUM   ( pc +  0 )
     ) );
 }
 
-int __glXDispSwap_GetRenderbufferParameterivEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetFramebufferAttachmentParameterivEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5651,9 +5734,10 @@ int __glXDispSwap_GetRenderbufferParamet
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
         GLint params[1];
-        CALL_GetRenderbufferParameterivEXT( GET_DISPATCH(), (
+        CALL_GetFramebufferAttachmentParameterivEXT( GET_DISPATCH(), (
              (GLenum  )bswap_ENUM   ( pc +  0 ),
              (GLenum  )bswap_ENUM   ( pc +  4 ),
+             (GLenum  )bswap_ENUM   ( pc +  8 ),
             params
         ) );
         (void) bswap_32_array( (uint32_t *) params, 1 );
@@ -5664,7 +5748,7 @@ int __glXDispSwap_GetRenderbufferParamet
     return error;
 }
 
-int __glXDispSwap_IsFramebufferEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetRenderbufferParameterivEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5672,36 +5756,21 @@ int __glXDispSwap_IsFramebufferEXT(__GLX
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        GLboolean retval;
-        retval = CALL_IsFramebufferEXT( GET_DISPATCH(), (
-             (GLuint  )bswap_CARD32 ( pc +  0 )
+        GLint params[1];
+        CALL_GetRenderbufferParameterivEXT( GET_DISPATCH(), (
+             (GLenum  )bswap_ENUM   ( pc +  0 ),
+             (GLenum  )bswap_ENUM   ( pc +  4 ),
+            params
         ) );
-        __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
+        (void) bswap_32_array( (uint32_t *) params, 1 );
+        __glXSendReplySwap(cl->client, params, 1, 4, GL_FALSE, 0);
         error = Success;
     }
 
     return error;
 }
 
-void __glXDispSwap_BindFramebufferEXT(GLbyte * pc)
-{
-    CALL_BindFramebufferEXT( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLuint  )bswap_CARD32 ( pc +  4 )
-    ) );
-}
-
-void __glXDispSwap_DeleteFramebuffersEXT(GLbyte * pc)
-{
-    const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
-
-    CALL_DeleteFramebuffersEXT( GET_DISPATCH(), (
-        n,
-         (const GLuint *)bswap_32_array( (uint32_t *) (pc +  4), 0 )
-    ) );
-}
-
-int __glXDispSwap_GenFramebuffersEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_IsFramebufferEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5709,23 +5778,18 @@ int __glXDispSwap_GenFramebuffersEXT(__G
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        const GLsizei n =  (GLsizei )bswap_CARD32 ( pc +  0 );
-
-        GLuint answerBuffer[200];
-        GLuint * framebuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
-        CALL_GenFramebuffersEXT( GET_DISPATCH(), (
-            n,
-            framebuffers
+        GLboolean retval;
+        retval = CALL_IsFramebufferEXT( GET_DISPATCH(), (
+             (GLuint  )bswap_CARD32 ( pc +  0 )
         ) );
-        (void) bswap_32_array( (uint32_t *) framebuffers, n );
-        __glXSendReplySwap(cl->client, framebuffers, n, 4, GL_TRUE, 0);
+        __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
         error = Success;
     }
 
     return error;
 }
 
-int __glXDispSwap_CheckFramebufferStatusEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_IsRenderbufferEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
     int error;
@@ -5733,9 +5797,9 @@ int __glXDispSwap_CheckFramebufferStatus
 
     pc += __GLX_VENDPRIV_HDR_SIZE;
     if ( cx != NULL ) {
-        GLenum retval;
-        retval = CALL_CheckFramebufferStatusEXT( GET_DISPATCH(), (
-             (GLenum  )bswap_ENUM   ( pc +  0 )
+        GLboolean retval;
+        retval = CALL_IsRenderbufferEXT( GET_DISPATCH(), (
+             (GLuint  )bswap_CARD32 ( pc +  0 )
         ) );
         __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
         error = Success;
@@ -5744,77 +5808,13 @@ int __glXDispSwap_CheckFramebufferStatus
     return error;
 }
 
-void __glXDispSwap_FramebufferTexture1DEXT(GLbyte * pc)
-{
-    CALL_FramebufferTexture1DEXT( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLenum  )bswap_ENUM   ( pc +  4 ),
-         (GLenum  )bswap_ENUM   ( pc +  8 ),
-         (GLuint  )bswap_CARD32 ( pc + 12 ),
-         (GLint   )bswap_CARD32 ( pc + 16 )
-    ) );
-}
-
-void __glXDispSwap_FramebufferTexture2DEXT(GLbyte * pc)
-{
-    CALL_FramebufferTexture2DEXT( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLenum  )bswap_ENUM   ( pc +  4 ),
-         (GLenum  )bswap_ENUM   ( pc +  8 ),
-         (GLuint  )bswap_CARD32 ( pc + 12 ),
-         (GLint   )bswap_CARD32 ( pc + 16 )
-    ) );
-}
-
-void __glXDispSwap_FramebufferTexture3DEXT(GLbyte * pc)
-{
-    CALL_FramebufferTexture3DEXT( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 ),
-         (GLenum  )bswap_ENUM   ( pc +  4 ),
-         (GLenum  )bswap_ENUM   ( pc +  8 ),
-         (GLuint  )bswap_CARD32 ( pc + 12 ),
-         (GLint   )bswap_CARD32 ( pc + 16 ),
-         (GLint   )bswap_CARD32 ( pc + 20 )
-    ) );
-}
-
-void __glXDispSwap_FramebufferRenderbufferEXT(GLbyte * pc)
+void __glXDispSwap_RenderbufferStorageEXT(GLbyte * pc)
 {
-    CALL_FramebufferRenderbufferEXT( GET_DISPATCH(), (
+    CALL_RenderbufferStorageEXT( GET_DISPATCH(), (
          (GLenum  )bswap_ENUM   ( pc +  0 ),
          (GLenum  )bswap_ENUM   ( pc +  4 ),
-         (GLenum  )bswap_ENUM   ( pc +  8 ),
-         (GLuint  )bswap_CARD32 ( pc + 12 )
-    ) );
-}
-
-int __glXDispSwap_GetFramebufferAttachmentParameterivEXT(__GLXclientState *cl, GLbyte *pc)
-{
-    xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
-    int error;
-    __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
-
-    pc += __GLX_VENDPRIV_HDR_SIZE;
-    if ( cx != NULL ) {
-        GLint params[1];
-        CALL_GetFramebufferAttachmentParameterivEXT( GET_DISPATCH(), (
-             (GLenum  )bswap_ENUM   ( pc +  0 ),
-             (GLenum  )bswap_ENUM   ( pc +  4 ),
-             (GLenum  )bswap_ENUM   ( pc +  8 ),
-            params
-        ) );
-        (void) bswap_32_array( (uint32_t *) params, 1 );
-        __glXSendReplySwap(cl->client, params, 1, 4, GL_FALSE, 0);
-        error = Success;
-    }
-
-    return error;
-}
-
-void __glXDispSwap_GenerateMipmapEXT(GLbyte * pc)
-{
-    CALL_GenerateMipmapEXT( GET_DISPATCH(), (
-         (GLenum  )bswap_ENUM   ( pc +  0 )
+         (GLsizei )bswap_CARD32 ( pc +  8 ),
+         (GLsizei )bswap_CARD32 ( pc + 12 )
     ) );
 }
 
diff --git a/GL/glx/indirect_size_get.c b/GL/glx/indirect_size_get.c
index 85b5cfb..a814655 100644
--- a/GL/glx/indirect_size_get.c
+++ b/GL/glx/indirect_size_get.c
@@ -968,57 +968,6 @@ __glGetMinmaxParameterfv_size( GLenum e 
 }
 
 INTERNAL PURE FASTCALL GLint
-__glPointParameterfvEXT_size( GLenum e )
-{
-    switch( e ) {
-        case GL_POINT_SIZE_MIN:
-/*      case GL_POINT_SIZE_MIN_ARB:*/
-/*      case GL_POINT_SIZE_MIN_SGIS:*/
-        case GL_POINT_SIZE_MAX:
-/*      case GL_POINT_SIZE_MAX_ARB:*/
-/*      case GL_POINT_SIZE_MAX_SGIS:*/
-        case GL_POINT_FADE_THRESHOLD_SIZE:
-/*      case GL_POINT_FADE_THRESHOLD_SIZE_ARB:*/
-/*      case GL_POINT_FADE_THRESHOLD_SIZE_SGIS:*/
-        case GL_POINT_SPRITE_R_MODE_NV:
-        case GL_POINT_SPRITE_COORD_ORIGIN:
-            return 1;
-        case GL_POINT_DISTANCE_ATTENUATION:
-/*      case GL_POINT_DISTANCE_ATTENUATION_ARB:*/
-/*      case GL_POINT_DISTANCE_ATTENUATION_SGIS:*/
-            return 3;
-        default: return 0;
-    }
-}
-
-INTERNAL PURE FASTCALL GLint
-__glGetProgramivNV_size( GLenum e )
-{
-    switch( e ) {
-        case GL_PROGRAM_LENGTH_NV:
-        case GL_PROGRAM_TARGET_NV:
-        case GL_PROGRAM_RESIDENT_NV:
-            return 1;
-        default: return 0;
-    }
-}
-
-INTERNAL PURE FASTCALL GLint
-__glGetVertexAttribdvARB_size( GLenum e )
-{
-    switch( e ) {
-        case GL_VERTEX_PROGRAM_ARB:
-        case GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB:
-        case GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB:
-        case GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB:
-        case GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB:
-        case GL_CURRENT_VERTEX_ATTRIB_ARB:
-            return 1;
-        default: return 0;
-    }
-}
-
-INTERNAL PURE FASTCALL GLint
 __glGetProgramivARB_size( GLenum e )
 {
     switch( e ) {
@@ -1073,11 +1022,15 @@ __glGetProgramivARB_size( GLenum e )
 }
 
 INTERNAL PURE FASTCALL GLint
-__glGetQueryivARB_size( GLenum e )
+__glGetVertexAttribdvARB_size( GLenum e )
 {
     switch( e ) {
-        case GL_QUERY_COUNTER_BITS_ARB:
-        case GL_CURRENT_QUERY_ARB:
+        case GL_VERTEX_PROGRAM_ARB:
+        case GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB:
+        case GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB:
+        case GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB:
+        case GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB:
+        case GL_CURRENT_VERTEX_ATTRIB_ARB:
             return 1;
         default: return 0;
     }
@@ -1095,6 +1048,53 @@ __glGetQueryObjectivARB_size( GLenum e )
 }
 
 INTERNAL PURE FASTCALL GLint
+__glGetQueryivARB_size( GLenum e )
+{
+    switch( e ) {
+        case GL_QUERY_COUNTER_BITS_ARB:
+        case GL_CURRENT_QUERY_ARB:
+            return 1;
+        default: return 0;
+    }
+}
+
+INTERNAL PURE FASTCALL GLint
+__glPointParameterfvEXT_size( GLenum e )
+{
+    switch( e ) {
+        case GL_POINT_SIZE_MIN:
+/*      case GL_POINT_SIZE_MIN_ARB:*/
+/*      case GL_POINT_SIZE_MIN_SGIS:*/
+        case GL_POINT_SIZE_MAX:
+/*      case GL_POINT_SIZE_MAX_ARB:*/
+/*      case GL_POINT_SIZE_MAX_SGIS:*/
+        case GL_POINT_FADE_THRESHOLD_SIZE:
+/*      case GL_POINT_FADE_THRESHOLD_SIZE_ARB:*/
+/*      case GL_POINT_FADE_THRESHOLD_SIZE_SGIS:*/
+        case GL_POINT_SPRITE_R_MODE_NV:
+        case GL_POINT_SPRITE_COORD_ORIGIN:
+            return 1;
+        case GL_POINT_DISTANCE_ATTENUATION:
+/*      case GL_POINT_DISTANCE_ATTENUATION_ARB:*/
+/*      case GL_POINT_DISTANCE_ATTENUATION_SGIS:*/
+            return 3;
+        default: return 0;
+    }
+}
+
+INTERNAL PURE FASTCALL GLint
+__glGetProgramivNV_size( GLenum e )
+{
+    switch( e ) {
+        case GL_PROGRAM_LENGTH_NV:
+        case GL_PROGRAM_TARGET_NV:
+        case GL_PROGRAM_RESIDENT_NV:
+            return 1;
+        default: return 0;
+    }
+}
+
+INTERNAL PURE FASTCALL GLint
 __glGetVertexAttribdvNV_size( GLenum e )
 {
     switch( e ) {
@@ -1153,10 +1153,10 @@ ALIAS( GetHistogramParameteriv, GetHisto
 ALIAS( GetMinmaxParameteriv, GetMinmaxParameterfv )
 ALIAS( GetVertexAttribfvARB, GetVertexAttribdvARB )
 ALIAS( GetVertexAttribivARB, GetVertexAttribdvARB )
-ALIAS( PointParameterivNV, PointParameterfvEXT )
 ALIAS( GetQueryObjectuivARB, GetQueryObjectivARB )
 ALIAS( GetVertexAttribfvNV, GetVertexAttribdvNV )
 ALIAS( GetVertexAttribivNV, GetVertexAttribdvNV )
+ALIAS( PointParameterivNV, PointParameterfvEXT )
 
 #  undef PURE
 #  undef FASTCALL
diff --git a/GL/glx/indirect_size_get.h b/GL/glx/indirect_size_get.h
index 5329d41..3e46b3f 100644
--- a/GL/glx/indirect_size_get.h
+++ b/GL/glx/indirect_size_get.h
@@ -79,14 +79,14 @@ extern INTERNAL PURE FASTCALL GLint __gl
 extern INTERNAL PURE FASTCALL GLint __glGetHistogramParameteriv_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetMinmaxParameterfv_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetMinmaxParameteriv_size(GLenum);
-extern INTERNAL PURE FASTCALL GLint __glGetProgramivNV_size(GLenum);
+extern INTERNAL PURE FASTCALL GLint __glGetProgramivARB_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribdvARB_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribfvARB_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribivARB_size(GLenum);
-extern INTERNAL PURE FASTCALL GLint __glGetProgramivARB_size(GLenum);
-extern INTERNAL PURE FASTCALL GLint __glGetQueryivARB_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetQueryObjectivARB_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetQueryObjectuivARB_size(GLenum);
+extern INTERNAL PURE FASTCALL GLint __glGetQueryivARB_size(GLenum);
+extern INTERNAL PURE FASTCALL GLint __glGetProgramivNV_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribdvNV_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribfvNV_size(GLenum);
 extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribivNV_size(GLenum);
diff-tree b879356ce96929d02bcb75b9aa24b17ac7e28125 (from 4ed311cf1c29090c53e474a3001c5702ff8409df)
Author: Adam Jackson <ajax at benzedrine.nwnk.net>
Date:   Thu Aug 24 15:50:15 2006 -0400

    More #ifdef USE_DEPRECATED_KEYBOARD_DRIVER.

diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index cd072f5..408536d 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -135,7 +135,8 @@ static int numFormats = 6;
 #endif
 static Bool formatsDone = FALSE;
 
-InputDriverRec XF86KEYBOARD = {
+#ifdef USE_DEPRECATED_KEYBOARD_DRIVER
+static InputDriverRec XF86KEYBOARD = {
 	1,
 	"keyboard",
 	NULL,
@@ -144,6 +145,7 @@ InputDriverRec XF86KEYBOARD = {
 	NULL,
 	0
 };
+#endif
 
 static Bool
 xf86CreateRootWindow(WindowPtr pWin)
diff-tree 4ed311cf1c29090c53e474a3001c5702ff8409df (from parents)
Merge: 73e58adda96c1d1b5176d819107faa7697c3eb94 b29b236d88789fd45d823a55dbedb393bb134c5b
Author: Matthias Hopf <mhopf at suse.de>
Date:   Thu Aug 24 20:17:10 2006 +0200

    Merge branch 'master' of git://anongit.freedesktop.org/git/xorg/xserver

diff-tree b29b236d88789fd45d823a55dbedb393bb134c5b (from ce4a0a4ddafd3833d7025f83ed3729915c8aba70)
Author: Lukáš Turek <8an at centrum.cz>
Date:   Thu Aug 24 15:57:09 2006 +0200

    Adapt to Mesa header name change.

diff --git a/GL/symlink-mesa.sh b/GL/symlink-mesa.sh
index 32f839a..7b5ed5c 100755
--- a/GL/symlink-mesa.sh
+++ b/GL/symlink-mesa.sh
@@ -468,7 +468,7 @@ symlink_mesa_shader_slang_library() {
     action slang_core_gc.h
     action slang_fragment_builtin_gc.h
     action slang_shader_syn.h
-    action slang_version_syn.h
+    action slang_pp_version_syn.h
     action slang_vertex_builtin_gc.h
 }        
 
diff-tree ce4a0a4ddafd3833d7025f83ed3729915c8aba70 (from 67bd672c880869ef625ae0c0163c3ec1eba46abf)
Author: Alan Hourihane <alanh at fairlite.demon.co.uk>
Date:   Thu Aug 24 13:56:22 2006 +0100

    Apply patch in bug #7919, blit improvements in
    multiwindow mode for Xming/CygwinX

diff --git a/hw/xwin/winmultiwindowwndproc.c b/hw/xwin/winmultiwindowwndproc.c
index e359744..0df896d 100644
--- a/hw/xwin/winmultiwindowwndproc.c
+++ b/hw/xwin/winmultiwindowwndproc.c
@@ -304,7 +304,6 @@ winTopLevelWindowProc (HWND hwnd, UINT m
   winScreenInfo		*s_pScreenInfo = NULL;
   HWND			hwndScreen = NULL;
   DrawablePtr		pDraw = NULL;
-  int		        iX, iY, iWidth, iHeight, iBorder;
   winWMMessageRec	wmMsg;
   Bool                  fWMMsgInitialized = FALSE;
   static Bool		s_fTracking = FALSE;
@@ -442,20 +441,19 @@ winTopLevelWindowProc (HWND hwnd, UINT m
 
       /* BeginPaint gives us an hdc that clips to the invalidated region */
       hdcUpdate = BeginPaint (hwnd, &ps);
-
-      /* Get the position and dimensions of the window */
-      iBorder = wBorderWidth (pWin);
-      iX = pWin->drawable.x;
-      iY = pWin->drawable.y;
-      iWidth = pWin->drawable.width;
-      iHeight = pWin->drawable.height;
+      /* Avoid the BitBlt's if the PAINTSTRUCT is bogus */
+      if (ps.rcPaint.right==0 && ps.rcPaint.bottom==0 && ps.rcPaint.left==0 && ps.rcPaint.top==0)
+      {
+	EndPaint (hwndScreen, &ps);
+	return 0;
+      }
 
       /* Try to copy from the shadow buffer */
       if (!BitBlt (hdcUpdate,
-		   0, 0,
-		   iWidth, iHeight,
+		   ps.rcPaint.left, ps.rcPaint.top,
+		   ps.rcPaint.right - ps.rcPaint.left, ps.rcPaint.bottom - ps.rcPaint.top,
 		   s_pScreenPriv->hdcShadow,
-		   iX, iY,
+		   ps.rcPaint.left + pWin->drawable.x, ps.rcPaint.top + pWin->drawable.y,
 		   SRCCOPY))
 	{
 	  LPVOID lpMsgBuf;
diff --git a/hw/xwin/winshadgdi.c b/hw/xwin/winshadgdi.c
index ba98192..04cc2f7 100644
--- a/hw/xwin/winshadgdi.c
+++ b/hw/xwin/winshadgdi.c
@@ -540,8 +540,9 @@ winShadowUpdateGDI (ScreenPtr pScreen, 
    * handle large regions by creating a clipping region and 
    * doing a single blit constrained to that clipping region.
    */
-  if (pScreenInfo->dwClipUpdatesNBoxes == 0
-      || dwBox < pScreenInfo->dwClipUpdatesNBoxes)
+  if (!pScreenInfo->fMultiWindow &&
+      (pScreenInfo->dwClipUpdatesNBoxes == 0 ||
+      dwBox < pScreenInfo->dwClipUpdatesNBoxes))
     {
       /* Loop through all boxes in the damaged region */
       while (dwBox--)
@@ -566,7 +567,7 @@ winShadowUpdateGDI (ScreenPtr pScreen, 
 	  ++pBox;
 	}
     }
-  else
+  else if (!pScreenInfo->fMultiWindow)
     {
       /* Compute a GDI region from the damaged region */
       hrgnCombined = CreateRectRgn (pBox->x1, pBox->y1, pBox->x2, pBox->y2);
diff-tree 67bd672c880869ef625ae0c0163c3ec1eba46abf (from 733c4beb16c2c4ad9e9a4ea9a85b09fc5062a775)
Author: Alan Hourihane <alanh at fairlite.demon.co.uk>
Date:   Thu Aug 24 08:47:06 2006 +0100

    Fix typo

diff --git a/GL/glx/glxscreens.c b/GL/glx/glxscreens.c
index 865fcba..40de9ee 100644
--- a/GL/glx/glxscreens.c
+++ b/GL/glx/glxscreens.c
@@ -78,7 +78,7 @@ static const char GLServerExtensions[] =
 			"GL_EXT_copy_texture "
 			"GL_EXT_draw_range_elements "
 			"GL_EXT_fog_coord "
-			"GL_EXT_framebuffe_object "
+			"GL_EXT_framebuffer_object "
 			"GL_EXT_multi_draw_arrays "
 			"GL_EXT_packed_pixels "
 			"GL_EXT_point_parameters "
diff-tree 733c4beb16c2c4ad9e9a4ea9a85b09fc5062a775 (from b983773d446cef6a0948ca264ed48126e404ae9a)
Author: David Nusinow <dnusinow at debian.org>
Date:   Wed Aug 23 22:39:42 2006 +0000

    Add xorg.conf IgnoreABI option which does the same thing as -ignoreABI

diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 4d933aa..87b8a0b 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -761,7 +761,8 @@ typedef enum {
     FLAG_RENDER_COLORMAP_MODE,
     FLAG_HANDLE_SPECIAL_KEYS,
     FLAG_RANDR,
-    FLAG_AIGLX
+    FLAG_AIGLX,
+    FLAG_IGNORE_ABI
 } FlagValues;
    
 static OptionInfoRec FlagOptions[] = {
@@ -833,6 +834,8 @@ static OptionInfoRec FlagOptions[] = {
 	{0}, FALSE },
   { FLAG_AIGLX,			"AIGLX",			OPTV_BOOLEAN,
 	{0}, FALSE },
+  { FLAG_IGNORE_ABI,			"IgnoreABI",			OPTV_BOOLEAN,
+	{0}, FALSE },
   { -1,				NULL,				OPTV_NONE,
 	{0}, FALSE },
 };
@@ -891,6 +894,10 @@ configServerFlags(XF86ConfFlagsPtr flags
 		      &(xf86Info.grabInfo.allowDeactivate));
     xf86GetOptValBool(FlagOptions, FLAG_ALLOW_CLOSEDOWN_GRABS,
 		      &(xf86Info.grabInfo.allowClosedown));
+    xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI);
+    if (&xf86Info.ignoreABI) {
+	    xf86Msg(X_CONFIG, "Ignoring ABI Version\n");
+    }
 
     /*
      * Set things up based on the config file information.  Some of these
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index d045c06..cd072f5 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -331,6 +331,10 @@ InitOutput(ScreenInfo *pScreenInfo, int 
     /* Tell the loader the default module search path */
     LoaderSetPath(xf86ModulePath);
 
+    if (xf86Info.ignoreABI) {
+        LoaderSetOptions(LDR_OPT_ABI_MISMATCH_NONFATAL);
+    }
+
 #ifdef TESTING
     {
 	char **list, **l;
diff --git a/hw/xfree86/common/xf86Privstr.h b/hw/xfree86/common/xf86Privstr.h
index a01b07f..67d4304 100644
--- a/hw/xfree86/common/xf86Privstr.h
+++ b/hw/xfree86/common/xf86Privstr.h
@@ -166,6 +166,7 @@ typedef struct {
     MessageType		randRFrom;
     Bool		aiglx;
     MessageType		aiglxFrom;
+    Bool        ignoreABI;
     struct {
 	Bool		disabled;		/* enable/disable deactivating
 						 * grabs or closing the
diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre
index 3340af0..e94804c 100644
--- a/hw/xfree86/doc/man/xorg.conf.man.pre
+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -605,6 +605,10 @@ the builtin handler will be used.
 .TP 7
 .BI "Option \*qAIGLX\*q \*q" boolean \*q
 enable or disable AIGLX. AIGLX is enabled by default.
+.TP 7
+.BI "Option \*qIgnoreABI\*q \*q" boolean \*q
+Allow modules built for a different, potentially incompatible version of
+the X server to load. Disabled by default.
 .SH MODULE SECTION
 The
 .B Module
diff-tree b983773d446cef6a0948ca264ed48126e404ae9a (from parents)
Merge: 0623d3643fc28ebc514b2ca872c985d0cf0c753a d9a86566c21afd7985673f3ed851b055d9dac46f
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Wed Aug 23 17:16:50 2006 -0700

    Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver

diff-tree 0623d3643fc28ebc514b2ca872c985d0cf0c753a (from 5d2caacff570dd68bb3fb05e776e02515b2a9da0)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Wed Aug 23 17:16:02 2006 -0700

    Fix the sorting of the extension string.  Add a few extensions that
    are supported by the new code.  A few of these were actually supported
    before but weren't advertised.

diff --git a/GL/glx/glxscreens.c b/GL/glx/glxscreens.c
index e388fce..865fcba 100644
--- a/GL/glx/glxscreens.c
+++ b/GL/glx/glxscreens.c
@@ -48,8 +48,11 @@
 const char GLServerVersion[] = "1.2";
 static const char GLServerExtensions[] = 
 			"GL_ARB_depth_texture "
+			"GL_ARB_draw_buffers "
 			"GL_ARB_imaging "
+			"GL_ARB_multisample "
 			"GL_ARB_multitexture "
+			"GL_ARB_occlusion_query "
 			"GL_ARB_point_parameters "
 			"GL_ARB_point_sprite "
 			"GL_ARB_shadow "
@@ -61,9 +64,9 @@ static const char GLServerExtensions[] =
 			"GL_ARB_texture_env_crossbar "
 			"GL_ARB_texture_env_dot3 "
 			"GL_ARB_texture_mirrored_repeat "
+			"GL_ARB_texture_non_power_of_two "
 			"GL_ARB_transpose_matrix "
 			"GL_ARB_window_pos "
-			"GL_ARB_texture_non_power_of_two "
 			"GL_EXT_abgr "
 			"GL_EXT_bgra "
  			"GL_EXT_blend_color "
@@ -75,8 +78,10 @@ static const char GLServerExtensions[] =
 			"GL_EXT_copy_texture "
 			"GL_EXT_draw_range_elements "
 			"GL_EXT_fog_coord "
+			"GL_EXT_framebuffe_object "
 			"GL_EXT_multi_draw_arrays "
 			"GL_EXT_packed_pixels "
+			"GL_EXT_point_parameters "
 			"GL_EXT_polygon_offset "
 			"GL_EXT_rescale_normal "
 			"GL_EXT_secondary_color "
@@ -93,29 +98,40 @@ static const char GLServerExtensions[] =
  			"GL_EXT_texture_env_dot3 "
 			"GL_EXT_texture_lod "
  			"GL_EXT_texture_lod_bias "
+ 			"GL_EXT_texture_mirror_clamp "
 			"GL_EXT_texture_object "
 			"GL_EXT_texture_rectangle "
 			"GL_EXT_vertex_array "
-			"GL_EXT_framebuffer_object "
 			"GL_APPLE_packed_pixels "
-			"GL_ATI_texture_mirror_once "
+			"GL_ATI_draw_buffers "
 			"GL_ATI_texture_env_combine3 "
+			"GL_ATI_texture_mirror_once "
  			"GL_HP_occlusion_test "
 			"GL_IBM_texture_mirrored_repeat "
+			"GL_INGR_blend_func_separate "
 			"GL_MESA_pack_invert "
 			"GL_MESA_ycbcr_texture "
 			"GL_NV_blend_square "
+			"GL_NV_depth_clamp "
+			"GL_NV_fog_distance "
+			"GL_NV_light_max_exponent "
+			"GL_NV_multisample_filter_hint "
 			"GL_NV_point_sprite "
 			"GL_NV_texgen_reflection "
-			"GL_NV_texture_rectangle "
 			"GL_NV_texture_env_combine4 "
+			"GL_NV_texture_expand_normal "
+			"GL_NV_texture_rectangle "
+			"GL_SGI_color_matrix "
 			"GL_SGIS_generate_mipmap "
+			"GL_SGIS_multisample "
+			"GL_SGIS_point_parameters "
 			"GL_SGIS_texture_border_clamp "
 			"GL_SGIS_texture_edge_clamp "
 			"GL_SGIS_texture_lod "
 			"GL_SGIX_depth_texture "
 			"GL_SGIX_shadow "
 			"GL_SGIX_shadow_ambient "
+			"GL_SUN_slice_accum "
 			;
 
 /*
diff-tree 5d2caacff570dd68bb3fb05e776e02515b2a9da0 (from 866bb3f34046045c9fa0744db1d76e035b3da9c7)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Wed Aug 23 16:47:00 2006 -0700

    Refector __glXDisp_Render and __glXDispSwap_Render to DoRender.
    Refector __glXDisp_RenderLarge and __glXDispSwap_RenderLarge to
    DoRenderLarge.

diff --git a/GL/glx/glxcmds.c b/GL/glx/glxcmds.c
index e16087a..01e8ffa 100644
--- a/GL/glx/glxcmds.c
+++ b/GL/glx/glxcmds.c
@@ -1717,10 +1717,7 @@ int __glXDisp_GetDrawableAttributes(__GL
 ** client library to send batches of GL rendering commands.
 */
 
-/*
-** Execute all the drawing commands in a request.
-*/
-int __glXDisp_Render(__GLXclientState *cl, GLbyte *pc)
+int DoRender(__GLXclientState *cl, GLbyte *pc, int do_swap)
 {
     xGLXRenderReq *req;
     ClientPtr client= cl->client;
@@ -1729,14 +1726,15 @@ int __glXDisp_Render(__GLXclientState *c
     CARD16 opcode;
     __GLXrenderHeader *hdr;
     __GLXcontext *glxc;
+    __GLX_DECLARE_SWAP_VARIABLES;
 
-    /*
-    ** NOTE: much of this code also appears in the byteswapping version of this
-    ** routine, __glXDisp_SwapRender().  Any changes made here should also be
-    ** duplicated there.
-    */
     
     req = (xGLXRenderReq *) pc;
+    if (do_swap) {
+	__GLX_SWAP_SHORT(&req->length);
+	__GLX_SWAP_INT(&req->contextTag);
+    }
+
     glxc = __glXForceCurrent(cl, req->contextTag, &error);
     if (!glxc) {
 	return error;
@@ -1756,6 +1754,10 @@ int __glXDisp_Render(__GLXclientState *c
 	** Also, each command must be word aligned.
 	*/
 	hdr = (__GLXrenderHeader *) pc;
+	if (do_swap) {
+	    __GLX_SWAP_SHORT(&hdr->length);
+	    __GLX_SWAP_SHORT(&hdr->opcode);
+	}
 	cmdlen = hdr->length;
 	opcode = hdr->opcode;
 
@@ -1764,7 +1766,7 @@ int __glXDisp_Render(__GLXclientState *c
 	*/
 	err = __glXGetProtocolSizeData(& Render_dispatch_info, opcode, & entry);
 	proc = (__GLXdispatchRenderProcPtr)
-	  __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, 0);
+	  __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, do_swap);
 
 	if ((err < 0) || (proc == NULL)) {
 	    client->errorValue = commandsDone;
@@ -1773,7 +1775,7 @@ int __glXDisp_Render(__GLXclientState *c
 
         if (entry.varsize) {
             /* variable size command */
-            extra = (*entry.varsize)(pc + __GLX_RENDER_HDR_SIZE, False);
+            extra = (*entry.varsize)(pc + __GLX_RENDER_HDR_SIZE, do_swap);
             if (extra < 0) {
                 extra = 0;
             }
@@ -1807,25 +1809,34 @@ int __glXDisp_Render(__GLXclientState *c
 }
 
 /*
-** Execute a large rendering request (one that spans multiple X requests).
+** Execute all the drawing commands in a request.
 */
-int __glXDisp_RenderLarge(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_Render(__GLXclientState *cl, GLbyte *pc)
+{
+    return DoRender(cl, pc, False);
+}
+
+int DoRenderLarge(__GLXclientState *cl, GLbyte *pc, int do_swap)
 {
     xGLXRenderLargeReq *req;
     ClientPtr client= cl->client;
-    GLuint dataBytes;
+    size_t dataBytes;
     __GLXrenderLargeHeader *hdr;
     __GLXcontext *glxc;
     int error;
     CARD16 opcode;
+    __GLX_DECLARE_SWAP_VARIABLES;
 
-    /*
-    ** NOTE: much of this code also appears in the byteswapping version of this
-    ** routine, __glXDisp_SwapRenderLarge().  Any changes made here should also be
-    ** duplicated there.
-    */
     
     req = (xGLXRenderLargeReq *) pc;
+    if (do_swap) {
+	__GLX_SWAP_SHORT(&req->length);
+	__GLX_SWAP_INT(&req->contextTag);
+	__GLX_SWAP_INT(&req->dataBytes);
+	__GLX_SWAP_SHORT(&req->requestNumber);
+	__GLX_SWAP_SHORT(&req->requestTotal);
+    }
+
     glxc = __glXForceCurrent(cl, req->contextTag, &error);
     if (!glxc) {
 	/* Reset in case this isn't 1st request. */
@@ -1847,7 +1858,8 @@ int __glXDisp_RenderLarge(__GLXclientSta
     
     if (cl->largeCmdRequestsSoFar == 0) {
 	__GLXrenderSizeData entry;
-	int extra, cmdlen;
+	int extra;
+	size_t cmdlen;
 	int err;
 
 	/*
@@ -1860,6 +1872,10 @@ int __glXDisp_RenderLarge(__GLXclientSta
 	}
 
 	hdr = (__GLXrenderLargeHeader *) pc;
+	if (do_swap) {
+	    __GLX_SWAP_INT(&hdr->length);
+	    __GLX_SWAP_INT(&hdr->opcode);
+	}
 	cmdlen = hdr->length;
 	opcode = hdr->opcode;
 
@@ -1878,7 +1894,7 @@ int __glXDisp_RenderLarge(__GLXclientSta
 	    ** be computed from its parameters), all the parameters needed
 	    ** will be in the 1st request, so it's okay to do this.
 	    */
-	    extra = (*entry.varsize)(pc + __GLX_RENDER_LARGE_HDR_SIZE, False);
+	    extra = (*entry.varsize)(pc + __GLX_RENDER_LARGE_HDR_SIZE, do_swap);
 	    if (extra < 0) {
 		extra = 0;
 	    }
@@ -1897,10 +1913,9 @@ int __glXDisp_RenderLarge(__GLXclientSta
 	*/
 	if (cl->largeCmdBufSize < cmdlen) {
 	    if (!cl->largeCmdBuf) {
-		cl->largeCmdBuf = (GLbyte *) xalloc((size_t)cmdlen);
+		cl->largeCmdBuf = (GLbyte *) xalloc(cmdlen);
 	    } else {
-		cl->largeCmdBuf = (GLbyte *) xrealloc(cl->largeCmdBuf, 
-						      (size_t)cmdlen);
+		cl->largeCmdBuf = (GLbyte *) xrealloc(cl->largeCmdBuf, cmdlen);
 	    }
 	    if (!cl->largeCmdBuf) {
 		return BadAlloc;
@@ -1970,13 +1985,16 @@ int __glXDisp_RenderLarge(__GLXclientSta
 		return __glXError(GLXBadLargeRequest);
 	    }
 	    hdr = (__GLXrenderLargeHeader *) cl->largeCmdBuf;
-	    opcode = hdr->opcode;
-
 	    /*
+	    ** The opcode and length field in the header had already been
+	    ** swapped when the first request was received.
+	    **
 	    ** Use the opcode to index into the procedure table.
 	    */
+	    opcode = hdr->opcode;
+
 	    proc = (__GLXdispatchRenderProcPtr)
-	      __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, 0);
+	      __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, do_swap);
 	    if (proc == NULL) {
 		client->errorValue = opcode;
 		return __glXError(GLXBadLargeRequest);
@@ -2001,6 +2019,14 @@ int __glXDisp_RenderLarge(__GLXclientSta
     }
 }
 
+/*
+** Execute a large rendering request (one that spans multiple X requests).
+*/
+int __glXDisp_RenderLarge(__GLXclientState *cl, GLbyte *pc)
+{
+    return DoRenderLarge(cl, pc, False);
+}
+
 extern RESTYPE __glXSwapBarrierRes;
 
 int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc)
diff --git a/GL/glx/glxcmdsswap.c b/GL/glx/glxcmdsswap.c
index ae6a9d1..551824c 100644
--- a/GL/glx/glxcmdsswap.c
+++ b/GL/glx/glxcmdsswap.c
@@ -641,91 +641,7 @@ void __glXSwapGetDrawableAttributesReply
 
 int __glXDispSwap_Render(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXRenderReq *req;
-    ClientPtr client= cl->client;
-    int left, cmdlen, error;
-    int commandsDone;
-    CARD16 opcode;
-    __GLXrenderHeader *hdr;
-    __GLXcontext *cx;
-    __GLX_DECLARE_SWAP_VARIABLES;
-
-    /*
-    ** NOTE: much of this code also appears in the nonswapping version of this
-    ** routine, __glXRender().  Any changes made here should also be
-    ** duplicated there.
-    */
-    
-    req = (xGLXRenderReq *) pc;
-    __GLX_SWAP_SHORT(&req->length);
-    __GLX_SWAP_INT(&req->contextTag);
-
-    cx = __glXForceCurrent(cl, req->contextTag, &error);
-    if (!cx) {
-	return error;
-    }
-
-    commandsDone = 0;
-    pc += sz_xGLXRenderReq;
-    left = (req->length << 2) - sz_xGLXRenderReq;
-    while (left > 0) {
-        __GLXrenderSizeData entry;
-        int extra;
-	__GLXdispatchRenderProcPtr proc;
-	int err;
-
-	/*
-	** Verify that the header length and the overall length agree.
-	** Also, each command must be word aligned.
-	*/
-	hdr = (__GLXrenderHeader *) pc;
-	__GLX_SWAP_SHORT(&hdr->length);
-	__GLX_SWAP_SHORT(&hdr->opcode);
-	cmdlen = hdr->length;
-	opcode = hdr->opcode;
-
-	err = __glXGetProtocolSizeData(& Render_dispatch_info, opcode, & entry);
-	proc = (__GLXdispatchRenderProcPtr)
-	  __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, 1);
-
-	if ((err < 0) || (proc == NULL)) {
-	    client->errorValue = commandsDone;
-	    return __glXError(GLXBadRenderRequest);
-	}
-
-        if (entry.varsize) {
-            /* variable size command */
-            extra = (*entry.varsize)(pc + __GLX_RENDER_HDR_SIZE, True);
-            if (extra < 0) {
-                extra = 0;
-            }
-            if (cmdlen != __GLX_PAD(entry.bytes + extra)) {
-                return BadLength;
-            }
-        } else {
-            /* constant size command */
-            if (cmdlen != __GLX_PAD(entry.bytes)) {
-                return BadLength;
-            }
-        }
-	if (left < cmdlen) {
-	    return BadLength;
-	}
-
-	/*
-	** Skip over the header and execute the command.  We allow the
-	** caller to trash the command memory.  This is useful especially
-	** for things that require double alignment - they can just shift
-	** the data towards lower memory (trashing the header) by 4 bytes
-	** and achieve the required alignment.
-	*/
-	(*proc)(pc + __GLX_RENDER_HDR_SIZE);
-	pc += cmdlen;
-	left -= cmdlen;
-	commandsDone++;
-    }
-    __GLX_NOTE_UNFLUSHED_CMDS(cx);
-    return Success;
+    return DoRender(cl, pc, True);
 }
 
 /*
@@ -733,203 +649,7 @@ int __glXDispSwap_Render(__GLXclientStat
 */
 int __glXDispSwap_RenderLarge(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXRenderLargeReq *req;
-    ClientPtr client= cl->client;
-    size_t dataBytes;
-    __GLXrenderLargeHeader *hdr;
-    __GLXcontext *cx;
-    int error;
-    CARD16 opcode;
-    __GLX_DECLARE_SWAP_VARIABLES;
-
-    /*
-    ** NOTE: much of this code also appears in the nonswapping version of this
-    ** routine, __glXRenderLarge().  Any changes made here should also be
-    ** duplicated there.
-    */
-    
-    req = (xGLXRenderLargeReq *) pc;
-    __GLX_SWAP_SHORT(&req->length);
-    __GLX_SWAP_INT(&req->contextTag);
-    __GLX_SWAP_INT(&req->dataBytes);
-    __GLX_SWAP_SHORT(&req->requestNumber);
-    __GLX_SWAP_SHORT(&req->requestTotal);
-    cx = __glXForceCurrent(cl, req->contextTag, &error);
-    if (!cx) {
-	/* Reset in case this isn't 1st request. */
-	__glXResetLargeCommandStatus(cl);
-	return error;
-    }
-    dataBytes = req->dataBytes;
-
-    /*
-    ** Check the request length.
-    */
-    if ((req->length << 2) != __GLX_PAD(dataBytes) + sz_xGLXRenderLargeReq) {
-	client->errorValue = req->length;
-	/* Reset in case this isn't 1st request. */
-	__glXResetLargeCommandStatus(cl);
-	return BadLength;
-    }
-    pc += sz_xGLXRenderLargeReq;
-    
-    if (cl->largeCmdRequestsSoFar == 0) {
-	__GLXrenderSizeData entry;
-	int extra;
-	size_t cmdlen;
-	int err;
-
-	/*
-	** This is the first request of a multi request command.
-	** Make enough space in the buffer, then copy the entire request.
-	*/
-	if (req->requestNumber != 1) {
-	    client->errorValue = req->requestNumber;
-	    return __glXError(GLXBadLargeRequest);
-	}
-	hdr = (__GLXrenderLargeHeader *) pc;
-	__GLX_SWAP_INT(&hdr->length);
-	__GLX_SWAP_INT(&hdr->opcode);
-	cmdlen = hdr->length;
-	opcode = hdr->opcode;
-
-	err = __glXGetProtocolSizeData(& Render_dispatch_info, opcode, & entry);
-	if (err < 0) {
-	    client->errorValue = opcode;
-	    return __glXError(GLXBadLargeRequest);
-	}
-
-	if (entry.varsize) {
-	    /*
-	    ** If it's a variable-size command (a command whose length must
-	    ** be computed from its parameters), all the parameters needed
-	    ** will be in the 1st request, so it's okay to do this.
-	    */
-	    extra = (*entry.varsize)(pc + __GLX_RENDER_LARGE_HDR_SIZE, True);
-	    if (extra < 0) {
-		extra = 0;
-	    }
-	    /* large command's header is 4 bytes longer, so add 4 */
-	    if (cmdlen != __GLX_PAD(entry.bytes + 4 + extra)) {
-		return BadLength;
-	    }
-	} else {
-	    /* constant size command */
-	    if (cmdlen != __GLX_PAD(entry.bytes + 4)) {
-		return BadLength;
-	    }
-	}
-	/*
-	** Make enough space in the buffer, then copy the entire request.
-	*/
-	if (cl->largeCmdBufSize < cmdlen) {
-	    if (!cl->largeCmdBuf) {
-		cl->largeCmdBuf = (GLbyte *) xalloc(cmdlen);
-	    } else {
-		cl->largeCmdBuf = (GLbyte *) xrealloc(cl->largeCmdBuf, cmdlen);
-	    }
-	    if (!cl->largeCmdBuf) {
-		return BadAlloc;
-	    }
-	    cl->largeCmdBufSize = cmdlen;
-	}
-	memcpy(cl->largeCmdBuf, pc, dataBytes);
-
-	cl->largeCmdBytesSoFar = dataBytes;
-	cl->largeCmdBytesTotal = cmdlen;
-	cl->largeCmdRequestsSoFar = 1;
-	cl->largeCmdRequestsTotal = req->requestTotal;
-	return Success;
-	
-    } else {
-	/*
-	** We are receiving subsequent (i.e. not the first) requests of a
-	** multi request command.
-	*/
-
-	/*
-	** Check the request number and the total request count.
-	*/
-	if (req->requestNumber != cl->largeCmdRequestsSoFar + 1) {
-	    client->errorValue = req->requestNumber;
-	    __glXResetLargeCommandStatus(cl);
-	    return __glXError(GLXBadLargeRequest);
-	}
-	if (req->requestTotal != cl->largeCmdRequestsTotal) {
-	    client->errorValue = req->requestTotal;
-	    __glXResetLargeCommandStatus(cl);
-	    return __glXError(GLXBadLargeRequest);
-	}
-
-	/*
-	** Check that we didn't get too much data.
-	*/
-	if ((cl->largeCmdBytesSoFar + dataBytes) > cl->largeCmdBytesTotal) {
-	    client->errorValue = dataBytes;
-	    __glXResetLargeCommandStatus(cl);
-	    return __glXError(GLXBadLargeRequest);
-	}
-	memcpy(cl->largeCmdBuf + cl->largeCmdBytesSoFar, pc, dataBytes);
-	cl->largeCmdBytesSoFar += dataBytes;
-	cl->largeCmdRequestsSoFar++;
-
-	if (req->requestNumber == cl->largeCmdRequestsTotal) {
-	    __GLXdispatchRenderProcPtr proc;
-
-	    /*
-	    ** This is the last request; it must have enough bytes to complete
-	    ** the command.
-	    */
-	    /* NOTE: the two pad macros have been added below; they are needed
-	    ** because the client library pads the total byte count, but not
-	    ** the per-request byte counts.  The Protocol Encoding says the
-	    ** total byte count should not be padded, so a proposal will be 
-	    ** made to the ARB to relax the padding constraint on the total 
-	    ** byte count, thus preserving backward compatibility.  Meanwhile, 
-	    ** the padding done below fixes a bug that did not allow
-	    ** large commands of odd sizes to be accepted by the server.
-	    */
-	    if (__GLX_PAD(cl->largeCmdBytesSoFar) !=
-		__GLX_PAD(cl->largeCmdBytesTotal)) {
-		client->errorValue = dataBytes;
-		__glXResetLargeCommandStatus(cl);
-		return __glXError(GLXBadLargeRequest);
-	    }
-	    hdr = (__GLXrenderLargeHeader *) cl->largeCmdBuf;
-	    /*
-	    ** The opcode and length field in the header had already been
-	    ** swapped when the first request was received.
-	    */
-
-	    /*
-	    ** Use the opcode to index into the procedure table.
-	    */
-	    opcode = hdr->opcode;
-
-	    proc = (__GLXdispatchRenderProcPtr)
-	      __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, 1);
-	    if (proc == NULL) {
-		client->errorValue = opcode;
-		return __glXError(GLXBadLargeRequest);
-	    }
-
-	    /*
-	    ** Skip over the header and execute the command.
-	    */
-	    (*proc)(cl->largeCmdBuf + __GLX_RENDER_LARGE_HDR_SIZE);
-	    __GLX_NOTE_UNFLUSHED_CMDS(cx);
-
-	    /*
-	    ** Reset for the next RenderLarge series.
-	    */
-	    __glXResetLargeCommandStatus(cl);
-	} else {
-	    /*
-	    ** This is neither the first nor the last request.
-	    */
-	}
-	return Success;
-    }
+    return DoRenderLarge(cl, pc, True);
 }
 
 /************************************************************************/
diff --git a/GL/glx/glxext.h b/GL/glx/glxext.h
index b19a716..c494de4 100644
--- a/GL/glx/glxext.h
+++ b/GL/glx/glxext.h
@@ -89,6 +89,9 @@ extern int DoDestroyPixmap(__GLXclientSt
 
 extern int DoQueryContext(__GLXclientState *cl, GLXContextID gcId);
 
+extern int DoRender(__GLXclientState *cl, GLbyte *pc, int do_swap);
+extern int DoRenderLarge(__GLXclientState *cl, GLbyte *pc, int do_swap);
+
 extern void GlxExtensionInit(void);
 
 extern Bool __glXCoreType(void);
diff-tree 866bb3f34046045c9fa0744db1d76e035b3da9c7 (from f6fd7d8f8393f93705e76b2b2777a0d9bcafa991)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Wed Aug 23 16:41:53 2006 -0700

    Memo to myself: Whenever a Makefile.am changes, autogen.sh must be
    re-run.  This is especially true if the change is to remove a source
    file.
    
    Fix RenderLarge to actually use the new protocol decode tables.

diff --git a/GL/glx/glxcmds.c b/GL/glx/glxcmds.c
index fdd36e2..e16087a 100644
--- a/GL/glx/glxcmds.c
+++ b/GL/glx/glxcmds.c
@@ -1814,7 +1814,6 @@ int __glXDisp_RenderLarge(__GLXclientSta
     xGLXRenderLargeReq *req;
     ClientPtr client= cl->client;
     GLuint dataBytes;
-    __GLXdispatchRenderProcPtr proc;
     __GLXrenderLargeHeader *hdr;
     __GLXcontext *glxc;
     int error;
@@ -1873,13 +1872,6 @@ int __glXDisp_RenderLarge(__GLXclientSta
 	    return __glXError(GLXBadLargeRequest);
 	}
 
-	proc = (__GLXdispatchRenderProcPtr)
-	  __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, 0);
-	if (proc == NULL) {
-	    client->errorValue = opcode;
-	    return __glXError(GLXBadLargeRequest);
-	}
-
 	if (entry.varsize) {
 	    /*
 	    ** If it's a variable-size command (a command whose length must
@@ -1956,6 +1948,8 @@ int __glXDisp_RenderLarge(__GLXclientSta
 	cl->largeCmdRequestsSoFar++;
 
 	if (req->requestNumber == cl->largeCmdRequestsTotal) {
+	    __GLXdispatchRenderProcPtr proc;
+
 	    /*
 	    ** This is the last request; it must have enough bytes to complete
 	    ** the command.
@@ -1981,16 +1975,9 @@ int __glXDisp_RenderLarge(__GLXclientSta
 	    /*
 	    ** Use the opcode to index into the procedure table.
 	    */
-	    if ( (opcode >= __GLX_MIN_RENDER_OPCODE) && 
-		 (opcode <= __GLX_MAX_RENDER_OPCODE) ) {
-		proc = __glXRenderTable[opcode];
-#if __GLX_MAX_RENDER_OPCODE_EXT > __GLX_MIN_RENDER_OPCODE_EXT
-	    } else if ( (opcode >= __GLX_MIN_RENDER_OPCODE_EXT) && 
-		 (opcode <= __GLX_MAX_RENDER_OPCODE_EXT) ) {
-		opcode -= __GLX_MIN_RENDER_OPCODE_EXT;
-		proc = __glXRenderTable_EXT[opcode];
-#endif /* __GLX_MAX_RENDER_OPCODE_EXT > __GLX_MIN_RENDER_OPCODE_EXT */
-	    } else {
+	    proc = (__GLXdispatchRenderProcPtr)
+	      __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, 0);
+	    if (proc == NULL) {
 		client->errorValue = opcode;
 		return __glXError(GLXBadLargeRequest);
 	    }
diff --git a/GL/glx/glxcmdsswap.c b/GL/glx/glxcmdsswap.c
index 5dd98ca..ae6a9d1 100644
--- a/GL/glx/glxcmdsswap.c
+++ b/GL/glx/glxcmdsswap.c
@@ -736,7 +736,6 @@ int __glXDispSwap_RenderLarge(__GLXclien
     xGLXRenderLargeReq *req;
     ClientPtr client= cl->client;
     size_t dataBytes;
-    __GLXdispatchRenderProcPtr proc;
     __GLXrenderLargeHeader *hdr;
     __GLXcontext *cx;
     int error;
@@ -800,13 +799,6 @@ int __glXDispSwap_RenderLarge(__GLXclien
 	    return __glXError(GLXBadLargeRequest);
 	}
 
-	proc = (__GLXdispatchRenderProcPtr)
-	  __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, 0);
-	if (proc == NULL) {
-	    client->errorValue = opcode;
-	    return __glXError(GLXBadLargeRequest);
-	}
-
 	if (entry.varsize) {
 	    /*
 	    ** If it's a variable-size command (a command whose length must
@@ -882,6 +874,8 @@ int __glXDispSwap_RenderLarge(__GLXclien
 	cl->largeCmdRequestsSoFar++;
 
 	if (req->requestNumber == cl->largeCmdRequestsTotal) {
+	    __GLXdispatchRenderProcPtr proc;
+
 	    /*
 	    ** This is the last request; it must have enough bytes to complete
 	    ** the command.
@@ -911,16 +905,10 @@ int __glXDispSwap_RenderLarge(__GLXclien
 	    ** Use the opcode to index into the procedure table.
 	    */
 	    opcode = hdr->opcode;
-	    if ( (opcode >= __GLX_MIN_RENDER_OPCODE) && 
-		 (opcode <= __GLX_MAX_RENDER_OPCODE) ) {
-		proc = __glXSwapRenderTable[opcode];
-#if __GLX_MAX_RENDER_OPCODE_EXT > __GLX_MIN_RENDER_OPCODE_EXT
-	    } else if ( (opcode >= __GLX_MIN_RENDER_OPCODE_EXT) && 
-		 (opcode <= __GLX_MAX_RENDER_OPCODE_EXT) ) {
-		int index = opcode - __GLX_MIN_RENDER_OPCODE_EXT;
-		proc = __glXSwapRenderTable_EXT[index];
-#endif /* __GLX_MAX_RENDER_OPCODE_EXT > __GLX_MIN_RENDER_OPCODE_EXT */
-	    } else {
+
+	    proc = (__GLXdispatchRenderProcPtr)
+	      __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, 1);
+	    if (proc == NULL) {
 		client->errorValue = opcode;
 		return __glXError(GLXBadLargeRequest);
 	    }
diff-tree d9a86566c21afd7985673f3ed851b055d9dac46f (from bdec9680fa74dd23cf319d09af1940f8cf71a5b1)
Author: Alan Coopersmith <alan.coopersmith at sun.com>
Date:   Wed Aug 23 16:15:19 2006 -0700

    Add LOCALCONN to dix-config.h template for xtrans

diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index 2b9f273..69dc674 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -222,6 +222,9 @@
 /* Support IPv6 for TCP connections */
 #undef IPv6
 
+/* Support os-specific local connections */
+#undef LOCALCONN
+
 /* Support MIT Misc extension */
 #undef MITMISC
 
diff-tree f6fd7d8f8393f93705e76b2b2777a0d9bcafa991 (from 7ae82b5fc8721be78b43a322bbf2c46aac08b8cf)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Wed Aug 23 16:05:37 2006 -0700

    Convert protocol decode tabels for Render and RenderLarge to use nice,
    compact N-way search trees generated by scripts in Mesa.

diff --git a/GL/glx/Makefile.am b/GL/glx/Makefile.am
index 2bb6943..94f8fd6 100644
--- a/GL/glx/Makefile.am
+++ b/GL/glx/Makefile.am
@@ -70,7 +70,6 @@ libglx_la_SOURCES = \
         renderpix.c \
         renderpixswap.c \
         rensize.c \
-        rensizetab.c \
         single2.c \
         single2swap.c \
         singlepix.c \
diff --git a/GL/glx/glxcmds.c b/GL/glx/glxcmds.c
index b52528d..fdd36e2 100644
--- a/GL/glx/glxcmds.c
+++ b/GL/glx/glxcmds.c
@@ -1746,9 +1746,10 @@ int __glXDisp_Render(__GLXclientState *c
     pc += sz_xGLXRenderReq;
     left = (req->length << 2) - sz_xGLXRenderReq;
     while (left > 0) {
-        __GLXrenderSizeData *entry;
+        __GLXrenderSizeData entry;
         int extra;
-	void (* proc)(GLbyte *);
+	__GLXdispatchRenderProcPtr proc;
+	int err;
 
 	/*
 	** Verify that the header length and the overall length agree.
@@ -1761,41 +1762,27 @@ int __glXDisp_Render(__GLXclientState *c
 	/*
 	** Check for core opcodes and grab entry data.
 	*/
-	if ( (opcode >= __GLX_MIN_RENDER_OPCODE) && 
-	     (opcode <= __GLX_MAX_RENDER_OPCODE) ) {
-	    entry = &__glXRenderSizeTable[opcode];
-	    proc = __glXRenderTable[opcode];
-#if __GLX_MAX_RENDER_OPCODE_EXT > __GLX_MIN_RENDER_OPCODE_EXT
-	} else if ( (opcode >= __GLX_MIN_RENDER_OPCODE_EXT) && 
-		    (opcode <= __GLX_MAX_RENDER_OPCODE_EXT) ) {
-	    entry = 
-		&__glXRenderSizeTable_EXT[opcode - 
-					 __GLX_MIN_RENDER_OPCODE_EXT];
-	    proc = __glXRenderTable_EXT[opcode - 
-				       __GLX_MIN_RENDER_OPCODE_EXT];
-#endif /* __GLX_MAX_RENDER_OPCODE_EXT > __GLX_MIN_RENDER_OPCODE_EXT */
-	} else {
+	err = __glXGetProtocolSizeData(& Render_dispatch_info, opcode, & entry);
+	proc = (__GLXdispatchRenderProcPtr)
+	  __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, 0);
+
+	if ((err < 0) || (proc == NULL)) {
 	    client->errorValue = commandsDone;
 	    return __glXError(GLXBadRenderRequest);
 	}
 
-        if (!entry->bytes) {
-            /* unused opcode */
-            client->errorValue = commandsDone;
-            return __glXError(GLXBadRenderRequest);
-        }
-        if (entry->varsize) {
+        if (entry.varsize) {
             /* variable size command */
-            extra = (*entry->varsize)(pc + __GLX_RENDER_HDR_SIZE, False);
+            extra = (*entry.varsize)(pc + __GLX_RENDER_HDR_SIZE, False);
             if (extra < 0) {
                 extra = 0;
             }
-            if (cmdlen != __GLX_PAD(entry->bytes + extra)) {
+            if (cmdlen != __GLX_PAD(entry.bytes + extra)) {
                 return BadLength;
             }
         } else {
             /* constant size command */
-            if (cmdlen != __GLX_PAD(entry->bytes)) {
+            if (cmdlen != __GLX_PAD(entry.bytes)) {
                 return BadLength;
             }
         }
@@ -1827,7 +1814,7 @@ int __glXDisp_RenderLarge(__GLXclientSta
     xGLXRenderLargeReq *req;
     ClientPtr client= cl->client;
     GLuint dataBytes;
-    void (*proc)(GLbyte *);
+    __GLXdispatchRenderProcPtr proc;
     __GLXrenderLargeHeader *hdr;
     __GLXcontext *glxc;
     int error;
@@ -1860,8 +1847,10 @@ int __glXDisp_RenderLarge(__GLXclientSta
     pc += sz_xGLXRenderLargeReq;
     
     if (cl->largeCmdRequestsSoFar == 0) {
-	__GLXrenderSizeData *entry;
+	__GLXrenderSizeData entry;
 	int extra, cmdlen;
+	int err;
+
 	/*
 	** This is the first request of a multi request command.
 	** Make enough space in the buffer, then copy the entire request.
@@ -1878,42 +1867,36 @@ int __glXDisp_RenderLarge(__GLXclientSta
 	/*
 	** Check for core opcodes and grab entry data.
 	*/
-	if ( (opcode >= __GLX_MIN_RENDER_OPCODE) && 
-	     (opcode <= __GLX_MAX_RENDER_OPCODE) ) {
-	    entry = &__glXRenderSizeTable[opcode];
-#if __GLX_MAX_RENDER_OPCODE_EXT > __GLX_MIN_RENDER_OPCODE_EXT
-	} else if ( (opcode >= __GLX_MIN_RENDER_OPCODE_EXT) && 
-	     (opcode <= __GLX_MAX_RENDER_OPCODE_EXT) ) {
-	    opcode -= __GLX_MIN_RENDER_OPCODE_EXT;
-	    entry = &__glXRenderSizeTable_EXT[opcode];
-#endif /* __GLX_MAX_RENDER_OPCODE_EXT > __GLX_MIN_RENDER_OPCODE_EXT */
-	} else {
+	err = __glXGetProtocolSizeData(& Render_dispatch_info, opcode, & entry);
+	if (err < 0) {
 	    client->errorValue = opcode;
 	    return __glXError(GLXBadLargeRequest);
 	}
 
-        if (!entry->bytes) {
-            /* unused opcode */
-            client->errorValue = opcode;
-            return __glXError(GLXBadLargeRequest);
-        }
-	if (entry->varsize) {
+	proc = (__GLXdispatchRenderProcPtr)
+	  __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, 0);
+	if (proc == NULL) {
+	    client->errorValue = opcode;
+	    return __glXError(GLXBadLargeRequest);
+	}
+
+	if (entry.varsize) {
 	    /*
 	    ** If it's a variable-size command (a command whose length must
 	    ** be computed from its parameters), all the parameters needed
 	    ** will be in the 1st request, so it's okay to do this.
 	    */
-	    extra = (*entry->varsize)(pc + __GLX_RENDER_LARGE_HDR_SIZE, False);
+	    extra = (*entry.varsize)(pc + __GLX_RENDER_LARGE_HDR_SIZE, False);
 	    if (extra < 0) {
 		extra = 0;
 	    }
 	    /* large command's header is 4 bytes longer, so add 4 */
-	    if (cmdlen != __GLX_PAD(entry->bytes + 4 + extra)) {
+	    if (cmdlen != __GLX_PAD(entry.bytes + 4 + extra)) {
 		return BadLength;
 	    }
 	} else {
 	    /* constant size command */
-	    if (cmdlen != __GLX_PAD(entry->bytes + 4)) {
+	    if (cmdlen != __GLX_PAD(entry.bytes + 4)) {
 		return BadLength;
 	    }
 	}
diff --git a/GL/glx/glxcmdsswap.c b/GL/glx/glxcmdsswap.c
index 78a26f5..5dd98ca 100644
--- a/GL/glx/glxcmdsswap.c
+++ b/GL/glx/glxcmdsswap.c
@@ -669,9 +669,10 @@ int __glXDispSwap_Render(__GLXclientStat
     pc += sz_xGLXRenderReq;
     left = (req->length << 2) - sz_xGLXRenderReq;
     while (left > 0) {
-        __GLXrenderSizeData *entry;
+        __GLXrenderSizeData entry;
         int extra;
-	void (* proc)(GLbyte *);
+	__GLXdispatchRenderProcPtr proc;
+	int err;
 
 	/*
 	** Verify that the header length and the overall length agree.
@@ -683,38 +684,27 @@ int __glXDispSwap_Render(__GLXclientStat
 	cmdlen = hdr->length;
 	opcode = hdr->opcode;
 
-	if ( (opcode >= __GLX_MIN_RENDER_OPCODE) && 
-	     (opcode <= __GLX_MAX_RENDER_OPCODE) ) {
-	    entry = &__glXRenderSizeTable[opcode];
-	    proc = __glXSwapRenderTable[opcode];
-#if __GLX_MAX_RENDER_OPCODE_EXT > __GLX_MIN_RENDER_OPCODE_EXT
-	} else if ( (opcode >= __GLX_MIN_RENDER_OPCODE_EXT) && 
-	     (opcode <= __GLX_MAX_RENDER_OPCODE_EXT) ) {
-	    int index = opcode - __GLX_MIN_RENDER_OPCODE_EXT;
-	    entry = &__glXRenderSizeTable_EXT[index];
-	    proc = __glXSwapRenderTable_EXT[index];
-#endif /* __GLX_MAX_RENDER_OPCODE_EXT > __GLX_MIN_RENDER_OPCODE_EXT */
-	} else {
+	err = __glXGetProtocolSizeData(& Render_dispatch_info, opcode, & entry);
+	proc = (__GLXdispatchRenderProcPtr)
+	  __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, 1);
+
+	if ((err < 0) || (proc == NULL)) {
 	    client->errorValue = commandsDone;
 	    return __glXError(GLXBadRenderRequest);
 	}
-        if (!entry->bytes) {
-            /* unused opcode */
-	    client->errorValue = commandsDone;
-            return __glXError(GLXBadRenderRequest);
-        }
-        if (entry->varsize) {
+
+        if (entry.varsize) {
             /* variable size command */
-            extra = (*entry->varsize)(pc + __GLX_RENDER_HDR_SIZE, True);
+            extra = (*entry.varsize)(pc + __GLX_RENDER_HDR_SIZE, True);
             if (extra < 0) {
                 extra = 0;
             }
-            if (cmdlen != __GLX_PAD(entry->bytes + extra)) {
+            if (cmdlen != __GLX_PAD(entry.bytes + extra)) {
                 return BadLength;
             }
         } else {
             /* constant size command */
-            if (cmdlen != __GLX_PAD(entry->bytes)) {
+            if (cmdlen != __GLX_PAD(entry.bytes)) {
                 return BadLength;
             }
         }
@@ -746,7 +736,7 @@ int __glXDispSwap_RenderLarge(__GLXclien
     xGLXRenderLargeReq *req;
     ClientPtr client= cl->client;
     size_t dataBytes;
-    void (*proc)(GLbyte *);
+    __GLXdispatchRenderProcPtr proc;
     __GLXrenderLargeHeader *hdr;
     __GLXcontext *cx;
     int error;
@@ -785,9 +775,11 @@ int __glXDispSwap_RenderLarge(__GLXclien
     pc += sz_xGLXRenderLargeReq;
     
     if (cl->largeCmdRequestsSoFar == 0) {
-	__GLXrenderSizeData *entry;
+	__GLXrenderSizeData entry;
 	int extra;
 	size_t cmdlen;
+	int err;
+
 	/*
 	** This is the first request of a multi request command.
 	** Make enough space in the buffer, then copy the entire request.
@@ -802,44 +794,36 @@ int __glXDispSwap_RenderLarge(__GLXclien
 	cmdlen = hdr->length;
 	opcode = hdr->opcode;
 
-	if ( (opcode >= __GLX_MIN_RENDER_OPCODE) && 
-	     (opcode <= __GLX_MAX_RENDER_OPCODE) ) {
-	    entry = &__glXRenderSizeTable[opcode];
-	    proc = __glXSwapRenderTable[opcode];
-#if __GLX_MAX_RENDER_OPCODE_EXT > __GLX_MIN_RENDER_OPCODE_EXT
-	} else if ( (opcode >= __GLX_MIN_RENDER_OPCODE_EXT) && 
-	     (opcode <= __GLX_MAX_RENDER_OPCODE_EXT) ) {
-	    int index = opcode - __GLX_MIN_RENDER_OPCODE_EXT;
-	    entry = &__glXRenderSizeTable_EXT[index];
-	    proc = __glXSwapRenderTable_EXT[index];
-#endif /* __GLX_MAX_RENDER_OPCODE_EXT > __GLX_MIN_RENDER_OPCODE_EXT */
-	} else {
+	err = __glXGetProtocolSizeData(& Render_dispatch_info, opcode, & entry);
+	if (err < 0) {
 	    client->errorValue = opcode;
 	    return __glXError(GLXBadLargeRequest);
 	}
 
-        if (!entry->bytes) {
-            /* unused opcode */
-            client->errorValue = opcode;
-            return __glXError(GLXBadLargeRequest);
-        }
-	if (entry->varsize) {
+	proc = (__GLXdispatchRenderProcPtr)
+	  __glXGetProtocolDecodeFunction(& Render_dispatch_info, opcode, 0);
+	if (proc == NULL) {
+	    client->errorValue = opcode;
+	    return __glXError(GLXBadLargeRequest);
+	}
+
+	if (entry.varsize) {
 	    /*
 	    ** If it's a variable-size command (a command whose length must
 	    ** be computed from its parameters), all the parameters needed
 	    ** will be in the 1st request, so it's okay to do this.
 	    */
-	    extra = (*entry->varsize)(pc + __GLX_RENDER_LARGE_HDR_SIZE, True);
+	    extra = (*entry.varsize)(pc + __GLX_RENDER_LARGE_HDR_SIZE, True);
 	    if (extra < 0) {
 		extra = 0;
 	    }
 	    /* large command's header is 4 bytes longer, so add 4 */
-	    if (cmdlen != __GLX_PAD(entry->bytes + 4 + extra)) {
+	    if (cmdlen != __GLX_PAD(entry.bytes + 4 + extra)) {
 		return BadLength;
 	    }
 	} else {
 	    /* constant size command */
-	    if (cmdlen != __GLX_PAD(entry->bytes + 4)) {
+	    if (cmdlen != __GLX_PAD(entry.bytes + 4)) {
 		return BadLength;
 	    }
 	}
diff --git a/GL/glx/glxserver.h b/GL/glx/glxserver.h
index 387489a..a79520e 100644
--- a/GL/glx/glxserver.h
+++ b/GL/glx/glxserver.h
@@ -202,8 +202,6 @@ typedef struct {
     int bytes;
     gl_proto_size_func varsize;
 } __GLXrenderSizeData;
-extern __GLXrenderSizeData __glXRenderSizeTable[];
-extern __GLXrenderSizeData __glXRenderSizeTable_EXT[];
 
 /************************************************************************/
 
diff --git a/GL/glx/indirect_table.c b/GL/glx/indirect_table.c
index 2c88589..ec69234 100644
--- a/GL/glx/indirect_table.c
+++ b/GL/glx/indirect_table.c
@@ -74,7 +74,7 @@ static const int_fast16_t Single_dispatc
 
 };
 
-static const __GLXdispatchSingleProcPtr Single_function_table[112][2] = {
+static const void *Single_function_table[112][2] = {
     /* [  0] =     0 */ {NULL, NULL},
     /* [  1] =     1 */ {__glXDisp_Render, __glXDispSwap_Render},
     /* [  2] =     2 */ {__glXDisp_RenderLarge, __glXDispSwap_RenderLarge},
@@ -198,6 +198,1014 @@ const struct __glXDispatchInfo Single_di
 };
 
 /*****************************************************************/
+/* tree depth = 8 */
+static const int_fast16_t Render_dispatch_tree[96] = {
+    /* [0] -> opcode range [0, 8192], node depth 1 */
+    2,
+    5,
+    31,
+    54,
+    EMPTY_LEAF,
+
+    /* [5] -> opcode range [0, 2048], node depth 2 */
+    1,
+    8,
+    EMPTY_LEAF,
+
+    /* [8] -> opcode range [0, 1024], node depth 3 */
+    1,
+    11,
+    EMPTY_LEAF,
+
+    /* [11] -> opcode range [0, 512], node depth 4 */
+    1,
+    14,
+    EMPTY_LEAF,
+
+    /* [14] -> opcode range [0, 256], node depth 5 */
+    4,
+    LEAF(0),
+    LEAF(16),
+    LEAF(32),
+    LEAF(48),
+    LEAF(64),
+    LEAF(80),
+    LEAF(96),
+    LEAF(112),
+    LEAF(128),
+    LEAF(144),
+    LEAF(160),
+    LEAF(176),
+    LEAF(192),
+    LEAF(208),
+    LEAF(224),
+    EMPTY_LEAF,
+
+    /* [31] -> opcode range [2048, 4096], node depth 2 */
+    1,
+    34,
+    EMPTY_LEAF,
+
+    /* [34] -> opcode range [2048, 3072], node depth 3 */
+    1,
+    37,
+    EMPTY_LEAF,
+
+    /* [37] -> opcode range [2048, 2560], node depth 4 */
+    1,
+    40,
+    EMPTY_LEAF,
+
+    /* [40] -> opcode range [2048, 2304], node depth 5 */
+    1,
+    43,
+    EMPTY_LEAF,
+
+    /* [43] -> opcode range [2048, 2176], node depth 6 */
+    1,
+    46,
+    EMPTY_LEAF,
+
+    /* [46] -> opcode range [2048, 2112], node depth 7 */
+    1,
+    49,
+    EMPTY_LEAF,
+
+    /* [49] -> opcode range [2048, 2080], node depth 8 */
+    2,
+    LEAF(240),
+    LEAF(248),
+    LEAF(256),
+    EMPTY_LEAF,
+
+    /* [54] -> opcode range [4096, 6144], node depth 2 */
+    1,
+    57,
+    EMPTY_LEAF,
+
+    /* [57] -> opcode range [4096, 5120], node depth 3 */
+    1,
+    60,
+    EMPTY_LEAF,
+
+    /* [60] -> opcode range [4096, 4608], node depth 4 */
+    1,
+    63,
+    EMPTY_LEAF,
+
+    /* [63] -> opcode range [4096, 4352], node depth 5 */
+    3,
+    LEAF(264),
+    72,
+    78,
+    LEAF(296),
+    81,
+    EMPTY_LEAF,
+    84,
+    90,
+
+    /* [72] -> opcode range [4128, 4160], node depth 6 */
+    1,
+    75,
+    EMPTY_LEAF,
+
+    /* [75] -> opcode range [4128, 4144], node depth 7 */
+    1,
+    LEAF(328),
+    EMPTY_LEAF,
+
+    /* [78] -> opcode range [4160, 4192], node depth 6 */
+    1,
+    EMPTY_LEAF,
+    LEAF(336),
+
+    /* [81] -> opcode range [4224, 4256], node depth 6 */
+    1,
+    LEAF(352),
+    EMPTY_LEAF,
+
+    /* [84] -> opcode range [4288, 4320], node depth 6 */
+    1,
+    EMPTY_LEAF,
+    87,
+
+    /* [87] -> opcode range [4304, 4320], node depth 7 */
+    1,
+    EMPTY_LEAF,
+    LEAF(368),
+
+    /* [90] -> opcode range [4320, 4352], node depth 6 */
+    1,
+    93,
+    EMPTY_LEAF,
+
+    /* [93] -> opcode range [4320, 4336], node depth 7 */
+    1,
+    LEAF(376),
+    EMPTY_LEAF,
+
+};
+
+static const void *Render_function_table[384][2] = {
+    /* [  0] =     0 */ {NULL, NULL},
+    /* [  1] =     1 */ {__glXDisp_CallList, __glXDispSwap_CallList},
+    /* [  2] =     2 */ {__glXDisp_CallLists, __glXDispSwap_CallLists},
+    /* [  3] =     3 */ {__glXDisp_ListBase, __glXDispSwap_ListBase},
+    /* [  4] =     4 */ {__glXDisp_Begin, __glXDispSwap_Begin},
+    /* [  5] =     5 */ {__glXDisp_Bitmap, __glXDispSwap_Bitmap},
+    /* [  6] =     6 */ {__glXDisp_Color3bv, __glXDispSwap_Color3bv},
+    /* [  7] =     7 */ {__glXDisp_Color3dv, __glXDispSwap_Color3dv},
+    /* [  8] =     8 */ {__glXDisp_Color3fv, __glXDispSwap_Color3fv},
+    /* [  9] =     9 */ {__glXDisp_Color3iv, __glXDispSwap_Color3iv},
+    /* [ 10] =    10 */ {__glXDisp_Color3sv, __glXDispSwap_Color3sv},
+    /* [ 11] =    11 */ {__glXDisp_Color3ubv, __glXDispSwap_Color3ubv},
+    /* [ 12] =    12 */ {__glXDisp_Color3uiv, __glXDispSwap_Color3uiv},
+    /* [ 13] =    13 */ {__glXDisp_Color3usv, __glXDispSwap_Color3usv},
+    /* [ 14] =    14 */ {__glXDisp_Color4bv, __glXDispSwap_Color4bv},
+    /* [ 15] =    15 */ {__glXDisp_Color4dv, __glXDispSwap_Color4dv},
+    /* [ 16] =    16 */ {__glXDisp_Color4fv, __glXDispSwap_Color4fv},
+    /* [ 17] =    17 */ {__glXDisp_Color4iv, __glXDispSwap_Color4iv},
+    /* [ 18] =    18 */ {__glXDisp_Color4sv, __glXDispSwap_Color4sv},
+    /* [ 19] =    19 */ {__glXDisp_Color4ubv, __glXDispSwap_Color4ubv},
+    /* [ 20] =    20 */ {__glXDisp_Color4uiv, __glXDispSwap_Color4uiv},
+    /* [ 21] =    21 */ {__glXDisp_Color4usv, __glXDispSwap_Color4usv},
+    /* [ 22] =    22 */ {__glXDisp_EdgeFlagv, __glXDispSwap_EdgeFlagv},
+    /* [ 23] =    23 */ {__glXDisp_End, __glXDispSwap_End},
+    /* [ 24] =    24 */ {__glXDisp_Indexdv, __glXDispSwap_Indexdv},
+    /* [ 25] =    25 */ {__glXDisp_Indexfv, __glXDispSwap_Indexfv},
+    /* [ 26] =    26 */ {__glXDisp_Indexiv, __glXDispSwap_Indexiv},
+    /* [ 27] =    27 */ {__glXDisp_Indexsv, __glXDispSwap_Indexsv},
+    /* [ 28] =    28 */ {__glXDisp_Normal3bv, __glXDispSwap_Normal3bv},
+    /* [ 29] =    29 */ {__glXDisp_Normal3dv, __glXDispSwap_Normal3dv},
+    /* [ 30] =    30 */ {__glXDisp_Normal3fv, __glXDispSwap_Normal3fv},
+    /* [ 31] =    31 */ {__glXDisp_Normal3iv, __glXDispSwap_Normal3iv},
+    /* [ 32] =    32 */ {__glXDisp_Normal3sv, __glXDispSwap_Normal3sv},
+    /* [ 33] =    33 */ {__glXDisp_RasterPos2dv, __glXDispSwap_RasterPos2dv},
+    /* [ 34] =    34 */ {__glXDisp_RasterPos2fv, __glXDispSwap_RasterPos2fv},
+    /* [ 35] =    35 */ {__glXDisp_RasterPos2iv, __glXDispSwap_RasterPos2iv},
+    /* [ 36] =    36 */ {__glXDisp_RasterPos2sv, __glXDispSwap_RasterPos2sv},
+    /* [ 37] =    37 */ {__glXDisp_RasterPos3dv, __glXDispSwap_RasterPos3dv},
+    /* [ 38] =    38 */ {__glXDisp_RasterPos3fv, __glXDispSwap_RasterPos3fv},
+    /* [ 39] =    39 */ {__glXDisp_RasterPos3iv, __glXDispSwap_RasterPos3iv},
+    /* [ 40] =    40 */ {__glXDisp_RasterPos3sv, __glXDispSwap_RasterPos3sv},
+    /* [ 41] =    41 */ {__glXDisp_RasterPos4dv, __glXDispSwap_RasterPos4dv},
+    /* [ 42] =    42 */ {__glXDisp_RasterPos4fv, __glXDispSwap_RasterPos4fv},
+    /* [ 43] =    43 */ {__glXDisp_RasterPos4iv, __glXDispSwap_RasterPos4iv},
+    /* [ 44] =    44 */ {__glXDisp_RasterPos4sv, __glXDispSwap_RasterPos4sv},
+    /* [ 45] =    45 */ {__glXDisp_Rectdv, __glXDispSwap_Rectdv},
+    /* [ 46] =    46 */ {__glXDisp_Rectfv, __glXDispSwap_Rectfv},
+    /* [ 47] =    47 */ {__glXDisp_Rectiv, __glXDispSwap_Rectiv},
+    /* [ 48] =    48 */ {__glXDisp_Rectsv, __glXDispSwap_Rectsv},
+    /* [ 49] =    49 */ {__glXDisp_TexCoord1dv, __glXDispSwap_TexCoord1dv},
+    /* [ 50] =    50 */ {__glXDisp_TexCoord1fv, __glXDispSwap_TexCoord1fv},
+    /* [ 51] =    51 */ {__glXDisp_TexCoord1iv, __glXDispSwap_TexCoord1iv},
+    /* [ 52] =    52 */ {__glXDisp_TexCoord1sv, __glXDispSwap_TexCoord1sv},
+    /* [ 53] =    53 */ {__glXDisp_TexCoord2dv, __glXDispSwap_TexCoord2dv},
+    /* [ 54] =    54 */ {__glXDisp_TexCoord2fv, __glXDispSwap_TexCoord2fv},
+    /* [ 55] =    55 */ {__glXDisp_TexCoord2iv, __glXDispSwap_TexCoord2iv},
+    /* [ 56] =    56 */ {__glXDisp_TexCoord2sv, __glXDispSwap_TexCoord2sv},
+    /* [ 57] =    57 */ {__glXDisp_TexCoord3dv, __glXDispSwap_TexCoord3dv},
+    /* [ 58] =    58 */ {__glXDisp_TexCoord3fv, __glXDispSwap_TexCoord3fv},
+    /* [ 59] =    59 */ {__glXDisp_TexCoord3iv, __glXDispSwap_TexCoord3iv},
+    /* [ 60] =    60 */ {__glXDisp_TexCoord3sv, __glXDispSwap_TexCoord3sv},
+    /* [ 61] =    61 */ {__glXDisp_TexCoord4dv, __glXDispSwap_TexCoord4dv},
+    /* [ 62] =    62 */ {__glXDisp_TexCoord4fv, __glXDispSwap_TexCoord4fv},
+    /* [ 63] =    63 */ {__glXDisp_TexCoord4iv, __glXDispSwap_TexCoord4iv},
+    /* [ 64] =    64 */ {__glXDisp_TexCoord4sv, __glXDispSwap_TexCoord4sv},
+    /* [ 65] =    65 */ {__glXDisp_Vertex2dv, __glXDispSwap_Vertex2dv},
+    /* [ 66] =    66 */ {__glXDisp_Vertex2fv, __glXDispSwap_Vertex2fv},
+    /* [ 67] =    67 */ {__glXDisp_Vertex2iv, __glXDispSwap_Vertex2iv},
+    /* [ 68] =    68 */ {__glXDisp_Vertex2sv, __glXDispSwap_Vertex2sv},
+    /* [ 69] =    69 */ {__glXDisp_Vertex3dv, __glXDispSwap_Vertex3dv},
+    /* [ 70] =    70 */ {__glXDisp_Vertex3fv, __glXDispSwap_Vertex3fv},
+    /* [ 71] =    71 */ {__glXDisp_Vertex3iv, __glXDispSwap_Vertex3iv},
+    /* [ 72] =    72 */ {__glXDisp_Vertex3sv, __glXDispSwap_Vertex3sv},
+    /* [ 73] =    73 */ {__glXDisp_Vertex4dv, __glXDispSwap_Vertex4dv},
+    /* [ 74] =    74 */ {__glXDisp_Vertex4fv, __glXDispSwap_Vertex4fv},
+    /* [ 75] =    75 */ {__glXDisp_Vertex4iv, __glXDispSwap_Vertex4iv},
+    /* [ 76] =    76 */ {__glXDisp_Vertex4sv, __glXDispSwap_Vertex4sv},
+    /* [ 77] =    77 */ {__glXDisp_ClipPlane, __glXDispSwap_ClipPlane},
+    /* [ 78] =    78 */ {__glXDisp_ColorMaterial, __glXDispSwap_ColorMaterial},
+    /* [ 79] =    79 */ {__glXDisp_CullFace, __glXDispSwap_CullFace},
+    /* [ 80] =    80 */ {__glXDisp_Fogf, __glXDispSwap_Fogf},
+    /* [ 81] =    81 */ {__glXDisp_Fogfv, __glXDispSwap_Fogfv},
+    /* [ 82] =    82 */ {__glXDisp_Fogi, __glXDispSwap_Fogi},
+    /* [ 83] =    83 */ {__glXDisp_Fogiv, __glXDispSwap_Fogiv},
+    /* [ 84] =    84 */ {__glXDisp_FrontFace, __glXDispSwap_FrontFace},
+    /* [ 85] =    85 */ {__glXDisp_Hint, __glXDispSwap_Hint},
+    /* [ 86] =    86 */ {__glXDisp_Lightf, __glXDispSwap_Lightf},
+    /* [ 87] =    87 */ {__glXDisp_Lightfv, __glXDispSwap_Lightfv},
+    /* [ 88] =    88 */ {__glXDisp_Lighti, __glXDispSwap_Lighti},
+    /* [ 89] =    89 */ {__glXDisp_Lightiv, __glXDispSwap_Lightiv},
+    /* [ 90] =    90 */ {__glXDisp_LightModelf, __glXDispSwap_LightModelf},
+    /* [ 91] =    91 */ {__glXDisp_LightModelfv, __glXDispSwap_LightModelfv},
+    /* [ 92] =    92 */ {__glXDisp_LightModeli, __glXDispSwap_LightModeli},
+    /* [ 93] =    93 */ {__glXDisp_LightModeliv, __glXDispSwap_LightModeliv},
+    /* [ 94] =    94 */ {__glXDisp_LineStipple, __glXDispSwap_LineStipple},
+    /* [ 95] =    95 */ {__glXDisp_LineWidth, __glXDispSwap_LineWidth},
+    /* [ 96] =    96 */ {__glXDisp_Materialf, __glXDispSwap_Materialf},
+    /* [ 97] =    97 */ {__glXDisp_Materialfv, __glXDispSwap_Materialfv},
+    /* [ 98] =    98 */ {__glXDisp_Materiali, __glXDispSwap_Materiali},
+    /* [ 99] =    99 */ {__glXDisp_Materialiv, __glXDispSwap_Materialiv},
+    /* [ 100] =   100 */ {__glXDisp_PointSize, __glXDispSwap_PointSize},
+    /* [ 101] =   101 */ {__glXDisp_PolygonMode, __glXDispSwap_PolygonMode},
+    /* [ 102] =   102 */ {__glXDisp_PolygonStipple, __glXDispSwap_PolygonStipple},
+    /* [ 103] =   103 */ {__glXDisp_Scissor, __glXDispSwap_Scissor},
+    /* [ 104] =   104 */ {__glXDisp_ShadeModel, __glXDispSwap_ShadeModel},
+    /* [ 105] =   105 */ {__glXDisp_TexParameterf, __glXDispSwap_TexParameterf},
+    /* [ 106] =   106 */ {__glXDisp_TexParameterfv, __glXDispSwap_TexParameterfv},
+    /* [ 107] =   107 */ {__glXDisp_TexParameteri, __glXDispSwap_TexParameteri},
+    /* [ 108] =   108 */ {__glXDisp_TexParameteriv, __glXDispSwap_TexParameteriv},
+    /* [ 109] =   109 */ {__glXDisp_TexImage1D, __glXDispSwap_TexImage1D},
+    /* [ 110] =   110 */ {__glXDisp_TexImage2D, __glXDispSwap_TexImage2D},
+    /* [ 111] =   111 */ {__glXDisp_TexEnvf, __glXDispSwap_TexEnvf},
+    /* [ 112] =   112 */ {__glXDisp_TexEnvfv, __glXDispSwap_TexEnvfv},
+    /* [ 113] =   113 */ {__glXDisp_TexEnvi, __glXDispSwap_TexEnvi},
+    /* [ 114] =   114 */ {__glXDisp_TexEnviv, __glXDispSwap_TexEnviv},
+    /* [ 115] =   115 */ {__glXDisp_TexGend, __glXDispSwap_TexGend},
+    /* [ 116] =   116 */ {__glXDisp_TexGendv, __glXDispSwap_TexGendv},
+    /* [ 117] =   117 */ {__glXDisp_TexGenf, __glXDispSwap_TexGenf},
+    /* [ 118] =   118 */ {__glXDisp_TexGenfv, __glXDispSwap_TexGenfv},
+    /* [ 119] =   119 */ {__glXDisp_TexGeni, __glXDispSwap_TexGeni},
+    /* [ 120] =   120 */ {__glXDisp_TexGeniv, __glXDispSwap_TexGeniv},
+    /* [ 121] =   121 */ {__glXDisp_InitNames, __glXDispSwap_InitNames},
+    /* [ 122] =   122 */ {__glXDisp_LoadName, __glXDispSwap_LoadName},
+    /* [ 123] =   123 */ {__glXDisp_PassThrough, __glXDispSwap_PassThrough},
+    /* [ 124] =   124 */ {__glXDisp_PopName, __glXDispSwap_PopName},
+    /* [ 125] =   125 */ {__glXDisp_PushName, __glXDispSwap_PushName},
+    /* [ 126] =   126 */ {__glXDisp_DrawBuffer, __glXDispSwap_DrawBuffer},
+    /* [ 127] =   127 */ {__glXDisp_Clear, __glXDispSwap_Clear},
+    /* [ 128] =   128 */ {__glXDisp_ClearAccum, __glXDispSwap_ClearAccum},
+    /* [ 129] =   129 */ {__glXDisp_ClearIndex, __glXDispSwap_ClearIndex},
+    /* [ 130] =   130 */ {__glXDisp_ClearColor, __glXDispSwap_ClearColor},
+    /* [ 131] =   131 */ {__glXDisp_ClearStencil, __glXDispSwap_ClearStencil},
+    /* [ 132] =   132 */ {__glXDisp_ClearDepth, __glXDispSwap_ClearDepth},
+    /* [ 133] =   133 */ {__glXDisp_StencilMask, __glXDispSwap_StencilMask},
+    /* [ 134] =   134 */ {__glXDisp_ColorMask, __glXDispSwap_ColorMask},
+    /* [ 135] =   135 */ {__glXDisp_DepthMask, __glXDispSwap_DepthMask},
+    /* [ 136] =   136 */ {__glXDisp_IndexMask, __glXDispSwap_IndexMask},
+    /* [ 137] =   137 */ {__glXDisp_Accum, __glXDispSwap_Accum},
+    /* [ 138] =   138 */ {__glXDisp_Disable, __glXDispSwap_Disable},
+    /* [ 139] =   139 */ {__glXDisp_Enable, __glXDispSwap_Enable},
+    /* [ 140] =   140 */ {NULL, NULL},
+    /* [ 141] =   141 */ {__glXDisp_PopAttrib, __glXDispSwap_PopAttrib},
+    /* [ 142] =   142 */ {__glXDisp_PushAttrib, __glXDispSwap_PushAttrib},
+    /* [ 143] =   143 */ {__glXDisp_Map1d, __glXDispSwap_Map1d},
+    /* [ 144] =   144 */ {__glXDisp_Map1f, __glXDispSwap_Map1f},
+    /* [ 145] =   145 */ {__glXDisp_Map2d, __glXDispSwap_Map2d},
+    /* [ 146] =   146 */ {__glXDisp_Map2f, __glXDispSwap_Map2f},
+    /* [ 147] =   147 */ {__glXDisp_MapGrid1d, __glXDispSwap_MapGrid1d},
+    /* [ 148] =   148 */ {__glXDisp_MapGrid1f, __glXDispSwap_MapGrid1f},
+    /* [ 149] =   149 */ {__glXDisp_MapGrid2d, __glXDispSwap_MapGrid2d},
+    /* [ 150] =   150 */ {__glXDisp_MapGrid2f, __glXDispSwap_MapGrid2f},
+    /* [ 151] =   151 */ {__glXDisp_EvalCoord1dv, __glXDispSwap_EvalCoord1dv},
+    /* [ 152] =   152 */ {__glXDisp_EvalCoord1fv, __glXDispSwap_EvalCoord1fv},
+    /* [ 153] =   153 */ {__glXDisp_EvalCoord2dv, __glXDispSwap_EvalCoord2dv},
+    /* [ 154] =   154 */ {__glXDisp_EvalCoord2fv, __glXDispSwap_EvalCoord2fv},
+    /* [ 155] =   155 */ {__glXDisp_EvalMesh1, __glXDispSwap_EvalMesh1},
+    /* [ 156] =   156 */ {__glXDisp_EvalPoint1, __glXDispSwap_EvalPoint1},
+    /* [ 157] =   157 */ {__glXDisp_EvalMesh2, __glXDispSwap_EvalMesh2},
+    /* [ 158] =   158 */ {__glXDisp_EvalPoint2, __glXDispSwap_EvalPoint2},
+    /* [ 159] =   159 */ {__glXDisp_AlphaFunc, __glXDispSwap_AlphaFunc},
+    /* [ 160] =   160 */ {__glXDisp_BlendFunc, __glXDispSwap_BlendFunc},
+    /* [ 161] =   161 */ {__glXDisp_LogicOp, __glXDispSwap_LogicOp},
+    /* [ 162] =   162 */ {__glXDisp_StencilFunc, __glXDispSwap_StencilFunc},
+    /* [ 163] =   163 */ {__glXDisp_StencilOp, __glXDispSwap_StencilOp},
+    /* [ 164] =   164 */ {__glXDisp_DepthFunc, __glXDispSwap_DepthFunc},
+    /* [ 165] =   165 */ {__glXDisp_PixelZoom, __glXDispSwap_PixelZoom},
+    /* [ 166] =   166 */ {__glXDisp_PixelTransferf, __glXDispSwap_PixelTransferf},
+    /* [ 167] =   167 */ {__glXDisp_PixelTransferi, __glXDispSwap_PixelTransferi},
+    /* [ 168] =   168 */ {__glXDisp_PixelMapfv, __glXDispSwap_PixelMapfv},
+    /* [ 169] =   169 */ {__glXDisp_PixelMapuiv, __glXDispSwap_PixelMapuiv},
+    /* [ 170] =   170 */ {__glXDisp_PixelMapusv, __glXDispSwap_PixelMapusv},
+    /* [ 171] =   171 */ {__glXDisp_ReadBuffer, __glXDispSwap_ReadBuffer},
+    /* [ 172] =   172 */ {__glXDisp_CopyPixels, __glXDispSwap_CopyPixels},
+    /* [ 173] =   173 */ {__glXDisp_DrawPixels, __glXDispSwap_DrawPixels},
+    /* [ 174] =   174 */ {__glXDisp_DepthRange, __glXDispSwap_DepthRange},
+    /* [ 175] =   175 */ {__glXDisp_Frustum, __glXDispSwap_Frustum},
+    /* [ 176] =   176 */ {__glXDisp_LoadIdentity, __glXDispSwap_LoadIdentity},
+    /* [ 177] =   177 */ {__glXDisp_LoadMatrixf, __glXDispSwap_LoadMatrixf},
+    /* [ 178] =   178 */ {__glXDisp_LoadMatrixd, __glXDispSwap_LoadMatrixd},
+    /* [ 179] =   179 */ {__glXDisp_MatrixMode, __glXDispSwap_MatrixMode},
+    /* [ 180] =   180 */ {__glXDisp_MultMatrixf, __glXDispSwap_MultMatrixf},
+    /* [ 181] =   181 */ {__glXDisp_MultMatrixd, __glXDispSwap_MultMatrixd},
+    /* [ 182] =   182 */ {__glXDisp_Ortho, __glXDispSwap_Ortho},
+    /* [ 183] =   183 */ {__glXDisp_PopMatrix, __glXDispSwap_PopMatrix},
+    /* [ 184] =   184 */ {__glXDisp_PushMatrix, __glXDispSwap_PushMatrix},
+    /* [ 185] =   185 */ {__glXDisp_Rotated, __glXDispSwap_Rotated},
+    /* [ 186] =   186 */ {__glXDisp_Rotatef, __glXDispSwap_Rotatef},
+    /* [ 187] =   187 */ {__glXDisp_Scaled, __glXDispSwap_Scaled},
+    /* [ 188] =   188 */ {__glXDisp_Scalef, __glXDispSwap_Scalef},
+    /* [ 189] =   189 */ {__glXDisp_Translated, __glXDispSwap_Translated},
+    /* [ 190] =   190 */ {__glXDisp_Translatef, __glXDispSwap_Translatef},
+    /* [ 191] =   191 */ {__glXDisp_Viewport, __glXDispSwap_Viewport},
+    /* [ 192] =   192 */ {__glXDisp_PolygonOffset, __glXDispSwap_PolygonOffset},
+    /* [ 193] =   193 */ {__glXDisp_DrawArrays, __glXDispSwap_DrawArrays},
+    /* [ 194] =   194 */ {__glXDisp_Indexubv, __glXDispSwap_Indexubv},
+    /* [ 195] =   195 */ {__glXDisp_ColorSubTable, __glXDispSwap_ColorSubTable},
+    /* [ 196] =   196 */ {__glXDisp_CopyColorSubTable, __glXDispSwap_CopyColorSubTable},
+    /* [ 197] =   197 */ {__glXDisp_ActiveTextureARB, __glXDispSwap_ActiveTextureARB},
+    /* [ 198] =   198 */ {__glXDisp_MultiTexCoord1dvARB, __glXDispSwap_MultiTexCoord1dvARB},
+    /* [ 199] =   199 */ {__glXDisp_MultiTexCoord1fvARB, __glXDispSwap_MultiTexCoord1fvARB},
+    /* [ 200] =   200 */ {__glXDisp_MultiTexCoord1ivARB, __glXDispSwap_MultiTexCoord1ivARB},
+    /* [ 201] =   201 */ {__glXDisp_MultiTexCoord1svARB, __glXDispSwap_MultiTexCoord1svARB},
+    /* [ 202] =   202 */ {__glXDisp_MultiTexCoord2dvARB, __glXDispSwap_MultiTexCoord2dvARB},
+    /* [ 203] =   203 */ {__glXDisp_MultiTexCoord2fvARB, __glXDispSwap_MultiTexCoord2fvARB},
+    /* [ 204] =   204 */ {__glXDisp_MultiTexCoord2ivARB, __glXDispSwap_MultiTexCoord2ivARB},
+    /* [ 205] =   205 */ {__glXDisp_MultiTexCoord2svARB, __glXDispSwap_MultiTexCoord2svARB},
+    /* [ 206] =   206 */ {__glXDisp_MultiTexCoord3dvARB, __glXDispSwap_MultiTexCoord3dvARB},
+    /* [ 207] =   207 */ {__glXDisp_MultiTexCoord3fvARB, __glXDispSwap_MultiTexCoord3fvARB},
+    /* [ 208] =   208 */ {__glXDisp_MultiTexCoord3ivARB, __glXDispSwap_MultiTexCoord3ivARB},
+    /* [ 209] =   209 */ {__glXDisp_MultiTexCoord3svARB, __glXDispSwap_MultiTexCoord3svARB},
+    /* [ 210] =   210 */ {__glXDisp_MultiTexCoord4dvARB, __glXDispSwap_MultiTexCoord4dvARB},
+    /* [ 211] =   211 */ {__glXDisp_MultiTexCoord4fvARB, __glXDispSwap_MultiTexCoord4fvARB},
+    /* [ 212] =   212 */ {__glXDisp_MultiTexCoord4ivARB, __glXDispSwap_MultiTexCoord4ivARB},
+    /* [ 213] =   213 */ {__glXDisp_MultiTexCoord4svARB, __glXDispSwap_MultiTexCoord4svARB},
+    /* [ 214] =   214 */ {__glXDisp_CompressedTexImage1DARB, __glXDispSwap_CompressedTexImage1DARB},
+    /* [ 215] =   215 */ {__glXDisp_CompressedTexImage2DARB, __glXDispSwap_CompressedTexImage2DARB},
+    /* [ 216] =   216 */ {__glXDisp_CompressedTexImage3DARB, __glXDispSwap_CompressedTexImage3DARB},
+    /* [ 217] =   217 */ {__glXDisp_CompressedTexSubImage1DARB, __glXDispSwap_CompressedTexSubImage1DARB},
+    /* [ 218] =   218 */ {__glXDisp_CompressedTexSubImage2DARB, __glXDispSwap_CompressedTexSubImage2DARB},
+    /* [ 219] =   219 */ {__glXDisp_CompressedTexSubImage3DARB, __glXDispSwap_CompressedTexSubImage3DARB},
+    /* [ 220] =   220 */ {NULL, NULL},
+    /* [ 221] =   221 */ {NULL, NULL},
+    /* [ 222] =   222 */ {NULL, NULL},
+    /* [ 223] =   223 */ {NULL, NULL},
+    /* [ 224] =   224 */ {NULL, NULL},
+    /* [ 225] =   225 */ {NULL, NULL},
+    /* [ 226] =   226 */ {NULL, NULL},
+    /* [ 227] =   227 */ {NULL, NULL},
+    /* [ 228] =   228 */ {NULL, NULL},
+    /* [ 229] =   229 */ {__glXDisp_SampleCoverageARB, __glXDispSwap_SampleCoverageARB},
+    /* [ 230] =   230 */ {__glXDisp_WindowPos3fvMESA, __glXDispSwap_WindowPos3fvMESA},
+    /* [ 231] =   231 */ {__glXDisp_BeginQueryARB, __glXDispSwap_BeginQueryARB},
+    /* [ 232] =   232 */ {__glXDisp_EndQueryARB, __glXDispSwap_EndQueryARB},
+    /* [ 233] =   233 */ {__glXDisp_DrawBuffersARB, __glXDispSwap_DrawBuffersARB},
+    /* [ 234] =   234 */ {NULL, NULL},
+    /* [ 235] =   235 */ {NULL, NULL},
+    /* [ 236] =   236 */ {NULL, NULL},
+    /* [ 237] =   237 */ {NULL, NULL},
+    /* [ 238] =   238 */ {NULL, NULL},
+    /* [ 239] =   239 */ {NULL, NULL},
+    /* [ 240] =  2048 */ {__glXDisp_SampleMaskSGIS, __glXDispSwap_SampleMaskSGIS},
+    /* [ 241] =  2049 */ {__glXDisp_SamplePatternSGIS, __glXDispSwap_SamplePatternSGIS},
+    /* [ 242] =  2050 */ {NULL, NULL},
+    /* [ 243] =  2051 */ {NULL, NULL},
+    /* [ 244] =  2052 */ {NULL, NULL},
+    /* [ 245] =  2053 */ {__glXDisp_ColorTable, __glXDispSwap_ColorTable},
+    /* [ 246] =  2054 */ {__glXDisp_ColorTableParameterfv, __glXDispSwap_ColorTableParameterfv},
+    /* [ 247] =  2055 */ {__glXDisp_ColorTableParameteriv, __glXDispSwap_ColorTableParameteriv},
+    /* [ 248] =  2056 */ {__glXDisp_CopyColorTable, __glXDispSwap_CopyColorTable},
+    /* [ 249] =  2057 */ {NULL, NULL},
+    /* [ 250] =  2058 */ {NULL, NULL},
+    /* [ 251] =  2059 */ {NULL, NULL},
+    /* [ 252] =  2060 */ {NULL, NULL},
+    /* [ 253] =  2061 */ {NULL, NULL},
+    /* [ 254] =  2062 */ {NULL, NULL},
+    /* [ 255] =  2063 */ {NULL, NULL},
+    /* [ 256] =  2064 */ {NULL, NULL},
+    /* [ 257] =  2065 */ {__glXDisp_PointParameterfEXT, __glXDispSwap_PointParameterfEXT},
+    /* [ 258] =  2066 */ {__glXDisp_PointParameterfvEXT, __glXDispSwap_PointParameterfvEXT},
+    /* [ 259] =  2067 */ {NULL, NULL},
+    /* [ 260] =  2068 */ {NULL, NULL},
+    /* [ 261] =  2069 */ {NULL, NULL},
+    /* [ 262] =  2070 */ {NULL, NULL},
+    /* [ 263] =  2071 */ {NULL, NULL},
+    /* [ 264] =  4096 */ {__glXDisp_BlendColor, __glXDispSwap_BlendColor},
+    /* [ 265] =  4097 */ {__glXDisp_BlendEquation, __glXDispSwap_BlendEquation},
+    /* [ 266] =  4098 */ {NULL, NULL},
+    /* [ 267] =  4099 */ {__glXDisp_TexSubImage1D, __glXDispSwap_TexSubImage1D},
+    /* [ 268] =  4100 */ {__glXDisp_TexSubImage2D, __glXDispSwap_TexSubImage2D},
+    /* [ 269] =  4101 */ {__glXDisp_ConvolutionFilter1D, __glXDispSwap_ConvolutionFilter1D},
+    /* [ 270] =  4102 */ {__glXDisp_ConvolutionFilter2D, __glXDispSwap_ConvolutionFilter2D},
+    /* [ 271] =  4103 */ {__glXDisp_ConvolutionParameterf, __glXDispSwap_ConvolutionParameterf},
+    /* [ 272] =  4104 */ {__glXDisp_ConvolutionParameterfv, __glXDispSwap_ConvolutionParameterfv},
+    /* [ 273] =  4105 */ {__glXDisp_ConvolutionParameteri, __glXDispSwap_ConvolutionParameteri},
+    /* [ 274] =  4106 */ {__glXDisp_ConvolutionParameteriv, __glXDispSwap_ConvolutionParameteriv},
+    /* [ 275] =  4107 */ {__glXDisp_CopyConvolutionFilter1D, __glXDispSwap_CopyConvolutionFilter1D},
+    /* [ 276] =  4108 */ {__glXDisp_CopyConvolutionFilter2D, __glXDispSwap_CopyConvolutionFilter2D},
+    /* [ 277] =  4109 */ {__glXDisp_SeparableFilter2D, __glXDispSwap_SeparableFilter2D},
+    /* [ 278] =  4110 */ {__glXDisp_Histogram, __glXDispSwap_Histogram},
+    /* [ 279] =  4111 */ {__glXDisp_Minmax, __glXDispSwap_Minmax},
+    /* [ 280] =  4112 */ {__glXDisp_ResetHistogram, __glXDispSwap_ResetHistogram},
+    /* [ 281] =  4113 */ {__glXDisp_ResetMinmax, __glXDispSwap_ResetMinmax},
+    /* [ 282] =  4114 */ {__glXDisp_TexImage3D, __glXDispSwap_TexImage3D},
+    /* [ 283] =  4115 */ {__glXDisp_TexSubImage3D, __glXDispSwap_TexSubImage3D},
+    /* [ 284] =  4116 */ {NULL, NULL},
+    /* [ 285] =  4117 */ {__glXDisp_BindTexture, __glXDispSwap_BindTexture},
+    /* [ 286] =  4118 */ {__glXDisp_PrioritizeTextures, __glXDispSwap_PrioritizeTextures},
+    /* [ 287] =  4119 */ {__glXDisp_CopyTexImage1D, __glXDispSwap_CopyTexImage1D},
+    /* [ 288] =  4120 */ {__glXDisp_CopyTexImage2D, __glXDispSwap_CopyTexImage2D},
+    /* [ 289] =  4121 */ {__glXDisp_CopyTexSubImage1D, __glXDispSwap_CopyTexSubImage1D},
+    /* [ 290] =  4122 */ {__glXDisp_CopyTexSubImage2D, __glXDispSwap_CopyTexSubImage2D},
+    /* [ 291] =  4123 */ {__glXDisp_CopyTexSubImage3D, __glXDispSwap_CopyTexSubImage3D},
+    /* [ 292] =  4124 */ {__glXDisp_FogCoordfvEXT, __glXDispSwap_FogCoordfvEXT},
+    /* [ 293] =  4125 */ {__glXDisp_FogCoorddvEXT, __glXDispSwap_FogCoorddvEXT},
+    /* [ 294] =  4126 */ {__glXDisp_SecondaryColor3bvEXT, __glXDispSwap_SecondaryColor3bvEXT},
+    /* [ 295] =  4127 */ {__glXDisp_SecondaryColor3svEXT, __glXDispSwap_SecondaryColor3svEXT},
+    /* [ 296] =  4192 */ {__glXDisp_VertexAttrib4svARB, __glXDispSwap_VertexAttrib4svARB},
+    /* [ 297] =  4193 */ {__glXDisp_VertexAttrib1fvARB, __glXDispSwap_VertexAttrib1fvARB},
+    /* [ 298] =  4194 */ {__glXDisp_VertexAttrib2fvARB, __glXDispSwap_VertexAttrib2fvARB},
+    /* [ 299] =  4195 */ {__glXDisp_VertexAttrib3fvNV, __glXDispSwap_VertexAttrib3fvNV},
+    /* [ 300] =  4196 */ {__glXDisp_VertexAttrib4fvARB, __glXDispSwap_VertexAttrib4fvARB},
+    /* [ 301] =  4197 */ {__glXDisp_VertexAttrib1dvARB, __glXDispSwap_VertexAttrib1dvARB},
+    /* [ 302] =  4198 */ {__glXDisp_VertexAttrib2dvARB, __glXDispSwap_VertexAttrib2dvARB},
+    /* [ 303] =  4199 */ {__glXDisp_VertexAttrib3dvNV, __glXDispSwap_VertexAttrib3dvNV},
+    /* [ 304] =  4200 */ {__glXDisp_VertexAttrib4dvNV, __glXDispSwap_VertexAttrib4dvNV},
+    /* [ 305] =  4201 */ {__glXDisp_VertexAttrib4NubvARB, __glXDispSwap_VertexAttrib4NubvARB},
+    /* [ 306] =  4202 */ {__glXDisp_VertexAttribs1svNV, __glXDispSwap_VertexAttribs1svNV},
+    /* [ 307] =  4203 */ {__glXDisp_VertexAttribs2svNV, __glXDispSwap_VertexAttribs2svNV},
+    /* [ 308] =  4204 */ {__glXDisp_VertexAttribs3svNV, __glXDispSwap_VertexAttribs3svNV},
+    /* [ 309] =  4205 */ {__glXDisp_VertexAttribs4svNV, __glXDispSwap_VertexAttribs4svNV},
+    /* [ 310] =  4206 */ {__glXDisp_VertexAttribs1fvNV, __glXDispSwap_VertexAttribs1fvNV},
+    /* [ 311] =  4207 */ {__glXDisp_VertexAttribs2fvNV, __glXDispSwap_VertexAttribs2fvNV},
+    /* [ 312] =  4208 */ {__glXDisp_VertexAttribs3fvNV, __glXDispSwap_VertexAttribs3fvNV},
+    /* [ 313] =  4209 */ {__glXDisp_VertexAttribs4fvNV, __glXDispSwap_VertexAttribs4fvNV},
+    /* [ 314] =  4210 */ {__glXDisp_VertexAttribs1dvNV, __glXDispSwap_VertexAttribs1dvNV},
+    /* [ 315] =  4211 */ {__glXDisp_VertexAttribs2dvNV, __glXDispSwap_VertexAttribs2dvNV},
+    /* [ 316] =  4212 */ {__glXDisp_VertexAttribs3dvNV, __glXDispSwap_VertexAttribs3dvNV},
+    /* [ 317] =  4213 */ {__glXDisp_VertexAttribs4dvNV, __glXDispSwap_VertexAttribs4dvNV},
+    /* [ 318] =  4214 */ {__glXDisp_VertexAttribs4ubvNV, __glXDispSwap_VertexAttribs4ubvNV},
+    /* [ 319] =  4215 */ {__glXDisp_ProgramLocalParameter4fvARB, __glXDispSwap_ProgramLocalParameter4fvARB},
+    /* [ 320] =  4216 */ {__glXDisp_ProgramLocalParameter4dvARB, __glXDispSwap_ProgramLocalParameter4dvARB},
+    /* [ 321] =  4217 */ {__glXDisp_ProgramStringARB, __glXDispSwap_ProgramStringARB},
+    /* [ 322] =  4218 */ {__glXDisp_ProgramNamedParameter4fvNV, __glXDispSwap_ProgramNamedParameter4fvNV},
+    /* [ 323] =  4219 */ {__glXDisp_ProgramNamedParameter4dvNV, __glXDispSwap_ProgramNamedParameter4dvNV},
+    /* [ 324] =  4220 */ {__glXDisp_ActiveStencilFaceEXT, __glXDispSwap_ActiveStencilFaceEXT},
+    /* [ 325] =  4221 */ {__glXDisp_PointParameteriNV, __glXDispSwap_PointParameteriNV},
+    /* [ 326] =  4222 */ {__glXDisp_PointParameterivNV, __glXDispSwap_PointParameterivNV},
+    /* [ 327] =  4223 */ {NULL, NULL},
+    /* [ 328] =  4128 */ {__glXDisp_SecondaryColor3ivEXT, __glXDispSwap_SecondaryColor3ivEXT},
+    /* [ 329] =  4129 */ {__glXDisp_SecondaryColor3fvEXT, __glXDispSwap_SecondaryColor3fvEXT},
+    /* [ 330] =  4130 */ {__glXDisp_SecondaryColor3dvEXT, __glXDispSwap_SecondaryColor3dvEXT},
+    /* [ 331] =  4131 */ {__glXDisp_SecondaryColor3ubvEXT, __glXDispSwap_SecondaryColor3ubvEXT},
+    /* [ 332] =  4132 */ {__glXDisp_SecondaryColor3usvEXT, __glXDispSwap_SecondaryColor3usvEXT},
+    /* [ 333] =  4133 */ {__glXDisp_SecondaryColor3uivEXT, __glXDispSwap_SecondaryColor3uivEXT},
+    /* [ 334] =  4134 */ {__glXDisp_BlendFuncSeparateEXT, __glXDispSwap_BlendFuncSeparateEXT},
+    /* [ 335] =  4135 */ {NULL, NULL},
+    /* [ 336] =  4176 */ {NULL, NULL},
+    /* [ 337] =  4177 */ {NULL, NULL},
+    /* [ 338] =  4178 */ {NULL, NULL},
+    /* [ 339] =  4179 */ {NULL, NULL},
+    /* [ 340] =  4180 */ {__glXDisp_BindProgramNV, __glXDispSwap_BindProgramNV},
+    /* [ 341] =  4181 */ {__glXDisp_ExecuteProgramNV, __glXDispSwap_ExecuteProgramNV},
+    /* [ 342] =  4182 */ {__glXDisp_RequestResidentProgramsNV, __glXDispSwap_RequestResidentProgramsNV},
+    /* [ 343] =  4183 */ {__glXDisp_LoadProgramNV, __glXDispSwap_LoadProgramNV},
+    /* [ 344] =  4184 */ {__glXDisp_ProgramParameter4fvNV, __glXDispSwap_ProgramParameter4fvNV},
+    /* [ 345] =  4185 */ {__glXDisp_ProgramParameter4dvNV, __glXDispSwap_ProgramParameter4dvNV},
+    /* [ 346] =  4186 */ {__glXDisp_ProgramParameters4fvNV, __glXDispSwap_ProgramParameters4fvNV},
+    /* [ 347] =  4187 */ {__glXDisp_ProgramParameters4dvNV, __glXDispSwap_ProgramParameters4dvNV},
+    /* [ 348] =  4188 */ {__glXDisp_TrackMatrixNV, __glXDispSwap_TrackMatrixNV},
+    /* [ 349] =  4189 */ {__glXDisp_VertexAttrib1svNV, __glXDispSwap_VertexAttrib1svNV},
+    /* [ 350] =  4190 */ {__glXDisp_VertexAttrib2svARB, __glXDispSwap_VertexAttrib2svARB},
+    /* [ 351] =  4191 */ {__glXDisp_VertexAttrib3svNV, __glXDispSwap_VertexAttrib3svNV},
+    /* [ 352] =  4224 */ {NULL, NULL},
+    /* [ 353] =  4225 */ {NULL, NULL},
+    /* [ 354] =  4226 */ {NULL, NULL},
+    /* [ 355] =  4227 */ {NULL, NULL},
+    /* [ 356] =  4228 */ {NULL, NULL},
+    /* [ 357] =  4229 */ {NULL, NULL},
+    /* [ 358] =  4230 */ {__glXDisp_VertexAttrib4bvARB, __glXDispSwap_VertexAttrib4bvARB},
+    /* [ 359] =  4231 */ {__glXDisp_VertexAttrib4ivARB, __glXDispSwap_VertexAttrib4ivARB},
+    /* [ 360] =  4232 */ {__glXDisp_VertexAttrib4ubvARB, __glXDispSwap_VertexAttrib4ubvARB},
+    /* [ 361] =  4233 */ {__glXDisp_VertexAttrib4usvARB, __glXDispSwap_VertexAttrib4usvARB},
+    /* [ 362] =  4234 */ {__glXDisp_VertexAttrib4uivARB, __glXDispSwap_VertexAttrib4uivARB},
+    /* [ 363] =  4235 */ {__glXDisp_VertexAttrib4NbvARB, __glXDispSwap_VertexAttrib4NbvARB},
+    /* [ 364] =  4236 */ {__glXDisp_VertexAttrib4NsvARB, __glXDispSwap_VertexAttrib4NsvARB},
+    /* [ 365] =  4237 */ {__glXDisp_VertexAttrib4NivARB, __glXDispSwap_VertexAttrib4NivARB},
+    /* [ 366] =  4238 */ {__glXDisp_VertexAttrib4NusvARB, __glXDispSwap_VertexAttrib4NusvARB},
+    /* [ 367] =  4239 */ {__glXDisp_VertexAttrib4NuivARB, __glXDispSwap_VertexAttrib4NuivARB},
+    /* [ 368] =  4312 */ {NULL, NULL},
+    /* [ 369] =  4313 */ {NULL, NULL},
+    /* [ 370] =  4314 */ {NULL, NULL},
+    /* [ 371] =  4315 */ {NULL, NULL},
+    /* [ 372] =  4316 */ {__glXDisp_BindRenderbufferEXT, __glXDispSwap_BindRenderbufferEXT},
+    /* [ 373] =  4317 */ {__glXDisp_DeleteRenderbuffersEXT, __glXDispSwap_DeleteRenderbuffersEXT},
+    /* [ 374] =  4318 */ {__glXDisp_RenderbufferStorageEXT, __glXDispSwap_RenderbufferStorageEXT},
+    /* [ 375] =  4319 */ {__glXDisp_BindFramebufferEXT, __glXDispSwap_BindFramebufferEXT},
+    /* [ 376] =  4320 */ {__glXDisp_DeleteFramebuffersEXT, __glXDispSwap_DeleteFramebuffersEXT},
+    /* [ 377] =  4321 */ {__glXDisp_FramebufferTexture1DEXT, __glXDispSwap_FramebufferTexture1DEXT},
+    /* [ 378] =  4322 */ {__glXDisp_FramebufferTexture2DEXT, __glXDispSwap_FramebufferTexture2DEXT},
+    /* [ 379] =  4323 */ {__glXDisp_FramebufferTexture3DEXT, __glXDispSwap_FramebufferTexture3DEXT},
+    /* [ 380] =  4324 */ {__glXDisp_FramebufferRenderbufferEXT, __glXDispSwap_FramebufferRenderbufferEXT},
+    /* [ 381] =  4325 */ {__glXDisp_GenerateMipmapEXT, __glXDispSwap_GenerateMipmapEXT},
+    /* [ 382] =  4326 */ {NULL, NULL},
+    /* [ 383] =  4327 */ {NULL, NULL},
+};
+
+static const int_fast16_t Render_size_table[384][2] = {
+    /* [  0] =     0 */ {  0, ~0},
+    /* [  1] =     1 */ {  8, ~0},
+    /* [  2] =     2 */ { 12,  0},
+    /* [  3] =     3 */ {  8, ~0},
+    /* [  4] =     4 */ {  8, ~0},
+    /* [  5] =     5 */ { 48,  1},
+    /* [  6] =     6 */ {  8, ~0},
+    /* [  7] =     7 */ { 28, ~0},
+    /* [  8] =     8 */ { 16, ~0},
+    /* [  9] =     9 */ { 16, ~0},
+    /* [ 10] =    10 */ { 12, ~0},
+    /* [ 11] =    11 */ {  8, ~0},
+    /* [ 12] =    12 */ { 16, ~0},
+    /* [ 13] =    13 */ { 12, ~0},
+    /* [ 14] =    14 */ {  8, ~0},
+    /* [ 15] =    15 */ { 36, ~0},
+    /* [ 16] =    16 */ { 20, ~0},
+    /* [ 17] =    17 */ { 20, ~0},
+    /* [ 18] =    18 */ { 12, ~0},
+    /* [ 19] =    19 */ {  8, ~0},
+    /* [ 20] =    20 */ { 20, ~0},
+    /* [ 21] =    21 */ { 12, ~0},
+    /* [ 22] =    22 */ {  8, ~0},
+    /* [ 23] =    23 */ {  4, ~0},
+    /* [ 24] =    24 */ { 12, ~0},
+    /* [ 25] =    25 */ {  8, ~0},
+    /* [ 26] =    26 */ {  8, ~0},
+    /* [ 27] =    27 */ {  8, ~0},
+    /* [ 28] =    28 */ {  8, ~0},
+    /* [ 29] =    29 */ { 28, ~0},
+    /* [ 30] =    30 */ { 16, ~0},
+    /* [ 31] =    31 */ { 16, ~0},
+    /* [ 32] =    32 */ { 12, ~0},
+    /* [ 33] =    33 */ { 20, ~0},
+    /* [ 34] =    34 */ { 12, ~0},
+    /* [ 35] =    35 */ { 12, ~0},
+    /* [ 36] =    36 */ {  8, ~0},
+    /* [ 37] =    37 */ { 28, ~0},
+    /* [ 38] =    38 */ { 16, ~0},
+    /* [ 39] =    39 */ { 16, ~0},
+    /* [ 40] =    40 */ { 12, ~0},
+    /* [ 41] =    41 */ { 36, ~0},
+    /* [ 42] =    42 */ { 20, ~0},
+    /* [ 43] =    43 */ { 20, ~0},
+    /* [ 44] =    44 */ { 12, ~0},
+    /* [ 45] =    45 */ { 36, ~0},
+    /* [ 46] =    46 */ { 20, ~0},
+    /* [ 47] =    47 */ { 20, ~0},
+    /* [ 48] =    48 */ { 12, ~0},
+    /* [ 49] =    49 */ { 12, ~0},
+    /* [ 50] =    50 */ {  8, ~0},
+    /* [ 51] =    51 */ {  8, ~0},
+    /* [ 52] =    52 */ {  8, ~0},
+    /* [ 53] =    53 */ { 20, ~0},
+    /* [ 54] =    54 */ { 12, ~0},
+    /* [ 55] =    55 */ { 12, ~0},
+    /* [ 56] =    56 */ {  8, ~0},
+    /* [ 57] =    57 */ { 28, ~0},
+    /* [ 58] =    58 */ { 16, ~0},
+    /* [ 59] =    59 */ { 16, ~0},
+    /* [ 60] =    60 */ { 12, ~0},
+    /* [ 61] =    61 */ { 36, ~0},
+    /* [ 62] =    62 */ { 20, ~0},
+    /* [ 63] =    63 */ { 20, ~0},
+    /* [ 64] =    64 */ { 12, ~0},
+    /* [ 65] =    65 */ { 20, ~0},
+    /* [ 66] =    66 */ { 12, ~0},
+    /* [ 67] =    67 */ { 12, ~0},
+    /* [ 68] =    68 */ {  8, ~0},
+    /* [ 69] =    69 */ { 28, ~0},
+    /* [ 70] =    70 */ { 16, ~0},
+    /* [ 71] =    71 */ { 16, ~0},
+    /* [ 72] =    72 */ { 12, ~0},
+    /* [ 73] =    73 */ { 36, ~0},
+    /* [ 74] =    74 */ { 20, ~0},
+    /* [ 75] =    75 */ { 20, ~0},
+    /* [ 76] =    76 */ { 12, ~0},
+    /* [ 77] =    77 */ { 40, ~0},
+    /* [ 78] =    78 */ { 12, ~0},
+    /* [ 79] =    79 */ {  8, ~0},
+    /* [ 80] =    80 */ { 12, ~0},
+    /* [ 81] =    81 */ {  8,  2},
+    /* [ 82] =    82 */ { 12, ~0},
+    /* [ 83] =    83 */ {  8,  3},
+    /* [ 84] =    84 */ {  8, ~0},
+    /* [ 85] =    85 */ { 12, ~0},
+    /* [ 86] =    86 */ { 16, ~0},
+    /* [ 87] =    87 */ { 12,  4},
+    /* [ 88] =    88 */ { 16, ~0},
+    /* [ 89] =    89 */ { 12,  5},
+    /* [ 90] =    90 */ { 12, ~0},
+    /* [ 91] =    91 */ {  8,  6},
+    /* [ 92] =    92 */ { 12, ~0},
+    /* [ 93] =    93 */ {  8,  7},
+    /* [ 94] =    94 */ { 12, ~0},
+    /* [ 95] =    95 */ {  8, ~0},
+    /* [ 96] =    96 */ { 16, ~0},
+    /* [ 97] =    97 */ { 12,  8},
+    /* [ 98] =    98 */ { 16, ~0},
+    /* [ 99] =    99 */ { 12,  9},
+    /* [100] =   100 */ {  8, ~0},
+    /* [101] =   101 */ { 12, ~0},
+    /* [102] =   102 */ { 24, 10},
+    /* [103] =   103 */ { 20, ~0},
+    /* [104] =   104 */ {  8, ~0},
+    /* [105] =   105 */ { 16, ~0},
+    /* [106] =   106 */ { 12, 11},
+    /* [107] =   107 */ { 16, ~0},
+    /* [108] =   108 */ { 12, 12},
+    /* [109] =   109 */ { 56, 13},
+    /* [110] =   110 */ { 56, 14},
+    /* [111] =   111 */ { 16, ~0},
+    /* [112] =   112 */ { 12, 15},
+    /* [113] =   113 */ { 16, ~0},
+    /* [114] =   114 */ { 12, 16},
+    /* [115] =   115 */ { 20, ~0},
+    /* [116] =   116 */ { 12, 17},
+    /* [117] =   117 */ { 16, ~0},
+    /* [118] =   118 */ { 12, 18},
+    /* [119] =   119 */ { 16, ~0},
+    /* [120] =   120 */ { 12, 19},
+    /* [121] =   121 */ {  4, ~0},
+    /* [122] =   122 */ {  8, ~0},
+    /* [123] =   123 */ {  8, ~0},
+    /* [124] =   124 */ {  4, ~0},
+    /* [125] =   125 */ {  8, ~0},
+    /* [126] =   126 */ {  8, ~0},
+    /* [127] =   127 */ {  8, ~0},
+    /* [128] =   128 */ { 20, ~0},
+    /* [129] =   129 */ {  8, ~0},
+    /* [130] =   130 */ { 20, ~0},
+    /* [131] =   131 */ {  8, ~0},
+    /* [132] =   132 */ { 12, ~0},
+    /* [133] =   133 */ {  8, ~0},
+    /* [134] =   134 */ {  8, ~0},
+    /* [135] =   135 */ {  8, ~0},
+    /* [136] =   136 */ {  8, ~0},
+    /* [137] =   137 */ { 12, ~0},
+    /* [138] =   138 */ {  8, ~0},
+    /* [139] =   139 */ {  8, ~0},
+    /* [140] =   140 */ {  0, ~0},
+    /* [141] =   141 */ {  4, ~0},
+    /* [142] =   142 */ {  8, ~0},
+    /* [143] =   143 */ { 40, 20},
+    /* [144] =   144 */ { 28, 21},
+    /* [145] =   145 */ { 64, 22},
+    /* [146] =   146 */ { 44, 23},
+    /* [147] =   147 */ { 24, ~0},
+    /* [148] =   148 */ { 16, ~0},
+    /* [149] =   149 */ { 44, ~0},
+    /* [150] =   150 */ { 28, ~0},
+    /* [151] =   151 */ { 12, ~0},
+    /* [152] =   152 */ {  8, ~0},
+    /* [153] =   153 */ { 20, ~0},
+    /* [154] =   154 */ { 12, ~0},
+    /* [155] =   155 */ { 16, ~0},
+    /* [156] =   156 */ {  8, ~0},
+    /* [157] =   157 */ { 24, ~0},
+    /* [158] =   158 */ { 12, ~0},
+    /* [159] =   159 */ { 12, ~0},
+    /* [160] =   160 */ { 12, ~0},
+    /* [161] =   161 */ {  8, ~0},
+    /* [162] =   162 */ { 16, ~0},
+    /* [163] =   163 */ { 16, ~0},
+    /* [164] =   164 */ {  8, ~0},
+    /* [165] =   165 */ { 12, ~0},
+    /* [166] =   166 */ { 12, ~0},
+    /* [167] =   167 */ { 12, ~0},
+    /* [168] =   168 */ { 12, 24},
+    /* [169] =   169 */ { 12, 25},
+    /* [170] =   170 */ { 12, 26},
+    /* [171] =   171 */ {  8, ~0},
+    /* [172] =   172 */ { 24, ~0},
+    /* [173] =   173 */ { 40, 27},
+    /* [174] =   174 */ { 20, ~0},
+    /* [175] =   175 */ { 52, ~0},
+    /* [176] =   176 */ {  4, ~0},
+    /* [177] =   177 */ { 68, ~0},
+    /* [178] =   178 */ {132, ~0},
+    /* [179] =   179 */ {  8, ~0},
+    /* [180] =   180 */ { 68, ~0},
+    /* [181] =   181 */ {132, ~0},
+    /* [182] =   182 */ { 52, ~0},
+    /* [183] =   183 */ {  4, ~0},
+    /* [184] =   184 */ {  4, ~0},
+    /* [185] =   185 */ { 36, ~0},
+    /* [186] =   186 */ { 20, ~0},
+    /* [187] =   187 */ { 28, ~0},
+    /* [188] =   188 */ { 16, ~0},
+    /* [189] =   189 */ { 28, ~0},
+    /* [190] =   190 */ { 16, ~0},
+    /* [191] =   191 */ { 20, ~0},
+    /* [192] =   192 */ { 12, ~0},
+    /* [193] =   193 */ { 16, 28},
+    /* [194] =   194 */ {  8, ~0},
+    /* [195] =   195 */ { 44, 29},
+    /* [196] =   196 */ { 24, ~0},
+    /* [197] =   197 */ {  8, ~0},
+    /* [198] =   198 */ { 16, ~0},
+    /* [199] =   199 */ { 12, ~0},
+    /* [200] =   200 */ { 12, ~0},
+    /* [201] =   201 */ { 12, ~0},
+    /* [202] =   202 */ { 24, ~0},
+    /* [203] =   203 */ { 16, ~0},
+    /* [204] =   204 */ { 16, ~0},
+    /* [205] =   205 */ { 12, ~0},
+    /* [206] =   206 */ { 32, ~0},
+    /* [207] =   207 */ { 20, ~0},
+    /* [208] =   208 */ { 20, ~0},
+    /* [209] =   209 */ { 16, ~0},
+    /* [210] =   210 */ { 40, ~0},
+    /* [211] =   211 */ { 24, ~0},
+    /* [212] =   212 */ { 24, ~0},
+    /* [213] =   213 */ { 16, ~0},
+    /* [214] =   214 */ { 28, 30},
+    /* [215] =   215 */ { 32, 31},
+    /* [216] =   216 */ { 36, 32},
+    /* [217] =   217 */ { 28, 33},
+    /* [218] =   218 */ { 36, 34},
+    /* [219] =   219 */ { 44, 35},
+    /* [220] =   220 */ {  0, ~0},
+    /* [221] =   221 */ {  0, ~0},
+    /* [222] =   222 */ {  0, ~0},
+    /* [223] =   223 */ {  0, ~0},
+    /* [224] =   224 */ {  0, ~0},
+    /* [225] =   225 */ {  0, ~0},
+    /* [226] =   226 */ {  0, ~0},
+    /* [227] =   227 */ {  0, ~0},
+    /* [228] =   228 */ {  0, ~0},
+    /* [229] =   229 */ { 12, ~0},
+    /* [230] =   230 */ { 16, ~0},
+    /* [231] =   231 */ { 12, ~0},
+    /* [232] =   232 */ {  8, ~0},
+    /* [233] =   233 */ {  8, 36},
+    /* [234] =   234 */ {  0, ~0},
+    /* [235] =   235 */ {  0, ~0},
+    /* [236] =   236 */ {  0, ~0},
+    /* [237] =   237 */ {  0, ~0},
+    /* [238] =   238 */ {  0, ~0},
+    /* [239] =   239 */ {  0, ~0},
+    /* [240] =  2048 */ { 12, ~0},
+    /* [241] =  2049 */ {  8, ~0},
+    /* [242] =  2050 */ {  0, ~0},
+    /* [243] =  2051 */ {  0, ~0},
+    /* [244] =  2052 */ {  0, ~0},
+    /* [245] =  2053 */ { 44, 37},
+    /* [246] =  2054 */ { 12, 38},
+    /* [247] =  2055 */ { 12, 39},
+    /* [248] =  2056 */ { 24, ~0},
+    /* [249] =  2057 */ {  0, ~0},
+    /* [250] =  2058 */ {  0, ~0},
+    /* [251] =  2059 */ {  0, ~0},
+    /* [252] =  2060 */ {  0, ~0},
+    /* [253] =  2061 */ {  0, ~0},
+    /* [254] =  2062 */ {  0, ~0},
+    /* [255] =  2063 */ {  0, ~0},
+    /* [256] =  2064 */ {  0, ~0},
+    /* [257] =  2065 */ { 12, ~0},
+    /* [258] =  2066 */ {  8, 40},
+    /* [259] =  2067 */ {  0, ~0},
+    /* [260] =  2068 */ {  0, ~0},
+    /* [261] =  2069 */ {  0, ~0},
+    /* [262] =  2070 */ {  0, ~0},
+    /* [263] =  2071 */ {  0, ~0},
+    /* [264] =  4096 */ { 20, ~0},
+    /* [265] =  4097 */ {  8, ~0},
+    /* [266] =  4098 */ {  0, ~0},
+    /* [267] =  4099 */ { 60, 41},
+    /* [268] =  4100 */ { 60, 42},
+    /* [269] =  4101 */ { 48, 43},
+    /* [270] =  4102 */ { 48, 44},
+    /* [271] =  4103 */ { 16, ~0},
+    /* [272] =  4104 */ { 12, 45},
+    /* [273] =  4105 */ { 16, ~0},
+    /* [274] =  4106 */ { 12, 46},
+    /* [275] =  4107 */ { 24, ~0},
+    /* [276] =  4108 */ { 28, ~0},
+    /* [277] =  4109 */ { 32, 47},
+    /* [278] =  4110 */ { 20, ~0},
+    /* [279] =  4111 */ { 16, ~0},
+    /* [280] =  4112 */ {  8, ~0},
+    /* [281] =  4113 */ {  8, ~0},
+    /* [282] =  4114 */ { 84, 48},
+    /* [283] =  4115 */ { 92, 49},
+    /* [284] =  4116 */ {  0, ~0},
+    /* [285] =  4117 */ { 12, ~0},
+    /* [286] =  4118 */ {  8, 50},
+    /* [287] =  4119 */ { 32, ~0},
+    /* [288] =  4120 */ { 36, ~0},
+    /* [289] =  4121 */ { 28, ~0},
+    /* [290] =  4122 */ { 36, ~0},
+    /* [291] =  4123 */ { 40, ~0},
+    /* [292] =  4124 */ {  8, ~0},
+    /* [293] =  4125 */ { 12, ~0},
+    /* [294] =  4126 */ {  8, ~0},
+    /* [295] =  4127 */ { 12, ~0},
+    /* [296] =  4192 */ { 16, ~0},
+    /* [297] =  4193 */ { 12, ~0},
+    /* [298] =  4194 */ { 16, ~0},
+    /* [299] =  4195 */ { 20, ~0},
+    /* [300] =  4196 */ { 24, ~0},
+    /* [301] =  4197 */ { 16, ~0},
+    /* [302] =  4198 */ { 24, ~0},
+    /* [303] =  4199 */ { 32, ~0},
+    /* [304] =  4200 */ { 40, ~0},
+    /* [305] =  4201 */ { 12, ~0},
+    /* [306] =  4202 */ { 12, 51},
+    /* [307] =  4203 */ { 12, 52},
+    /* [308] =  4204 */ { 12, 53},
+    /* [309] =  4205 */ { 12, 54},
+    /* [310] =  4206 */ { 12, 55},
+    /* [311] =  4207 */ { 12, 56},
+    /* [312] =  4208 */ { 12, 57},
+    /* [313] =  4209 */ { 12, 58},
+    /* [314] =  4210 */ { 12, 59},
+    /* [315] =  4211 */ { 12, 60},
+    /* [316] =  4212 */ { 12, 61},
+    /* [317] =  4213 */ { 12, 62},
+    /* [318] =  4214 */ { 12, 63},
+    /* [319] =  4215 */ { 28, ~0},
+    /* [320] =  4216 */ { 44, ~0},
+    /* [321] =  4217 */ { 16, 64},
+    /* [322] =  4218 */ { 28, 65},
+    /* [323] =  4219 */ { 44, 66},
+    /* [324] =  4220 */ {  8, ~0},
+    /* [325] =  4221 */ { 12, ~0},
+    /* [326] =  4222 */ {  8, 67},
+    /* [327] =  4223 */ {  0, ~0},
+    /* [328] =  4128 */ { 16, ~0},
+    /* [329] =  4129 */ { 16, ~0},
+    /* [330] =  4130 */ { 28, ~0},
+    /* [331] =  4131 */ {  8, ~0},
+    /* [332] =  4132 */ { 12, ~0},
+    /* [333] =  4133 */ { 16, ~0},
+    /* [334] =  4134 */ { 20, ~0},
+    /* [335] =  4135 */ {  0, ~0},
+    /* [336] =  4176 */ {  0, ~0},
+    /* [337] =  4177 */ {  0, ~0},
+    /* [338] =  4178 */ {  0, ~0},
+    /* [339] =  4179 */ {  0, ~0},
+    /* [340] =  4180 */ { 12, ~0},
+    /* [341] =  4181 */ { 28, ~0},
+    /* [342] =  4182 */ {  8, 68},
+    /* [343] =  4183 */ { 16, 69},
+    /* [344] =  4184 */ { 28, ~0},
+    /* [345] =  4185 */ { 44, ~0},
+    /* [346] =  4186 */ { 16, 70},
+    /* [347] =  4187 */ { 16, 71},
+    /* [348] =  4188 */ { 20, ~0},
+    /* [349] =  4189 */ { 12, ~0},
+    /* [350] =  4190 */ { 12, ~0},
+    /* [351] =  4191 */ { 16, ~0},
+    /* [352] =  4224 */ {  0, ~0},
+    /* [353] =  4225 */ {  0, ~0},
+    /* [354] =  4226 */ {  0, ~0},
+    /* [355] =  4227 */ {  0, ~0},
+    /* [356] =  4228 */ {  0, ~0},
+    /* [357] =  4229 */ {  0, ~0},
+    /* [358] =  4230 */ { 12, ~0},
+    /* [359] =  4231 */ { 24, ~0},
+    /* [360] =  4232 */ { 12, ~0},
+    /* [361] =  4233 */ { 16, ~0},
+    /* [362] =  4234 */ { 24, ~0},
+    /* [363] =  4235 */ { 12, ~0},
+    /* [364] =  4236 */ { 16, ~0},
+    /* [365] =  4237 */ { 24, ~0},
+    /* [366] =  4238 */ { 16, ~0},
+    /* [367] =  4239 */ { 24, ~0},
+    /* [368] =  4312 */ {  0, ~0},
+    /* [369] =  4313 */ {  0, ~0},
+    /* [370] =  4314 */ {  0, ~0},
+    /* [371] =  4315 */ {  0, ~0},
+    /* [372] =  4316 */ { 12, ~0},
+    /* [373] =  4317 */ {  8, 72},
+    /* [374] =  4318 */ { 20, ~0},
+    /* [375] =  4319 */ { 12, ~0},
+    /* [376] =  4320 */ {  8, 73},
+    /* [377] =  4321 */ { 24, ~0},
+    /* [378] =  4322 */ { 24, ~0},
+    /* [379] =  4323 */ { 28, ~0},
+    /* [380] =  4324 */ { 20, ~0},
+    /* [381] =  4325 */ {  8, ~0},
+    /* [382] =  4326 */ {  0, ~0},
+    /* [383] =  4327 */ {  0, ~0},
+};
+
+static const gl_proto_size_func Render_size_func_table[74] = {
+   __glXCallListsReqSize,
+   __glXBitmapReqSize,
+   __glXFogfvReqSize,
+   __glXFogivReqSize,
+   __glXLightfvReqSize,
+   __glXLightivReqSize,
+   __glXLightModelfvReqSize,
+   __glXLightModelivReqSize,
+   __glXMaterialfvReqSize,
+   __glXMaterialivReqSize,
+   __glXPolygonStippleReqSize,
+   __glXTexParameterfvReqSize,
+   __glXTexParameterivReqSize,
+   __glXTexImage1DReqSize,
+   __glXTexImage2DReqSize,
+   __glXTexEnvfvReqSize,
+   __glXTexEnvivReqSize,
+   __glXTexGendvReqSize,
+   __glXTexGenfvReqSize,
+   __glXTexGenivReqSize,
+   __glXMap1dReqSize,
+   __glXMap1fReqSize,
+   __glXMap2dReqSize,
+   __glXMap2fReqSize,
+   __glXPixelMapfvReqSize,
+   __glXPixelMapuivReqSize,
+   __glXPixelMapusvReqSize,
+   __glXDrawPixelsReqSize,
+   __glXDrawArraysReqSize,
+   __glXColorSubTableReqSize,
+   __glXCompressedTexImage1DARBReqSize,
+   __glXCompressedTexImage2DARBReqSize,
+   __glXCompressedTexImage3DARBReqSize,
+   __glXCompressedTexSubImage1DARBReqSize,
+   __glXCompressedTexSubImage2DARBReqSize,
+   __glXCompressedTexSubImage3DARBReqSize,
+   __glXDrawBuffersARBReqSize,
+   __glXColorTableReqSize,
+   __glXColorTableParameterfvReqSize,
+   __glXColorTableParameterivReqSize,
+   __glXPointParameterfvEXTReqSize,
+   __glXTexSubImage1DReqSize,
+   __glXTexSubImage2DReqSize,
+   __glXConvolutionFilter1DReqSize,
+   __glXConvolutionFilter2DReqSize,
+   __glXConvolutionParameterfvReqSize,
+   __glXConvolutionParameterivReqSize,
+   __glXSeparableFilter2DReqSize,
+   __glXTexImage3DReqSize,
+   __glXTexSubImage3DReqSize,
+   __glXPrioritizeTexturesReqSize,
+   __glXVertexAttribs1svNVReqSize,
+   __glXVertexAttribs2svNVReqSize,
+   __glXVertexAttribs3svNVReqSize,
+   __glXVertexAttribs4svNVReqSize,
+   __glXVertexAttribs1fvNVReqSize,
+   __glXVertexAttribs2fvNVReqSize,
+   __glXVertexAttribs3fvNVReqSize,
+   __glXVertexAttribs4fvNVReqSize,
+   __glXVertexAttribs1dvNVReqSize,
+   __glXVertexAttribs2dvNVReqSize,
+   __glXVertexAttribs3dvNVReqSize,
+   __glXVertexAttribs4dvNVReqSize,
+   __glXVertexAttribs4ubvNVReqSize,
+   __glXProgramStringARBReqSize,
+   __glXProgramNamedParameter4fvNVReqSize,
+   __glXProgramNamedParameter4dvNVReqSize,
+   __glXPointParameterivNVReqSize,
+   __glXRequestResidentProgramsNVReqSize,
+   __glXLoadProgramNVReqSize,
+   __glXProgramParameters4fvNVReqSize,
+   __glXProgramParameters4dvNVReqSize,
+   __glXDeleteRenderbuffersEXTReqSize,
+   __glXDeleteFramebuffersEXTReqSize,
+};
+
+const struct __glXDispatchInfo Render_dispatch_info = {
+    13,
+    Render_dispatch_tree,
+    Render_function_table,
+    Render_size_table,
+    Render_size_func_table
+};
+
+/*****************************************************************/
 /* tree depth = 13 */
 static const int_fast16_t VendorPriv_dispatch_tree[138] = {
     /* [0] -> opcode range [0, 131072], node depth 1 */
@@ -424,7 +1432,7 @@ static const int_fast16_t VendorPriv_dis
 
 };
 
-static const __GLXdispatchVendorPrivProcPtr VendorPriv_function_table[72][2] = {
+static const void *VendorPriv_function_table[72][2] = {
     /* [  0] =     8 */ {NULL, NULL},
     /* [  1] =     9 */ {NULL, NULL},
     /* [  2] =    10 */ {NULL, NULL},
diff --git a/GL/glx/indirect_util.c b/GL/glx/indirect_util.c
index 3964cd5..93f1484 100644
--- a/GL/glx/indirect_util.c
+++ b/GL/glx/indirect_util.c
@@ -289,7 +289,7 @@ __glXGetProtocolDecodeFunction(const str
 
     return (func_index < 0) 
 	? NULL 
-	: dispatch_info->dispatch_functions[func_index][swapped_version];
+	: (void *) dispatch_info->dispatch_functions[func_index][swapped_version];
 }
 
 
@@ -300,13 +300,14 @@ __glXGetProtocolSizeData(const struct __
     if (dispatch_info->size_table != NULL) {
 	const int func_index = get_decode_index(dispatch_info, opcode);
 
-	if (func_index >= 0) {
+	if ((func_index >= 0) 
+	    && (dispatch_info->size_table[func_index][0] != 0)) {
 	    const int var_offset = 
 		dispatch_info->size_table[func_index][1];
 
 	    data->bytes = dispatch_info->size_table[func_index][0];
 	    data->varsize = (var_offset != ~0)
-		? dispatch_info->size_table[func_index]
+		? dispatch_info->size_func_table[var_offset]
 		: NULL;
 
 	    return 0;
diff --git a/GL/glx/rensizetab.c b/GL/glx/rensizetab.c
deleted file mode 100644
index 22dfc49..0000000
--- a/GL/glx/rensizetab.c
+++ /dev/null
@@ -1,2552 +0,0 @@
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-** 
-** http://oss.sgi.com/projects/FreeB
-** 
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-** 
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-** 
-** Additional Notice Provisions: The application programming interfaces
-** established by SGI in conjunction with the Original Code are The
-** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
-** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
-** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
-** Window System(R) (Version 1.3), released October 19, 1998. This software
-** was created using the OpenGL(R) version 1.2.1 Sample Implementation
-** published by SGI, but has not been independently verified as being
-** compliant with the OpenGL(R) version 1.2.1 Specification.
-**
-*/
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include "glxserver.h"
-#include "indirect_reqsize.h"
-#include "g_disptab_EXT.h"
-
-__GLXrenderSizeData __glXRenderSizeTable[__GLX_MAX_RENDER_OPCODE_EXT - __GLX_MIN_RENDER_OPCODE_EXT + 1] = {
-	/* no such opcode      */       {   0,  0                         },
-	/* CallList            */	{   8, 	0                         },
-	/* CallLists           */	{  12, 	__glXCallListsReqSize     },
-	/* ListBase            */	{   8, 	0                         },
-	/* Begin               */	{   8, 	0                         },
-	/* Bitmap              */	{  48, 	__glXBitmapReqSize        },
-	/* Color3bv            */	{   8, 	0                         },
-	/* Color3dv            */	{  28, 	0                         },
-	/* Color3fv            */	{  16, 	0                         },
-	/* Color3iv            */	{  16, 	0                         },
-	/* Color3sv            */	{  12, 	0                         },
-	/* Color3ubv           */	{   8, 	0                         },
-	/* Color3uiv           */	{  16, 	0                         },
-	/* Color3usv           */	{  12, 	0                         },
-	/* Color4bv            */	{   8, 	0                         },
-	/* Color4dv            */	{  36, 	0                         },
-	/* Color4fv            */	{  20, 	0                         },
-	/* Color4iv            */	{  20, 	0                         },
-	/* Color4sv            */	{  12, 	0                         },
-	/* Color4ubv           */	{   8, 	0                         },
-	/* Color4uiv           */	{  20, 	0                         },
-	/* Color4usv           */	{  12, 	0                         },
-	/* EdgeFlagv           */	{   8, 	0                         },
-	/* End                 */	{   4, 	0                         },
-	/* Indexdv             */	{  12, 	0                         },
-	/* Indexfv             */	{   8, 	0                         },
-	/* Indexiv             */	{   8, 	0                         },
-	/* Indexsv             */	{   8, 	0                         },
-	/* Normal3bv           */	{   8, 	0                         },
-	/* Normal3dv           */	{  28, 	0                         },
-	/* Normal3fv           */	{  16, 	0                         },
-	/* Normal3iv           */	{  16, 	0                         },
-	/* Normal3sv           */	{  12, 	0                         },
-	/* RasterPos2dv        */	{  20, 	0                         },
-	/* RasterPos2fv        */	{  12, 	0                         },
-	/* RasterPos2iv        */	{  12, 	0                         },
-	/* RasterPos2sv        */	{   8, 	0                         },
-	/* RasterPos3dv        */	{  28, 	0                         },
-	/* RasterPos3fv        */	{  16, 	0                         },
-	/* RasterPos3iv        */	{  16, 	0                         },
-	/* RasterPos3sv        */	{  12, 	0                         },
-	/* RasterPos4dv        */	{  36, 	0                         },
-	/* RasterPos4fv        */	{  20, 	0                         },
-	/* RasterPos4iv        */	{  20, 	0                         },
-	/* RasterPos4sv        */	{  12, 	0                         },
-	/* Rectdv              */	{  36, 	0                         },
-	/* Rectfv              */	{  20, 	0                         },
-	/* Rectiv              */	{  20, 	0                         },
-	/* Rectsv              */	{  12, 	0                         },
-	/* TexCoord1dv         */	{  12, 	0                         },
-	/* TexCoord1fv         */	{   8, 	0                         },
-	/* TexCoord1iv         */	{   8, 	0                         },
-	/* TexCoord1sv         */	{   8, 	0                         },
-	/* TexCoord2dv         */	{  20, 	0                         },
-	/* TexCoord2fv         */	{  12, 	0                         },
-	/* TexCoord2iv         */	{  12, 	0                         },
-	/* TexCoord2sv         */	{   8, 	0                         },
-	/* TexCoord3dv         */	{  28, 	0                         },
-	/* TexCoord3fv         */	{  16, 	0                         },
-	/* TexCoord3iv         */	{  16, 	0                         },
-	/* TexCoord3sv         */	{  12, 	0                         },
-	/* TexCoord4dv         */	{  36, 	0                         },
-	/* TexCoord4fv         */	{  20, 	0                         },
-	/* TexCoord4iv         */	{  20, 	0                         },
-	/* TexCoord4sv         */	{  12, 	0                         },
-	/* Vertex2dv           */	{  20, 	0                         },
-	/* Vertex2fv           */	{  12, 	0                         },
-	/* Vertex2iv           */	{  12, 	0                         },
-	/* Vertex2sv           */	{   8, 	0                         },
-	/* Vertex3dv           */	{  28, 	0                         },
-	/* Vertex3fv           */	{  16, 	0                         },
-	/* Vertex3iv           */	{  16, 	0                         },
-	/* Vertex3sv           */	{  12, 	0                         },
-	/* Vertex4dv           */	{  36, 	0                         },
-	/* Vertex4fv           */	{  20, 	0                         },
-	/* Vertex4iv           */	{  20, 	0                         },
-	/* Vertex4sv           */	{  12, 	0                         },
-	/* ClipPlane           */	{  40, 	0                         },
-	/* ColorMaterial       */	{  12, 	0                         },
-	/* CullFace            */	{   8, 	0                         },
-	/* Fogf                */	{  12, 	0                         },
-	/* Fogfv               */	{   8, 	__glXFogfvReqSize         },
-	/* Fogi                */	{  12, 	0                         },
-	/* Fogiv               */	{   8, 	__glXFogivReqSize         },
-	/* FrontFace           */	{   8, 	0                         },
-	/* Hint                */	{  12, 	0                         },
-	/* Lightf              */	{  16, 	0                         },
-	/* Lightfv             */	{  12, 	__glXLightfvReqSize       },
-	/* Lighti              */	{  16, 	0                         },
-	/* Lightiv             */	{  12, 	__glXLightivReqSize       },
-	/* LightModelf         */	{  12, 	0                         },
-	/* LightModelfv        */	{   8, 	__glXLightModelfvReqSize  },
-	/* LightModeli         */	{  12, 	0                         },
-	/* LightModeliv        */	{   8, 	__glXLightModelivReqSize  },
-	/* LineStipple         */	{  12, 	0                         },
-	/* LineWidth           */	{   8, 	0                         },
-	/* Materialf           */	{  16, 	0                         },
-	/* Materialfv          */	{  12, 	__glXMaterialfvReqSize    },
-	/* Materiali           */	{  16, 	0                         },
-	/* Materialiv          */	{  12, 	__glXMaterialivReqSize    },
-	/* PointSize           */	{   8, 	0                         },
-	/* PolygonMode         */	{  12, 	0                         },
-	/* PolygonStipple      */	{ 152, 	0                         },
-	/* Scissor             */	{  20, 	0                         },
-	/* ShadeModel          */	{   8, 	0                         },
-	/* TexParameterf       */	{  16, 	0                         },
-	/* TexParameterfv      */	{  12, 	__glXTexParameterfvReqSize },
-	/* TexParameteri       */	{  16, 	0                         },
-	/* TexParameteriv      */	{  12, 	__glXTexParameterivReqSize },
-	/* TexImage1D          */	{  56, 	__glXTexImage1DReqSize    },
-	/* TexImage2D          */	{  56, 	__glXTexImage2DReqSize    },
-	/* TexEnvf             */	{  16, 	0                         },
-	/* TexEnvfv            */	{  12, 	__glXTexEnvfvReqSize      },
-	/* TexEnvi             */	{  16, 	0                         },
-	/* TexEnviv            */	{  12, 	__glXTexEnvivReqSize      },
-	/* TexGend             */	{  20, 	0                         },
-	/* TexGendv            */	{  12, 	__glXTexGendvReqSize      },
-	/* TexGenf             */	{  16, 	0                         },
-	/* TexGenfv            */	{  12, 	__glXTexGenfvReqSize      },
-	/* TexGeni             */	{  16, 	0                         },
-	/* TexGeniv            */	{  12, 	__glXTexGenivReqSize      },
-	/* InitNames           */	{   4, 	0                         },
-	/* LoadName            */	{   8, 	0                         },
-	/* PassThrough         */	{   8, 	0                         },
-	/* PopName             */	{   4, 	0                         },
-	/* PushName            */	{   8, 	0                         },
-	/* DrawBuffer          */	{   8, 	0                         },
-	/* Clear               */	{   8, 	0                         },
-	/* ClearAccum          */	{  20, 	0                         },
-	/* ClearIndex          */	{   8, 	0                         },
-	/* ClearColor          */	{  20, 	0                         },
-	/* ClearStencil        */	{   8, 	0                         },
-	/* ClearDepth          */	{  12, 	0                         },
-	/* StencilMask         */	{   8, 	0                         },
-	/* ColorMask           */	{   8, 	0                         },
-	/* DepthMask           */	{   8, 	0                         },
-	/* IndexMask           */	{   8, 	0                         },
-	/* Accum               */	{  12, 	0                         },
-	/* Disable             */	{   8, 	0                         },
-	/* Enable              */	{   8, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* PopAttrib           */	{   4, 	0                         },
-	/* PushAttrib          */	{   8, 	0                         },
-	/* Map1d               */	{  28, 	__glXMap1dReqSize         },
-	/* Map1f               */	{  20, 	__glXMap1fReqSize         },
-	/* Map2d               */	{  48, 	__glXMap2dReqSize         },
-	/* Map2f               */	{  32, 	__glXMap2fReqSize         },
-	/* MapGrid1d           */	{  24, 	0                         },
-	/* MapGrid1f           */	{  16, 	0                         },
-	/* MapGrid2d           */	{  44, 	0                         },
-	/* MapGrid2f           */	{  28, 	0                         },
-	/* EvalCoord1dv        */	{  12, 	0                         },
-	/* EvalCoord1fv        */	{   8, 	0                         },
-	/* EvalCoord2dv        */	{  20, 	0                         },
-	/* EvalCoord2fv        */	{  12, 	0                         },
-	/* EvalMesh1           */	{  16, 	0                         },
-	/* EvalPoint1          */	{   8, 	0                         },
-	/* EvalMesh2           */	{  24, 	0                         },
-	/* EvalPoint2          */	{  12, 	0                         },
-	/* AlphaFunc           */	{  12, 	0                         },
-	/* BlendFunc           */	{  12, 	0                         },
-	/* LogicOp             */	{   8, 	0                         },
-	/* StencilFunc         */	{  16, 	0                         },
-	/* StencilOp           */	{  16, 	0                         },
-	/* DepthFunc           */	{   8, 	0                         },
-	/* PixelZoom           */	{  12, 	0                         },
-	/* PixelTransferf      */	{  12, 	0                         },
-	/* PixelTransferi      */	{  12, 	0                         },
-	/* PixelMapfv          */	{  12, 	__glXPixelMapfvReqSize    },
-	/* PixelMapuiv         */	{  12, 	__glXPixelMapuivReqSize   },
-	/* PixelMapusv         */	{  12, 	__glXPixelMapusvReqSize   },
-	/* ReadBuffer          */	{   8, 	0                         },
-	/* CopyPixels          */	{  24, 	0                         },
-	/* DrawPixels          */	{  40, 	__glXDrawPixelsReqSize    },
-	/* DepthRange          */	{  20, 	0                         },
-	/* Frustum             */	{  52, 	0                         },
-	/* LoadIdentity        */	{   4, 	0                         },
-	/* LoadMatrixf         */	{  68, 	0                         },
-	/* LoadMatrixd         */	{ 132, 	0                         },
-	/* MatrixMode          */	{   8, 	0                         },
-	/* MultMatrixf         */	{  68, 	0                         },
-	/* MultMatrixd         */	{ 132, 	0                         },
-	/* Ortho               */	{  52, 	0                         },
-	/* PopMatrix           */	{   4, 	0                         },
-	/* PushMatrix          */	{   4, 	0                         },
-	/* Rotated             */	{  36, 	0                         },
-	/* Rotatef             */	{  20, 	0                         },
-	/* Scaled              */	{  28, 	0                         },
-	/* Scalef              */	{  16, 	0                         },
-	/* Translated          */	{  28, 	0                         },
-	/* Translatef          */	{  16, 	0                         },
-	/* Viewport            */	{  20, 	0                         },
-	/* PolygonOffset       */	{  12, 	0                         },
-	/* DrawArrays          */	{  16, 	__glXDrawArraysReqSize    },
-	/* Indexubv            */	{  8, 	0                         },
-	/* ColorSubTable       */       {  44,  __glXColorSubTableReqSize },
-	/* CopyColorSubTable   */       {  24,  0                         },
-	/* ActiveTextureARB    */       {  8,   0                         },
-	/* MultiTexCoord1dvARB */       {  16,  0                         },
-	/* MultiTexCoord1fvARB */       {  12,  0                         },
-	/* MultiTexCoord1ivARB */       {  12,  0                         },
-	/* MultiTexCoord1svARB */       {  12,  0                         },
-	/* MultiTexCoord2dvARB */       {  24,  0                         },
-	/* MultiTexCoord2fvARB */       {  16,  0                         },
-	/* MultiTexCoord2ivARB */       {  16,  0                         },
-	/* MultiTexCoord2svARB */       {  12,  0                         },
-	/* MultiTexCoord3dvARB */       {  32,  0                         },
-	/* MultiTexCoord3fvARB */       {  20,  0                         },
-	/* MultiTexCoord3ivARB */       {  20,  0                         },
-	/* MultiTexCoord3svARB */       {  16,  0                         },
-	/* MultiTexCoord4dvARB */       {  40,  0                         },
-	/* MultiTexCoord4fvARB */       {  24,  0                         },
-	/* MultiTexCoord4ivARB */       {  24,  0                         },
-	/* MultiTexCoord4svARB   213 */ {  16,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode        220 */ {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* WindowPos3fvMESA      230 */ {  16,  0                         },
-};
-__GLXrenderSizeData __glXRenderSizeTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT - __GLX_MIN_RENDER_OPCODE_EXT + 1] = {
-	/* ColorTable          2053 */  {  44,  __glXColorTableReqSize    },
-	/* ColorTableParameterfv */     {  12,  __glXColorTableParameterfvReqSize         },
-	/* ColorTableParameteriv */     {  12,  __glXColorTableParameterivReqSize         },
-	/* CopyColorTable      */       {  24,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* PointParameterfEXT   2065 */ {  12,  0                         },
-	/* PointParameterfvEXT  2066 */ {   8,  __glXPointParameterfvEXTReqSize },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */       {   0,  0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* BlendColor          */       {  20,  0                         },
-	/* BlendEquation       */       {   8,  0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* TexSubImage1D       */       {  60,  __glXTexSubImage1DReqSize },
-	/* TexSubImage2D       */       {  60,  __glXTexSubImage2DReqSize },
-	/* ConvolutionFilter1D */       {  48,  __glXConvolutionFilter1DReqSize },
-	/* ConvolutionFilter2D     */   {  48,  __glXConvolutionFilter2DReqSize },
-	/* ConvolutionParameterf   */   {  16,  0                         },
-	/* ConvolutionParameterfv  */   {  12,  __glXConvolutionParameterfvReqSize },
-	/* ConvolutionParameteri   */   {  16,  0                         },
-	/* ConvolutionParameteriv  */   {  12,  __glXConvolutionParameterivReqSize },
-	/* CopyConvolutionFilter1D */   {  24,                            },
-	/* CopyConvolutionFilter2D */   {  28,                            },
-	/* SeparableFilter2D   */       {  48,  __glXSeparableFilter2DReqSize },
-	/* Histogram           */       {  20,                            },
-	/* Minmax              */       {  16,                            },
-	/* ResetHistogram      */       {  8,                             },
-	/* ResetMinmax         */       {  8,                             },
-	/* TexImage3D          */       {  84,  __glXTexImage3DReqSize    },
-	/* TexSubImage3D       */       {  92,  __glXTexSubImage3DReqSize },
-	/* DrawArrays          */	{  16, 	__glXDrawArraysReqSize    },
-	/* BindTexture         */	{  12, 	0                         },
-	/* PrioritizeTextures  */	{   8, 	__glXPrioritizeTexturesReqSize },
-	/* CopyTexImage1D      */	{  32, 	0 },
-	/* CopyTexImage2D      */	{  36, 	0 },
-	/* CopyTexSubImage1D   */	{  28, 	0 },
-	/* CopyTexSubImage2D   */	{  36, 	0 },
-	/* CopyTexSubImage3D    4123 */ {  40,  0 },
-	/* FogCoordfv           4124 */	{   8, 	0 },
-	/* FogCoorddv           4125 */	{  12, 	0 },
-	/* SecondaryColor3bv    4126 */	{   8, 	0 },
-	/* SecondaryColor3sv    4127 */	{  12, 	0 },
-	/* SecondaryColor3iv    4128 */	{  16, 	0 },
-	/* SecondaryColor3fv    4129 */	{  16, 	0 },
-	/* SecondaryColor3dv    4130 */	{  28, 	0 },
-	/* SecondaryColor3ubv   4131 */	{   8, 	0 },
-	/* SecondaryColor3usv   4132 */	{  12, 	0 },
-	/* SecondaryColor3uiv   4133 */	{  16, 	0 },
-	/* BlendFuncSeparate    4134 */	{  20, 	0 },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* ActiveStencilFaceEXT 4220 */ {   8,  0 },
-	/* PointParameteriNV    4221 */	{  12, 	0 },
-	/* PointParameterivNV   4222 */	{   8, 	__glXPointParameterivNVReqSize },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-	/* no such opcode      */	{   0, 	0                         },
-
-	/* BindRenderbufferEXT */	{  12, 	0                         },
-	/* DeleteRenderbuffersEXT */	{   8, 	__glXDeleteRenderbuffersEXTReqSize },
-	/* RenderbufferStorageEXT */	{  20, 	0                         },
-	/* BindFramebufferEXT */	{  12, 	0                         },
-	/* DeleteFramebuffersEXT */	{   8, 	__glXDeleteFramebuffersEXTReqSize },
-	/* FramebufferTexture1DEXT */	{  24, 	0                         },
-	/* FramebufferTexture2DEXT */	{  24, 	0                         },
-	/* FramebufferTexture3DEXT */	{  28, 	0                         },
-	/* FramebufferRenderbufferTexture3DEXT */ { 20, 0                 },
-	/* GenerateMipmapEXT */		{  8, 	0                         }
-};
diff-tree 7ae82b5fc8721be78b43a322bbf2c46aac08b8cf (from 39a620d17809dc71fb5ad61a955fe3c442f90a05)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Wed Aug 23 16:00:48 2006 -0700

    Fix __glXDispatchInfo::dispatch_functions and
    __glXDispatchInfo::size_table.  dispatch_functions had the const in
    the wrong place, and size_table was declared as an array of two
    pointers to int_fast16_t instead of a pointer to an array of 2
    int_fast16_t.  cdecl to the rescue!

diff --git a/GL/glx/indirect_table.h b/GL/glx/indirect_table.h
index a2562a0..4af1ccb 100644
--- a/GL/glx/indirect_table.h
+++ b/GL/glx/indirect_table.h
@@ -53,7 +53,7 @@ struct __glXDispatchInfo {
      * is the non-byte-swapped version, and the second element is the
      * byte-swapped version.
      */
-    void * const (*dispatch_functions)[2];
+    const void *(*dispatch_functions)[2];
 
     /**
      * Pointer to size validation data.  This table is indexed with the same
@@ -70,7 +70,7 @@ struct __glXDispatchInfo {
      * If size checking is not to be performed on this type of protocol
      * data, this pointer will be \c NULL.
      */
-    const int_fast16_t * size_table[2];
+    const int_fast16_t (*size_table)[2];
 
     /**
      * Array of functions used to calculate the variable-size portion of
@@ -81,7 +81,7 @@ struct __glXDispatchInfo {
      * If size checking is not to be performed on this type of protocol
      * data, this pointer will be \c NULL.
      */
-    const gl_proto_size_func * size_func_table;
+    const gl_proto_size_func *size_func_table;
 };
 
 /**
diff-tree 39a620d17809dc71fb5ad61a955fe3c442f90a05 (from 86406455f0e5fc977431948611e9bb5fda1e1d46)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Wed Aug 23 14:24:34 2006 -0700

    Rename __glXDrawArraysSize to __glXDrawArraysReqSize.  This makes its
    name match the pattern of all the other functions in
    __glXRenderSizeTable.

diff --git a/GL/glx/glxserver.h b/GL/glx/glxserver.h
index ce91ce3..387489a 100644
--- a/GL/glx/glxserver.h
+++ b/GL/glx/glxserver.h
@@ -254,6 +254,6 @@ extern int __glXImageSize(GLenum format,
     GLint imageHeight, GLint rowLength, GLint skipImages, GLint skipRows,
     GLint alignment);
 
-extern int __glXDrawArraysSize(const GLbyte *pc, Bool swap);
+extern int __glXDrawArraysReqSize(const GLbyte *pc, Bool swap);
 
 #endif /* !__GLX_server_h__ */
diff --git a/GL/glx/rensize.c b/GL/glx/rensize.c
index 47d6989..c69619a 100644
--- a/GL/glx/rensize.c
+++ b/GL/glx/rensize.c
@@ -323,7 +323,7 @@ int __glXTypeSize(GLenum enm)
   }
 }
 
-int __glXDrawArraysSize( const GLbyte *pc, Bool swap )
+int __glXDrawArraysReqSize( const GLbyte *pc, Bool swap )
 {
     __GLXdispatchDrawArraysHeader *hdr = (__GLXdispatchDrawArraysHeader *) pc;
     __GLXdispatchDrawArraysComponentHeader *compHeader;
diff --git a/GL/glx/rensizetab.c b/GL/glx/rensizetab.c
index b9768a5..22dfc49 100644
--- a/GL/glx/rensizetab.c
+++ b/GL/glx/rensizetab.c
@@ -235,7 +235,7 @@ __GLXrenderSizeData __glXRenderSizeTable
 	/* Translatef          */	{  16, 	0                         },
 	/* Viewport            */	{  20, 	0                         },
 	/* PolygonOffset       */	{  12, 	0                         },
-	/* DrawArrays          */	{  16, 	__glXDrawArraysSize       },
+	/* DrawArrays          */	{  16, 	__glXDrawArraysReqSize    },
 	/* Indexubv            */	{  8, 	0                         },
 	/* ColorSubTable       */       {  44,  __glXColorSubTableReqSize },
 	/* CopyColorSubTable   */       {  24,  0                         },
@@ -2338,7 +2338,7 @@ __GLXrenderSizeData __glXRenderSizeTable
 	/* ResetMinmax         */       {  8,                             },
 	/* TexImage3D          */       {  84,  __glXTexImage3DReqSize    },
 	/* TexSubImage3D       */       {  92,  __glXTexSubImage3DReqSize },
-	/* DrawArrays          */	{  16, 	__glXDrawArraysSize       },
+	/* DrawArrays          */	{  16, 	__glXDrawArraysReqSize    },
 	/* BindTexture         */	{  12, 	0                         },
 	/* PrioritizeTextures  */	{   8, 	__glXPrioritizeTexturesReqSize },
 	/* CopyTexImage1D      */	{  32, 	0 },
diff-tree 86406455f0e5fc977431948611e9bb5fda1e1d46 (from d7a7f12361d31001bbd9394a57de029ef0b934b8)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Wed Aug 23 13:30:59 2006 -0700

    Re-generated files after a fix to glX_API.xml (in Mesa).

diff --git a/GL/glx/indirect_dispatch.h b/GL/glx/indirect_dispatch.h
index 07bc97b..e2c0c41 100644
--- a/GL/glx/indirect_dispatch.h
+++ b/GL/glx/indirect_dispatch.h
@@ -345,6 +345,8 @@ extern HIDDEN int __glXDisp_CreateContex
 extern HIDDEN int __glXDispSwap_CreateContextWithConfigSGIX(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_FramebufferTexture3DEXT(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_FramebufferTexture3DEXT(GLbyte * pc);
+extern HIDDEN int __glXDisp_CopySubBufferMESA(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_CopySubBufferMESA(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_BlendEquation(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_BlendEquation(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetError(struct __GLXclientStateRec *, GLbyte *);
diff --git a/GL/glx/indirect_table.c b/GL/glx/indirect_table.c
index da5fb6b..2c88589 100644
--- a/GL/glx/indirect_table.c
+++ b/GL/glx/indirect_table.c
@@ -483,7 +483,7 @@ static const __GLXdispatchVendorPrivProc
     /* [ 55] =  1431 */ {NULL, NULL},
     /* [ 56] =  5152 */ {__glXDisp_BindTexImageEXT, __glXDispSwap_BindTexImageEXT},
     /* [ 57] =  5153 */ {__glXDisp_ReleaseTexImageEXT, __glXDispSwap_ReleaseTexImageEXT},
-    /* [ 58] =  5154 */ {NULL, NULL},
+    /* [ 58] =  5154 */ {__glXDisp_CopySubBufferMESA, __glXDispSwap_CopySubBufferMESA},
     /* [ 59] =  5155 */ {NULL, NULL},
     /* [ 60] =  5156 */ {NULL, NULL},
     /* [ 61] =  5157 */ {NULL, NULL},
diff-tree d7a7f12361d31001bbd9394a57de029ef0b934b8 (from db82e12fac5eaa16a39fc1bd0bc31ad95089dc95)
Author: Ian Romanick <idr at umwelt.(none)>
Date:   Wed Aug 23 13:30:13 2006 -0700

    Convert protocol decode tables for Single, VendorPrivate, and
    VendorPrivateWithReply message to use nice, compact N-way search trees
    generated by scripts in Mesa.
    
    The Render protocol decode tables are next...

diff --git a/GL/glx/Makefile.am b/GL/glx/Makefile.am
index 1d4a986..2bb6943 100644
--- a/GL/glx/Makefile.am
+++ b/GL/glx/Makefile.am
@@ -61,6 +61,8 @@ libglx_la_SOURCES = \
         indirect_reqsize.h \
         indirect_size_get.c \
         indirect_size_get.h \
+        indirect_table.c \
+        indirect_table.h \
         indirect_util.c \
         indirect_util.h \
         render2.c \
diff --git a/GL/glx/g_disptab.c b/GL/glx/g_disptab.c
index 8e33626..6019301 100644
--- a/GL/glx/g_disptab.c
+++ b/GL/glx/g_disptab.c
@@ -37,169 +37,6 @@
 #include "g_disptab.h"
 #include "indirect_dispatch.h"
 
-__GLXdispatchSingleProcPtr __glXSingleTable[__GLX_SINGLE_TABLE_SIZE] = {
-	__glXNoSuchSingleOpcode,
-	__glXRender,
-	__glXRenderLarge,
-	__glXCreateContext,
-	__glXDestroyContext,
-	__glXMakeCurrent,
-	__glXIsDirect,
-	__glXQueryVersion,
-	__glXWaitGL,				/* 0x08 */
-	__glXWaitX,
-	__glXCopyContext,
-	__glXSwapBuffers,
-	__glXUseXFont,
-	__glXCreateGLXPixmap,
-	__glXGetVisualConfigs,
-	__glXDestroyGLXPixmap,
-	__glXVendorPrivate,			/* 0x10 */
-	__glXVendorPrivateWithReply,
-	__glXQueryExtensionsString,
-	__glXQueryServerString,
-	__glXClientInfo,
-	__glXGetFBConfigs,
-	__glXCreatePixmap,
-	__glXDestroyPixmap,
-	__glXCreateNewContext,			/* 0x18 */
-	__glXQueryContext,
-	__glXMakeContextCurrent,
-	__glXCreatePbuffer,
-	__glXDestroyPbuffer,
-	__glXGetDrawableAttributes,
-	__glXChangeDrawableAttributes,
-	__glXCreateWindow,
-	__glXDestroyWindow,			/* 0x20 */
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXDisp_NewList,
-	__glXDisp_EndList,
-	__glXDisp_DeleteLists,
-	__glXDisp_GenLists,
-	__glXDisp_FeedbackBuffer,
-	__glXDisp_SelectBuffer,
-	__glXDisp_RenderMode,
-	__glXDisp_Finish,
-	__glXDisp_PixelStoref,
-	__glXDisp_PixelStorei,
-	__glXDisp_ReadPixels,
-	__glXDisp_GetBooleanv,
-	__glXDisp_GetClipPlane,
-	__glXDisp_GetDoublev,
-	__glXDisp_GetError,
-	__glXDisp_GetFloatv,
-	__glXDisp_GetIntegerv,
-	__glXDisp_GetLightfv,
-	__glXDisp_GetLightiv,
-	__glXDisp_GetMapdv,
-	__glXDisp_GetMapfv,
-	__glXDisp_GetMapiv,
-	__glXDisp_GetMaterialfv,
-	__glXDisp_GetMaterialiv,
-	__glXDisp_GetPixelMapfv,
-	__glXDisp_GetPixelMapuiv,
-	__glXDisp_GetPixelMapusv,
-	__glXDisp_GetPolygonStipple,
-	__glXDisp_GetString,
-	__glXDisp_GetTexEnvfv,
-	__glXDisp_GetTexEnviv,
-	__glXDisp_GetTexGendv,
-	__glXDisp_GetTexGenfv,
-	__glXDisp_GetTexGeniv,
-	__glXDisp_GetTexImage,
-	__glXDisp_GetTexParameterfv,
-	__glXDisp_GetTexParameteriv,
-	__glXDisp_GetTexLevelParameterfv,
-	__glXDisp_GetTexLevelParameteriv,
-	__glXDisp_IsEnabled,
-	__glXDisp_IsList,
-	__glXDisp_Flush,
-	__glXDisp_AreTexturesResident,
-	__glXDisp_DeleteTextures,
-	__glXDisp_GenTextures,
-	__glXDisp_IsTexture,
-	__glXDisp_GetColorTable,
-	__glXDisp_GetColorTableParameterfv,
-	__glXDisp_GetColorTableParameteriv,
-	__glXDisp_GetConvolutionFilter,
-	__glXDisp_GetConvolutionParameterfv,
-	__glXDisp_GetConvolutionParameteriv,
-	__glXDisp_GetSeparableFilter,
-	__glXDisp_GetHistogram,
-	__glXDisp_GetHistogramParameterfv,
-	__glXDisp_GetHistogramParameteriv,
-	__glXDisp_GetMinmax,
-	__glXDisp_GetMinmaxParameterfv,
-	__glXDisp_GetMinmaxParameteriv,
-};
-
 __GLXdispatchRenderProcPtr __glXRenderTable[] = {
 	__glXNoSuchRenderOpcode,
 	__glXDisp_CallList,
@@ -438,168 +275,6 @@ __GLXdispatchRenderProcPtr __glXRenderTa
 #endif
 };
 
-__GLXdispatchSingleProcPtr __glXSwapSingleTable[__GLX_SINGLE_TABLE_SIZE] = {
-	__glXNoSuchSingleOpcode,
-	__glXSwapRender,
-	__glXSwapRenderLarge,
-	__glXSwapCreateContext,
-	__glXSwapDestroyContext,
-	__glXSwapMakeCurrent,
-	__glXSwapIsDirect,
-	__glXSwapQueryVersion,
-	__glXSwapWaitGL,			/* 0x08 */
-	__glXSwapWaitX,
-	__glXSwapCopyContext,
-	__glXSwapSwapBuffers,
-	__glXSwapUseXFont,
-	__glXSwapCreateGLXPixmap,
-	__glXSwapGetVisualConfigs,
-	__glXSwapDestroyGLXPixmap,
-	__glXSwapVendorPrivate,			/* 0x10 */
-	__glXSwapVendorPrivateWithReply,
-	__glXSwapQueryExtensionsString,
-	__glXSwapQueryServerString,
-	__glXSwapClientInfo,
-	__glXSwapGetFBConfigs,
-	__glXSwapCreatePixmap,
-	__glXSwapDestroyPixmap,
-	__glXSwapCreateNewContext,		/* 0x18 */
-	__glXSwapQueryContext,
-	__glXSwapMakeContextCurrent,
-	__glXSwapCreatePbuffer,
-	__glXSwapDestroyPbuffer,
-	__glXSwapGetDrawableAttributes,
-	__glXSwapChangeDrawableAttributes,
-	__glXSwapCreateWindow,
-	__glXSwapDestroyWindow,			/* 0x20 */
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXNoSuchSingleOpcode,
-	__glXDispSwap_NewList,
-	__glXDispSwap_EndList,
-	__glXDispSwap_DeleteLists,
-	__glXDispSwap_GenLists,
-	__glXDispSwap_FeedbackBuffer,
-	__glXDispSwap_SelectBuffer,
-	__glXDispSwap_RenderMode,
-	__glXDispSwap_Finish,
-	__glXDispSwap_PixelStoref,
-	__glXDispSwap_PixelStorei,
-	__glXDispSwap_ReadPixels,
-	__glXDispSwap_GetBooleanv,
-	__glXDispSwap_GetClipPlane,
-	__glXDispSwap_GetDoublev,
-	__glXDispSwap_GetError,
-	__glXDispSwap_GetFloatv,
-	__glXDispSwap_GetIntegerv,
-	__glXDispSwap_GetLightfv,
-	__glXDispSwap_GetLightiv,
-	__glXDispSwap_GetMapdv,
-	__glXDispSwap_GetMapfv,
-	__glXDispSwap_GetMapiv,
-	__glXDispSwap_GetMaterialfv,
-	__glXDispSwap_GetMaterialiv,
-	__glXDispSwap_GetPixelMapfv,
-	__glXDispSwap_GetPixelMapuiv,
-	__glXDispSwap_GetPixelMapusv,
-	__glXDispSwap_GetPolygonStipple,
-	__glXDispSwap_GetString,
-	__glXDispSwap_GetTexEnvfv,
-	__glXDispSwap_GetTexEnviv,
-	__glXDispSwap_GetTexGendv,
-	__glXDispSwap_GetTexGenfv,
-	__glXDispSwap_GetTexGeniv,
-	__glXDispSwap_GetTexImage,
-	__glXDispSwap_GetTexParameterfv,
-	__glXDispSwap_GetTexParameteriv,
-	__glXDispSwap_GetTexLevelParameterfv,
-	__glXDispSwap_GetTexLevelParameteriv,
-	__glXDispSwap_IsEnabled,
-	__glXDispSwap_IsList,
-	__glXDispSwap_Flush,
-	__glXDispSwap_AreTexturesResident,
-	__glXDispSwap_DeleteTextures,
-	__glXDispSwap_GenTextures,
-	__glXDispSwap_IsTexture,
-	__glXDispSwap_GetColorTable,
-	__glXDispSwap_GetColorTableParameterfv,
-	__glXDispSwap_GetColorTableParameteriv,
-	__glXDispSwap_GetConvolutionFilter,
-	__glXDispSwap_GetConvolutionParameterfv,
-	__glXDispSwap_GetConvolutionParameteriv,
-	__glXDispSwap_GetSeparableFilter,
-	__glXDispSwap_GetHistogram,
-	__glXDispSwap_GetHistogramParameterfv,
-	__glXDispSwap_GetHistogramParameteriv,
-	__glXDispSwap_GetMinmax,
-	__glXDispSwap_GetMinmaxParameterfv,
-	__glXDispSwap_GetMinmaxParameteriv,
-};
 
 __GLXdispatchRenderProcPtr __glXSwapRenderTable[__GLX_RENDER_TABLE_SIZE] = {
 	__glXNoSuchRenderOpcode,
diff --git a/GL/glx/g_disptab.h b/GL/glx/g_disptab.h
index 4a1c5e9..5ee242f 100644
--- a/GL/glx/g_disptab.h
+++ b/GL/glx/g_disptab.h
@@ -34,97 +34,33 @@
 ** version 1.2.1 Specification.
 */
 
-extern int __glXRender(__GLXclientState*, GLbyte*);
-extern int __glXRenderLarge(__GLXclientState*, GLbyte*);
-extern int __glXCreateContext(__GLXclientState*, GLbyte*);
-extern int __glXDestroyContext(__GLXclientState*, GLbyte*);
-extern int __glXMakeCurrent(__GLXclientState*, GLbyte*);
-extern int __glXIsDirect(__GLXclientState*, GLbyte*);
-extern int __glXQueryVersion(__GLXclientState*, GLbyte*);
-extern int __glXWaitGL(__GLXclientState*, GLbyte*);
-extern int __glXWaitX(__GLXclientState*, GLbyte*);
-extern int __glXCopyContext(__GLXclientState*, GLbyte*);
-extern int __glXSwapBuffers(__GLXclientState*, GLbyte*);
-extern int __glXBindTexImageEXT(__GLXclientState *cl, GLbyte *pc);
-extern int __glXReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc);
-extern int __glXCopySubBufferMESA(__GLXclientState *cl, GLbyte *pc);
-extern int __glXGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc);
-extern int __glXUseXFont(__GLXclientState*, GLbyte*);
-extern int __glXCreateGLXPixmap(__GLXclientState*, GLbyte*);
-extern int __glXGetVisualConfigs(__GLXclientState*, GLbyte*);
-extern int __glXDestroyGLXPixmap(__GLXclientState*, GLbyte*);
-extern int __glXVendorPrivate(__GLXclientState*, GLbyte*);
-extern int __glXVendorPrivateWithReply(__GLXclientState*, GLbyte*);
-extern int __glXQueryExtensionsString(__GLXclientState*, GLbyte*);
-extern int __glXQueryServerString(__GLXclientState*, GLbyte*);
-extern int __glXClientInfo(__GLXclientState*, GLbyte*);
-extern int __glXMakeContextCurrent(__GLXclientState*, GLbyte*);
-extern int __glXGetFBConfigs(__GLXclientState*, GLbyte*);
-extern int __glXCreatePixmap(__GLXclientState*, GLbyte*);
-extern int __glXDestroyPixmap(__GLXclientState*, GLbyte*);
-extern int __glXCreateNewContext(__GLXclientState*, GLbyte*);
-extern int __glXQueryContext(__GLXclientState*, GLbyte*);
-extern int __glXMakeContextCurrent(__GLXclientState*, GLbyte*);
-extern int __glXCreatePbuffer(__GLXclientState*, GLbyte*);
-extern int __glXDestroyPbuffer(__GLXclientState*, GLbyte*);
-extern int __glXGetDrawableAttributes(__GLXclientState*, GLbyte*);
-extern int __glXChangeDrawableAttributes(__GLXclientState*, GLbyte*);
-extern int __glXCreateWindow(__GLXclientState*, GLbyte*);
-extern int __glXDestroyWindow(__GLXclientState*, GLbyte*);
-
-extern int __glXSwapRender(__GLXclientState*, GLbyte*);
-extern int __glXSwapRenderLarge(__GLXclientState*, GLbyte*);
-extern int __glXSwapCreateContext(__GLXclientState*, GLbyte*);
-extern int __glXSwapDestroyContext(__GLXclientState*, GLbyte*);
-extern int __glXSwapMakeCurrent(__GLXclientState*, GLbyte*);
-extern int __glXSwapIsDirect(__GLXclientState*, GLbyte*);
-extern int __glXSwapQueryVersion(__GLXclientState*, GLbyte*);
-extern int __glXSwapWaitGL(__GLXclientState*, GLbyte*);
-extern int __glXSwapWaitX(__GLXclientState*, GLbyte*);
-extern int __glXSwapCopyContext(__GLXclientState*, GLbyte*);
-extern int __glXSwapSwapBuffers(__GLXclientState*, GLbyte*);
-extern int __glXSwapBindTexImageEXT(__GLXclientState *cl, GLbyte *pc);
-extern int __glXSwapReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc);
-extern int __glXSwapReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc);
-extern int __glXSwapGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc);
-extern int __glXSwapUseXFont(__GLXclientState*, GLbyte*);
-extern int __glXSwapCreateGLXPixmap(__GLXclientState*, GLbyte*);
-extern int __glXSwapGetVisualConfigs(__GLXclientState*, GLbyte*);
-extern int __glXSwapDestroyGLXPixmap(__GLXclientState*, GLbyte*);
-extern int __glXSwapVendorPrivate(__GLXclientState*, GLbyte*);
-extern int __glXSwapVendorPrivateWithReply(__GLXclientState*, GLbyte*);
-extern int __glXSwapQueryExtensionsString(__GLXclientState*, GLbyte*);
-extern int __glXSwapQueryServerString(__GLXclientState*, GLbyte*);
-extern int __glXSwapClientInfo(__GLXclientState*, GLbyte*);
-extern int __glXSwapMakeContextCurrent(__GLXclientState*, GLbyte*);
-extern int __glXSwapGetFBConfigs(__GLXclientState*, GLbyte*);
-extern int __glXSwapCreatePixmap(__GLXclientState*, GLbyte*);
-extern int __glXSwapDestroyPixmap(__GLXclientState*, GLbyte*);
-extern int __glXSwapCreateNewContext(__GLXclientState*, GLbyte*);
-extern int __glXSwapQueryContext(__GLXclientState*, GLbyte*);
-extern int __glXSwapMakeContextCurrent(__GLXclientState*, GLbyte*);
-extern int __glXSwapCreatePbuffer(__GLXclientState*, GLbyte*);
-extern int __glXSwapDestroyPbuffer(__GLXclientState*, GLbyte*);
-extern int __glXSwapGetDrawableAttributes(__GLXclientState*, GLbyte*);
-extern int __glXSwapChangeDrawableAttributes(__GLXclientState*, GLbyte*);
-extern int __glXSwapCreateWindow(__GLXclientState*, GLbyte*);
-extern int __glXSwapDestroyWindow(__GLXclientState*, GLbyte*);
+extern int __glXDisp_CopySubBufferMESA(__GLXclientState *cl, GLbyte *pc);
+extern int __glXDisp_GetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc);
+extern int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc);
+extern int __glXDisp_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc);
+extern int __glXDisp_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte *pc);
+extern int __glXDisp_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte *pc);
+extern int __glXDisp_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
+extern int __glXDisp_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
+
+extern int __glXDispSwap_CopySubBufferMESA(__GLXclientState *cl, GLbyte *pc);
+extern int __glXDispSwap_GetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc);
+extern int __glXDispSwap_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc);
+extern int __glXDispSwap_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc);
+extern int __glXDispSwap_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte *pc);
+extern int __glXDispSwap_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte *pc);
+extern int __glXDispSwap_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
+extern int __glXDispSwap_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
+
 
 
 #define __GLX_MIN_GLXCMD_OPCODE 1
 #define __GLX_MAX_GLXCMD_OPCODE 20
 #define __GLX_MIN_RENDER_OPCODE 1
-/*#define __GLX_MAX_RENDER_OPCODE 213*/
 #define __GLX_MAX_RENDER_OPCODE 230
-#define __GLX_MIN_SINGLE_OPCODE 1
-#define __GLX_MAX_SINGLE_OPCODE 159
-#define __GLX_SINGLE_TABLE_SIZE 160
-/*#define __GLX_RENDER_TABLE_SIZE 214*/
 #define __GLX_RENDER_TABLE_SIZE 231
 extern __GLXdispatchRenderProcPtr __glXRenderTable[__GLX_RENDER_TABLE_SIZE];
-extern __GLXdispatchSingleProcPtr __glXSingleTable[__GLX_SINGLE_TABLE_SIZE];
 extern __GLXdispatchRenderProcPtr __glXSwapRenderTable[__GLX_RENDER_TABLE_SIZE];
-extern __GLXdispatchSingleProcPtr __glXSwapSingleTable[__GLX_SINGLE_TABLE_SIZE];
 
 /* Copied from mesa src/glx/x11/glxcmds.c
  *
diff --git a/GL/glx/g_disptab_EXT.c b/GL/glx/g_disptab_EXT.c
index 087fb24..9c171ac 100644
--- a/GL/glx/g_disptab_EXT.c
+++ b/GL/glx/g_disptab_EXT.c
@@ -2338,12 +2338,6 @@ __GLXdispatchRenderProcPtr __glXRenderTa
 	__glXDisp_FramebufferRenderbufferEXT, /* 4324 */
 	__glXDisp_GenerateMipmapEXT /* 4325 */
 };
-__GLXdispatchVendorPrivProcPtr __glXVendorPrivTable_EXT[__GLX_MAX_VENDPRIV_OPCODE_EXT - __GLX_MIN_VENDPRIV_OPCODE_EXT + 1] = {
-	__glXDisp_AreTexturesResidentEXT, /* 11 */
-	__glXDisp_DeleteTextures, /* 12 */
-	__glXDisp_GenTexturesEXT, /* 13 */
-	__glXDisp_IsTextureEXT, /* 14 */
-};
 
 
 __GLXdispatchRenderProcPtr __glXSwapRenderTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT - __GLX_MIN_RENDER_OPCODE_EXT + 1] = {
@@ -4647,10 +4641,3 @@ __GLXdispatchRenderProcPtr __glXSwapRend
 	__glXDispSwap_FramebufferRenderbufferEXT, /* 4324 */
 	__glXDispSwap_GenerateMipmapEXT /* 4325 */
 };
-__GLXdispatchVendorPrivProcPtr __glXSwapVendorPrivTable_EXT[__GLX_MAX_VENDPRIV_OPCODE_EXT - __GLX_MIN_VENDPRIV_OPCODE_EXT + 1] = {
-	__glXDispSwap_AreTexturesResidentEXT, /* 11 */
-	__glXDispSwap_DeleteTextures, /* 12 */
-	__glXDispSwap_GenTexturesEXT, /* 13 */
-	__glXDispSwap_IsTextureEXT, /* 14 */
-};
-
diff --git a/GL/glx/g_disptab_EXT.h b/GL/glx/g_disptab_EXT.h
index 62a7517..0b59171 100644
--- a/GL/glx/g_disptab_EXT.h
+++ b/GL/glx/g_disptab_EXT.h
@@ -36,12 +36,7 @@
 
 #define __GLX_MIN_RENDER_OPCODE_EXT 2053
 #define __GLX_MAX_RENDER_OPCODE_EXT 4325
-#define __GLX_MIN_VENDPRIV_OPCODE_EXT 11
-#define __GLX_MAX_VENDPRIV_OPCODE_EXT 14
-#define __GLX_VENDPRIV_TABLE_SIZE_EXT (__GLX_MAX_VENDPRIV_OPCODE_EXT - __GLX_MIN_VENDPRIV_OPCODE_EXT + 1)
 #define __GLX_RENDER_TABLE_SIZE_EXT (__GLX_MAX_RENDER_OPCODE_EXT - __GLX_MIN_RENDER_OPCODE_EXT + 1)
 extern __GLXdispatchRenderProcPtr __glXRenderTable_EXT[__GLX_RENDER_TABLE_SIZE_EXT];
-extern __GLXdispatchVendorPrivProcPtr __glXVendorPrivTable_EXT[__GLX_VENDPRIV_TABLE_SIZE_EXT];
 extern __GLXdispatchRenderProcPtr __glXSwapRenderTable_EXT[__GLX_RENDER_TABLE_SIZE_EXT];
-extern __GLXdispatchVendorPrivProcPtr __glXSwapVendorPrivTable_EXT[__GLX_VENDPRIV_TABLE_SIZE_EXT];
 #endif /* _GLX_g_disptab_EXT_h_ */
diff --git a/GL/glx/glxcmds.c b/GL/glx/glxcmds.c
index f0a6474..b52528d 100644
--- a/GL/glx/glxcmds.c
+++ b/GL/glx/glxcmds.c
@@ -57,6 +57,8 @@
 #include "glthread.h"
 #include "dispatch.h"
 #include "indirect_dispatch.h"
+#include "indirect_table.h"
+#include "indirect_util.h"
 
 /************************************************************************/
 
@@ -66,18 +68,6 @@ GlxSetRenderTables (struct _glapi_table 
     _glapi_set_dispatch (table);
 }
 
-static int __glXGetFBConfigsSGIX(__GLXclientState *cl, GLbyte *pc);
-static int __glXCreateContextWithConfigSGIX(__GLXclientState *cl, GLbyte *pc);
-static int __glXCreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc);
-static int __glXMakeCurrentReadSGI(__GLXclientState *cl, GLbyte *pc);
-
-static int __glXBindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc);
-static int __glXQueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc);
-static int __glxQueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte *pc);
-static int __glxDestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte *pc);
-static int __glxQueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
-static int __glxHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
-
 
 /************************************************************************/
 
@@ -254,7 +244,7 @@ int DoCreateContext(__GLXclientState *cl
 }
 
 
-int __glXCreateContext(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_CreateContext(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreateContextReq *req = (xGLXCreateContextReq *) pc;
     return DoCreateContext( cl, req->context, req->shareList, req->visual,
@@ -262,7 +252,7 @@ int __glXCreateContext(__GLXclientState 
 }
 
 
-int __glXCreateNewContext(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_CreateNewContext(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreateNewContextReq *req = (xGLXCreateNewContextReq *) pc;
     return DoCreateContext( cl, req->context, req->shareList, req->fbconfig,
@@ -270,7 +260,7 @@ int __glXCreateNewContext(__GLXclientSta
 }
 
 
-int __glXCreateContextWithConfigSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_CreateContextWithConfigSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreateContextWithConfigSGIXReq *req = 
 	(xGLXCreateContextWithConfigSGIXReq *) pc;
@@ -281,7 +271,7 @@ int __glXCreateContextWithConfigSGIX(__G
 /*
 ** Destroy a GL context as an X resource.
 */
-int __glXDestroyContext(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_DestroyContext(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXDestroyContextReq *req = (xGLXDestroyContextReq *) pc;
@@ -399,7 +389,7 @@ static void StartUsingContext(__GLXclien
 ** Make an OpenGL context and drawable current.
 */
 
-int __glXMakeCurrent(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_MakeCurrent(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXMakeCurrentReq *req = (xGLXMakeCurrentReq *) pc;
 
@@ -407,7 +397,7 @@ int __glXMakeCurrent(__GLXclientState *c
 			  req->context, req->oldContextTag );
 }
 
-int __glXMakeContextCurrent(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_MakeContextCurrent(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXMakeContextCurrentReq *req = (xGLXMakeContextCurrentReq *) pc;
 
@@ -415,7 +405,7 @@ int __glXMakeContextCurrent(__GLXclientS
 			  req->context, req->oldContextTag );
 }
 
-int __glXMakeCurrentReadSGI(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_MakeCurrentReadSGI(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXMakeCurrentReadSGIReq *req = (xGLXMakeCurrentReadSGIReq *) pc;
 
@@ -750,7 +740,7 @@ int DoMakeCurrent( __GLXclientState *cl,
     return Success;
 }
 
-int __glXIsDirect(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_IsDirect(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXIsDirectReq *req = (xGLXIsDirectReq *) pc;
@@ -780,7 +770,7 @@ int __glXIsDirect(__GLXclientState *cl, 
     return Success;
 }
 
-int __glXQueryVersion(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_QueryVersion(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXQueryVersionReq *req = (xGLXQueryVersionReq *) pc;
@@ -811,7 +801,7 @@ int __glXQueryVersion(__GLXclientState *
     return Success;
 }
 
-int __glXWaitGL(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_WaitGL(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXWaitGLReq *req = (xGLXWaitGLReq *)pc;
     int error;
@@ -823,7 +813,7 @@ int __glXWaitGL(__GLXclientState *cl, GL
     return Success;
 }
 
-int __glXWaitX(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_WaitX(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXWaitXReq *req = (xGLXWaitXReq *)pc;
     int error;
@@ -840,7 +830,7 @@ int __glXWaitX(__GLXclientState *cl, GLb
     return Success;
 }
 
-int __glXCopyContext(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_CopyContext(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXCopyContextReq *req = (xGLXCopyContextReq *) pc;
@@ -1011,7 +1001,7 @@ int DoGetVisualConfigs(__GLXclientState 
     return Success;
 }
 
-int __glXGetVisualConfigs(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXGetVisualConfigsReq *req = (xGLXGetVisualConfigsReq *) pc;
     return DoGetVisualConfigs( cl, req->screen, GL_FALSE );
@@ -1187,14 +1177,14 @@ int DoGetFBConfigs(__GLXclientState *cl,
 }
 
 
-int __glXGetFBConfigs(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetFBConfigs(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXGetFBConfigsReq *req = (xGLXGetFBConfigsReq *) pc;
     return DoGetFBConfigs( cl, req->screen, GL_FALSE );
 }
 
 
-int __glXGetFBConfigsSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetFBConfigsSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXGetFBConfigsSGIXReq *req = (xGLXGetFBConfigsSGIXReq *) pc;
     return DoGetFBConfigs( cl, req->screen, GL_FALSE );
@@ -1290,21 +1280,21 @@ int DoCreateGLXPixmap(__GLXclientState *
     return Success;
 }
 
-int __glXCreateGLXPixmap(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_CreateGLXPixmap(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreateGLXPixmapReq *req = (xGLXCreateGLXPixmapReq *) pc;
     return DoCreateGLXPixmap( cl, req->visual, req->screen,
 			      req->pixmap, req->glxpixmap );
 }
 
-int __glXCreatePixmap(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_CreatePixmap(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreatePixmapReq *req = (xGLXCreatePixmapReq *) pc;
     return DoCreateGLXPixmap( cl, req->fbconfig, req->screen,
 			      req->pixmap, req->glxpixmap );
 }
 
-int __glXCreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_CreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreateGLXPixmapWithConfigSGIXReq *req = 
 	(xGLXCreateGLXPixmapWithConfigSGIXReq *) pc;
@@ -1329,21 +1319,21 @@ int DoDestroyPixmap(__GLXclientState *cl
     return Success;
 }
 
-int __glXDestroyGLXPixmap(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_DestroyGLXPixmap(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXDestroyGLXPixmapReq *req = (xGLXDestroyGLXPixmapReq *) pc;
 
     return DoDestroyPixmap(cl, req->glxpixmap);
 }
 
-int __glXDestroyPixmap(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_DestroyPixmap(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXDestroyPixmapReq *req = (xGLXDestroyPixmapReq *) pc;
 
     return DoDestroyPixmap(cl, req->glxpixmap);
 }
 
-int __glXCreatePbuffer(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_CreatePbuffer(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreatePbufferReq *req = (xGLXCreatePbufferReq *) pc;
 
@@ -1352,7 +1342,7 @@ int __glXCreatePbuffer(__GLXclientState 
     return BadRequest;
 }
 
-int __glXDestroyPbuffer(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_DestroyPbuffer(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXDestroyPbufferReq *req = (xGLXDestroyPbufferReq *) pc;
 
@@ -1361,7 +1351,7 @@ int __glXDestroyPbuffer(__GLXclientState
     return BadRequest;
 }
 
-int __glXChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_ChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXChangeDrawableAttributesReq *req =
 	(xGLXChangeDrawableAttributesReq *) pc;
@@ -1371,7 +1361,7 @@ int __glXChangeDrawableAttributes(__GLXc
     return BadRequest;
 }
 
-int __glXCreateWindow(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_CreateWindow(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreateWindowReq *req = (xGLXCreateWindowReq *) pc;
     ClientPtr client = cl->client;
@@ -1403,7 +1393,7 @@ int __glXCreateWindow(__GLXclientState *
     return Success;
 }
 
-int __glXDestroyWindow(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_DestroyWindow(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXDestroyWindowReq *req = (xGLXDestroyWindowReq *) pc;
     ClientPtr client = cl->client;
@@ -1428,7 +1418,7 @@ int __glXDestroyWindow(__GLXclientState 
 ** this time that is of value.  Consequently, this code must be
 ** implemented by somebody other than SGI.
 */
-int __glXSwapBuffers(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_SwapBuffers(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXSwapBuffersReq *req = (xGLXSwapBuffersReq *) pc;
@@ -1518,21 +1508,21 @@ int DoQueryContext(__GLXclientState *cl,
     return Success;
 }
 
-int __glXQueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_QueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXQueryContextInfoEXTReq *req = (xGLXQueryContextInfoEXTReq *) pc;
 
     return DoQueryContext(cl, req->context);
 }
 
-int __glXQueryContext(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_QueryContext(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXQueryContextReq *req = (xGLXQueryContextReq *) pc;
 
     return DoQueryContext(cl, req->context);
 }
 
-int __glXBindTexImageEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_BindTexImageEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc;
     ClientPtr		 client = cl->client;
@@ -1568,7 +1558,7 @@ int __glXBindTexImageEXT(__GLXclientStat
 						    pGlxPixmap);
 }
 
-int __glXReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_ReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc;
     ClientPtr		 client = cl->client;
@@ -1601,7 +1591,7 @@ int __glXReleaseTexImageEXT(__GLXclientS
 						       pGlxPixmap);
 }
 
-int __glXCopySubBufferMESA(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_CopySubBufferMESA(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc;
     GLXContextTag         tag = req->contextTag;
@@ -1701,7 +1691,7 @@ DoGetDrawableAttributes(__GLXclientState
     return Success;
 }
 
-int __glXGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateWithReplyReq *req = (xGLXVendorPrivateWithReplyReq *)pc;
     CARD32 *data;
@@ -1713,7 +1703,7 @@ int __glXGetDrawableAttributesSGIX(__GLX
     return DoGetDrawableAttributes(cl, drawable);
 }
 
-int __glXGetDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_GetDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXGetDrawableAttributesReq *req = (xGLXGetDrawableAttributesReq *)pc;
 
@@ -1730,7 +1720,7 @@ int __glXGetDrawableAttributes(__GLXclie
 /*
 ** Execute all the drawing commands in a request.
 */
-int __glXRender(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_Render(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXRenderReq *req;
     ClientPtr client= cl->client;
@@ -1742,7 +1732,7 @@ int __glXRender(__GLXclientState *cl, GL
 
     /*
     ** NOTE: much of this code also appears in the byteswapping version of this
-    ** routine, __glXSwapRender().  Any changes made here should also be
+    ** routine, __glXDisp_SwapRender().  Any changes made here should also be
     ** duplicated there.
     */
     
@@ -1832,7 +1822,7 @@ int __glXRender(__GLXclientState *cl, GL
 /*
 ** Execute a large rendering request (one that spans multiple X requests).
 */
-int __glXRenderLarge(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_RenderLarge(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXRenderLargeReq *req;
     ClientPtr client= cl->client;
@@ -1845,7 +1835,7 @@ int __glXRenderLarge(__GLXclientState *c
 
     /*
     ** NOTE: much of this code also appears in the byteswapping version of this
-    ** routine, __glXSwapRenderLarge().  Any changes made here should also be
+    ** routine, __glXDisp_SwapRenderLarge().  Any changes made here should also be
     ** duplicated there.
     */
     
@@ -2043,7 +2033,7 @@ int __glXRenderLarge(__GLXclientState *c
 
 extern RESTYPE __glXSwapBarrierRes;
 
-static int __glXBindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXBindSwapBarrierSGIXReq *req = (xGLXBindSwapBarrierSGIXReq *) pc;
@@ -2073,7 +2063,7 @@ static int __glXBindSwapBarrierSGIX(__GL
 }
 
 
-static int __glXQueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXQueryMaxSwapBarriersSGIXReq *req =
@@ -2104,7 +2094,7 @@ static int __glXQueryMaxSwapBarriersSGIX
 
 #define GLX_BAD_HYPERPIPE_SGIX 92
 
-static int __glxQueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXQueryHyperpipeNetworkSGIXReq * req = (xGLXQueryHyperpipeNetworkSGIXReq *) pc;
@@ -2144,7 +2134,7 @@ static int __glxQueryHyperpipeNetworkSGI
     return Success;
 }
 
-static int __glxDestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXDestroyHyperpipeConfigSGIXReq * req =
@@ -2179,7 +2169,7 @@ static int __glxDestroyHyperpipeConfigSG
     return Success;
 }
 
-static int __glxQueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXQueryHyperpipeConfigSGIXReq * req =
@@ -2223,7 +2213,7 @@ static int __glxQueryHyperpipeConfigSGIX
     return Success;
 }
 
-static int __glxHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXHyperpipeConfigSGIXReq * req =
@@ -2274,40 +2264,21 @@ static int __glxHyperpipeConfigSGIX(__GL
 ** allocating the entry points in the dispatch table.
 */
 
-int __glXVendorPrivate(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_VendorPrivate(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXVendorPrivateReq *req;
-    GLint vendorcode;
+    xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc;
+    GLint vendorcode = req->vendorCode;
+    __GLXdispatchVendorPrivProcPtr proc;
 
-    req = (xGLXVendorPrivateReq *) pc;
-    vendorcode = req->vendorCode;
 
-#ifndef __DARWIN__
-    switch( vendorcode ) {
-    case X_GLvop_SampleMaskSGIS:
-	CALL_SampleMaskSGIS( GET_DISPATCH(),
-			     (*(GLfloat *)(pc + 4), *(GLboolean *)(pc + 8)) );
+    proc = (__GLXdispatchVendorPrivProcPtr)
+      __glXGetProtocolDecodeFunction(& VendorPriv_dispatch_info,
+				     vendorcode, 0);
+    if (proc != NULL) {
+	(*proc)(cl, (GLbyte*)req);
 	return Success;
-    case X_GLvop_SamplePatternSGIS:
-	CALL_SamplePatternSGIS( GET_DISPATCH(),	(*(GLenum *)(pc + 4)) );
-	return Success;
-    case X_GLXvop_BindSwapBarrierSGIX:
-        return __glXBindSwapBarrierSGIX(cl, pc);
-    case X_GLXvop_BindTexImageEXT:
-	return __glXBindTexImageEXT(cl, pc);
-    case X_GLXvop_ReleaseTexImageEXT:
-	return __glXReleaseTexImageEXT(cl, pc);
-    case X_GLXvop_CopySubBufferMESA:
-	return __glXCopySubBufferMESA(cl, pc);
     }
-#endif
 
-    if ((vendorcode >= __GLX_MIN_VENDPRIV_OPCODE_EXT) &&
-          (vendorcode <= __GLX_MAX_VENDPRIV_OPCODE_EXT))  {
-	(*__glXVendorPrivTable_EXT[vendorcode-__GLX_MIN_VENDPRIV_OPCODE_EXT])
-							(cl, (GLbyte*)req);
-	return Success;
-    }
     /*
     ** This sample implemention does not support any private requests.
     */
@@ -2315,67 +2286,25 @@ int __glXVendorPrivate(__GLXclientState 
     return __glXError(GLXUnsupportedPrivateRequest);
 }
 
-int __glXVendorPrivateWithReply(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_VendorPrivateWithReply(__GLXclientState *cl, GLbyte *pc)
 {
-    xGLXVendorPrivateWithReplyReq *req;
-    GLint vendorcode;
+    xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc;
+    GLint vendorcode = req->vendorCode;
+    __GLXdispatchVendorPrivProcPtr proc;
 
-    req = (xGLXVendorPrivateWithReplyReq *) pc;
-    vendorcode = req->vendorCode;
 
-    switch (vendorcode) {
-      case X_GLXvop_QueryContextInfoEXT:
-	return __glXQueryContextInfoEXT(cl, pc);
-      case X_GLXvop_MakeCurrentReadSGI:
-	return __glXMakeCurrentReadSGI(cl, pc);
-      case X_GLXvop_QueryMaxSwapBarriersSGIX:
-        return __glXQueryMaxSwapBarriersSGIX(cl, pc);
-      case X_GLXvop_QueryHyperpipeNetworkSGIX:
-        return __glxQueryHyperpipeNetworkSGIX(cl, pc);
-      case X_GLXvop_QueryHyperpipeConfigSGIX:
-        return __glxQueryHyperpipeConfigSGIX(cl, pc);
-      case X_GLXvop_DestroyHyperpipeConfigSGIX:
-        return __glxDestroyHyperpipeConfigSGIX(cl, pc);
-      case X_GLXvop_HyperpipeConfigSGIX:
-        return __glxHyperpipeConfigSGIX(cl, pc);
-      case X_GLXvop_GetFBConfigsSGIX:
-	return __glXGetFBConfigsSGIX(cl, pc);
-      case X_GLXvop_CreateContextWithConfigSGIX:
-	return __glXCreateContextWithConfigSGIX(cl, pc);
-      case X_GLXvop_CreateGLXPixmapWithConfigSGIX:
-	return __glXCreateGLXPixmapWithConfigSGIX(cl, pc);
-      case X_GLXvop_GetDrawableAttributesSGIX:
-	return __glXGetDrawableAttributesSGIX(cl, pc);
-      case X_GLvop_IsRenderbufferEXT:
-	return __glXDisp_IsRenderbufferEXT(cl, pc);
-      case X_GLvop_GenRenderbuffersEXT:
-	return __glXDisp_GenRenderbuffersEXT(cl, pc);
-      case X_GLvop_GetRenderbufferParameterivEXT:
-	return __glXDisp_GetRenderbufferParameterivEXT(cl, pc);
-      case X_GLvop_IsFramebufferEXT:
-	return __glXDisp_IsFramebufferEXT(cl, pc);
-      case X_GLvop_GenFramebuffersEXT:
-	return __glXDisp_GenFramebuffersEXT(cl, pc);
-      case X_GLvop_CheckFramebufferStatusEXT:
-	return __glXDisp_CheckFramebufferStatusEXT(cl, pc);
-      case X_GLvop_GetFramebufferAttachmentParameterivEXT:
-	return __glXDisp_GetFramebufferAttachmentParameterivEXT(cl, pc);
-      default:
-	break;
-    }
-
-    if ((vendorcode >= __GLX_MIN_VENDPRIV_OPCODE_EXT) &&
-          (vendorcode <= __GLX_MAX_VENDPRIV_OPCODE_EXT))  {
-	return 
-	(*__glXVendorPrivTable_EXT[vendorcode-__GLX_MIN_VENDPRIV_OPCODE_EXT])
-							(cl, (GLbyte*)req);
+    proc = (__GLXdispatchVendorPrivProcPtr)
+      __glXGetProtocolDecodeFunction(& VendorPriv_dispatch_info,
+				     vendorcode, 0);
+    if (proc != NULL) {
+	return (*proc)(cl, (GLbyte*)req);
     }
 
     cl->client->errorValue = vendorcode;
     return __glXError(GLXUnsupportedPrivateRequest);
 }
 
-int __glXQueryExtensionsString(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_QueryExtensionsString(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXQueryExtensionsStringReq *req = (xGLXQueryExtensionsStringReq *) pc;
@@ -2420,7 +2349,7 @@ int __glXQueryExtensionsString(__GLXclie
     return Success;
 }
 
-int __glXQueryServerString(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_QueryServerString(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXQueryServerStringReq *req = (xGLXQueryServerStringReq *) pc;
@@ -2478,7 +2407,7 @@ int __glXQueryServerString(__GLXclientSt
     return Success;
 }
 
-int __glXClientInfo(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_ClientInfo(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXClientInfoReq *req = (xGLXClientInfoReq *) pc;
     const char *buf;
@@ -2492,4 +2421,3 @@ int __glXClientInfo(__GLXclientState *cl
 
     return Success;
 }
-
diff --git a/GL/glx/glxcmdsswap.c b/GL/glx/glxcmdsswap.c
index bb86243..78a26f5 100644
--- a/GL/glx/glxcmdsswap.c
+++ b/GL/glx/glxcmdsswap.c
@@ -54,11 +54,9 @@
 #include "glthread.h"
 #include "dispatch.h"
 #include "indirect_dispatch.h"
+#include "indirect_table.h"
+#include "indirect_util.h"
 
-static int __glXSwapGetFBConfigsSGIX(__GLXclientState *cl, GLbyte *pc);
-static int __glXSwapCreateContextWithConfigSGIX(__GLXclientState *cl, GLbyte *pc);
-static int __glXSwapCreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc);
-static int __glXSwapMakeCurrentReadSGI(__GLXclientState *cl, GLbyte *pc);
 
 /************************************************************************/
 
@@ -69,7 +67,7 @@ static int __glXSwapMakeCurrentReadSGI(_
 ** it is called at the end of the unswapped routine.
 */
 
-int __glXSwapCreateContext(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_CreateContext(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreateContextReq *req = (xGLXCreateContextReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -84,7 +82,7 @@ int __glXSwapCreateContext(__GLXclientSt
 			    req->screen, req->isDirect );
 }
 
-int __glXSwapCreateNewContext(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_CreateNewContext(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreateNewContextReq *req = (xGLXCreateNewContextReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -100,7 +98,7 @@ int __glXSwapCreateNewContext(__GLXclien
 			    req->screen, req->isDirect );
 }
 
-int __glXSwapCreateContextWithConfigSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_CreateContextWithConfigSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreateContextWithConfigSGIXReq *req =
 	(xGLXCreateContextWithConfigSGIXReq *) pc;
@@ -117,7 +115,7 @@ int __glXSwapCreateContextWithConfigSGIX
 			    req->screen, req->isDirect );
 }
 
-int __glXSwapDestroyContext(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_DestroyContext(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXDestroyContextReq *req = (xGLXDestroyContextReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -125,10 +123,10 @@ int __glXSwapDestroyContext(__GLXclientS
     __GLX_SWAP_SHORT(&req->length);
     __GLX_SWAP_INT(&req->context);
 
-    return __glXDestroyContext(cl, pc);
+    return __glXDisp_DestroyContext(cl, pc);
 }
 
-int __glXSwapMakeCurrent(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_MakeCurrent(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXMakeCurrentReq *req = (xGLXMakeCurrentReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -142,7 +140,7 @@ int __glXSwapMakeCurrent(__GLXclientStat
 			  req->context, req->oldContextTag );
 }
 
-int __glXSwapMakeContextCurrent(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_MakeContextCurrent(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXMakeContextCurrentReq *req = (xGLXMakeContextCurrentReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -157,7 +155,7 @@ int __glXSwapMakeContextCurrent(__GLXcli
 			  req->context, req->oldContextTag );
 }
 
-int __glXSwapMakeCurrentReadSGI(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_MakeCurrentReadSGI(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXMakeCurrentReadSGIReq *req = (xGLXMakeCurrentReadSGIReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -172,7 +170,7 @@ int __glXSwapMakeCurrentReadSGI(__GLXcli
 			  req->context, req->oldContextTag );
 }
 
-int __glXSwapIsDirect(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_IsDirect(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXIsDirectReq *req = (xGLXIsDirectReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -180,10 +178,10 @@ int __glXSwapIsDirect(__GLXclientState *
     __GLX_SWAP_SHORT(&req->length);
     __GLX_SWAP_INT(&req->context);
 
-    return __glXIsDirect(cl, pc);
+    return __glXDisp_IsDirect(cl, pc);
 }
 
-int __glXSwapQueryVersion(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_QueryVersion(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXQueryVersionReq *req = (xGLXQueryVersionReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -192,10 +190,10 @@ int __glXSwapQueryVersion(__GLXclientSta
     __GLX_SWAP_INT(&req->majorVersion);
     __GLX_SWAP_INT(&req->minorVersion);
 
-    return __glXQueryVersion(cl, pc);
+    return __glXDisp_QueryVersion(cl, pc);
 }
 
-int __glXSwapWaitGL(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_WaitGL(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXWaitGLReq *req = (xGLXWaitGLReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -203,10 +201,10 @@ int __glXSwapWaitGL(__GLXclientState *cl
     __GLX_SWAP_SHORT(&req->length);
     __GLX_SWAP_INT(&req->contextTag);
 
-    return __glXWaitGL(cl, pc);
+    return __glXDisp_WaitGL(cl, pc);
 }
 
-int __glXSwapWaitX(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_WaitX(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXWaitXReq *req = (xGLXWaitXReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -214,10 +212,10 @@ int __glXSwapWaitX(__GLXclientState *cl,
     __GLX_SWAP_SHORT(&req->length);
     __GLX_SWAP_INT(&req->contextTag);
 
-    return __glXWaitX(cl, pc);
+    return __glXDisp_WaitX(cl, pc);
 }
 
-int __glXSwapCopyContext(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_CopyContext(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCopyContextReq *req = (xGLXCopyContextReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -227,10 +225,10 @@ int __glXSwapCopyContext(__GLXclientStat
     __GLX_SWAP_INT(&req->dest);
     __GLX_SWAP_INT(&req->mask);
 
-    return __glXCopyContext(cl, pc);
+    return __glXDisp_CopyContext(cl, pc);
 }
 
-int __glXSwapGetVisualConfigs(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXGetVisualConfigsReq *req = (xGLXGetVisualConfigsReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -239,7 +237,7 @@ int __glXSwapGetVisualConfigs(__GLXclien
     return DoGetVisualConfigs( cl, req->screen, GL_TRUE );
 }
 
-int __glXSwapGetFBConfigs(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetFBConfigs(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXGetFBConfigsReq *req = (xGLXGetFBConfigsReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -248,7 +246,7 @@ int __glXSwapGetFBConfigs(__GLXclientSta
     return DoGetFBConfigs( cl, req->screen, GL_TRUE );
 }
 
-int __glXSwapGetFBConfigsSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetFBConfigsSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXGetFBConfigsSGIXReq *req = (xGLXGetFBConfigsSGIXReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -257,7 +255,7 @@ int __glXSwapGetFBConfigsSGIX(__GLXclien
     return DoGetFBConfigs( cl, req->screen, GL_TRUE );
 }
 
-int __glXSwapCreateGLXPixmap(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_CreateGLXPixmap(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreateGLXPixmapReq *req = (xGLXCreateGLXPixmapReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -272,7 +270,7 @@ int __glXSwapCreateGLXPixmap(__GLXclient
 			      req->pixmap, req->glxpixmap );
 }
 
-int __glXSwapCreatePixmap(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_CreatePixmap(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreatePixmapReq *req = (xGLXCreatePixmapReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -287,7 +285,7 @@ int __glXSwapCreatePixmap(__GLXclientSta
 			      req->pixmap, req->glxpixmap );
 }
 
-int __glXSwapCreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_CreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreateGLXPixmapWithConfigSGIXReq *req = 
 	(xGLXCreateGLXPixmapWithConfigSGIXReq *) pc;
@@ -303,7 +301,7 @@ int __glXSwapCreateGLXPixmapWithConfigSG
 			      req->pixmap, req->glxpixmap );
 }
 
-int __glXSwapDestroyGLXPixmap(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_DestroyGLXPixmap(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXDestroyGLXPixmapReq *req = (xGLXDestroyGLXPixmapReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -311,10 +309,10 @@ int __glXSwapDestroyGLXPixmap(__GLXclien
     __GLX_SWAP_SHORT(&req->length);
     __GLX_SWAP_INT(&req->glxpixmap);
 
-    return __glXDestroyGLXPixmap(cl, pc);
+    return __glXDisp_DestroyGLXPixmap(cl, pc);
 }
 
-int __glXSwapDestroyPixmap(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_DestroyPixmap(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXDestroyGLXPixmapReq *req = (xGLXDestroyGLXPixmapReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -322,10 +320,10 @@ int __glXSwapDestroyPixmap(__GLXclientSt
     __GLX_SWAP_SHORT(&req->length);
     __GLX_SWAP_INT(&req->glxpixmap);
 
-    return __glXDestroyGLXPixmap(cl, pc);
+    return __glXDisp_DestroyGLXPixmap(cl, pc);
 }
 
-int __glXSwapQueryContext(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_QueryContext(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXQueryContextReq *req = (xGLXQueryContextReq *) pc;    
 
@@ -334,7 +332,7 @@ int __glXSwapQueryContext(__GLXclientSta
     return BadRequest;    
 }
 
-int __glXSwapCreatePbuffer(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_CreatePbuffer(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreatePbufferReq *req = (xGLXCreatePbufferReq *) pc;    
 
@@ -343,14 +341,14 @@ int __glXSwapCreatePbuffer(__GLXclientSt
     return BadRequest;    
 }
 
-int __glXSwapDestroyPbuffer(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_DestroyPbuffer(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXDestroyPbufferReq *req = (xGLXDestroyPbufferReq *) req;
 
     return BadRequest;
 }
 
-int __glXSwapChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_ChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXChangeDrawableAttributesReq *req =
 	(xGLXChangeDrawableAttributesReq *) req;
@@ -358,7 +356,7 @@ int __glXSwapChangeDrawableAttributes(__
     return BadRequest;
 }
 
-int __glXSwapCreateWindow(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_CreateWindow(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXCreateWindowReq *req = (xGLXCreateWindowReq *) pc;
 
@@ -367,7 +365,7 @@ int __glXSwapCreateWindow(__GLXclientSta
     return BadRequest;
 }
 
-int __glXSwapDestroyWindow(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_DestroyWindow(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXDestroyWindowReq *req = (xGLXDestroyWindowReq *) pc;
 
@@ -376,7 +374,7 @@ int __glXSwapDestroyWindow(__GLXclientSt
     return BadRequest;
 }
 
-int __glXSwapSwapBuffers(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_SwapBuffers(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXSwapBuffersReq *req = (xGLXSwapBuffersReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -385,10 +383,10 @@ int __glXSwapSwapBuffers(__GLXclientStat
     __GLX_SWAP_INT(&req->contextTag);
     __GLX_SWAP_INT(&req->drawable);
 
-    return __glXSwapBuffers(cl, pc);
+    return __glXDisp_SwapBuffers(cl, pc);
 }
 
-int __glXSwapUseXFont(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_UseXFont(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXUseXFontReq *req = (xGLXUseXFontReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -400,11 +398,11 @@ int __glXSwapUseXFont(__GLXclientState *
     __GLX_SWAP_INT(&req->count);
     __GLX_SWAP_INT(&req->listBase);
 
-    return __glXUseXFont(cl, pc);
+    return __glXDisp_UseXFont(cl, pc);
 }
 
 
-int __glXSwapQueryExtensionsString(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_QueryExtensionsString(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXQueryExtensionsStringReq *req = (xGLXQueryExtensionsStringReq *)pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -412,10 +410,10 @@ int __glXSwapQueryExtensionsString(__GLX
     __GLX_SWAP_SHORT(&req->length);
     __GLX_SWAP_INT(&req->screen);
 
-    return __glXQueryExtensionsString(cl, pc);
+    return __glXDisp_QueryExtensionsString(cl, pc);
 }
 
-int __glXSwapQueryServerString(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_QueryServerString(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXQueryServerStringReq *req = (xGLXQueryServerStringReq *)pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -424,10 +422,10 @@ int __glXSwapQueryServerString(__GLXclie
     __GLX_SWAP_INT(&req->screen);
     __GLX_SWAP_INT(&req->name);
 
-    return __glXQueryServerString(cl, pc);
+    return __glXDisp_QueryServerString(cl, pc);
 }
 
-int __glXSwapClientInfo(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_ClientInfo(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXClientInfoReq *req = (xGLXClientInfoReq *)pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -437,10 +435,10 @@ int __glXSwapClientInfo(__GLXclientState
     __GLX_SWAP_INT(&req->minor);
     __GLX_SWAP_INT(&req->numbytes);
 
-    return __glXClientInfo(cl, pc);
+    return __glXDisp_ClientInfo(cl, pc);
 }
 
-int __glXSwapQueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_QueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXQueryContextInfoEXTReq *req = (xGLXQueryContextInfoEXTReq *) pc;
     __GLX_DECLARE_SWAP_VARIABLES;
@@ -448,10 +446,10 @@ int __glXSwapQueryContextInfoEXT(__GLXcl
     __GLX_SWAP_SHORT(&req->length);
     __GLX_SWAP_INT(&req->context);
 
-    return __glXQueryContextInfoEXT(cl, pc);
+    return __glXDisp_QueryContextInfoEXT(cl, pc);
 }
 
-int __glXSwapBindTexImageEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_BindTexImageEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc;
     GLXDrawable		 *drawId;
@@ -469,10 +467,10 @@ int __glXSwapBindTexImageEXT(__GLXclient
     __GLX_SWAP_INT(drawId);
     __GLX_SWAP_INT(buffer);
 
-    return __glXBindTexImageEXT(cl, (GLbyte *)pc);
+    return __glXDisp_BindTexImageEXT(cl, (GLbyte *)pc);
 }
 
-int __glXSwapReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_ReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc;
     GLXDrawable		 *drawId;
@@ -490,10 +488,10 @@ int __glXSwapReleaseTexImageEXT(__GLXcli
     __GLX_SWAP_INT(drawId);
     __GLX_SWAP_INT(buffer);
 
-    return __glXReleaseTexImageEXT(cl, (GLbyte *)pc);
+    return __glXDisp_ReleaseTexImageEXT(cl, (GLbyte *)pc);
 }
 
-int __glXSwapCopySubBufferMESA(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_CopySubBufferMESA(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc;
     GLXDrawable		 *drawId;
@@ -514,11 +512,11 @@ int __glXSwapCopySubBufferMESA(__GLXclie
     __GLX_SWAP_INT(pc + 12);
     __GLX_SWAP_INT(pc + 16);
 
-    return __glXCopySubBufferMESA(cl, pc);
+    return __glXDisp_CopySubBufferMESA(cl, pc);
 
 }
 
-int __glXSwapGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateWithReplyReq *req = (xGLXVendorPrivateWithReplyReq *)pc;
     CARD32 *data;
@@ -530,10 +528,10 @@ int __glXSwapGetDrawableAttributesSGIX(_
     __GLX_SWAP_INT(&req->contextTag);
     __GLX_SWAP_INT(data);
 
-    return __glXGetDrawableAttributesSGIX(cl, pc);
+    return __glXDisp_GetDrawableAttributesSGIX(cl, pc);
 }
 
-int __glXSwapGetDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_GetDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXGetDrawableAttributesReq *req = (xGLXGetDrawableAttributesReq *)pc;
     
@@ -542,7 +540,7 @@ int __glXSwapGetDrawableAttributes(__GLX
     __GLX_SWAP_SHORT(&req->length);
     __GLX_SWAP_INT(&req->drawable);
 
-    return __glXGetDrawableAttributes(cl, pc);
+    return __glXDisp_GetDrawableAttributes(cl, pc);
 }
 
 
@@ -641,7 +639,7 @@ void __glXSwapGetDrawableAttributesReply
 ** client library to send batches of GL rendering commands.
 */
 
-int __glXSwapRender(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_Render(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXRenderReq *req;
     ClientPtr client= cl->client;
@@ -743,7 +741,7 @@ int __glXSwapRender(__GLXclientState *cl
 /*
 ** Execute a large rendering request (one that spans multiple X requests).
 */
-int __glXSwapRenderLarge(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_RenderLarge(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXRenderLargeReq *req;
     ClientPtr client= cl->client;
@@ -969,10 +967,11 @@ int __glXSwapRenderLarge(__GLXclientStat
 ** allocating these entry points in the dispatch table.
 */
 
-int __glXSwapVendorPrivate(__GLXclientState *cl, GLbyte *pc)
+int __glXDispSwap_VendorPrivate(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateReq *req;
     GLint vendorcode;
+    __GLXdispatchVendorPrivProcPtr proc;
 
     __GLX_DECLARE_SWAP_VARIABLES;
 
@@ -982,41 +981,24 @@ int __glXSwapVendorPrivate(__GLXclientSt
 
     vendorcode = req->vendorCode;
 
-#ifndef __DARWIN__
-    switch( vendorcode ) {
-    case X_GLvop_SampleMaskSGIS:
-	__GLX_SWAP_FLOAT(pc + 4);
-	__GLX_SWAP_INT(pc + 8);
-	CALL_SampleMaskSGIS( GET_DISPATCH(),
-			     (*(GLfloat *)(pc + 4), *(GLboolean *)(pc + 8)) );
+    proc = (__GLXdispatchVendorPrivProcPtr)
+      __glXGetProtocolDecodeFunction(& VendorPriv_dispatch_info,
+				     vendorcode, 1);
+    if (proc != NULL) {
+	(*proc)(cl, (GLbyte*)req);
 	return Success;
-    case X_GLvop_SamplePatternSGIS:
-	__GLX_SWAP_INT(pc + 4);
-	CALL_SamplePatternSGIS( GET_DISPATCH(), (*(GLenum *)(pc + 4)) );
-	return Success;
-    case X_GLXvop_BindTexImageEXT:
-	return __glXSwapBindTexImageEXT(cl, pc);
-    case X_GLXvop_ReleaseTexImageEXT:
-	return __glXSwapReleaseTexImageEXT(cl, pc);
-    case X_GLXvop_CopySubBufferMESA:
-	return __glXSwapCopySubBufferMESA(cl, pc);
     }
-#endif
-
 
-    if ((vendorcode >= __GLX_MIN_VENDPRIV_OPCODE_EXT) &&
-          (vendorcode <= __GLX_MAX_VENDPRIV_OPCODE_EXT))  {
-	(*__glXSwapVendorPrivTable_EXT[vendorcode-__GLX_MIN_VENDPRIV_OPCODE_EXT])(cl, (GLbyte*)req);
-	return Success;
-    }
     cl->client->errorValue = req->vendorCode;
     return __glXError(GLXUnsupportedPrivateRequest);
 }
 
-int __glXSwapVendorPrivateWithReply(__GLXclientState *cl, GLbyte *pc)
+
+int __glXDispSwap_VendorPrivateWithReply(__GLXclientState *cl, GLbyte *pc)
 {
     xGLXVendorPrivateWithReplyReq *req;
     GLint vendorcode;
+    __GLXdispatchVendorPrivProcPtr proc;
 
     __GLX_DECLARE_SWAP_VARIABLES;
 
@@ -1026,42 +1008,13 @@ int __glXSwapVendorPrivateWithReply(__GL
 
     vendorcode = req->vendorCode;
 
-    switch (vendorcode) {
-      case X_GLXvop_QueryContextInfoEXT:
-	return __glXSwapQueryContextInfoEXT(cl, pc);
-      case X_GLXvop_MakeCurrentReadSGI:
-	return __glXSwapMakeCurrentReadSGI(cl, pc);
-      case X_GLXvop_GetFBConfigsSGIX:
-	return __glXSwapGetFBConfigsSGIX(cl, pc);
-      case X_GLXvop_CreateContextWithConfigSGIX:
-	return __glXSwapCreateContextWithConfigSGIX(cl, pc);
-      case X_GLXvop_CreateGLXPixmapWithConfigSGIX:
-	return __glXSwapCreateGLXPixmapWithConfigSGIX(cl, pc);
-      case X_GLXvop_GetDrawableAttributesSGIX:
-	return __glXSwapGetDrawableAttributesSGIX(cl, pc);
-      case X_GLvop_IsRenderbufferEXT:
-	return __glXDispSwap_IsRenderbufferEXT(cl, pc);
-      case X_GLvop_GenRenderbuffersEXT:
-	return __glXDispSwap_GenRenderbuffersEXT(cl, pc);
-      case X_GLvop_GetRenderbufferParameterivEXT:
-	return __glXDispSwap_GetRenderbufferParameterivEXT(cl, pc);
-      case X_GLvop_IsFramebufferEXT:
-	return __glXDispSwap_IsFramebufferEXT(cl, pc);
-      case X_GLvop_GenFramebuffersEXT:
-	return __glXDispSwap_GenFramebuffersEXT(cl, pc);
-      case X_GLvop_CheckFramebufferStatusEXT:
-	return __glXDispSwap_CheckFramebufferStatusEXT(cl, pc);
-      case X_GLvop_GetFramebufferAttachmentParameterivEXT:
-	return __glXDispSwap_GetFramebufferAttachmentParameterivEXT(cl, pc);
-      default:
-	break;
+    proc = (__GLXdispatchVendorPrivProcPtr)
+      __glXGetProtocolDecodeFunction(& VendorPriv_dispatch_info,
+				     vendorcode, 1);
+    if (proc != NULL) {
+	return (*proc)(cl, (GLbyte*)req);
     }
 
-
-    if ((vendorcode >= __GLX_MIN_VENDPRIV_OPCODE_EXT) &&
-          (vendorcode <= __GLX_MAX_VENDPRIV_OPCODE_EXT))  {
-	return (*__glXSwapVendorPrivTable_EXT[vendorcode-__GLX_MIN_VENDPRIV_OPCODE_EXT])(cl, (GLbyte*)req);
-    }
     cl->client->errorValue = req->vendorCode;
     return __glXError(GLXUnsupportedPrivateRequest);
 }
diff --git a/GL/glx/glxext.c b/GL/glx/glxext.c
index 8bbb83f..5600d17 100644
--- a/GL/glx/glxext.c
+++ b/GL/glx/glxext.c
@@ -32,6 +32,8 @@
 #include "unpack.h"
 #include "glxutil.h"
 #include "glxext.h"
+#include "indirect_table.h"
+#include "indirect_util.h"
 
 /*
 ** The last context used by the server.  It is the context that is current
@@ -452,7 +454,7 @@ static int __glXDispatch(ClientPtr clien
 {
     REQUEST(xGLXSingleReq);
     CARD8 opcode;
-    int (*proc)(__GLXclientState *cl, GLbyte *pc);
+    __GLXdispatchSingleProcPtr proc;
     __GLXclientState *cl;
     int retval;
 
@@ -482,13 +484,6 @@ static int __glXDispatch(ClientPtr clien
     }
 
     /*
-    ** Check for valid opcode.
-    */
-    if (opcode >= __GLX_SINGLE_TABLE_SIZE) {
-	return BadRequest;
-    }
-
-    /*
     ** If we're expecting a glXRenderLarge request, this better be one.
     */
     if ((cl->largeCmdRequestsSoFar != 0) && (opcode != X_GLXRenderLarge)) {
@@ -499,29 +494,27 @@ static int __glXDispatch(ClientPtr clien
     /*
     ** Use the opcode to index into the procedure table.
     */
-    if (client->swapped)
-	proc = __glXSwapSingleTable[opcode];
-    else
-	proc = __glXSingleTable[opcode];
-
-    __glXleaveServer();
+    proc = (__GLXdispatchSingleProcPtr) __glXGetProtocolDecodeFunction(& Single_dispatch_info,
+								       opcode,
+								       client->swapped);
+    if (proc != NULL) {
+	__glXleaveServer();
 
-    inDispatch = True;
+	inDispatch = True;
 
-    retval = proc(cl, (GLbyte *) stuff);
+	retval = (*proc)(cl, (GLbyte *) stuff);
 
-    inDispatch = False;
+	inDispatch = False;
 
-    __glXenterServer();
+	__glXenterServer();
+    }
+    else {
+	retval = BadRequest;
+    }
 
     return retval;
 }
 
-int __glXNoSuchSingleOpcode(__GLXclientState *cl, GLbyte *pc)
-{
-    return BadRequest;
-}
-
 void __glXNoSuchRenderOpcode(GLbyte *pc)
 {
     return;
diff --git a/GL/glx/glxext.h b/GL/glx/glxext.h
index f48f331..b19a716 100644
--- a/GL/glx/glxext.h
+++ b/GL/glx/glxext.h
@@ -67,7 +67,6 @@ extern GLboolean __glXFreeContext(__GLXc
 extern void __glXFlushContextCache(void);
 
 extern void __glXNoSuchRenderOpcode(GLbyte*);
-extern int __glXNoSuchSingleOpcode(__GLXclientState*, GLbyte*);
 extern void __glXErrorCallBack(__GLinterface *gc, GLenum code);
 extern void __glXClearErrorOccured(void);
 extern GLboolean __glXErrorOccured(void);
diff --git a/GL/glx/glxserver.h b/GL/glx/glxserver.h
index 8ece1e2..ce91ce3 100644
--- a/GL/glx/glxserver.h
+++ b/GL/glx/glxserver.h
@@ -196,9 +196,11 @@ extern __GLXprocPtr __glXProcTable[];
 /*
  * Tables for computing the size of each rendering command.
  */
+typedef int (*gl_proto_size_func)(const GLbyte *, Bool);
+
 typedef struct {
     int bytes;
-    int (*varsize)(const GLbyte *pc, Bool swap);
+    gl_proto_size_func varsize;
 } __GLXrenderSizeData;
 extern __GLXrenderSizeData __glXRenderSizeTable[];
 extern __GLXrenderSizeData __glXRenderSizeTable_EXT[];
diff --git a/GL/glx/indirect_dispatch.h b/GL/glx/indirect_dispatch.h
index 950d484..07bc97b 100644
--- a/GL/glx/indirect_dispatch.h
+++ b/GL/glx/indirect_dispatch.h
@@ -67,6 +67,8 @@ extern HIDDEN void __glXDisp_Histogram(G
 extern HIDDEN void __glXDispSwap_Histogram(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetMapfv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetMapfv(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN void __glXDisp_RasterPos4dv(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_RasterPos4dv(GLbyte * pc);
 extern HIDDEN void __glXDisp_PolygonStipple(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_PolygonStipple(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetPixelMapfv(struct __GLXclientStateRec *, GLbyte *);
@@ -79,16 +81,26 @@ extern HIDDEN void __glXDisp_VertexAttri
 extern HIDDEN void __glXDispSwap_VertexAttrib4svNV(GLbyte * pc);
 extern HIDDEN void __glXDisp_EvalCoord2fv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_EvalCoord2fv(GLbyte * pc);
+extern HIDDEN int __glXDisp_DestroyPixmap(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_DestroyPixmap(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_ProgramEnvParameter4dvARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_ProgramEnvParameter4dvARB(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetMapiv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetMapiv(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_SwapBuffers(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_SwapBuffers(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Indexubv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Indexubv(GLbyte * pc);
+extern HIDDEN int __glXDisp_Render(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_Render(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_GetQueryivARB(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetQueryivARB(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_TexImage3D(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexImage3D(GLbyte * pc);
+extern HIDDEN int __glXDisp_MakeContextCurrent(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_MakeContextCurrent(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_GetFBConfigs(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_GetFBConfigs(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Color3ubv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Color3ubv(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetQueryObjectivARB(struct __GLXclientStateRec *, GLbyte *);
@@ -105,16 +117,18 @@ extern HIDDEN void __glXDisp_VertexAttri
 extern HIDDEN void __glXDispSwap_VertexAttribs1dvNV(GLbyte * pc);
 extern HIDDEN void __glXDisp_Normal3bv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Normal3bv(GLbyte * pc);
-extern HIDDEN void __glXDisp_TexGeniv(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_TexGeniv(GLbyte * pc);
+extern HIDDEN int __glXDisp_VendorPrivate(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_VendorPrivate(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_CreateGLXPixmapWithConfigSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_CreateGLXPixmapWithConfigSGIX(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Vertex3iv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Vertex3iv(GLbyte * pc);
 extern HIDDEN void __glXDisp_CopyConvolutionFilter1D(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_CopyConvolutionFilter1D(GLbyte * pc);
 extern HIDDEN void __glXDisp_BlendColor(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_BlendColor(GLbyte * pc);
-extern HIDDEN void __glXDisp_CallLists(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_CallLists(GLbyte * pc);
+extern HIDDEN void __glXDisp_Scalef(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_Scalef(GLbyte * pc);
 extern HIDDEN void __glXDisp_Normal3iv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Normal3iv(GLbyte * pc);
 extern HIDDEN void __glXDisp_PassThrough(GLbyte * pc);
@@ -123,8 +137,10 @@ extern HIDDEN void __glXDisp_Viewport(GL
 extern HIDDEN void __glXDispSwap_Viewport(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib4NusvARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttrib4NusvARB(GLbyte * pc);
-extern HIDDEN void __glXDisp_PrioritizeTextures(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_PrioritizeTextures(GLbyte * pc);
+extern HIDDEN void __glXDisp_CopyTexSubImage2D(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_CopyTexSubImage2D(GLbyte * pc);
+extern HIDDEN void __glXDisp_DepthRange(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_DepthRange(GLbyte * pc);
 extern HIDDEN void __glXDisp_ResetHistogram(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_ResetHistogram(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetProgramNamedParameterfvNV(struct __GLXclientStateRec *, GLbyte *);
@@ -145,10 +161,14 @@ extern HIDDEN int __glXDisp_GetConvoluti
 extern HIDDEN int __glXDispSwap_GetConvolutionParameteriv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Vertex2dv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Vertex2dv(GLbyte * pc);
+extern HIDDEN int __glXDisp_GetVisualConfigs(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_GetVisualConfigs(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_MultiTexCoord1fvARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_MultiTexCoord1fvARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexCoord3iv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexCoord3iv(GLbyte * pc);
+extern HIDDEN int __glXDisp_CopyContext(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_CopyContext(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Color3fv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Color3fv(GLbyte * pc);
 extern HIDDEN void __glXDisp_PointSize(GLbyte * pc);
@@ -161,36 +181,40 @@ extern HIDDEN void __glXDisp_Vertex4sv(G
 extern HIDDEN void __glXDispSwap_Vertex4sv(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetTexEnvfv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetTexEnvfv(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN void __glXDisp_LineStipple(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_LineStipple(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexEnvi(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexEnvi(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetClipPlane(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetClipPlane(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_VertexAttribs3dvNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttribs3dvNV(GLbyte * pc);
+extern HIDDEN void __glXDisp_LightModeli(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_LightModeli(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttribs4fvNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttribs4fvNV(GLbyte * pc);
 extern HIDDEN void __glXDisp_Scaled(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Scaled(GLbyte * pc);
-extern HIDDEN void __glXDisp_Scalef(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_Scalef(GLbyte * pc);
+extern HIDDEN void __glXDisp_CallLists(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_CallLists(GLbyte * pc);
 extern HIDDEN void __glXDisp_AlphaFunc(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_AlphaFunc(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexCoord2iv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexCoord2iv(GLbyte * pc);
 extern HIDDEN void __glXDisp_CompressedTexImage1DARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_CompressedTexImage1DARB(GLbyte * pc);
-extern HIDDEN void __glXDisp_Rotated(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_Rotated(GLbyte * pc);
 extern HIDDEN int __glXDisp_ReadPixels(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_ReadPixels(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_EdgeFlagv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_EdgeFlagv(GLbyte * pc);
-extern HIDDEN void __glXDisp_Color4iv(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_Color4iv(GLbyte * pc);
+extern HIDDEN void __glXDisp_Rotatef(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_Rotatef(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexParameterf(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexParameterf(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexParameteri(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexParameteri(GLbyte * pc);
+extern HIDDEN int __glXDisp_DestroyContext(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_DestroyContext(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_DrawPixels(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_DrawPixels(GLbyte * pc);
 extern HIDDEN void __glXDisp_MultiTexCoord2svARB(GLbyte * pc);
@@ -215,8 +239,6 @@ extern HIDDEN void __glXDisp_Color4usv(G
 extern HIDDEN void __glXDispSwap_Color4usv(GLbyte * pc);
 extern HIDDEN void __glXDisp_Fogi(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Fogi(GLbyte * pc);
-extern HIDDEN void __glXDisp_DepthRange(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_DepthRange(GLbyte * pc);
 extern HIDDEN void __glXDisp_RasterPos3iv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_RasterPos3iv(GLbyte * pc);
 extern HIDDEN void __glXDisp_PixelMapfv(GLbyte * pc);
@@ -229,8 +251,6 @@ extern HIDDEN int __glXDisp_AreTexturesR
 extern HIDDEN int __glXDispSwap_AreTexturesResident(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_IsRenderbufferEXT(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_IsRenderbufferEXT(struct __GLXclientStateRec *, GLbyte *);
-extern HIDDEN void __glXDisp_ColorTableParameteriv(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_ColorTableParameteriv(GLbyte * pc);
 extern HIDDEN void __glXDisp_PointParameterfvEXT(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_PointParameterfvEXT(GLbyte * pc);
 extern HIDDEN void __glXDisp_Color3bv(GLbyte * pc);
@@ -291,8 +311,14 @@ extern HIDDEN int __glXDisp_CheckFramebu
 extern HIDDEN int __glXDispSwap_CheckFramebufferStatusEXT(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_GetVertexAttribivARB(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetVertexAttribivARB(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_GetFBConfigsSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_GetFBConfigsSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_CreateNewContext(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_CreateNewContext(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_GetMinmax(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetMinmax(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_GetVertexAttribdvNV(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_GetVertexAttribdvNV(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Normal3fv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Normal3fv(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib4ivARB(GLbyte * pc);
@@ -305,6 +331,8 @@ extern HIDDEN void __glXDisp_MultiTexCoo
 extern HIDDEN void __glXDispSwap_MultiTexCoord3fvARB(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetProgramParameterfvNV(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetProgramParameterfvNV(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN void __glXDisp_BindTexture(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_BindTexture(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexSubImage2D(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexSubImage2D(GLbyte * pc);
 extern HIDDEN void __glXDisp_DeleteRenderbuffersEXT(GLbyte * pc);
@@ -313,6 +341,8 @@ extern HIDDEN void __glXDisp_TexGenfv(GL
 extern HIDDEN void __glXDispSwap_TexGenfv(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib4bvARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttrib4bvARB(GLbyte * pc);
+extern HIDDEN int __glXDisp_CreateContextWithConfigSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_CreateContextWithConfigSGIX(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_FramebufferTexture3DEXT(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_FramebufferTexture3DEXT(GLbyte * pc);
 extern HIDDEN void __glXDisp_BlendEquation(GLbyte * pc);
@@ -337,6 +367,8 @@ extern HIDDEN void __glXDisp_EndQueryARB
 extern HIDDEN void __glXDispSwap_EndQueryARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_DepthMask(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_DepthMask(GLbyte * pc);
+extern HIDDEN void __glXDisp_Rotated(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_Rotated(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetMaterialiv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetMaterialiv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_StencilOp(GLbyte * pc);
@@ -345,6 +377,8 @@ extern HIDDEN void __glXDisp_MultiTexCoo
 extern HIDDEN void __glXDispSwap_MultiTexCoord3svARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexEnvfv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexEnvfv(GLbyte * pc);
+extern HIDDEN int __glXDisp_QueryServerString(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_QueryServerString(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_LoadMatrixf(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_LoadMatrixf(GLbyte * pc);
 extern HIDDEN void __glXDisp_Color4bv(GLbyte * pc);
@@ -361,6 +395,8 @@ extern HIDDEN void __glXDisp_LogicOp(GLb
 extern HIDDEN void __glXDispSwap_LogicOp(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexCoord4fv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexCoord4fv(GLbyte * pc);
+extern HIDDEN int __glXDisp_WaitX(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_WaitX(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_VertexAttrib2dvNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttrib2dvNV(GLbyte * pc);
 extern HIDDEN void __glXDisp_FramebufferRenderbufferEXT(GLbyte * pc);
@@ -371,6 +407,8 @@ extern HIDDEN int __glXDisp_GenTextures(
 extern HIDDEN int __glXDispSwap_GenTextures(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_FramebufferTexture1DEXT(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_FramebufferTexture1DEXT(GLbyte * pc);
+extern HIDDEN int __glXDisp_GetDrawableAttributes(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_GetDrawableAttributes(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_ProgramParameter4fvNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_ProgramParameter4fvNV(GLbyte * pc);
 extern HIDDEN void __glXDisp_RasterPos2sv(GLbyte * pc);
@@ -383,6 +421,8 @@ extern HIDDEN void __glXDisp_TexCoord2fv
 extern HIDDEN void __glXDispSwap_TexCoord2fv(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexCoord1sv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexCoord1sv(GLbyte * pc);
+extern HIDDEN void __glXDisp_TexGeniv(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_TexGeniv(GLbyte * pc);
 extern HIDDEN void __glXDisp_DepthFunc(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_DepthFunc(GLbyte * pc);
 extern HIDDEN void __glXDisp_PixelMapusv(GLbyte * pc);
@@ -391,6 +431,8 @@ extern HIDDEN void __glXDisp_PointParame
 extern HIDDEN void __glXDispSwap_PointParameterivNV(GLbyte * pc);
 extern HIDDEN void __glXDisp_BlendFunc(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_BlendFunc(GLbyte * pc);
+extern HIDDEN int __glXDisp_WaitGL(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_WaitGL(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_MultiTexCoord3dvARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_MultiTexCoord3dvARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_ProgramNamedParameter4dvNV(GLbyte * pc);
@@ -407,22 +449,26 @@ extern HIDDEN void __glXDisp_PushAttrib(
 extern HIDDEN void __glXDispSwap_PushAttrib(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib4usvARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttrib4usvARB(GLbyte * pc);
+extern HIDDEN int __glXDisp_DestroyPbuffer(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_DestroyPbuffer(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_TexParameteriv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexParameteriv(GLbyte * pc);
 extern HIDDEN void __glXDisp_WindowPos3fvMESA(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_WindowPos3fvMESA(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib1svNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttrib1svNV(GLbyte * pc);
+extern HIDDEN int __glXDisp_QueryExtensionsString(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_QueryExtensionsString(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_RasterPos3fv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_RasterPos3fv(GLbyte * pc);
 extern HIDDEN void __glXDisp_CopyTexSubImage3D(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_CopyTexSubImage3D(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetColorTable(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetColorTable(struct __GLXclientStateRec *, GLbyte *);
-extern HIDDEN int __glXDisp_SelectBuffer(struct __GLXclientStateRec *, GLbyte *);
-extern HIDDEN int __glXDispSwap_SelectBuffer(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Indexiv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Indexiv(GLbyte * pc);
+extern HIDDEN int __glXDisp_CreateContext(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_CreateContext(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_CopyColorTable(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_CopyColorTable(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetHistogramParameterfv(struct __GLXclientStateRec *, GLbyte *);
@@ -431,8 +477,12 @@ extern HIDDEN void __glXDisp_Frustum(GLb
 extern HIDDEN void __glXDispSwap_Frustum(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetString(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetString(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_CreateGLXPixmap(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_CreateGLXPixmap(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_TexEnvf(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexEnvf(GLbyte * pc);
+extern HIDDEN int __glXDisp_GetProgramStringARB(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_GetProgramStringARB(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_MultiTexCoord3ivARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_MultiTexCoord3ivARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib1dvARB(GLbyte * pc);
@@ -443,16 +493,18 @@ extern HIDDEN int __glXDisp_GetTexLevelP
 extern HIDDEN int __glXDispSwap_GetTexLevelParameteriv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_ClearAccum(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_ClearAccum(GLbyte * pc);
+extern HIDDEN int __glXDisp_QueryVersion(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_QueryVersion(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_GetVertexAttribfvARB(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetVertexAttribfvARB(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_SecondaryColor3ivEXT(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_SecondaryColor3ivEXT(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexCoord4iv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexCoord4iv(GLbyte * pc);
-extern HIDDEN void __glXDisp_PolygonOffset(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_PolygonOffset(GLbyte * pc);
 extern HIDDEN void __glXDisp_SampleMaskSGIS(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_SampleMaskSGIS(GLbyte * pc);
+extern HIDDEN void __glXDisp_ColorTableParameteriv(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_ColorTableParameteriv(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib4ubvARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttrib4ubvARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_CopyTexImage2D(GLbyte * pc);
@@ -467,6 +519,8 @@ extern HIDDEN void __glXDisp_Color4fv(GL
 extern HIDDEN void __glXDispSwap_Color4fv(GLbyte * pc);
 extern HIDDEN void __glXDisp_MultiTexCoord4ivARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_MultiTexCoord4ivARB(GLbyte * pc);
+extern HIDDEN int __glXDisp_CreatePixmap(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_CreatePixmap(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Lightiv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Lightiv(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetQueryObjectuivARB(struct __GLXclientStateRec *, GLbyte *);
@@ -479,8 +533,6 @@ extern HIDDEN void __glXDisp_VertexAttri
 extern HIDDEN void __glXDispSwap_VertexAttrib2dvARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttribs2svNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttribs2svNV(GLbyte * pc);
-extern HIDDEN void __glXDisp_VertexAttrib2fvARB(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_VertexAttrib2fvARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_Rectdv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Rectdv(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib4NivARB(GLbyte * pc);
@@ -495,8 +547,8 @@ extern HIDDEN void __glXDisp_CompressedT
 extern HIDDEN void __glXDispSwap_CompressedTexSubImage1DARB(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetVertexAttribivNV(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetVertexAttribivNV(struct __GLXclientStateRec *, GLbyte *);
-extern HIDDEN int __glXDisp_GetProgramStringARB(struct __GLXclientStateRec *, GLbyte *);
-extern HIDDEN int __glXDispSwap_GetProgramStringARB(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_IsQueryARB(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_IsQueryARB(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_TexGeni(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexGeni(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexGenf(GLbyte * pc);
@@ -513,6 +565,8 @@ extern HIDDEN void __glXDisp_VertexAttri
 extern HIDDEN void __glXDispSwap_VertexAttribs1fvNV(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib4NuivARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttrib4NuivARB(GLbyte * pc);
+extern HIDDEN int __glXDisp_DestroyWindow(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_DestroyWindow(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Color4sv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Color4sv(GLbyte * pc);
 extern HIDDEN int __glXDisp_IsProgramNV(struct __GLXclientStateRec *, GLbyte *);
@@ -531,14 +585,18 @@ extern HIDDEN int __glXDisp_DeleteQuerie
 extern HIDDEN int __glXDispSwap_DeleteQueriesARB(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_GetMapdv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetMapdv(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_DestroyGLXPixmap(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_DestroyGLXPixmap(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_SamplePatternSGIS(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_SamplePatternSGIS(GLbyte * pc);
 extern HIDDEN int __glXDisp_PixelStoref(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_PixelStoref(struct __GLXclientStateRec *, GLbyte *);
-extern HIDDEN int __glXDisp_IsQueryARB(struct __GLXclientStateRec *, GLbyte *);
-extern HIDDEN int __glXDispSwap_IsQueryARB(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN void __glXDisp_PrioritizeTextures(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_PrioritizeTextures(GLbyte * pc);
 extern HIDDEN int __glXDisp_PixelStorei(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_PixelStorei(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN void __glXDisp_Color4iv(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_Color4iv(GLbyte * pc);
 extern HIDDEN void __glXDisp_EvalCoord2dv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_EvalCoord2dv(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib3svARB(GLbyte * pc);
@@ -563,10 +621,12 @@ extern HIDDEN void __glXDisp_TexImage1D(
 extern HIDDEN void __glXDispSwap_TexImage1D(GLbyte * pc);
 extern HIDDEN void __glXDisp_FrontFace(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_FrontFace(GLbyte * pc);
-extern HIDDEN void __glXDisp_SecondaryColor3ubvEXT(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_SecondaryColor3ubvEXT(GLbyte * pc);
+extern HIDDEN int __glXDisp_RenderLarge(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_RenderLarge(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_VertexAttrib4dvARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttrib4dvARB(GLbyte * pc);
+extern HIDDEN void __glXDisp_PolygonOffset(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_PolygonOffset(GLbyte * pc);
 extern HIDDEN void __glXDisp_ExecuteProgramNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_ExecuteProgramNV(GLbyte * pc);
 extern HIDDEN void __glXDisp_Normal3dv(GLbyte * pc);
@@ -585,6 +645,8 @@ extern HIDDEN int __glXDisp_GetFramebuff
 extern HIDDEN int __glXDispSwap_GetFramebufferAttachmentParameterivEXT(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_MultiTexCoord4dvARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_MultiTexCoord4dvARB(GLbyte * pc);
+extern HIDDEN int __glXDisp_CreatePbuffer(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_CreatePbuffer(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_GetDoublev(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetDoublev(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_MultMatrixd(GLbyte * pc);
@@ -603,6 +665,8 @@ extern HIDDEN void __glXDisp_VertexAttri
 extern HIDDEN void __glXDispSwap_VertexAttrib3fvARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_ClearColor(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_ClearColor(GLbyte * pc);
+extern HIDDEN int __glXDisp_IsDirect(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_IsDirect(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_DeleteFramebuffersEXT(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_DeleteFramebuffersEXT(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexEnviv(GLbyte * pc);
@@ -633,6 +697,8 @@ extern HIDDEN void __glXDisp_VertexAttri
 extern HIDDEN void __glXDispSwap_VertexAttrib3svNV(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetTexEnviv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetTexEnviv(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_VendorPrivateWithReply(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_VendorPrivateWithReply(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_SeparableFilter2D(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_SeparableFilter2D(GLbyte * pc);
 extern HIDDEN void __glXDisp_Map1d(GLbyte * pc);
@@ -647,6 +713,8 @@ extern HIDDEN void __glXDisp_ProgramPara
 extern HIDDEN void __glXDispSwap_ProgramParameters4fvNV(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetProgramivNV(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetProgramivNV(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_ChangeDrawableAttributes(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_ChangeDrawableAttributes(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_GetMinmaxParameteriv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetMinmaxParameteriv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_PixelTransferf(GLbyte * pc);
@@ -661,12 +729,10 @@ extern HIDDEN void __glXDisp_TexCoord1dv
 extern HIDDEN void __glXDispSwap_TexCoord1dv(GLbyte * pc);
 extern HIDDEN void __glXDisp_PixelTransferi(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_PixelTransferi(GLbyte * pc);
-extern HIDDEN int __glXDisp_GetVertexAttribdvNV(struct __GLXclientStateRec *, GLbyte *);
-extern HIDDEN int __glXDispSwap_GetVertexAttribdvNV(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN void __glXDisp_SecondaryColor3ubvEXT(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_SecondaryColor3ubvEXT(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttrib3fvNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttrib3fvNV(GLbyte * pc);
-extern HIDDEN void __glXDisp_Rotatef(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_Rotatef(GLbyte * pc);
 extern HIDDEN void __glXDisp_Clear(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Clear(GLbyte * pc);
 extern HIDDEN void __glXDisp_ReadBuffer(GLbyte * pc);
@@ -681,8 +747,10 @@ extern HIDDEN void __glXDisp_Convolution
 extern HIDDEN void __glXDispSwap_ConvolutionParameterf(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetColorTableParameteriv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetColorTableParameteriv(struct __GLXclientStateRec *, GLbyte *);
-extern HIDDEN void __glXDisp_ShadeModel(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_ShadeModel(GLbyte * pc);
+extern HIDDEN int __glXDisp_ReleaseTexImageEXT(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_ReleaseTexImageEXT(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN void __glXDisp_CallList(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_CallList(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttribs2fvNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttribs2fvNV(GLbyte * pc);
 extern HIDDEN void __glXDisp_Rectiv(GLbyte * pc);
@@ -697,6 +765,8 @@ extern HIDDEN void __glXDisp_BindRenderb
 extern HIDDEN void __glXDispSwap_BindRenderbufferEXT(GLbyte * pc);
 extern HIDDEN void __glXDisp_Vertex3sv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Vertex3sv(GLbyte * pc);
+extern HIDDEN int __glXDisp_BindTexImageEXT(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_BindTexImageEXT(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_ProgramLocalParameter4fvARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_ProgramLocalParameter4fvARB(GLbyte * pc);
 extern HIDDEN int __glXDisp_DeleteProgramsNV(struct __GLXclientStateRec *, GLbyte *);
@@ -711,6 +781,8 @@ extern HIDDEN int __glXDisp_GetProgramSt
 extern HIDDEN int __glXDispSwap_GetProgramStringNV(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_LineWidth(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_LineWidth(GLbyte * pc);
+extern HIDDEN void __glXDisp_VertexAttrib2fvARB(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_VertexAttrib2fvARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexGendv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_TexGendv(GLbyte * pc);
 extern HIDDEN void __glXDisp_ResetMinmax(GLbyte * pc);
@@ -723,8 +795,10 @@ extern HIDDEN void __glXDisp_VertexAttri
 extern HIDDEN void __glXDispSwap_VertexAttribs4dvNV(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetMaterialfv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetMaterialfv(struct __GLXclientStateRec *, GLbyte *);
-extern HIDDEN void __glXDisp_CallList(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_CallList(GLbyte * pc);
+extern HIDDEN int __glXDisp_UseXFont(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_UseXFont(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN void __glXDisp_ShadeModel(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_ShadeModel(GLbyte * pc);
 extern HIDDEN void __glXDisp_Materialfv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Materialfv(GLbyte * pc);
 extern HIDDEN void __glXDisp_TexCoord3fv(GLbyte * pc);
@@ -735,8 +809,8 @@ extern HIDDEN void __glXDisp_MultiTexCoo
 extern HIDDEN void __glXDispSwap_MultiTexCoord1ivARB(GLbyte * pc);
 extern HIDDEN void __glXDisp_MultiTexCoord2ivARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_MultiTexCoord2ivARB(GLbyte * pc);
-extern HIDDEN void __glXDisp_CopyTexSubImage2D(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_CopyTexSubImage2D(GLbyte * pc);
+extern HIDDEN void __glXDisp_DrawArrays(GLbyte * pc);
+extern HIDDEN void __glXDispSwap_DrawArrays(GLbyte * pc);
 extern HIDDEN void __glXDisp_Color3iv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Color3iv(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetProgramLocalParameterdvARB(struct __GLXclientStateRec *, GLbyte *);
@@ -759,16 +833,18 @@ extern HIDDEN void __glXDisp_PopMatrix(G
 extern HIDDEN void __glXDispSwap_PopMatrix(GLbyte * pc);
 extern HIDDEN int __glXDisp_AreTexturesResidentEXT(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_AreTexturesResidentEXT(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_MakeCurrentReadSGI(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_MakeCurrentReadSGI(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_GetTexGeniv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetTexGeniv(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDisp_MakeCurrent(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_MakeCurrent(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Map2d(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Map2d(GLbyte * pc);
 extern HIDDEN void __glXDisp_Map2f(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Map2f(GLbyte * pc);
 extern HIDDEN void __glXDisp_ProgramStringARB(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_ProgramStringARB(GLbyte * pc);
-extern HIDDEN void __glXDisp_RasterPos4dv(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_RasterPos4dv(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetCompressedTexImageARB(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetCompressedTexImageARB(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_GetTexGenfv(struct __GLXclientStateRec *, GLbyte *);
@@ -799,6 +875,8 @@ extern HIDDEN void __glXDisp_Translatef(
 extern HIDDEN void __glXDispSwap_Translatef(GLbyte * pc);
 extern HIDDEN void __glXDisp_StencilMask(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_StencilMask(GLbyte * pc);
+extern HIDDEN int __glXDisp_CreateWindow(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_CreateWindow(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_GetLightiv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetLightiv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDisp_IsList(struct __GLXclientStateRec *, GLbyte *);
@@ -813,8 +891,8 @@ extern HIDDEN void __glXDisp_CopyTexSubI
 extern HIDDEN void __glXDispSwap_CopyTexSubImage1D(GLbyte * pc);
 extern HIDDEN void __glXDisp_CullFace(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_CullFace(GLbyte * pc);
-extern HIDDEN void __glXDisp_BindTexture(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_BindTexture(GLbyte * pc);
+extern HIDDEN int __glXDisp_QueryContextInfoEXT(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_QueryContextInfoEXT(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_VertexAttribs3svNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttribs3svNV(GLbyte * pc);
 extern HIDDEN void __glXDisp_StencilFunc(GLbyte * pc);
@@ -837,6 +915,8 @@ extern HIDDEN int __glXDisp_GetPixelMapu
 extern HIDDEN int __glXDispSwap_GetPixelMapuiv(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Indexfv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Indexfv(GLbyte * pc);
+extern HIDDEN int __glXDisp_QueryContext(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_QueryContext(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_SecondaryColor3svEXT(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_SecondaryColor3svEXT(GLbyte * pc);
 extern HIDDEN void __glXDisp_IndexMask(GLbyte * pc);
@@ -885,8 +965,8 @@ extern HIDDEN void __glXDisp_TexCoord4dv
 extern HIDDEN void __glXDispSwap_TexCoord4dv(GLbyte * pc);
 extern HIDDEN void __glXDisp_Begin(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Begin(GLbyte * pc);
-extern HIDDEN void __glXDisp_LightModeli(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_LightModeli(GLbyte * pc);
+extern HIDDEN int __glXDisp_ClientInfo(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_ClientInfo(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_Rectfv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Rectfv(GLbyte * pc);
 extern HIDDEN void __glXDisp_LightModelf(GLbyte * pc);
@@ -901,16 +981,14 @@ extern HIDDEN void __glXDisp_MultiTexCoo
 extern HIDDEN void __glXDispSwap_MultiTexCoord2fvARB(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetRenderbufferParameterivEXT(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN int __glXDispSwap_GetRenderbufferParameterivEXT(struct __GLXclientStateRec *, GLbyte *);
-extern HIDDEN void __glXDisp_DrawArrays(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_DrawArrays(GLbyte * pc);
+extern HIDDEN int __glXDisp_SelectBuffer(struct __GLXclientStateRec *, GLbyte *);
+extern HIDDEN int __glXDispSwap_SelectBuffer(struct __GLXclientStateRec *, GLbyte *);
 extern HIDDEN void __glXDisp_ColorMask(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_ColorMask(GLbyte * pc);
 extern HIDDEN void __glXDisp_RasterPos4iv(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_RasterPos4iv(GLbyte * pc);
 extern HIDDEN void __glXDisp_Enable(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_Enable(GLbyte * pc);
-extern HIDDEN void __glXDisp_LineStipple(GLbyte * pc);
-extern HIDDEN void __glXDispSwap_LineStipple(GLbyte * pc);
 extern HIDDEN void __glXDisp_VertexAttribs4svNV(GLbyte * pc);
 extern HIDDEN void __glXDispSwap_VertexAttribs4svNV(GLbyte * pc);
 extern HIDDEN int __glXDisp_GetMinmaxParameterfv(struct __GLXclientStateRec *, GLbyte *);
diff --git a/GL/glx/indirect_table.c b/GL/glx/indirect_table.c
new file mode 100644
index 0000000..da5fb6b
--- /dev/null
+++ b/GL/glx/indirect_table.c
@@ -0,0 +1,509 @@
+/* DO NOT EDIT - This file generated automatically by glX_server_table.py (from Mesa) script */
+
+/*
+ * (C) Copyright IBM Corporation 2005, 2006
+ * All Rights Reserved.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sub license,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ * 
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+ * IBM,
+ * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include <inttypes.h>
+#include "glxserver.h"
+#include "glxext.h"
+#include "indirect_dispatch.h"
+#include "indirect_reqsize.h"
+#include "g_disptab.h"
+#include "indirect_table.h"
+
+/*****************************************************************/
+/* tree depth = 3 */
+static const int_fast16_t Single_dispatch_tree[24] = {
+    /* [0] -> opcode range [0, 256], node depth 1 */
+    2,
+    5,
+    13,
+    16,
+    EMPTY_LEAF,
+
+    /* [5] -> opcode range [0, 64], node depth 2 */
+    2,
+    LEAF(0),
+    LEAF(16),
+    10,
+    EMPTY_LEAF,
+
+    /* [10] -> opcode range [32, 48], node depth 3 */
+    1,
+    LEAF(32),
+    EMPTY_LEAF,
+
+    /* [13] -> opcode range [64, 128], node depth 2 */
+    1,
+    EMPTY_LEAF,
+    LEAF(40),
+
+    /* [16] -> opcode range [128, 192], node depth 2 */
+    2,
+    LEAF(72),
+    LEAF(88),
+    21,
+    EMPTY_LEAF,
+
+    /* [21] -> opcode range [160, 176], node depth 3 */
+    1,
+    LEAF(104),
+    EMPTY_LEAF,
+
+};
+
+static const __GLXdispatchSingleProcPtr Single_function_table[112][2] = {
+    /* [  0] =     0 */ {NULL, NULL},
+    /* [  1] =     1 */ {__glXDisp_Render, __glXDispSwap_Render},
+    /* [  2] =     2 */ {__glXDisp_RenderLarge, __glXDispSwap_RenderLarge},
+    /* [  3] =     3 */ {__glXDisp_CreateContext, __glXDispSwap_CreateContext},
+    /* [  4] =     4 */ {__glXDisp_DestroyContext, __glXDispSwap_DestroyContext},
+    /* [  5] =     5 */ {__glXDisp_MakeCurrent, __glXDispSwap_MakeCurrent},
+    /* [  6] =     6 */ {__glXDisp_IsDirect, __glXDispSwap_IsDirect},
+    /* [  7] =     7 */ {__glXDisp_QueryVersion, __glXDispSwap_QueryVersion},
+    /* [  8] =     8 */ {__glXDisp_WaitGL, __glXDispSwap_WaitGL},
+    /* [  9] =     9 */ {__glXDisp_WaitX, __glXDispSwap_WaitX},
+    /* [ 10] =    10 */ {__glXDisp_CopyContext, __glXDispSwap_CopyContext},
+    /* [ 11] =    11 */ {__glXDisp_SwapBuffers, __glXDispSwap_SwapBuffers},
+    /* [ 12] =    12 */ {__glXDisp_UseXFont, __glXDispSwap_UseXFont},
+    /* [ 13] =    13 */ {__glXDisp_CreateGLXPixmap, __glXDispSwap_CreateGLXPixmap},
+    /* [ 14] =    14 */ {__glXDisp_GetVisualConfigs, __glXDispSwap_GetVisualConfigs},
+    /* [ 15] =    15 */ {__glXDisp_DestroyGLXPixmap, __glXDispSwap_DestroyGLXPixmap},
+    /* [ 16] =    16 */ {__glXDisp_VendorPrivate, __glXDispSwap_VendorPrivate},
+    /* [ 17] =    17 */ {__glXDisp_VendorPrivateWithReply, __glXDispSwap_VendorPrivateWithReply},
+    /* [ 18] =    18 */ {__glXDisp_QueryExtensionsString, __glXDispSwap_QueryExtensionsString},
+    /* [ 19] =    19 */ {__glXDisp_QueryServerString, __glXDispSwap_QueryServerString},
+    /* [ 20] =    20 */ {__glXDisp_ClientInfo, __glXDispSwap_ClientInfo},
+    /* [ 21] =    21 */ {__glXDisp_GetFBConfigs, __glXDispSwap_GetFBConfigs},
+    /* [ 22] =    22 */ {__glXDisp_CreatePixmap, __glXDispSwap_CreatePixmap},
+    /* [ 23] =    23 */ {__glXDisp_DestroyPixmap, __glXDispSwap_DestroyPixmap},
+    /* [ 24] =    24 */ {__glXDisp_CreateNewContext, __glXDispSwap_CreateNewContext},
+    /* [ 25] =    25 */ {__glXDisp_QueryContext, __glXDispSwap_QueryContext},
+    /* [ 26] =    26 */ {__glXDisp_MakeContextCurrent, __glXDispSwap_MakeContextCurrent},
+    /* [ 27] =    27 */ {__glXDisp_CreatePbuffer, __glXDispSwap_CreatePbuffer},
+    /* [ 28] =    28 */ {__glXDisp_DestroyPbuffer, __glXDispSwap_DestroyPbuffer},
+    /* [ 29] =    29 */ {__glXDisp_GetDrawableAttributes, __glXDispSwap_GetDrawableAttributes},
+    /* [ 30] =    30 */ {__glXDisp_ChangeDrawableAttributes, __glXDispSwap_ChangeDrawableAttributes},
+    /* [ 31] =    31 */ {__glXDisp_CreateWindow, __glXDispSwap_CreateWindow},
+    /* [ 32] =    32 */ {__glXDisp_DestroyWindow, __glXDispSwap_DestroyWindow},
+    /* [ 33] =    33 */ {NULL, NULL},
+    /* [ 34] =    34 */ {NULL, NULL},
+    /* [ 35] =    35 */ {NULL, NULL},
+    /* [ 36] =    36 */ {NULL, NULL},
+    /* [ 37] =    37 */ {NULL, NULL},
+    /* [ 38] =    38 */ {NULL, NULL},
+    /* [ 39] =    39 */ {NULL, NULL},
+    /* [ 40] =    96 */ {NULL, NULL},
+    /* [ 41] =    97 */ {NULL, NULL},
+    /* [ 42] =    98 */ {NULL, NULL},
+    /* [ 43] =    99 */ {NULL, NULL},
+    /* [ 44] =   100 */ {NULL, NULL},
+    /* [ 45] =   101 */ {__glXDisp_NewList, __glXDispSwap_NewList},
+    /* [ 46] =   102 */ {__glXDisp_EndList, __glXDispSwap_EndList},
+    /* [ 47] =   103 */ {__glXDisp_DeleteLists, __glXDispSwap_DeleteLists},
+    /* [ 48] =   104 */ {__glXDisp_GenLists, __glXDispSwap_GenLists},
+    /* [ 49] =   105 */ {__glXDisp_FeedbackBuffer, __glXDispSwap_FeedbackBuffer},
+    /* [ 50] =   106 */ {__glXDisp_SelectBuffer, __glXDispSwap_SelectBuffer},
+    /* [ 51] =   107 */ {__glXDisp_RenderMode, __glXDispSwap_RenderMode},
+    /* [ 52] =   108 */ {__glXDisp_Finish, __glXDispSwap_Finish},
+    /* [ 53] =   109 */ {__glXDisp_PixelStoref, __glXDispSwap_PixelStoref},
+    /* [ 54] =   110 */ {__glXDisp_PixelStorei, __glXDispSwap_PixelStorei},
+    /* [ 55] =   111 */ {__glXDisp_ReadPixels, __glXDispSwap_ReadPixels},
+    /* [ 56] =   112 */ {__glXDisp_GetBooleanv, __glXDispSwap_GetBooleanv},
+    /* [ 57] =   113 */ {__glXDisp_GetClipPlane, __glXDispSwap_GetClipPlane},
+    /* [ 58] =   114 */ {__glXDisp_GetDoublev, __glXDispSwap_GetDoublev},
+    /* [ 59] =   115 */ {__glXDisp_GetError, __glXDispSwap_GetError},
+    /* [ 60] =   116 */ {__glXDisp_GetFloatv, __glXDispSwap_GetFloatv},
+    /* [ 61] =   117 */ {__glXDisp_GetIntegerv, __glXDispSwap_GetIntegerv},
+    /* [ 62] =   118 */ {__glXDisp_GetLightfv, __glXDispSwap_GetLightfv},
+    /* [ 63] =   119 */ {__glXDisp_GetLightiv, __glXDispSwap_GetLightiv},
+    /* [ 64] =   120 */ {__glXDisp_GetMapdv, __glXDispSwap_GetMapdv},
+    /* [ 65] =   121 */ {__glXDisp_GetMapfv, __glXDispSwap_GetMapfv},
+    /* [ 66] =   122 */ {__glXDisp_GetMapiv, __glXDispSwap_GetMapiv},
+    /* [ 67] =   123 */ {__glXDisp_GetMaterialfv, __glXDispSwap_GetMaterialfv},
+    /* [ 68] =   124 */ {__glXDisp_GetMaterialiv, __glXDispSwap_GetMaterialiv},
+    /* [ 69] =   125 */ {__glXDisp_GetPixelMapfv, __glXDispSwap_GetPixelMapfv},
+    /* [ 70] =   126 */ {__glXDisp_GetPixelMapuiv, __glXDispSwap_GetPixelMapuiv},
+    /* [ 71] =   127 */ {__glXDisp_GetPixelMapusv, __glXDispSwap_GetPixelMapusv},
+    /* [ 72] =   128 */ {__glXDisp_GetPolygonStipple, __glXDispSwap_GetPolygonStipple},
+    /* [ 73] =   129 */ {__glXDisp_GetString, __glXDispSwap_GetString},
+    /* [ 74] =   130 */ {__glXDisp_GetTexEnvfv, __glXDispSwap_GetTexEnvfv},
+    /* [ 75] =   131 */ {__glXDisp_GetTexEnviv, __glXDispSwap_GetTexEnviv},
+    /* [ 76] =   132 */ {__glXDisp_GetTexGendv, __glXDispSwap_GetTexGendv},
+    /* [ 77] =   133 */ {__glXDisp_GetTexGenfv, __glXDispSwap_GetTexGenfv},
+    /* [ 78] =   134 */ {__glXDisp_GetTexGeniv, __glXDispSwap_GetTexGeniv},
+    /* [ 79] =   135 */ {__glXDisp_GetTexImage, __glXDispSwap_GetTexImage},
+    /* [ 80] =   136 */ {__glXDisp_GetTexParameterfv, __glXDispSwap_GetTexParameterfv},
+    /* [ 81] =   137 */ {__glXDisp_GetTexParameteriv, __glXDispSwap_GetTexParameteriv},
+    /* [ 82] =   138 */ {__glXDisp_GetTexLevelParameterfv, __glXDispSwap_GetTexLevelParameterfv},
+    /* [ 83] =   139 */ {__glXDisp_GetTexLevelParameteriv, __glXDispSwap_GetTexLevelParameteriv},
+    /* [ 84] =   140 */ {__glXDisp_IsEnabled, __glXDispSwap_IsEnabled},
+    /* [ 85] =   141 */ {__glXDisp_IsList, __glXDispSwap_IsList},
+    /* [ 86] =   142 */ {__glXDisp_Flush, __glXDispSwap_Flush},
+    /* [ 87] =   143 */ {__glXDisp_AreTexturesResident, __glXDispSwap_AreTexturesResident},
+    /* [ 88] =   144 */ {NULL, NULL},
+    /* [ 89] =   145 */ {__glXDisp_GenTextures, __glXDispSwap_GenTextures},
+    /* [ 90] =   146 */ {__glXDisp_IsTexture, __glXDispSwap_IsTexture},
+    /* [ 91] =   147 */ {__glXDisp_GetColorTable, __glXDispSwap_GetColorTable},
+    /* [ 92] =   148 */ {__glXDisp_GetColorTableParameterfv, __glXDispSwap_GetColorTableParameterfv},
+    /* [ 93] =   149 */ {__glXDisp_GetColorTableParameteriv, __glXDispSwap_GetColorTableParameteriv},
+    /* [ 94] =   150 */ {__glXDisp_GetConvolutionFilter, __glXDispSwap_GetConvolutionFilter},
+    /* [ 95] =   151 */ {__glXDisp_GetConvolutionParameterfv, __glXDispSwap_GetConvolutionParameterfv},
+    /* [ 96] =   152 */ {__glXDisp_GetConvolutionParameteriv, __glXDispSwap_GetConvolutionParameteriv},
+    /* [ 97] =   153 */ {__glXDisp_GetSeparableFilter, __glXDispSwap_GetSeparableFilter},
+    /* [ 98] =   154 */ {__glXDisp_GetHistogram, __glXDispSwap_GetHistogram},
+    /* [ 99] =   155 */ {__glXDisp_GetHistogramParameterfv, __glXDispSwap_GetHistogramParameterfv},
+    /* [ 100] =   156 */ {__glXDisp_GetHistogramParameteriv, __glXDispSwap_GetHistogramParameteriv},
+    /* [ 101] =   157 */ {__glXDisp_GetMinmax, __glXDispSwap_GetMinmax},
+    /* [ 102] =   158 */ {__glXDisp_GetMinmaxParameterfv, __glXDispSwap_GetMinmaxParameterfv},
+    /* [ 103] =   159 */ {__glXDisp_GetMinmaxParameteriv, __glXDispSwap_GetMinmaxParameteriv},
+    /* [ 104] =   160 */ {__glXDisp_GetCompressedTexImageARB, __glXDispSwap_GetCompressedTexImageARB},
+    /* [ 105] =   161 */ {__glXDisp_DeleteQueriesARB, __glXDispSwap_DeleteQueriesARB},
+    /* [ 106] =   162 */ {__glXDisp_GenQueriesARB, __glXDispSwap_GenQueriesARB},
+    /* [ 107] =   163 */ {__glXDisp_IsQueryARB, __glXDispSwap_IsQueryARB},
+    /* [ 108] =   164 */ {__glXDisp_GetQueryivARB, __glXDispSwap_GetQueryivARB},
+    /* [ 109] =   165 */ {__glXDisp_GetQueryObjectivARB, __glXDispSwap_GetQueryObjectivARB},
+    /* [ 110] =   166 */ {__glXDisp_GetQueryObjectuivARB, __glXDispSwap_GetQueryObjectuivARB},
+    /* [ 111] =   167 */ {NULL, NULL},
+};
+
+const struct __glXDispatchInfo Single_dispatch_info = {
+    8,
+    Single_dispatch_tree,
+    Single_function_table,
+    NULL,
+    NULL
+};
+
+/*****************************************************************/
+/* tree depth = 13 */
+static const int_fast16_t VendorPriv_dispatch_tree[138] = {
+    /* [0] -> opcode range [0, 131072], node depth 1 */
+    2,
+    5,
+    EMPTY_LEAF,
+    102,
+    EMPTY_LEAF,
+
+    /* [5] -> opcode range [0, 32768], node depth 2 */
+    1,
+    8,
+    EMPTY_LEAF,
+
+    /* [8] -> opcode range [0, 16384], node depth 3 */
+    1,
+    11,
+    EMPTY_LEAF,
+
+    /* [11] -> opcode range [0, 8192], node depth 4 */
+    2,
+    16,
+    EMPTY_LEAF,
+    78,
+    EMPTY_LEAF,
+
+    /* [16] -> opcode range [0, 2048], node depth 5 */
+    2,
+    21,
+    EMPTY_LEAF,
+    39,
+    EMPTY_LEAF,
+
+    /* [21] -> opcode range [0, 512], node depth 6 */
+    1,
+    24,
+    EMPTY_LEAF,
+
+    /* [24] -> opcode range [0, 256], node depth 7 */
+    1,
+    27,
+    EMPTY_LEAF,
+
+    /* [27] -> opcode range [0, 128], node depth 8 */
+    1,
+    30,
+    EMPTY_LEAF,
+
+    /* [30] -> opcode range [0, 64], node depth 9 */
+    1,
+    33,
+    EMPTY_LEAF,
+
+    /* [33] -> opcode range [0, 32], node depth 10 */
+    1,
+    36,
+    EMPTY_LEAF,
+
+    /* [36] -> opcode range [0, 16], node depth 11 */
+    1,
+    EMPTY_LEAF,
+    LEAF(0),
+
+    /* [39] -> opcode range [1024, 1536], node depth 6 */
+    2,
+    44,
+    EMPTY_LEAF,
+    56,
+    67,
+
+    /* [44] -> opcode range [1024, 1152], node depth 7 */
+    1,
+    47,
+    EMPTY_LEAF,
+
+    /* [47] -> opcode range [1024, 1088], node depth 8 */
+    1,
+    50,
+    EMPTY_LEAF,
+
+    /* [50] -> opcode range [1024, 1056], node depth 9 */
+    1,
+    53,
+    EMPTY_LEAF,
+
+    /* [53] -> opcode range [1024, 1040], node depth 10 */
+    1,
+    LEAF(8),
+    EMPTY_LEAF,
+
+    /* [56] -> opcode range [1280, 1408], node depth 7 */
+    1,
+    59,
+    EMPTY_LEAF,
+
+    /* [59] -> opcode range [1280, 1344], node depth 8 */
+    1,
+    62,
+    EMPTY_LEAF,
+
+    /* [62] -> opcode range [1280, 1312], node depth 9 */
+    2,
+    EMPTY_LEAF,
+    LEAF(16),
+    LEAF(24),
+    LEAF(32),
+
+    /* [67] -> opcode range [1408, 1536], node depth 7 */
+    1,
+    70,
+    EMPTY_LEAF,
+
+    /* [70] -> opcode range [1408, 1472], node depth 8 */
+    1,
+    73,
+    EMPTY_LEAF,
+
+    /* [73] -> opcode range [1408, 1440], node depth 9 */
+    2,
+    EMPTY_LEAF,
+    LEAF(40),
+    LEAF(48),
+    EMPTY_LEAF,
+
+    /* [78] -> opcode range [4096, 6144], node depth 5 */
+    1,
+    EMPTY_LEAF,
+    81,
+
+    /* [81] -> opcode range [5120, 6144], node depth 6 */
+    1,
+    84,
+    EMPTY_LEAF,
+
+    /* [84] -> opcode range [5120, 5632], node depth 7 */
+    1,
+    87,
+    EMPTY_LEAF,
+
+    /* [87] -> opcode range [5120, 5376], node depth 8 */
+    1,
+    90,
+    EMPTY_LEAF,
+
+    /* [90] -> opcode range [5120, 5248], node depth 9 */
+    1,
+    93,
+    EMPTY_LEAF,
+
+    /* [93] -> opcode range [5120, 5184], node depth 10 */
+    1,
+    EMPTY_LEAF,
+    96,
+
+    /* [96] -> opcode range [5152, 5184], node depth 11 */
+    1,
+    99,
+    EMPTY_LEAF,
+
+    /* [99] -> opcode range [5152, 5168], node depth 12 */
+    1,
+    LEAF(56),
+    EMPTY_LEAF,
+
+    /* [102] -> opcode range [65536, 98304], node depth 2 */
+    1,
+    105,
+    EMPTY_LEAF,
+
+    /* [105] -> opcode range [65536, 81920], node depth 3 */
+    1,
+    108,
+    EMPTY_LEAF,
+
+    /* [108] -> opcode range [65536, 73728], node depth 4 */
+    1,
+    111,
+    EMPTY_LEAF,
+
+    /* [111] -> opcode range [65536, 69632], node depth 5 */
+    1,
+    114,
+    EMPTY_LEAF,
+
+    /* [114] -> opcode range [65536, 67584], node depth 6 */
+    1,
+    117,
+    EMPTY_LEAF,
+
+    /* [117] -> opcode range [65536, 66560], node depth 7 */
+    1,
+    120,
+    EMPTY_LEAF,
+
+    /* [120] -> opcode range [65536, 66048], node depth 8 */
+    1,
+    123,
+    EMPTY_LEAF,
+
+    /* [123] -> opcode range [65536, 65792], node depth 9 */
+    1,
+    126,
+    EMPTY_LEAF,
+
+    /* [126] -> opcode range [65536, 65664], node depth 10 */
+    1,
+    129,
+    EMPTY_LEAF,
+
+    /* [129] -> opcode range [65536, 65600], node depth 11 */
+    1,
+    132,
+    EMPTY_LEAF,
+
+    /* [132] -> opcode range [65536, 65568], node depth 12 */
+    1,
+    135,
+    EMPTY_LEAF,
+
+    /* [135] -> opcode range [65536, 65552], node depth 13 */
+    1,
+    LEAF(64),
+    EMPTY_LEAF,
+
+};
+
+static const __GLXdispatchVendorPrivProcPtr VendorPriv_function_table[72][2] = {
+    /* [  0] =     8 */ {NULL, NULL},
+    /* [  1] =     9 */ {NULL, NULL},
+    /* [  2] =    10 */ {NULL, NULL},
+    /* [  3] =    11 */ {__glXDisp_AreTexturesResidentEXT, __glXDispSwap_AreTexturesResidentEXT},
+    /* [  4] =    12 */ {__glXDisp_DeleteTextures, __glXDispSwap_DeleteTextures},
+    /* [  5] =    13 */ {__glXDisp_GenTexturesEXT, __glXDispSwap_GenTexturesEXT},
+    /* [  6] =    14 */ {__glXDisp_IsTextureEXT, __glXDispSwap_IsTextureEXT},
+    /* [  7] =    15 */ {NULL, NULL},
+    /* [  8] =  1024 */ {__glXDisp_QueryContextInfoEXT, __glXDispSwap_QueryContextInfoEXT},
+    /* [  9] =  1025 */ {NULL, NULL},
+    /* [ 10] =  1026 */ {NULL, NULL},
+    /* [ 11] =  1027 */ {NULL, NULL},
+    /* [ 12] =  1028 */ {NULL, NULL},
+    /* [ 13] =  1029 */ {NULL, NULL},
+    /* [ 14] =  1030 */ {NULL, NULL},
+    /* [ 15] =  1031 */ {NULL, NULL},
+    /* [ 16] =  1288 */ {NULL, NULL},
+    /* [ 17] =  1289 */ {NULL, NULL},
+    /* [ 18] =  1290 */ {NULL, NULL},
+    /* [ 19] =  1291 */ {NULL, NULL},
+    /* [ 20] =  1292 */ {NULL, NULL},
+    /* [ 21] =  1293 */ {__glXDisp_AreProgramsResidentNV, __glXDispSwap_AreProgramsResidentNV},
+    /* [ 22] =  1294 */ {__glXDisp_DeleteProgramsNV, __glXDispSwap_DeleteProgramsNV},
+    /* [ 23] =  1295 */ {__glXDisp_GenProgramsNV, __glXDispSwap_GenProgramsNV},
+    /* [ 24] =  1296 */ {__glXDisp_GetProgramEnvParameterfvARB, __glXDispSwap_GetProgramEnvParameterfvARB},
+    /* [ 25] =  1297 */ {__glXDisp_GetProgramEnvParameterdvARB, __glXDispSwap_GetProgramEnvParameterdvARB},
+    /* [ 26] =  1298 */ {__glXDisp_GetProgramivNV, __glXDispSwap_GetProgramivNV},
+    /* [ 27] =  1299 */ {__glXDisp_GetProgramStringNV, __glXDispSwap_GetProgramStringNV},
+    /* [ 28] =  1300 */ {__glXDisp_GetTrackMatrixivNV, __glXDispSwap_GetTrackMatrixivNV},
+    /* [ 29] =  1301 */ {__glXDisp_GetVertexAttribdvARB, __glXDispSwap_GetVertexAttribdvARB},
+    /* [ 30] =  1302 */ {__glXDisp_GetVertexAttribfvNV, __glXDispSwap_GetVertexAttribfvNV},
+    /* [ 31] =  1303 */ {__glXDisp_GetVertexAttribivNV, __glXDispSwap_GetVertexAttribivNV},
+    /* [ 32] =  1304 */ {__glXDisp_IsProgramNV, __glXDispSwap_IsProgramNV},
+    /* [ 33] =  1305 */ {__glXDisp_GetProgramLocalParameterfvARB, __glXDispSwap_GetProgramLocalParameterfvARB},
+    /* [ 34] =  1306 */ {__glXDisp_GetProgramLocalParameterdvARB, __glXDispSwap_GetProgramLocalParameterdvARB},
+    /* [ 35] =  1307 */ {__glXDisp_GetProgramivARB, __glXDispSwap_GetProgramivARB},
+    /* [ 36] =  1308 */ {__glXDisp_GetProgramStringARB, __glXDispSwap_GetProgramStringARB},
+    /* [ 37] =  1309 */ {NULL, NULL},
+    /* [ 38] =  1310 */ {__glXDisp_GetProgramNamedParameterfvNV, __glXDispSwap_GetProgramNamedParameterfvNV},
+    /* [ 39] =  1311 */ {__glXDisp_GetProgramNamedParameterdvNV, __glXDispSwap_GetProgramNamedParameterdvNV},
+    /* [ 40] =  1416 */ {NULL, NULL},
+    /* [ 41] =  1417 */ {NULL, NULL},
+    /* [ 42] =  1418 */ {NULL, NULL},
+    /* [ 43] =  1419 */ {NULL, NULL},
+    /* [ 44] =  1420 */ {NULL, NULL},
+    /* [ 45] =  1421 */ {NULL, NULL},
+    /* [ 46] =  1422 */ {__glXDisp_IsRenderbufferEXT, __glXDispSwap_IsRenderbufferEXT},
+    /* [ 47] =  1423 */ {__glXDisp_GenRenderbuffersEXT, __glXDispSwap_GenRenderbuffersEXT},
+    /* [ 48] =  1424 */ {__glXDisp_GetRenderbufferParameterivEXT, __glXDispSwap_GetRenderbufferParameterivEXT},
+    /* [ 49] =  1425 */ {__glXDisp_IsFramebufferEXT, __glXDispSwap_IsFramebufferEXT},
+    /* [ 50] =  1426 */ {__glXDisp_GenFramebuffersEXT, __glXDispSwap_GenFramebuffersEXT},
+    /* [ 51] =  1427 */ {__glXDisp_CheckFramebufferStatusEXT, __glXDispSwap_CheckFramebufferStatusEXT},
+    /* [ 52] =  1428 */ {__glXDisp_GetFramebufferAttachmentParameterivEXT, __glXDispSwap_GetFramebufferAttachmentParameterivEXT},
+    /* [ 53] =  1429 */ {NULL, NULL},
+    /* [ 54] =  1430 */ {NULL, NULL},
+    /* [ 55] =  1431 */ {NULL, NULL},
+    /* [ 56] =  5152 */ {__glXDisp_BindTexImageEXT, __glXDispSwap_BindTexImageEXT},
+    /* [ 57] =  5153 */ {__glXDisp_ReleaseTexImageEXT, __glXDispSwap_ReleaseTexImageEXT},
+    /* [ 58] =  5154 */ {NULL, NULL},
+    /* [ 59] =  5155 */ {NULL, NULL},
+    /* [ 60] =  5156 */ {NULL, NULL},
+    /* [ 61] =  5157 */ {NULL, NULL},
+    /* [ 62] =  5158 */ {NULL, NULL},
+    /* [ 63] =  5159 */ {NULL, NULL},
+    /* [ 64] = 65536 */ {NULL, NULL},
+    /* [ 65] = 65537 */ {__glXDisp_MakeCurrentReadSGI, __glXDispSwap_MakeCurrentReadSGI},
+    /* [ 66] = 65538 */ {NULL, NULL},
+    /* [ 67] = 65539 */ {NULL, NULL},
+    /* [ 68] = 65540 */ {__glXDisp_GetFBConfigsSGIX, __glXDispSwap_GetFBConfigsSGIX},
+    /* [ 69] = 65541 */ {__glXDisp_CreateContextWithConfigSGIX, __glXDispSwap_CreateContextWithConfigSGIX},
+    /* [ 70] = 65542 */ {__glXDisp_CreateGLXPixmapWithConfigSGIX, __glXDispSwap_CreateGLXPixmapWithConfigSGIX},
+    /* [ 71] = 65543 */ {NULL, NULL},
+};
+
+const struct __glXDispatchInfo VendorPriv_dispatch_info = {
+    17,
+    VendorPriv_dispatch_tree,
+    VendorPriv_function_table,
+    NULL,
+    NULL
+};
+
diff --git a/GL/glx/indirect_table.h b/GL/glx/indirect_table.h
new file mode 100644
index 0000000..a2562a0
--- /dev/null
+++ b/GL/glx/indirect_table.h
@@ -0,0 +1,106 @@
+/*
+ * (C) Copyright IBM Corporation 2005, 2006
+ * All Rights Reserved.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sub license,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ * 
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+ * IBM,
+ * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+/**
+ * \file indirect_table.h
+ *
+ * \author Ian Romanick <idr at us.ibm.com>
+ */
+
+#ifndef INDIRECT_TABLE_H
+#define INDIRECT_TABLE_H
+
+#include <inttypes.h>
+
+/**
+ */
+struct __glXDispatchInfo {
+    /**
+     * Number of significant bits in the protocol opcode.  Opcodes with values
+     * larger than ((1 << bits) - 1) are invalid.
+     */
+    unsigned bits;
+
+    /**
+     */
+    const int_fast16_t * dispatch_tree;
+    
+    /**
+     * Array of protocol decode and dispatch functions index by the opcode
+     * search tree (i.e., \c dispatch_tree).  The first element in each pair
+     * is the non-byte-swapped version, and the second element is the
+     * byte-swapped version.
+     */
+    void * const (*dispatch_functions)[2];
+
+    /**
+     * Pointer to size validation data.  This table is indexed with the same
+     * value as ::dispatch_functions.
+     *
+     * The first element in the pair is the size, in bytes, of the fixed-size
+     * portion of the protocol.
+     *
+     * For opcodes that have a variable-size portion, the second value is an
+     * index in \c size_func_table to calculate that size.  If there is no
+     * variable-size portion, this index will be ~0.
+     *
+     * \note
+     * If size checking is not to be performed on this type of protocol
+     * data, this pointer will be \c NULL.
+     */
+    const int_fast16_t * size_table[2];
+
+    /**
+     * Array of functions used to calculate the variable-size portion of
+     * protocol messages.  Indexed by the second element of the entries
+     * in \c ::size_table.
+     *
+     * \note
+     * If size checking is not to be performed on this type of protocol
+     * data, this pointer will be \c NULL.
+     */
+    const gl_proto_size_func * size_func_table;
+};
+
+/**
+ * Sentinel value for an empty leaf in the \c dispatch_tree.
+ */
+#define EMPTY_LEAF         INT_FAST16_MIN
+
+/**
+ * Declare the index \c x as a leaf index.
+ */
+#define LEAF(x)            -x
+
+/**
+ * Determine if an index is a leaf index.
+ */
+#define IS_LEAF_INDEX(x)   ((x) <= 0)
+
+extern const struct __glXDispatchInfo Single_dispatch_info;
+extern const struct __glXDispatchInfo Render_dispatch_info;
+extern const struct __glXDispatchInfo VendorPriv_dispatch_info;
+
+#endif /* INDIRECT_TABLE_H */
diff --git a/GL/glx/indirect_util.c b/GL/glx/indirect_util.c
index bab0226..3964cd5 100644
--- a/GL/glx/indirect_util.c
+++ b/GL/glx/indirect_util.c
@@ -52,6 +52,7 @@
 #include "glthread.h"
 #include "dispatch.h"
 #include "glxext.h"
+#include "indirect_table.h"
 #include "indirect_util.h"
 
 
@@ -204,3 +205,113 @@ __glXSendReplySwap( ClientPtr client, co
         WriteToClient( client, reply_ints * 4, (char *) data );
     }
 }
+
+
+static int
+get_decode_index(const struct __glXDispatchInfo *dispatch_info,
+		 unsigned opcode)
+{
+    int remaining_bits;
+    int next_remain;
+    const int_fast16_t * const tree = dispatch_info->dispatch_tree;
+    int_fast16_t index;
+
+
+    remaining_bits = dispatch_info->bits;
+    if (opcode >= (1U << remaining_bits)) {
+	return -1;
+    }
+    
+    index = 0;
+    for (/* empty */; remaining_bits > 0; remaining_bits = next_remain) {
+	unsigned mask;
+	unsigned child_index;
+
+
+	/* Calculate the slice of bits used by this node.
+	 * 
+	 * If remaining_bits = 8 and tree[index] = 3, the mask of just the
+	 * remaining bits is 0x00ff and the mask for the remaining bits after
+	 * this node is 0x001f.  By taking 0x00ff & ~0x001f, we get 0x00e0.
+	 * This masks the 3 bits that we would want for this node.
+	 */
+
+	next_remain = remaining_bits - tree[index];
+	mask = ((1 << remaining_bits) - 1) &
+	  ~((1 << next_remain) - 1);
+
+
+	/* Using the mask, calculate the index of the opcode in the node.
+	 * With that index, fetch the index of the next node.
+	 */
+
+	child_index = (opcode & mask) >> next_remain;
+	index = tree[index + 1 + child_index];
+
+
+	/* If the next node is an empty leaf, the opcode is for a non-existant
+	 * function.  We're done.
+	 *
+	 * If the next node is a non-empty leaf, look up the function pointer
+	 * and return it.
+	 */
+
+	if (index == EMPTY_LEAF) {
+	    return -1;
+	}
+	else if (IS_LEAF_INDEX(index)) {
+	    unsigned func_index;
+
+
+	    /* The value stored in the tree for a leaf node is the base of
+	     * the function pointers for that leaf node.  The offset for the
+	     * function for a particular opcode is the remaining bits in the
+	     * opcode.
+	     */
+
+	    func_index = -index;
+	    func_index += opcode & ((1 << next_remain) - 1);
+	    return func_index;
+	}
+    }
+
+    /* We should *never* get here!!!
+     */
+    return -1;
+}
+
+
+void *
+__glXGetProtocolDecodeFunction(const struct __glXDispatchInfo *dispatch_info,
+			       int opcode, int swapped_version)
+{
+    const int func_index = get_decode_index(dispatch_info, opcode);
+
+    return (func_index < 0) 
+	? NULL 
+	: dispatch_info->dispatch_functions[func_index][swapped_version];
+}
+
+
+int
+__glXGetProtocolSizeData(const struct __glXDispatchInfo *dispatch_info,
+			 int opcode, __GLXrenderSizeData *data)
+{
+    if (dispatch_info->size_table != NULL) {
+	const int func_index = get_decode_index(dispatch_info, opcode);
+
+	if (func_index >= 0) {
+	    const int var_offset = 
+		dispatch_info->size_table[func_index][1];
+
+	    data->bytes = dispatch_info->size_table[func_index][0];
+	    data->varsize = (var_offset != ~0)
+		? dispatch_info->size_table[func_index]
+		: NULL;
+
+	    return 0;
+	}
+    }
+
+    return -1;
+}
diff --git a/GL/glx/indirect_util.h b/GL/glx/indirect_util.h
index 3abe81f..b00727a 100644
--- a/GL/glx/indirect_util.h
+++ b/GL/glx/indirect_util.h
@@ -40,4 +40,14 @@ extern void __glXSendReplySwap( ClientPt
     size_t elements, size_t element_size, GLboolean always_array,
     CARD32 retval );
 
+struct __glXDispatchInfo;
+
+extern void *__glXGetProtocolDecodeFunction(
+    const struct __glXDispatchInfo *dispatch_info, int opcode,
+    int swapped_version);
+
+extern int __glXGetProtocolSizeData(
+    const struct __glXDispatchInfo *dispatch_info, int opcode,
+    __GLXrenderSizeData *data);
+
 #endif /* __GLX_INDIRECT_UTIL_H__ */
diff --git a/GL/glx/single2.c b/GL/glx/single2.c
index 3387af2..357cd31 100644
--- a/GL/glx/single2.c
+++ b/GL/glx/single2.c
@@ -392,3 +392,13 @@ int __glXDisp_GetString(__GLXclientState
 {
     return DoGetString(cl, pc, GL_FALSE);
 }
+
+int __glXDisp_GetProgramStringARB(__GLXclientState *cl, GLbyte *pc)
+{
+    return BadRequest;
+}
+
+int __glXDisp_GetProgramStringNV(__GLXclientState *cl, GLbyte *pc)
+{
+    return BadRequest;
+}
diff --git a/GL/glx/single2swap.c b/GL/glx/single2swap.c
index 41a42bb..6d5e5ce 100644
--- a/GL/glx/single2swap.c
+++ b/GL/glx/single2swap.c
@@ -270,3 +270,13 @@ int __glXDispSwap_GetString(__GLXclientS
 {
     return DoGetString(cl, pc, GL_TRUE);
 }
+
+int __glXDispSwap_GetProgramStringARB(__GLXclientState *cl, GLbyte *pc)
+{
+    return BadRequest;
+}
+
+int __glXDispSwap_GetProgramStringNV(__GLXclientState *cl, GLbyte *pc)
+{
+    return BadRequest;
+}
diff --git a/GL/glx/singlepix.c b/GL/glx/singlepix.c
index ae64db4..10a16b1 100644
--- a/GL/glx/singlepix.c
+++ b/GL/glx/singlepix.c
@@ -462,3 +462,8 @@ int __glXDisp_GetColorTable(__GLXclientS
 
     return Success;
 }
+
+int __glXDisp_GetCompressedTexImageARB(__GLXclientState *cl, GLbyte *pc)
+{
+    return BadRequest;
+}
diff --git a/GL/glx/singlepixswap.c b/GL/glx/singlepixswap.c
index 59d1a69..b22dc5f 100644
--- a/GL/glx/singlepixswap.c
+++ b/GL/glx/singlepixswap.c
@@ -517,3 +517,8 @@ int __glXDispSwap_GetColorTable(__GLXcli
 
     return Success;
 }
+
+int __glXDispSwap_GetCompressedTexImageARB(__GLXclientState *cl, GLbyte *pc)
+{
+    return BadRequest;
+}
diff --git a/GL/glx/xfont.c b/GL/glx/xfont.c
index 89ff95b..b24c77d 100644
--- a/GL/glx/xfont.c
+++ b/GL/glx/xfont.c
@@ -47,6 +47,7 @@
 #include "glapi.h"
 #include "glthread.h"
 #include "dispatch.h"
+#include "indirect_dispatch.h"
 #include <GL/gl.h>
 #include <pixmapstr.h>
 #include <windowstr.h>
@@ -156,7 +157,7 @@ MakeBitmapsFromFont(FontPtr pFont, int f
 
 /************************************************************************/
 
-int __glXUseXFont(__GLXclientState *cl, GLbyte *pc)
+int __glXDisp_UseXFont(__GLXclientState *cl, GLbyte *pc)
 {
     ClientPtr client = cl->client;
     xGLXUseXFontReq *req;
diff-tree bdec9680fa74dd23cf319d09af1940f8cf71a5b1 (from 9f2a108051aad9b024ab737b45fc12290a113e37)
Author: Adam Jackson <ajax at benzedrine.nwnk.net>
Date:   Wed Aug 23 14:43:23 2006 -0400

    Make sure Composite is never enabled for Xnest.

diff --git a/hw/xnest/Args.c b/hw/xnest/Args.c
index 0aa0ca4..5d0a0c0 100644
--- a/hw/xnest/Args.c
+++ b/hw/xnest/Args.c
@@ -58,6 +58,13 @@ void ddxInitGlobals(void)
 int
 ddxProcessArgument (int argc, char *argv[], int i)
 {
+
+#ifdef COMPOSITE
+    /* XXX terrible hack */
+    extern Bool noCompositeExtension;
+    noCompositeExtension = TRUE;
+#endif
+
   if (!strcmp(argv[i], "-display")) {
     if (++i < argc) {
       xnestDisplayName = argv[i];
diff-tree 9f2a108051aad9b024ab737b45fc12290a113e37 (from a1ac0440bba690368aa4226468ce571be1a09d95)
Author: Adam Jackson <ajax at benzedrine.nwnk.net>
Date:   Wed Aug 23 14:38:34 2006 -0400

    Make 'Xvfb -render' also disable Composite, lest we segfault on startup.

diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c
index b8253f6..a2d8661 100644
--- a/hw/vfb/InitOutput.c
+++ b/hw/vfb/InitOutput.c
@@ -364,6 +364,9 @@ ddxProcessArgument(int argc, char *argv[
     if (strcmp (argv[i], "-render") == 0)	/* -render */
     {
 	Render = FALSE;
+#ifdef COMPOSITE
+	noCompositeExtension = TRUE;
+#endif
 	return 1;
     }
 
diff-tree 73e58adda96c1d1b5176d819107faa7697c3eb94 (from a815b9b990e068f02d9cbba2b17f2cc3a30a9310)
Author: Matthias Hopf <mhopf at suse.de>
Date:   Wed Aug 16 18:17:58 2006 +0200

    Fixed segfault w/ broken Xinerama configs.

diff --git a/hw/xfree86/common/xf86Cursor.c b/hw/xfree86/common/xf86Cursor.c
index 14e0fcd..61f0ce5 100644
--- a/hw/xfree86/common/xf86Cursor.c
+++ b/hw/xfree86/common/xf86Cursor.c
@@ -576,24 +576,40 @@ xf86InitOrigins(void)
 		/* force edge lists */
 		if(screen->left) {
 		    ref = screen->left->screennum;
+		    if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
+			ErrorF("Referenced uninitialized screen in Layout!\n");
+			break;
+		    }
 		    pLayout->left = AddEdge(pLayout->left, 
 			0, xf86Screens[i]->pScreen->height,
 			xf86Screens[ref]->pScreen->width, 0, ref);
 		}
 		if(screen->right) {
 		    ref = screen->right->screennum;
+		    if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
+			ErrorF("Referenced uninitialized screen in Layout!\n");
+			break;
+		    }
 		    pScreen = xf86Screens[i]->pScreen;
 		    pLayout->right = AddEdge(pLayout->right, 
 			0, pScreen->height, -pScreen->width, 0, ref);
 		}
 		if(screen->top) {
 		    ref = screen->top->screennum;
+		    if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
+			ErrorF("Referenced uninitialized screen in Layout!\n");
+			break;
+		    }
 		    pLayout->up = AddEdge(pLayout->up, 
 			0, xf86Screens[i]->pScreen->width,
 			0, xf86Screens[ref]->pScreen->height, ref);
 		}
 		if(screen->bottom) {
 		    ref = screen->bottom->screennum;
+		    if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
+			ErrorF("Referenced uninitialized screen in Layout!\n");
+			break;
+		    }
 		    pScreen = xf86Screens[i]->pScreen;
 		    pLayout->down = AddEdge(pLayout->down, 
 			0, pScreen->width, 0, -pScreen->height, ref);
@@ -609,6 +625,10 @@ xf86InitOrigins(void)
 		break;
 	    case PosRelative:
 		ref = screen->refscreen->screennum;
+		if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
+		    ErrorF("Referenced uninitialized screen in Layout!\n");
+		    break;
+		}
 		if(screensLeft & (1 << ref)) break;
 		dixScreenOrigins[i].x = dixScreenOrigins[ref].x + screen->x;
 		dixScreenOrigins[i].y = dixScreenOrigins[ref].y + screen->y;
@@ -616,6 +636,10 @@ xf86InitOrigins(void)
 		break;
 	    case PosRightOf:
 		ref = screen->refscreen->screennum;
+		if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
+		    ErrorF("Referenced uninitialized screen in Layout!\n");
+		    break;
+		}
 		if(screensLeft & (1 << ref)) break;
 		pScreen = xf86Screens[ref]->pScreen;
 		dixScreenOrigins[i].x = 
@@ -625,6 +649,10 @@ xf86InitOrigins(void)
 		break;
 	    case PosLeftOf:
 		ref = screen->refscreen->screennum;
+		if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
+		    ErrorF("Referenced uninitialized screen in Layout!\n");
+		    break;
+		}
 		if(screensLeft & (1 << ref)) break;
 		pScreen = xf86Screens[i]->pScreen;
 		dixScreenOrigins[i].x = 
@@ -634,6 +662,10 @@ xf86InitOrigins(void)
 		break;
 	    case PosBelow:
 		ref = screen->refscreen->screennum;
+		if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
+		    ErrorF("Referenced uninitialized screen in Layout!\n");
+		    break;
+		}
 		if(screensLeft & (1 << ref)) break;
 		pScreen = xf86Screens[ref]->pScreen;
 		dixScreenOrigins[i].x = dixScreenOrigins[ref].x;
@@ -643,6 +675,10 @@ xf86InitOrigins(void)
 		break;
 	    case PosAbove:
 		ref = screen->refscreen->screennum;
+		if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
+		    ErrorF("Referenced uninitialized screen in Layout!\n");
+		    break;
+		}
 		if(screensLeft & (1 << ref)) break;
 		pScreen = xf86Screens[i]->pScreen;
 		dixScreenOrigins[i].x = dixScreenOrigins[ref].x;



More information about the xorg-commit mailing list