xserver: Branch 'mpx' - 33 commits

Peter Hutterer whot at kemper.freedesktop.org
Mon May 26 01:25:17 PDT 2008


 .gitignore                                |    8 
 GL/Makefile.am                            |    9 
 GL/glx/.gitignore                         |   13 
 GL/glx/Makefile.am                        |   88 
 GL/glx/extension_string.c                 |  165 
 GL/glx/extension_string.h                 |   63 
 GL/glx/g_disptab.h                        |   51 
 GL/glx/glxbyteorder.h                     |   61 
 GL/glx/glxcmds.c                          | 2383 ----------
 GL/glx/glxcmdsswap.c                      |  778 ---
 GL/glx/glxcontext.h                       |  150 
 GL/glx/glxdrawable.h                      |  101 
 GL/glx/glxdri.c                           | 1183 -----
 GL/glx/glxdri2.c                          |  762 ---
 GL/glx/glxext.c                           |  501 --
 GL/glx/glxext.h                           |   92 
 GL/glx/glxglcore.c                        |  528 --
 GL/glx/glxscreens.c                       |  601 --
 GL/glx/glxscreens.h                       |  184 
 GL/glx/glxserver.h                        |  266 -
 GL/glx/glxutil.c                          |  154 
 GL/glx/glxutil.h                          |   63 
 GL/glx/indirect_program.c                 |  150 
 GL/glx/indirect_table.h                   |  106 
 GL/glx/indirect_texture_compression.c     |  120 
 GL/glx/indirect_util.c                    |  310 -
 GL/glx/indirect_util.h                    |   53 
 GL/glx/render2.c                          |  264 -
 GL/glx/render2swap.c                      |  375 -
 GL/glx/renderpix.c                        |   75 
 GL/glx/renderpixswap.c                    |   93 
 GL/glx/rensize.c                          |  423 -
 GL/glx/single2.c                          |  394 -
 GL/glx/single2swap.c                      |  272 -
 GL/glx/singlepix.c                        |  533 --
 GL/glx/singlepixswap.c                    |  584 --
 GL/glx/singlesize.c                       |  198 
 GL/glx/singlesize.h                       |   59 
 GL/glx/swap_interval.c                    |   92 
 GL/glx/unpack.h                           |  239 -
 GL/glx/xfont.c                            |  201 
 GL/symlink-mesa.sh                        |  180 
 GL/windows/ChangeLog                      |   64 
 GL/windows/glwindows.h                    |   64 
 GL/windows/glwrap.c                       |  583 --
 GL/windows/indirect.c                     | 1605 -------
 Makefile.am                               |   10 
 Xext/panoramiX.c                          |    8 
 afb/Makefile.am                           |   51 
 afb/README                                |   10 
 afb/Xdaniver.doc                          |  218 
 afb/afb.h                                 |  972 ----
 afb/afbbitblt.c                           |  343 -
 afb/afbblt.c                              |  563 --
 afb/afbbres.c                             |  323 -
 afb/afbbresd.c                            |  214 
 afb/afbclip.c                             |  248 -
 afb/afbcmap.c                             |   84 
 afb/afbfillarc.c                          |  347 -
 afb/afbfillrct.c                          |  292 -
 afb/afbfillsp.c                           | 1130 -----
 afb/afbfont.c                             |   77 
 afb/afbgc.c                               |  685 ---
 afb/afbgetsp.c                            |  165 
 afb/afbhrzvert.c                          |  209 
 afb/afbimage.c                            |  272 -
 afb/afbimggblt.c                          |  472 --
 afb/afbline.c                             |  707 ---
 afb/afbmisc.c                             |   94 
 afb/afbpixmap.c                           |  299 -
 afb/afbply1rct.c                          |  300 -
 afb/afbplygblt.c                          |  463 --
 afb/afbpntarea.c                          |  655 --
 afb/afbpolypnt.c                          |  146 
 afb/afbpushpxl.c                          |  169 
 afb/afbscrinit.c                          |  218 
 afb/afbsetsp.c                            |  257 -
 afb/afbtegblt.c                           |  586 --
 afb/afbtile.c                             |  857 ---
 afb/afbwindow.c                           |  164 
 afb/afbzerarc.c                           |  201 
 configure.ac                              |   64 
 dix/Makefile.am                           |    7 
 dix/main.c                                |    1 
 dix/xpstubs.c                             |   50 
 exa/exa.c                                 |   17 
 exa/exa_accel.c                           |   72 
 exa/exa_migration.c                       |    8 
 exa/exa_priv.h                            |    1 
 exa/exa_unaccel.c                         |    5 
 glx/Makefile.am                           |   88 
 glx/dispatch.h                            | 3829 +++++++++++++++++
 glx/extension_string.c                    |  165 
 glx/extension_string.h                    |   63 
 glx/g_disptab.h                           |   51 
 glx/glapi.c                               | 1064 ++++
 glx/glapi.h                               |  160 
 glx/glapioffsets.h                        | 1174 +++++
 glx/glapitable.h                          |  816 +++
 glx/glapitemp.h                           | 6655 ++++++++++++++++++++++++++++++
 glx/glprocs.h                             | 2260 ++++++++++
 glx/glthread.c                            |  378 +
 glx/glthread.h                            |  319 +
 glx/glxbyteorder.h                        |   61 
 glx/glxcmds.c                             | 2383 ++++++++++
 glx/glxcmdsswap.c                         |  778 +++
 glx/glxcontext.h                          |  150 
 glx/glxdrawable.h                         |  101 
 glx/glxdri.c                              | 1156 +++++
 glx/glxdri2.c                             |  584 ++
 glx/glxdricommon.c                        |  209 
 glx/glxdricommon.h                        |   40 
 glx/glxdriswrast.c                        |  544 ++
 glx/glxext.c                              |  501 ++
 glx/glxext.h                              |   92 
 glx/glxscreens.c                          |  604 ++
 glx/glxscreens.h                          |  184 
 glx/glxserver.h                           |  266 +
 glx/glxutil.c                             |  148 
 glx/glxutil.h                             |   63 
 glx/indirect_dispatch.c                   | 5889 ++++++++++++++++++++++++++
 glx/indirect_dispatch.h                   | 1047 ++++
 glx/indirect_dispatch_swap.c              | 6051 +++++++++++++++++++++++++++
 glx/indirect_program.c                    |  150 
 glx/indirect_reqsize.c                    |  832 +++
 glx/indirect_reqsize.h                    |  121 
 glx/indirect_size.h                       |   88 
 glx/indirect_size_get.c                   | 1210 +++++
 glx/indirect_size_get.h                   |  102 
 glx/indirect_table.c                      | 1596 +++++++
 glx/indirect_table.h                      |  106 
 glx/indirect_texture_compression.c        |  120 
 glx/indirect_util.c                       |  310 +
 glx/indirect_util.h                       |   53 
 glx/render2.c                             |  264 +
 glx/render2swap.c                         |  375 +
 glx/renderpix.c                           |   75 
 glx/renderpixswap.c                       |   93 
 glx/rensize.c                             |  423 +
 glx/single2.c                             |  394 +
 glx/single2swap.c                         |  272 +
 glx/singlepix.c                           |  533 ++
 glx/singlepixswap.c                       |  584 ++
 glx/singlesize.c                          |  198 
 glx/singlesize.h                          |   59 
 glx/swap_interval.c                       |   92 
 glx/unpack.h                              |  239 +
 glx/xfont.c                               |  201 
 hw/dmx/dmxinit.c                          |    7 
 hw/dmx/glxProxy/glxext.c                  |    2 
 hw/kdrive/ephyr/Makefile.am               |    4 
 hw/kdrive/ephyr/ephyrglxext.c             |    8 
 hw/kdrive/fake/Makefile.am                |    4 
 hw/kdrive/fbdev/Makefile.am               |    4 
 hw/kdrive/sdl/Makefile.am                 |    4 
 hw/kdrive/src/kdrive.c                    |    2 
 hw/kdrive/vesa/Makefile.am                |    4 
 hw/vfb/InitOutput.c                       |    5 
 hw/xfree86/common/xf86Init.c              |    5 
 hw/xfree86/dixmods/Makefile.am            |   17 
 hw/xfree86/dixmods/afbmodule.c            |   57 
 hw/xfree86/dixmods/extmod/Makefile.am     |    1 
 hw/xfree86/dixmods/glxmodule.c            |    2 
 hw/xfree86/dri/Makefile.am                |    3 
 hw/xfree86/dri2/Makefile.am               |    2 
 hw/xfree86/exa/exa.man.pre                |    6 
 hw/xfree86/exa/examodule.c                |    2 
 hw/xfree86/modes/xf86Crtc.c               |    1 
 hw/xfree86/os-support/bsd/bsd_init.c      |    2 
 hw/xfree86/os-support/linux/int10/linux.c |    4 
 hw/xgl/Makefile.am                        |    2 
 hw/xgl/glx/Makefile.am                    |    2 
 hw/xgl/glx/xglxinit.c                     |    4 
 hw/xgl/glxext/Makefile.am                 |    2 
 hw/xgl/glxext/module/Makefile.am          |    2 
 hw/xgl/xglinit.c                          |    4 
 hw/xnest/Args.c                           |   10 
 hw/xnest/Makefile.am                      |    1 
 hw/xquartz/GL/Makefile.am                 |    2 
 hw/xquartz/GL/indirect.c                  |   10 
 hw/xquartz/X11Application.m               |   11 
 hw/xquartz/darwin.c                       |    9 
 hw/xquartz/mach-startup/bundle-main.c     |   69 
 hw/xquartz/mach-startup/stub.c            |   15 
 hw/xwin/InitOutput.c                      |    5 
 hw/xwin/Makefile.am                       |    7 
 hw/xwin/glx/ChangeLog                     |   64 
 hw/xwin/glx/glwindows.h                   |   64 
 hw/xwin/glx/glwrap.c                      |  583 ++
 hw/xwin/glx/indirect.c                    | 1605 +++++++
 include/dix-config.h.in                   |    3 
 include/os.h                              |    4 
 include/xorg-config.h.in                  |    3 
 mi/miinitext.c                            |    5 
 os/connection.c                           |   14 
 os/utils.c                                |   11 
 196 files changed, 48866 insertions(+), 27429 deletions(-)

New commits:
commit 26c1958c322be3ac4dfec9ba2c41c5202bd03709
Merge: 5fe5778... 2958610...
Author: Peter Hutterer <peter at cs.unisa.edu.au>
Date:   Mon May 26 17:37:31 2008 +0930

    Merge branch 'master' into mpx

commit 29586101dc11d498b212510f8dedbfeca7f8c859
Author: Michel Dänzer <michel at tungstengraphics.com>
Date:   Sat May 24 20:01:41 2008 +0200

    EXA: Only record damage generated by rendering operations.
    
    Recording damage from other operations (e.g. creating a client damage record)
    may confuse the migration code resulting in corruption.
    
    Option "EXAOptimizeMigration" appears safe now, so enable it by default. Also
    remove it from the manpage, as it should only be necessary on request in the
    course of bug report diagnostics anymore.

diff --git a/exa/exa.c b/exa/exa.c
index 809fb4b..fc04748 100644
--- a/exa/exa.c
+++ b/exa/exa.c
@@ -261,6 +261,21 @@ exaSetFbPitch(ExaScreenPrivPtr pExaScr, ExaPixmapPrivPtr pExaPixmap,
                                      pExaScr->info->pixmapPitchAlign);
 }
 
+
+static void
+ExaDamageReport(DamagePtr pDamage, RegionPtr pReg, void *pClosure)
+{
+    PixmapPtr pPixmap = pClosure;
+    ExaPixmapPriv(pPixmap);
+    RegionPtr pDamageReg = DamageRegion(pDamage);
+
+    if (pExaPixmap->pendingDamage) {
+	REGION_UNION(pScreen, pDamageReg, pDamageReg, pReg);
+	pExaPixmap->pendingDamage = FALSE;
+    }
+}
+
+
 /**
  * exaCreatePixmap() creates a new pixmap.
  *
@@ -352,7 +367,7 @@ exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth,
     pExaPixmap->area = NULL;
 
     /* Set up damage tracking */
-    pExaPixmap->pDamage = DamageCreate (NULL, NULL, DamageReportNone, TRUE,
+    pExaPixmap->pDamage = DamageCreate (ExaDamageReport, NULL, DamageReportRawRegion, TRUE,
 					pScreen, pPixmap);
 
     if (pExaPixmap->pDamage == NULL) {
diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index edaec23..1dbb269 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -262,6 +262,7 @@ exaDoShmPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth,
     if (format == ZPixmap)
     {
 	PixmapPtr pPixmap;
+	ExaPixmapPriv(exaGetDrawablePixmap(pDrawable));
 
 	pPixmap = GetScratchPixmapHeader(pDrawable->pScreen, w, h, depth,
 		BitsPerPixel(depth), PixmapBytePad(w, depth), (pointer)data);
@@ -272,7 +273,8 @@ exaDoShmPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth,
 				  pGC->alu))
 	    exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
 	else
-	    ExaDoPrepareAccess (pDrawable, EXA_PREPARE_DEST);
+	    exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST,
+				 DamagePendingRegion(pExaPixmap->pDamage));
 	fbCopyArea((DrawablePtr)pPixmap, pDrawable, pGC, sx, sy, sw, sh, dx, dy);
 	exaFinishAccess(pDrawable, EXA_PREPARE_DEST);
 
@@ -316,7 +318,7 @@ exaShmPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth, unsigned int format,
 				  pGC->alu))
 	    exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
 	else
-	    ExaDoPrepareAccess (pDrawable, EXA_PREPARE_DEST);
+	    exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST, &region);
 	fbShmPutImage(pDrawable, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy,
 		      data);
 	exaFinishAccess(pDrawable, EXA_PREPARE_DEST);
diff --git a/exa/exa_migration.c b/exa/exa_migration.c
index 5f22474..3c79f68 100644
--- a/exa/exa_migration.c
+++ b/exa/exa_migration.c
@@ -301,6 +301,9 @@ exaDoMoveInPixmap (ExaMigrationPtr migrate)
     ExaScreenPriv (pScreen);
     ExaPixmapPriv (pPixmap);
 
+    if (migrate->as_dst)
+	pExaPixmap->pendingDamage = TRUE;
+
     /* If we're VT-switched away, no touching card memory allowed. */
     if (pExaScr->swappedOut)
 	return;
@@ -369,6 +372,9 @@ exaDoMoveOutPixmap (ExaMigrationPtr migrate)
     PixmapPtr pPixmap = migrate->pPix;
     ExaPixmapPriv (pPixmap);
 
+    if (migrate->as_dst)
+	pExaPixmap->pendingDamage = TRUE;
+
     if (!pExaPixmap->area || exaPixmapIsPinned(pPixmap))
 	return;
 
diff --git a/exa/exa_priv.h b/exa/exa_priv.h
index f3b72ae..9ec2a56 100644
--- a/exa/exa_priv.h
+++ b/exa/exa_priv.h
@@ -226,6 +226,7 @@ typedef struct {
      * location.
      */
     DamagePtr	    pDamage;
+    Bool	    pendingDamage;
     /**
      * The valid regions mark the valid bits (at least, as they're derived from
      * damage, which may be overreported) of a pixmap's system and FB copies.
diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c
index c55ef03..5a25764 100644
--- a/exa/exa_unaccel.c
+++ b/exa/exa_unaccel.c
@@ -97,12 +97,15 @@ ExaCheckPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth,
 		 int x, int y, int w, int h, int leftPad, int format,
 		 char *bits)
 {
+    ExaPixmapPriv(exaGetDrawablePixmap(pDrawable));
+
     EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
     if (exaGCReadsDestination(pDrawable, pGC->planemask, pGC->fillStyle,
 			      pGC->alu))
 	exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
     else
-	ExaDoPrepareAccess (pDrawable, EXA_PREPARE_DEST);
+	exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST,
+			     DamagePendingRegion(pExaPixmap->pDamage));
     fbPutImage (pDrawable, pGC, depth, x, y, w, h, leftPad, format, bits);
     exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
 }
diff --git a/hw/xfree86/exa/exa.man.pre b/hw/xfree86/exa/exa.man.pre
index 14859bc..31e1cfe 100644
--- a/hw/xfree86/exa/exa.man.pre
+++ b/hw/xfree86/exa/exa.man.pre
@@ -31,12 +31,6 @@ Disables acceleration of downloading of pixmap data from the framebuffer.
 Not usable with drivers which rely on DownloadFromScreen succeeding.
 Default: No.
 .TP
-.BI "Option \*qEXAOptimizeMigration\*q \*q" boolean \*q
-Enables an additional optimization for migration of destination pixmaps. This
-may improve performance in some cases (e.g. when switching virtual desktops with
-no compositing manager) but causes corruption in others (e.g. when starting
-compiz). Default: No.
-.TP
 .BI "Option \*qMigrationHeuristic\*q \*q" anystr \*q
 Chooses an alternate pixmap migration heuristic, for debugging purposes.  The
 default is intended to be the best performing one for general use, though others
diff --git a/hw/xfree86/exa/examodule.c b/hw/xfree86/exa/examodule.c
index e18da0a..63ea8c5 100644
--- a/hw/xfree86/exa/examodule.c
+++ b/hw/xfree86/exa/examodule.c
@@ -145,7 +145,7 @@ exaDDXDriverInit(ScreenPtr pScreen)
 	pExaScr->optimize_migration =
 	    xf86ReturnOptValBool(pScreenPriv->options,
 				 EXAOPT_OPTIMIZE_MIGRATION,
-				 FALSE);
+				 TRUE);
     }
 
     if (xf86ReturnOptValBool(pScreenPriv->options,
commit f6d61d3d86971d6a202b46ff2fab8c8799a4d057
Author: Michel Dänzer <michel at tungstengraphics.com>
Date:   Sat May 24 20:01:36 2008 +0200

    EXA: Don't migrate twice in exaImageGlyphBlt.
    
    exaPrepareAccess already handles migration.

diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index 67d30f1..edaec23 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -970,10 +970,8 @@ exaImageGlyphBlt (DrawablePtr	pDrawable,
     int		    dstBpp;
     int		    dstXoff, dstYoff;
     FbBits	    depthMask;
-    Bool	    fallback;
     PixmapPtr	    pPixmap = exaGetDrawablePixmap(pDrawable);
     ExaPixmapPriv(pPixmap);
-    ExaMigrationRec pixmaps[1];
     RegionPtr	    pending_damage = DamagePendingRegion(pExaPixmap->pDamage);
     BoxRec	    extents = *REGION_EXTENTS(pScreen, pending_damage);
     int		    xoff, yoff;
@@ -982,16 +980,8 @@ exaImageGlyphBlt (DrawablePtr	pDrawable,
 	return;
 
     depthMask = FbFullMask(pDrawable->depth);
-    fallback = (pGC->planemask & depthMask) != depthMask;
-
-    pixmaps[0].as_dst = TRUE;
-    pixmaps[0].as_src = FALSE;
-    pixmaps[0].pPix = pPixmap;
-    pixmaps[0].pReg = fallback ? NULL : pending_damage;
-
-    exaDoMigration(pixmaps, 1, FALSE);
 
-    if (fallback)
+    if ((pGC->planemask & depthMask) != depthMask)
     {
 	ExaCheckImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppciInit, pglyphBase);
 	return;
@@ -1014,7 +1004,7 @@ exaImageGlyphBlt (DrawablePtr	pDrawable,
     extents.y1 -= yoff;
     extents.y2 -= yoff;
 
-    exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST, pixmaps[0].pReg);
+    exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST, pending_damage);
 
     if (TERMINALFONT (pGC->font) && !glyph)
     {
commit d73304398255e0c3b03a497a8d4a2f8d900eef44
Author: Michel Dänzer <michel at tungstengraphics.com>
Date:   Sat May 24 20:01:31 2008 +0200

    EXA: Don't suggest exaCopyDirty be inlined.
    
    Leave the decision to the compiler toolchain.

diff --git a/exa/exa_migration.c b/exa/exa_migration.c
index d3646b0..5f22474 100644
--- a/exa/exa_migration.c
+++ b/exa/exa_migration.c
@@ -116,7 +116,7 @@ exaPixmapShouldBeInFB (PixmapPtr pPix)
  * If the pixmap is currently dirty, this copies at least the dirty area from
  * FB to system or vice versa.  Both areas must be allocated.
  */
-static _X_INLINE void
+static void
 exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc,
 	     Bool (*transfer) (PixmapPtr pPix, int x, int y, int w, int h,
 			       char *sys, int sys_pitch), CARD8 *fallback_src,
commit 3baf3b42e079b4e7b61c1e20df305db0724d21f8
Author: Michel Dänzer <michel at tungstengraphics.com>
Date:   Sat May 24 20:01:21 2008 +0200

    EXA: Specify region used for source pixmap migration in exaCopyNtoN.
    
    Avoids excessive migration overhead in some pathological cases. See
    http://bugs.freedesktop.org/show_bug.cgi?id=15845 .

diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index 844683c..67d30f1 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -487,7 +487,8 @@ exaCopyNtoN (DrawablePtr    pSrcDrawable,
     int	    src_off_x, src_off_y;
     int	    dst_off_x, dst_off_y;
     ExaMigrationRec pixmaps[2];
-    RegionPtr region = NULL;
+    RegionPtr srcregion = NULL, dstregion = NULL;
+    xRectangle *rects;
 
     pSrcPixmap = exaGetDrawablePixmap (pSrcDrawable);
     pDstPixmap = exaGetDrawablePixmap (pDstDrawable);
@@ -495,33 +496,38 @@ exaCopyNtoN (DrawablePtr    pSrcDrawable,
     exaGetDrawableDeltas (pSrcDrawable, pSrcPixmap, &src_off_x, &src_off_y);
     exaGetDrawableDeltas (pDstDrawable, pDstPixmap, &dst_off_x, &dst_off_y);
 
-    if (!pGC || !exaGCReadsDestination(pDstDrawable, pGC->planemask,
-				       pGC->fillStyle, pGC->alu)) {
-	xRectangle *rects = xalloc(nbox * sizeof(xRectangle));
+    rects = xalloc(nbox * sizeof(xRectangle));
 
-	if (rects) {
-	    int i;
+    if (rects) {
+	int i;
 
-	    for (i = 0; i < nbox; i++) {
-		rects[i].x = pbox[i].x1 + dst_off_x;
-		rects[i].y = pbox[i].y1 + dst_off_y;
-		rects[i].width = pbox[i].x2 - pbox[i].x1;
-		rects[i].height = pbox[i].y2 - pbox[i].y1;
-	    }
+	for (i = 0; i < nbox; i++) {
+	    rects[i].x = pbox[i].x1 + dx + src_off_x;
+	    rects[i].y = pbox[i].y1 + dy + src_off_y;
+	    rects[i].width = pbox[i].x2 - pbox[i].x1;
+	    rects[i].height = pbox[i].y2 - pbox[i].y1;
+	}
 
-	    region  = RECTS_TO_REGION(pScreen, nbox, rects, CT_YXBANDED);
-	    xfree(rects);
+	srcregion  = RECTS_TO_REGION(pScreen, nbox, rects, CT_YXBANDED);
+	xfree(rects);
+
+	if (!pGC || !exaGCReadsDestination(pDstDrawable, pGC->planemask,
+					   pGC->fillStyle, pGC->alu)) {
+	    dstregion = REGION_CREATE(pScreen, NullBox, 0);
+	    REGION_COPY(pScreen, dstregion, srcregion);
+	    REGION_TRANSLATE(pScreen, dstregion, dst_off_x - dx - src_off_x,
+			     dst_off_y - dy - src_off_y);
 	}
     }
 
     pixmaps[0].as_dst = TRUE;
     pixmaps[0].as_src = FALSE;
     pixmaps[0].pPix = pDstPixmap;
-    pixmaps[0].pReg = region;
+    pixmaps[0].pReg = dstregion;
     pixmaps[1].as_dst = FALSE;
     pixmaps[1].as_src = TRUE;
     pixmaps[1].pPix = pSrcPixmap;
-    pixmaps[1].pReg = NULL;
+    pixmaps[1].pReg = srcregion;
 
     pSrcExaPixmap = ExaGetPixmapPriv (pSrcPixmap);
     pDstExaPixmap = ExaGetPixmapPriv (pDstPixmap);
@@ -594,17 +600,21 @@ fallback:
     EXA_FALLBACK(("from %p to %p (%c,%c)\n", pSrcDrawable, pDstDrawable,
 		  exaDrawableLocation(pSrcDrawable),
 		  exaDrawableLocation(pDstDrawable)));
-    exaPrepareAccessReg (pDstDrawable, EXA_PREPARE_DEST, region);
-    exaPrepareAccess (pSrcDrawable, EXA_PREPARE_SRC);
+    exaPrepareAccessReg (pDstDrawable, EXA_PREPARE_DEST, dstregion);
+    exaPrepareAccessReg (pSrcDrawable, EXA_PREPARE_SRC, srcregion);
     fbCopyNtoN (pSrcDrawable, pDstDrawable, pGC, pbox, nbox, dx, dy, reverse,
 		upsidedown, bitplane, closure);
     exaFinishAccess (pSrcDrawable, EXA_PREPARE_SRC);
     exaFinishAccess (pDstDrawable, EXA_PREPARE_DEST);
 
 out:
-    if (region) {
-	REGION_UNINIT(pScreen, region);
-	REGION_DESTROY(pScreen, region);
+    if (dstregion) {
+	REGION_UNINIT(pScreen, dstregion);
+	REGION_DESTROY(pScreen, dstregion);
+    }
+    if (srcregion) {
+	REGION_UNINIT(pScreen, srcregion);
+	REGION_DESTROY(pScreen, srcregion);
     }
 }
 
commit e6cbb1e11e5da1a8b9001853c25f4e5a052e7110
Author: Julien Cristau <jcristau at debian.org>
Date:   Fri May 23 23:00:40 2008 +0200

    xfree86: fix build on GNU/kFreeBSD
    
    GNU/kFreeBSD defines __FreeBSD_kernel__, but not __FreeBSD__.
    Unify preprocessor conditionals between variable declaration and use.
    Debian bug #482550.

diff --git a/hw/xfree86/os-support/bsd/bsd_init.c b/hw/xfree86/os-support/bsd/bsd_init.c
index 2c6a025..83583d5 100644
--- a/hw/xfree86/os-support/bsd/bsd_init.c
+++ b/hw/xfree86/os-support/bsd/bsd_init.c
@@ -159,7 +159,7 @@ xf86OpenConsole()
     xf86ConsOpen_t *driver;
 #if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
     int result;
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
     struct utsname uts;
 #endif
     vtmode_t vtmode;
commit 6c72961d8fa1ab1543f1b3e2cc7d34ff6d254bf8
Author: George Sapountzis <gsap7 at yahoo.gr>
Date:   Fri May 23 22:39:35 2008 +0300

    glx: fix memory corruption with r5g6b5
    
    should cherry-pick to xserver-1.5

diff --git a/glx/glxscreens.c b/glx/glxscreens.c
index 5859de0..cc7054a 100644
--- a/glx/glxscreens.c
+++ b/glx/glxscreens.c
@@ -420,10 +420,13 @@ findFirstSet(unsigned int v)
 static void
 initGlxVisual(VisualPtr visual, __GLXconfig *config)
 {
+    int maxBits;
+    maxBits = max(config->redBits, max(config->greenBits, config->blueBits));
+
     config->visualID = visual->vid;
     visual->class = glxConvertToXVisualType(config->visualType);
-    visual->bitsPerRGBValue = config->redBits;
-    visual->ColormapEntries = 1 << config->redBits;
+    visual->bitsPerRGBValue = maxBits;
+    visual->ColormapEntries = 1 << maxBits;
     visual->nplanes = config->redBits + config->greenBits + config->blueBits;
 
     visual->redMask = config->redMask;
commit 21a8052fdca2115668dfc747b0b58db437b4eb6d
Author: George Sapountzis <gsap7 at yahoo.gr>
Date:   Fri May 23 22:39:09 2008 +0300

    glx: fix forgotten swrast -> SWRast

diff --git a/hw/dmx/glxProxy/glxext.c b/hw/dmx/glxProxy/glxext.c
index 4825831..c40150d 100644
--- a/hw/dmx/glxProxy/glxext.c
+++ b/hw/dmx/glxProxy/glxext.c
@@ -40,7 +40,7 @@
 ** Stubs to satisfy miinitext.c references.
 */
 typedef int __GLXprovider;
-__GLXprovider __glXDRIswrastProvider;
+__GLXprovider __glXDRISWRastProvider;
 void GlxPushProvider(__GLXprovider *provider) { }
 
 /*
diff --git a/hw/xfree86/dixmods/glxmodule.c b/hw/xfree86/dixmods/glxmodule.c
index 35ba74b..f6fda4b 100644
--- a/hw/xfree86/dixmods/glxmodule.c
+++ b/hw/xfree86/dixmods/glxmodule.c
@@ -85,7 +85,7 @@ glxSetup(pointer module, pointer opts, int *errmaj, int *errmin)
 
     setupDone = TRUE;
 
-    provider = LoaderSymbol("__glXDRIswrastProvider");
+    provider = LoaderSymbol("__glXDRISWRastProvider");
     if (provider == NULL)
 	return NULL;
     GlxPushProvider(provider);
commit 877e6c35ff1f0f110627590ac0f12fddf47de506
Author: George Sapountzis <gsap7 at yahoo.gr>
Date:   Fri May 23 22:38:36 2008 +0300

    glx: missing swrast is fatal

diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c
index 50dee51..9d987c2 100644
--- a/glx/glxdriswrast.c
+++ b/glx/glxdriswrast.c
@@ -532,7 +532,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
 
     xfree(screen);
 
-    LogMessage(X_ERROR, "AIGLX: reverting to software rendering\n");
+    FatalError("GLX: could not load software renderer\n");
 
     return NULL;
 }
diff --git a/hw/xfree86/dixmods/glxmodule.c b/hw/xfree86/dixmods/glxmodule.c
index 026a936..35ba74b 100644
--- a/hw/xfree86/dixmods/glxmodule.c
+++ b/hw/xfree86/dixmods/glxmodule.c
@@ -86,8 +86,9 @@ glxSetup(pointer module, pointer opts, int *errmaj, int *errmin)
     setupDone = TRUE;
 
     provider = LoaderSymbol("__glXDRIswrastProvider");
-    if (provider)
-	GlxPushProvider(provider);
+    if (provider == NULL)
+	return NULL;
+    GlxPushProvider(provider);
 
     xf86Msg(xf86Info.aiglxFrom, "AIGLX %s\n", 
 	    xf86Info.aiglx ? "enabled" : "disabled");
commit 1345c93ad4be875951256dae87bc4fd9a1b5e08a
Author: George Sapountzis <gsap7 at yahoo.gr>
Date:   Fri May 23 22:38:11 2008 +0300

    glx: drop stray glcore.h include

diff --git a/glx/glxutil.c b/glx/glxutil.c
index aa23a95..fc73a02 100644
--- a/glx/glxutil.c
+++ b/glx/glxutil.c
@@ -42,13 +42,7 @@
 #include <string.h>
 
 #include "glxserver.h"
-#include <GL/glxtokens.h>
-#include <unpack.h>
-#include <pixmapstr.h>
-#include <windowstr.h>
 #include "glxutil.h"
-#include "GL/internal/glcore.h"
-#include "GL/glxint.h"
 
 /************************************************************************/
 /* Context stuff */
commit ae0504d34d245f15b2f098a63ad1a9e1c4daef35
Author: George Sapountzis <gsap7 at yahoo.gr>
Date:   Fri May 23 22:40:03 2008 +0300

    kdrive: need not export symbols for glx anymore

diff --git a/hw/kdrive/ephyr/Makefile.am b/hw/kdrive/ephyr/Makefile.am
index 5269876..140cccb 100644
--- a/hw/kdrive/ephyr/Makefile.am
+++ b/hw/kdrive/ephyr/Makefile.am
@@ -62,10 +62,6 @@ libxephyr_a_SOURCES = $(XEPHYR_SRCS)
 Xephyr_SOURCES = \
 	ephyrinit.c
 
-if GLX
-Xephyr_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
-endif
-
 Xephyr_LDADD = 						\
 	libxephyr.a					\
 	libxephyr-hostx.a				\
diff --git a/hw/kdrive/fake/Makefile.am b/hw/kdrive/fake/Makefile.am
index 0f88656..09d179e 100644
--- a/hw/kdrive/fake/Makefile.am
+++ b/hw/kdrive/fake/Makefile.am
@@ -16,10 +16,6 @@ libfake_a_SOURCES =	\
 Xfake_SOURCES = \
 	fakeinit.c
 
-if GLX
-Xfake_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
-endif
-
 Xfake_LDADD = 						\
 	libfake.a					\
 	@KDRIVE_LIBS@					\
diff --git a/hw/kdrive/fbdev/Makefile.am b/hw/kdrive/fbdev/Makefile.am
index c77f146..420855b 100644
--- a/hw/kdrive/fbdev/Makefile.am
+++ b/hw/kdrive/fbdev/Makefile.am
@@ -14,10 +14,6 @@ bin_PROGRAMS = Xfbdev
 Xfbdev_SOURCES = \
 	fbinit.c
 
-if GLX
-Xfbdev_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
-endif
-
 Xfbdev_LDADD = 						\
 	libfbdev.a					\
 	@KDRIVE_LIBS@
diff --git a/hw/kdrive/sdl/Makefile.am b/hw/kdrive/sdl/Makefile.am
index a70d147..fe9309e 100644
--- a/hw/kdrive/sdl/Makefile.am
+++ b/hw/kdrive/sdl/Makefile.am
@@ -7,10 +7,6 @@ bin_PROGRAMS = Xsdl
 
 Xsdl_SOURCES = sdl.c
 
-if GLX
-Xsdl_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
-endif
-
 Xsdl_LDADD = \
 	@KDRIVE_LIBS@                                  \
 	@XSDL_LIBS@
diff --git a/hw/kdrive/vesa/Makefile.am b/hw/kdrive/vesa/Makefile.am
index ec35c1e..ac50d2b 100644
--- a/hw/kdrive/vesa/Makefile.am
+++ b/hw/kdrive/vesa/Makefile.am
@@ -19,10 +19,6 @@ libvesa_a_SOURCES = \
 Xvesa_SOURCES = \
 	vesainit.c
 
-if GLX
-Xvesa_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
-endif
-
 Xvesa_LDADD = \
 	libvesa.a 				\
 	@KDRIVE_LIBS@
commit 7082929ef7db20b507dce5a8cec043e787d0b55e
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Fri May 23 02:27:58 2008 -0700

    XQuartz: A 2 second delay for launchd socket connections should be sufficient.
    (cherry picked from commit 2bb4251b3c6b30dbf1a556e1b51e6f03f02d2529)

diff --git a/hw/xquartz/mach-startup/bundle-main.c b/hw/xquartz/mach-startup/bundle-main.c
index 73c0483..0068e02 100644
--- a/hw/xquartz/mach-startup/bundle-main.c
+++ b/hw/xquartz/mach-startup/bundle-main.c
@@ -437,8 +437,10 @@ int main(int argc, char **argv, char **envp) {
 }
 #else
 void *add_launchd_display_thread(void *data) {
-    /* TODO: Really fix this race */
-    sleep(5);
+    /* TODO: Really fix this race... we want xinitrc to finish before connections
+     *       are accepted on the launchd socket.
+     */
+    sleep(2);
     
     /* Start listening on the launchd fd */
     int launchd_fd = launchd_display_fd();
commit 5a388b27a094c71b4214aa744b2ba0fdda7fd607
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Fri May 23 02:10:14 2008 -0700

    XQuartz: Add the launchd fd to AllSockets as well
    (cherry picked from commit 83f72529394be5871671d73b6ef4f8bc83708f8a)

diff --git a/os/connection.c b/os/connection.c
index 316e347..38521e6 100644
--- a/os/connection.c
+++ b/os/connection.c
@@ -1324,15 +1324,17 @@ _X_EXPORT void ListenOnOpenFD(int fd) {
     ListenTransFds[ListenTransCount] = fd;
 
     FD_SET(fd, &WellKnownConnections);
+    FD_SET(fd, &AllSockets);
     
-    /* It is always local
-    if (!_XSERVTransIsLocal(ciptr)) {
-    //    DefineSelf (fd);
-    }
-    */
-
     /* Increment the count */
     ListenTransCount++;
+
+    /* This *might* be needed, but it seems to be working fine without it... */
+    //ResetAuthorization();
+    //ResetHosts(display);
+#ifdef XDMCP
+    //XdmcpReset();
+#endif
 }
 
 #endif
commit 77b688a73025238ed9fe286a2bae8f78da65fce3
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Fri May 23 02:32:28 2008 -0700

    XQuartz: Don't need launchd checking in configure.ac anymore since its functionality has been removed from libxtrans and into the mach startup code.
    (cherry picked from commit 1e1f4fb717d2f3a3227be2a034d28d6a4f29b5d1)

diff --git a/configure.ac b/configure.ac
index 3cec454..21a7cb7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -493,7 +493,6 @@ AC_ARG_WITH(apple-applications-dir,AS_HELP_STRING([--with-apple-applications-dir
 				[ APPLE_APPLICATIONS_DIR="${withval}" ],
 				[ APPLE_APPLICATIONS_DIR="/Applications/Utilities" ])
 AC_SUBST([APPLE_APPLICATIONS_DIR])
-AC_ARG_WITH(launchd,          AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto])
 AC_ARG_WITH(launchagents-dir,AS_HELP_STRING([--with-launchagents-dir=PATH], [Path to launchd's LaunchAgents directory (default: /Library/LaunchAgents)]),
 				[ launchagentsdir="${withval}" ],
 				[ launchagentsdir="/Library/LaunchAgents" ])
@@ -1686,21 +1685,6 @@ AM_CONDITIONAL(HAVE_XPLUGIN, [test "x$ac_cv_lib_Xplugin_xp_init" = xyes])
 AM_CONDITIONAL(HAVE_AGL_FRAMEWORK, [test "x$xorg_cv_AGL_framework" = xyes])
 AM_CONDITIONAL(XQUARTZ, [test "x$XQUARTZ" = xyes])
 
-if test "x$LAUNCHD" = "xauto"; then
-	if test "x$XQUARTZ" = "xyes" ; then
-		LAUNCHD=yes
-	else
-		unset LAUNCHD
-		AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no])
-	fi
-fi
-
-if test "x$LAUNCHD" = "xyes" ; then
-	AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available])
-fi
-AM_CONDITIONAL(LAUNCHD, [test "x$LAUNCHD" = "xyes"])
-
-
 dnl DMX DDX
 
 AC_MSG_CHECKING([whether to build Xdmx DDX])
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index 914ce49..6b9b896 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -148,9 +148,6 @@
 /* Define to 1 if you have version 2.2 (or newer) of the drm library */
 #undef HAVE_LIBDRM_2_2
 
-/* Define to 1 if launchd is available. */
-#undef HAVE_LAUNCHD
-
 /* Have Quartz */
 #undef XQUARTZ
 
commit 225dddbaeded4d64fcc104da538449e5c4dedd2d
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Fri May 23 01:39:02 2008 -0700

    XQuartz: Move the launchd display grabbing into mach_startup
    (cherry picked from commit c3866c98d23020d2151977ee1177b6054d05832e)

diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
index d687c1f..c6c9c59 100644
--- a/hw/xquartz/X11Application.m
+++ b/hw/xquartz/X11Application.m
@@ -45,9 +45,6 @@
 #include "X11/extensions/applewm.h"
 #include "micmap.h"
 
-#include "os.h"
-#include "mach-startup/launchd_fd.h"
-
 #include <mach/mach.h>
 #include <unistd.h>
 
@@ -815,14 +812,6 @@ void X11ApplicationMain (int argc, char **argv, char **envp) {
     /* Tell the server thread that it can proceed */
     QuartzInitServer(argc, argv, envp);
     
-#ifndef NEW_LAUNCH_METHOD
-    /* Start listening on the launchd fd */
-    int launchd_fd = launchd_display_fd();
-    if(launchd_fd != -1) {
-        DarwinListenOnOpenFD(launchd_fd);
-    }
-#endif
-
     [NSApp run];
     /* not reached */
 }
diff --git a/hw/xquartz/mach-startup/bundle-main.c b/hw/xquartz/mach-startup/bundle-main.c
index 0fab990..73c0483 100644
--- a/hw/xquartz/mach-startup/bundle-main.c
+++ b/hw/xquartz/mach-startup/bundle-main.c
@@ -47,6 +47,10 @@
 #include "mach_startup.h"
 #include "mach_startupServer.h"
 
+#include "launchd_fd.h"
+void DarwinListenOnOpenFD(int fd);
+
+
 #define DEFAULT_CLIENT "/usr/X11/bin/xterm"
 #define DEFAULT_STARTX "/usr/X11/bin/startx"
 #define DEFAULT_SHELL  "/bin/sh"
@@ -60,8 +64,21 @@ int server_main(int argc, char **argv, char **envp);
 static int execute(const char *command);
 static char *command_from_prefs(const char *key, const char *default_value);
 
-#ifdef NEW_LAUNCH_METHOD
+/*** Pthread Magics ***/
+static pthread_t create_thread(void *func, void *arg) {
+    pthread_attr_t attr;
+    pthread_t tid;
+	
+    pthread_attr_init (&attr);
+    pthread_attr_setscope (&attr, PTHREAD_SCOPE_SYSTEM);
+    pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
+    pthread_create (&tid, &attr, func, arg);
+    pthread_attr_destroy (&attr);
+	
+    return tid;
+}
 
+#ifdef NEW_LAUNCH_METHOD
 struct arg {
     int argc;
     char **argv;
@@ -106,20 +123,6 @@ static mach_port_t checkin_or_register(char *bname) {
     return mp;
 }
 
-/*** Pthread Magics ***/
-static pthread_t create_thread(void *func, void *arg) {
-    pthread_attr_t attr;
-    pthread_t tid;
-	
-    pthread_attr_init (&attr);
-    pthread_attr_setscope (&attr, PTHREAD_SCOPE_SYSTEM);
-    pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
-    pthread_create (&tid, &attr, func, arg);
-    pthread_attr_destroy (&attr);
-	
-    return tid;
-}
-
 /*** $DISPLAY handoff ***/
 /* From darwinEvents.c ... but don't want to pull in all the server cruft */
 void DarwinListenOnOpenFD(int fd);
@@ -289,6 +292,8 @@ kern_return_t do_start_x11_server(mach_port_t port, string_array_t argv,
 
 int startup_trigger(int argc, char **argv, char **envp) {
 #else
+void *add_launchd_display_thread(void *data);
+    
 int main(int argc, char **argv, char **envp) {
 #endif
     Display *display;
@@ -345,6 +350,7 @@ int main(int argc, char **argv, char **envp) {
         }
         exit(EXIT_SUCCESS);
 #else
+        create_thread(add_launchd_display_thread, NULL);
         return server_main(argc, argv, envp);
 #endif
     }
@@ -356,14 +362,9 @@ int main(int argc, char **argv, char **envp) {
         /* Now, try to open a display, if so, run the launcher */
         display = XOpenDisplay(NULL);
         if(display) {
-            fprintf(stderr, "X11.app: Closing the display and sleeping for 2s to allow the X server to start up.\n");
             /* Could open the display, start the launcher */
             XCloseDisplay(display);
             
-            /* Give 2 seconds for the server to start... 
-             * TODO: *Really* fix this race condition
-             */
-            usleep(2000);
             return execute(command_from_prefs("app_to_run", DEFAULT_CLIENT));
         }
     }
@@ -434,6 +435,18 @@ int main(int argc, char **argv, char **envp) {
     
     return EXIT_SUCCESS;
 }
+#else
+void *add_launchd_display_thread(void *data) {
+    /* TODO: Really fix this race */
+    sleep(5);
+    
+    /* Start listening on the launchd fd */
+    int launchd_fd = launchd_display_fd();
+    if(launchd_fd != -1) {
+        DarwinListenOnOpenFD(launchd_fd);
+    }
+    return NULL;
+}
 #endif
     
 static int execute(const char *command) {
commit 3a22190061c7ebefee85564b0def5e1112c07ae8
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Mon May 19 03:13:09 2008 -0700

    XQuartz: Fixed a few issues with fd passing... still not working =(
    (cherry picked from commit 7dd351271522b475d8017e4bd1618f12817ee2fa)

diff --git a/hw/xquartz/mach-startup/bundle-main.c b/hw/xquartz/mach-startup/bundle-main.c
index c975123..0fab990 100644
--- a/hw/xquartz/mach-startup/bundle-main.c
+++ b/hw/xquartz/mach-startup/bundle-main.c
@@ -163,10 +163,11 @@ static void accept_fd_handoff(int connected_fd) {
     
     launchd_fd = *((int*)CMSG_DATA(cmsg));
     
-    if(launchd_fd > 0)
-        DarwinListenOnOpenFD(launchd_fd);
-    else
+    if(launchd_fd == -1)
         fprintf(stderr, "Error receiving $DISPLAY file descriptor, no descriptor received? %d\n", launchd_fd);
+        
+    fprintf(stderr, "Received new DISPLAY fd: %d\n", launchd_fd);
+    DarwinListenOnOpenFD(launchd_fd);
 }
 
 typedef struct {
@@ -227,9 +228,6 @@ static void socket_handoff_thread(void *arg) {
     
     connected_fd = accept(handoff_fd, NULL, NULL);
     
-    /* We delete this temporary socket after we get the connection */
-    unlink(filename);
-
     if(connected_fd == -1) {
         fprintf(stderr, "Failed to accept incoming connection on socket: %s - %s\n", filename, strerror(errno));
         return;
@@ -237,8 +235,10 @@ static void socket_handoff_thread(void *arg) {
 
     /* Now actually get the passed file descriptor from this connection */
     accept_fd_handoff(connected_fd);
-    
+
+    close(connected_fd);
     close(handoff_fd);
+    unlink(filename);
 }
 
 kern_return_t do_prep_fd_handoff(mach_port_t port, string_t socket_filename) {
diff --git a/hw/xquartz/mach-startup/stub.c b/hw/xquartz/mach-startup/stub.c
index 0a9ab66..854b71c 100644
--- a/hw/xquartz/mach-startup/stub.c
+++ b/hw/xquartz/mach-startup/stub.c
@@ -113,7 +113,7 @@ static void set_x11_path() {
     }
 }
 
-static void send_fd_handoff(int connected_fd, int launchd_fd) {
+static void send_fd_handoff(int handoff_fd, int launchd_fd) {
     char databuf[] = "display";
     struct iovec iov[1];
     
@@ -143,19 +143,19 @@ static void send_fd_handoff(int connected_fd, int launchd_fd) {
     
     *((int*)CMSG_DATA(cmsg)) = launchd_fd;
     
-    if (sendmsg(connected_fd, &msg, 0) < 0) {
+    if (sendmsg(handoff_fd, &msg, 0) < 0) {
         fprintf(stderr, "Error sending $DISPLAY file descriptor: %s\n", strerror(errno));
         return;
     }
 
-    fprintf(stderr, "send %d %d %d %s\n", connected_fd, launchd_fd, errno, strerror(errno));
+    fprintf(stderr, "send %d %d %d %s\n", handoff_fd, launchd_fd, errno, strerror(errno));
 }
 
 static void handoff_fd(const char *filename, int launchd_fd) {
     struct sockaddr_un servaddr_un;
     struct sockaddr *servaddr;
     socklen_t servaddr_len;
-    int handoff_fd, connected_fd;
+    int handoff_fd;
 
     /* Setup servaddr_un */
     memset (&servaddr_un, 0, sizeof (struct sockaddr_un));
@@ -171,15 +171,14 @@ static void handoff_fd(const char *filename, int launchd_fd) {
         return;
     }
 
-    connected_fd = connect(handoff_fd, servaddr, servaddr_len);
-
-    if(connected_fd == -1) {
+    if(connect(handoff_fd, servaddr, servaddr_len) < 0) {
         fprintf(stderr, "Failed to establish connection on socket: %s - %s\n", filename, strerror(errno));
         return;
     }
 
-    send_fd_handoff(connected_fd, launchd_fd);
+    fprintf(stderr, "Socket: %s\n", filename);
 
+    send_fd_handoff(handoff_fd, launchd_fd);
     close(handoff_fd);
 }
 
commit e837244947fbb18192e9056c070ce439ef24d1a3
Author: Dan Nicholson <dbn.lists at gmail.com>
Date:   Wed May 21 16:14:55 2008 -0700

    Actually enable building GLX without Mesa source

diff --git a/configure.ac b/configure.ac
index 9c969fe..3cec454 100644
--- a/configure.ac
+++ b/configure.ac
@@ -850,7 +850,7 @@ if test "x$RES" = xyes; then
 	REQUIRED_MODULES="$REQUIRED_MODULES resourceproto"
 fi
 
-if test "x$GLX" = xyes && ! test "x$MESA_SOURCE" = x; then
+if test "x$GLX" = xyes; then
 	PKG_CHECK_MODULES([XLIB], [x11])
 	PKG_CHECK_MODULES([GL], [glproto >= 1.4.9 gl >= 7.1.0])
 	AC_SUBST(XLIB_CFLAGS)
commit ea4ec9e9983e25d94a3edf8a77ed2ad1db193284
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue May 20 13:59:09 2008 +1000

    int10: add pci_device_enable support on Linux

diff --git a/configure.ac b/configure.ac
index 8a1b73f..9c969fe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1329,6 +1329,7 @@ if test "x$XORG" = xyes -o "x$XGL" = xyes; then
 	CFLAGS=$PCIACCESS_CFLAGS
 	LIBS=$PCIACCESS_LIBS
 	AC_CHECK_FUNCS([pci_system_init_dev_mem])
+	AC_CHECK_FUNCS([pci_device_enable])
 	LIBS=$SAVE_LIBS
 	CFLAGS=$SAVE_CFLAGS
 	XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $DLOPEN_LIBS $GLX_SYS_LIBS"
diff --git a/hw/xfree86/os-support/linux/int10/linux.c b/hw/xfree86/os-support/linux/int10/linux.c
index 5748434..9e2c619 100644
--- a/hw/xfree86/os-support/linux/int10/linux.c
+++ b/hw/xfree86/os-support/linux/int10/linux.c
@@ -278,6 +278,10 @@ xf86ExtendedInitInt10(int entityIndex, int Flags)
 	    struct pci_device *rom_device =
 		xf86GetPciInfoForEntity(pInt->entityIndex);
 
+#if HAVE_PCI_DEVICE_ENABLE
+	    pci_device_enable(rom_device);
+#endif
+
 	    err = pci_device_read_rom(rom_device, (unsigned char *)(V_BIOS));
 	    if (err) {
 		xf86DrvMsg(screen,X_ERROR,"Cannot read V_BIOS (%s)\n",
diff --git a/include/xorg-config.h.in b/include/xorg-config.h.in
index 5587c0a..e05d3bf 100644
--- a/include/xorg-config.h.in
+++ b/include/xorg-config.h.in
@@ -118,6 +118,9 @@
 /* Have pci_system_init_dev_mem() */
 #undef HAVE_PCI_SYSTEM_INIT_DEV_MEM
 
+/* Have pci_enable_device */
+#undef HAVE_PCI_DEVICE_ENABLE
+
 /* Path to text files containing PCI IDs */
 #undef PCI_TXT_IDS_PATH
 
commit 4230b92744d54528f48ddc3b096a265b488053c9
Author: Kristian Høgsberg <krh at redhat.com>
Date:   Wed May 21 17:58:15 2008 -0400

    Clean up remaining afb references.

diff --git a/.gitignore b/.gitignore
index 13d5de4..d2699db 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,14 +37,6 @@ xorg-server.pc
 stamp-h?
 do-not-use-config.h
 do-not-use-config.h.in
-afb/afbbltC.c
-afb/afbbltCI.c
-afb/afbbltG.c
-afb/afbbltO.c
-afb/afbbltX.c
-afb/afbseg.c
-afb/afbtileC.c
-afb/afbtileG.c
 cfb/cfb8lineCO.c
 cfb/cfb8lineCP.c
 cfb/cfb8lineG.c
diff --git a/Makefile.am b/Makefile.am
index 7b6b02a..4ed30dc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -40,7 +40,6 @@ SUBDIRS = \
 	xkb \
 	$(DBE_DIR) \
 	$(MFB_DIR) \
-	$(AFB_DIR) \
 	$(RECORD_DIR) \
 	xfixes \
 	damageext \
@@ -84,7 +83,6 @@ DIST_SUBDIRS = \
 	xkb \
 	dbe \
 	mfb \
-	afb \
 	record \
 	xfixes \
 	damageext \
diff --git a/hw/xfree86/dixmods/extmod/Makefile.am b/hw/xfree86/dixmods/extmod/Makefile.am
index 77af62d..fb08497 100644
--- a/hw/xfree86/dixmods/extmod/Makefile.am
+++ b/hw/xfree86/dixmods/extmod/Makefile.am
@@ -21,7 +21,6 @@ endif
 
 AM_CFLAGS = @DIX_CFLAGS@ @XORG_CFLAGS@
 INCLUDES = @XORG_INCS@ \
-           -I$(top_srcdir)/afb \
            -I$(top_srcdir)/mfb \
            -I$(top_srcdir)/dbe \
            -I$(top_srcdir)/hw/xfree86/loader \
commit 20ea99c655140e101f2d20cfab78fb22765fec62
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed May 21 17:03:25 2008 -0400

    Death to afb.
    
    Planar framebuffer people, please talk to wfb for all your 1988 hardware
    needs.

diff --git a/Makefile.am b/Makefile.am
index 86ee9e8..7b6b02a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,10 +9,6 @@ if XTRAP
 XTRAP_DIR=XTrap
 endif
 
-if AFB
-AFB_DIR=afb
-endif
-
 if MFB
 MFB_DIR=mfb
 endif
diff --git a/afb/Makefile.am b/afb/Makefile.am
deleted file mode 100644
index 9fc22ca..0000000
--- a/afb/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-noinst_LTLIBRARIES = libafb.la
-
-AM_CFLAGS = $(DIX_CFLAGS)
-
-libafb_gen_sources = afbbltC.c afbbltX.c afbbltCI.c afbbltO.c afbbltG.c afbtileC.c afbtileG.c afbseg.c
-
-DISTCLEANFILES = $(libafb_gen_sources)
-
-libafb_la_SOURCES = afbgc.c afbwindow.c afbfont.c afbfillrct.c afbpixmap.c \
-	 afbimage.c afbline.c afbbres.c afbhrzvert.c afbbresd.c afbpushpxl.c afbply1rct.c \
-	 afbzerarc.c afbfillarc.c afbfillsp.c afbsetsp.c afbscrinit.c afbplygblt.c \
-	 afbclip.c afbgetsp.c afbpolypnt.c afbbitblt.c afbcmap.c afbimggblt.c afbpntarea.c \
-	 afbmisc.c afbtegblt.c $(libafb_gen_sources)
-
-INCLUDES = -I$(top_srcdir)/mfb -I$(top_srcdir)/hw/xfree86/os-support
-
-EXTRA_DIST = afbline.c afbblt.c afbtile.c README Xdaniver.doc
-
-afbseg.c:
-	echo "#define POLYSEGMENT" > $@
-	echo "#include \"$(srcdir)/afbline.c\"" >> $@
-
-afbbltC.c:
-	echo "#define MROP Mcopy" > $@
-	echo "#include \"$(srcdir)/afbblt.c\"" >> $@
-
-afbbltX.c:
-	echo "#define MROP Mxor" > $@
-	echo "#include \"$(srcdir)/afbblt.c\"" >> $@
-
-afbbltCI.c:
-	echo "#define MROP McopyInverted" > $@
-	echo "#include \"$(srcdir)/afbblt.c\"" >> $@
-
-afbbltO.c:
-	echo "#define MROP Mor" > $@
-	echo "#include \"$(srcdir)/afbblt.c\"" >> $@
-
-afbbltG.c:
-	echo "#define MROP 0" > $@
-	echo "#include \"$(srcdir)/afbblt.c\"" >> $@
-
-afbtileC.c:
-	echo "#define MROP Mcopy" > $@
-	echo "#include \"$(srcdir)/afbtile.c\"" >> $@
-
-afbtileG.c:
-	echo "#define MROP 0" > $@
-	echo "#include \"$(srcdir)/afbtile.c\"" >> $@
-
-sdk_HEADERS = afb.h
diff --git a/afb/README b/afb/README
deleted file mode 100644
index 5c95860..0000000
--- a/afb/README
+++ /dev/null
@@ -1,10 +0,0 @@
-
-All stuff in this directory is based on Xdaniver (read Xdaniver.doc).
-
-Actually this is the same code as in the ilbm directory, except that here the
-conversion from normal bitplanes to interleaved bitplanes didn't happen.
-
---
-Geert Uytterhoeven                     Geert.Uytterhoeven at cs.kuleuven.ac.be
-Wavelets, Linux/m68k on Amiga          http://www.cs.kuleuven.ac.be/~geert/
-Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium
diff --git a/afb/Xdaniver.doc b/afb/Xdaniver.doc
deleted file mode 100644
index 1c8ad5a..0000000
--- a/afb/Xdaniver.doc
+++ /dev/null
@@ -1,218 +0,0 @@
-
-What is it?
------------
-
-Xdaniver is a fast, colour X11R6 server for the Amiga's custom chip set
-under NetBSD 1.0 and NetBSD-current, supporting all the Amiga's display
-depths from 1 to 4 (upto 16 colours) on ECS machines and 1 to 8 (upto 256
-colours) on AGA machines (though, not all resolutions are available, see
-General Information below).
-
-Xdaniver is designed to be a drop-in replacement for the Xmono server provided
-with the X11R6 binary distribution supplied by Bernd Ernesti available from
-ftp.uni-regensburg.de or one of its mirrors.
-
-Unlike previous colour X servers for the Amiga that emulate a chunky pixel
-screen in fast RAM, use the standard frame buffer drivers provided with the
-X11R6 source code to draw and then use a chunky to planar conversion routine
-to write the results to the screen (all very slow), Xdaniver uses a heavily
-modified mono frame buffer driver to draw directly using the Amiga's planar
-format. The net result is much faster drawing and support for all the Amiga's
-custom display depths but, as usual, the fewer planes used, the faster the
-drawing operations of the X server. Even so, on my A1200 with a 33Mhz 68030,
-I'm getting reasonable performance when using 8 bit planes in Dbl NTSC mode.
-
-Installation
-------------
-
-You will need to have first obtained and installed the X11R6 binary
-distribution available from ftp.uni-regensburg.de in
-/pub/NetBSD-Amiga/contrib/X11 or one of its mirrors.  Xdaniver has been
-compiled to expect font and configuration files sitting under
-/usr/local/X11R6, if your setup is different you will need to provide a
-symbolic link from /usr/local/X11R6 to where your tree resides or supply
-several command line flags to the server.
-
-To get Xdaniver running as the default X server, copy the uncompressed binary
-into /usr/local/X11R6/bin, remove the current X file from that directory
-(which is a symbolic link to Xmono) and replace it with a link to Xdaniver:
-
-	gzip -d < X11R6.Xdaniver.1.01.tar.gz | tar xvf -
-	mv Xdaniver /usr/local/X11R6/bin
-	cd /usr/local/X11R6/bin
-	rm X
-	ln -s Xdaniver X
-
-Note that on some setups, the devices /dev/kbd, /dev/mouse and /dev/view??
-have been created to be accessable only by superuser; Xdaniver needs to open
-these devices. To workaround this problem, log on as superuser and then
-either make Xdaniver setuid root:
-
-	chown root Xdaniver
-	chmod 4755 Xdaniver
-
-or give everyone access the devices:
-
-	chmod 666 /dev/kbd /dev/mouse /dev/view??
-
-the latter option is a possible cause of a security hole if your machine is
-ever used multi-user.
-
-General Information
--------------------
-
-The default resolution of the server is 700x430 and the default depth 4. AGA
-users might what to increase the display depth by editing the startx script
-and providing a -depth <depth> argument to Xdaniver on the xinit line of the
-script. As always, the lower the depth, the faster the drawing and window
-manipulation of the server.
-
-The resolution can be altered similarly by suppling -width <width> and
--height <height> arguments to the server.
-
-The NetBSD kernel selects actual screen modes by picking a mode who's
-natural, non-overscanned size best-fits the requested resolution.
-Unfortunately, for AGA users, the 1.0 kernel only has support for the
-Dbl-NTSC AGA display mode and only this mode has support for depths greater
-than 4. The NetBSD-current (work-in-progress) kernel also has support for
-Dbl-PAL but still no support for the Super72 or other super-hires modes
-(perhaps some kind, kernel-hacker could add support for them ?).
-
-If you have a 2 button mouse (like me) you might want to try and use the 3
-button mouse emulation. On other systems, it is usual for the left and right
-buttons to be provided and emulate the middle button by pressing both
-buttons together, however, the middle button is tends to be used more than
-the right button so I have provided two options:
-
--emulateright (or -3), the two physical mouse buttons act as left and middle
-and pressing them both together emulates the right button.
-
--emulatemiddle (or -2), the two physical mouse buttons act as left and right
-and pressing them both together emulated the middle button.
-
-When using screen depths of less than 6 (4 is the maximum for ECS machines)
-the lack of possible colours on screen at once causes problems for many X
-applications.  Specifying -cc 2 as a command line argument to Xdaniver
-causes the server to switch the default visual type from PsuedoColor to
-StaticColor; to put it simply, the server prefills the colormap with a
-selection of 16 colours (depth 4) and when an application asks for a
-particular colour, its gets allocated one that is closest to one from the
-selection of 16. This removes the 'WARNING: Cannot allocate colormap entry
-for "XXX"' errors but at the expense of applications not being able to get
-the precise colour they wanted. Also, some badly written X applications fail
-altogether when presented with a StaticColor visual.
-
-Bugs/Limitations
-----------------
-
-The limited choice of display resolutions for AGA/ECS machines is a real
-pain - requires a kernel change to fix. Worse still, the kernel specifies
-the maximum overscan resolution on the Dbl-NTSC to be 724x482 but selecting
-anything more than 702x430 on my machine causes the screen either sheer
-diagonally (as if the bytes per row calculation in Xdaniver or the kernel is
-wrong) or completely loose sync (suggesting a custom chip register sync
-calculation bug). As other, non-aga modes aren't affected when selection
-overscan both problems seem to point to a kernel driver bug. Also, depths
-greater than 4 for AGA users are only supported by the kernel in the Dbl-NTSC
-mode (and Dbl-PAL with the current-NetBSD kernel).
-
-I know of one bug so-far (there will be more), The PutImage request of an XY
-format image expects the bitplane order to be the reverse of that specified
-in the X protocol but since virtually all applications use the Z (chunky)
-format, you are unlikely to come across this problem.
-
-The PutImage request of Z format images is a little slow - when I have time
-I'll try and add one of the fast assembly chunky-to-planar routines developed
-for doom style games/demos. Unfortunately, the current crop all require a
-picture size that is a multiple of 32 pixels and so cannot be used out-of-the-
-box.
-
-Some extra performance could easily be squeezed out of the terminal font
-drawing code (used by xterm) - when I have time I'll add the code.
-
-The Amiga's blitter and sprites are totally unused and will remain so
-until/if someone else adds support to the kernel. The blitter would help
-speed up screen scrolling and window manipulation and sprite support could
-be used for the X pointer shape (if small enough) which would speed up all
-drawing operations (no need to remove the software based pointer shape
-first, draw, then replace the pointer shape).
-
-I removed the X image extension (XIE) from the X server as it increased the
-size of the binary by some 400k. I haven't come across any applications that
-need it yet (I haven't been looking!) so if you need the extension for some
-reason send me e-mail and I'll build a server with the extension included.
-
-The 3 button mouse emulation is very simple - to emulate the 3rd button you
-have to press both button precisely at the same moment - I've got quite good
-at it now. When I have some spare time I'll add a timer so you will have a
-few milli-seconds between one button being pressed and the next and it still
-being registered as the emulated button.
-
-AGA users don't forget to provide the -A flag to loadbsd to enable the one
-AGA mode in the 1.0 kernel but only if you have a VGA, multisync or dual-scan
-monitor, of course !
-
-Xdaniver has been tested on:
-
-A1200, 33Mhz 68030, 8Mb RAM and NetBSD 1.0 by myself.
-A4000/40, 12Mb RAM and NetBSD 1.0 by Andreas Holzhammer.
-A3000, 12Mb RAM and NetBSD 1.0 by Charlie Root, Stuart Park and others.
-A3000, 25Mhz 68040, 18Mb RAM and NetBSD-current by Michael K. Sanders.
-A2000, 8Mb RAM and NetBSD (version unknown) by Hubert Feyrer.
-
-Release and Bug Fix History
----------------------------
-
-1.0	- First release
-
-1.01	Bugs fixed:
-	- Narrow (<32 pixels) Z format GetImage requests corrupted the stack
-	  and could cause the server to core dump. (Xpaint caused this problem)
-	- Drawing dots (PolyPoint request) into a clipped window caused a
-	  c pointer to go out of range, causing a core dump (xv showed this
-	  problem).
-
-	New features:
-	- Simple 3 button mouse emulation using a 2 button mouse; specify
-	 -emulate_middle (or -2) or -emulate_right (or -3) on the server's
-	 command line and press both mouse buttons together emulate the 'missing'
-	 button.
-	- Basic beep sound support added by sending bell characters to the
-	  console.
-	- Source code released.
-
-Disclaimer and Copyright Notices
---------------------------------
-
-Multi-depth planar frame buffer code:
-Copyright (c) 1995 by Daniver Limited.
-
-Large portions:
-Copyright (c) 1994 by Eduardo Horvath.
-Copyright (c) 1987-1995 by the Regents of the University of California.
-Copyright (c) 1987 by Sun Microsystems, Inc. Mountain View, CA.
-Copyright (c) 1987-1995 by X Consortium.
-Copyright (c) 1987, 1989 by Digital Equipment Corporation, Maynard, Massachusetts.
-Copyright (c) 1989 Network Computing Devices, Inc., Mountain View, California.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies.  The Daniver Limited,
-the above companies and individuals makes no representations about the
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-
-Credits
--------
-
-Thanks to Bernd Ernesti for making the operating system server source code
-available for others to use and Eduardo Horvath and Andy Heffernan, who (I
-think) did the original Xmono server port.
-
-Also, many thanks to the first brave users who tested Xdaniver for me on other
-Amiga setups and found a few bugs in the process.
-
-Gary Henderson.
-
-Daytime: garyh at wet.sbi.com
-Home: gary at daniver.demon.co.uk
diff --git a/afb/afb.h b/afb/afb.h
deleted file mode 100644
index 6731d95..0000000
--- a/afb/afb.h
+++ /dev/null
@@ -1,972 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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.
-
-******************************************************************/
-/* Monochrome Frame Buffer definitions
-   written by drewry, september 1986
-*/
-
-#include "pixmap.h"
-#include "region.h"
-#include "gc.h"
-#include "colormap.h"
-#include "regionstr.h"
-#include "privates.h"
-#include "mibstore.h"
-#include "mfb.h"
-
-extern int afbInverseAlu[];
-/* warning: PixelType definition duplicated in maskbits.h */
-#ifndef PixelType
-#define PixelType CARD32
-#endif /* PixelType */
-
-#define AFB_MAX_DEPTH 8
-
-/* afbbitblt.c */
-
-extern void afbDoBitblt(
-	DrawablePtr /*pSrc*/,
-	DrawablePtr /*pDst*/,
-	int /*alu*/,
-	RegionPtr /*prgnDst*/,
-	DDXPointPtr /*pptSrc*/,
-	unsigned long /*planemask*/
-);
-
-extern RegionPtr afbCopyArea(
-	DrawablePtr /*pSrcDrawable*/,
-	DrawablePtr /*pDstDrawable*/,
-	GCPtr/*pGC*/,
-	int /*srcx*/,
-	int /*srcy*/,
-	int /*width*/,
-	int /*height*/,
-	int /*dstx*/,
-	int /*dsty*/
-);
-
-/* afbbltC.c */
-
-extern void afbDoBitbltCopy(
-	DrawablePtr /*pSrc*/,
-	DrawablePtr /*pDst*/,
-	int /*alu*/,
-	RegionPtr /*prgnDst*/,
-	DDXPointPtr /*pptSrc*/,
-	unsigned long /*planemask*/
-);
-/* afbbltCI.c */
-
-extern void afbDoBitbltCopyInverted(
-	DrawablePtr /*pSrc*/,
-	DrawablePtr /*pDst*/,
-	int /*alu*/,
-	RegionPtr /*prgnDst*/,
-	DDXPointPtr /*pptSrc*/,
-	unsigned long /*planemask*/
-);
-/* afbbltG.c */
-
-extern void afbDoBitbltGeneral(
-	DrawablePtr /*pSrc*/,
-	DrawablePtr /*pDst*/,
-	int /*alu*/,
-	RegionPtr /*prgnDst*/,
-	DDXPointPtr /*pptSrc*/,
-	unsigned long /*planemask*/
-);
-/* afbbltO.c */
-
-extern void afbDoBitbltOr(
-	DrawablePtr /*pSrc*/,
-	DrawablePtr /*pDst*/,
-	int /*alu*/,
-	RegionPtr /*prgnDst*/,
-	DDXPointPtr /*pptSrc*/,
-	unsigned long /*planemask*/
-);
-/* afbbltX.c */
-
-extern void afbDoBitbltXor(
-	DrawablePtr /*pSrc*/,
-	DrawablePtr /*pDst*/,
-	int /*alu*/,
-	RegionPtr /*prgnDst*/,
-	DDXPointPtr /*pptSrc*/,
-	unsigned long /*planemask*/
-);
-/* afbbres.c */
-
-extern void afbBresS(
-	PixelType * /*addrl*/,
-	int /*nlwidth*/,
-	int /*sizeDst*/,
-	int /*depthDst*/,
-	int /*signdx*/,
-	int /*signdy*/,
-	int /*axis*/,
-	int /*x1*/,
-	int /*y1*/,
-	int /*e*/,
-	int /*e1*/,
-	int /*e2*/,
-	int /*len*/,
-	unsigned char * /*rrops*/
-);
-/* afbbresd.c */
-
-extern void afbBresD(
-	int * /*pdashIndex*/,
-	unsigned char * /*pDash*/,
-	int /*numInDashList*/,
-	int * /*pdashOffset*/,
-	int /*isDoubleDash*/,
-	PixelType * /*addrl*/,
-	int /*nlwidth*/,
-	int /*sizeDst*/,
-	int /*depthDst*/,
-	int /*signdx*/,
-	int /*signdy*/,
-	int /*axis*/,
-	int /*x1*/,
-	int /*y1*/,
-	int /*e*/,
-	int /*e1*/,
-	int /*e2*/,
-	int /*len*/,
-	unsigned char * /*rrops*/,
-	unsigned char * /*bgrrops*/
-);
-
-/* afbclip.c */
-
-extern RegionPtr afbPixmapToRegion(
-	PixmapPtr /*pPix*/
-);
-
-/* afbcmap.c */
-
-extern int afbListInstalledColormaps(
-	ScreenPtr /*pScreen*/,
-	Colormap * /*pmaps*/
-);
-
-extern void afbInstallColormap(
-	ColormapPtr /*pmap*/
-);
-
-extern void afbUninstallColormap(
-	ColormapPtr /*pmap*/
-);
-
-extern void afbResolveColor(
-	unsigned short * /*pred*/,
-	unsigned short * /*pgreen*/,
-	unsigned short * /*pblue*/,
-	VisualPtr /*pVisual*/
-);
-
-extern Bool afbInitializeColormap(
-	ColormapPtr /*pmap*/
-);
-
-extern Bool afbInitVisuals(
-	VisualPtr * /*visualp*/,
-	DepthPtr * /*depthp*/,
-	int * /*nvisualp*/,
-	int * /*ndepthp*/,
-	int * /*rootDepthp*/,
-	VisualID * /*defaultVisp*/,
-	unsigned long /*sizes*/,
-	int /*bitsPerRGB*/
-);
-
-/* afbfillarc.c */
-
-extern void afbPolyFillArcSolid(
-	DrawablePtr /*pDraw*/,
-	GCPtr /*pGC*/,
-	int /*narcs*/,
-	xArc * /*parcs*/
-);
-/* afbfillrct.c */
-
-extern void afbPolyFillRect(
-	DrawablePtr /*pDrawable*/,
-	GCPtr /*pGC*/,
-	int /*nrectFill*/,
-	xRectangle * /*prectInit*/
-);
-
-/* afbply1rct.c */
-extern void afbFillPolygonSolid(
-	DrawablePtr /*pDrawable*/,
-	GCPtr /*pGC*/,
-	int /*mode*/,
-	int /*shape*/,
-	int /*count*/,
-	DDXPointPtr /*ptsIn*/
-);
-
-/* afbfillsp.c */
-
-extern void afbSolidFS(
-	DrawablePtr /*pDrawable*/,
-	GCPtr /*pGC*/,
-	int /*nInit*/,
-	DDXPointPtr /*pptInit*/,
-	int * /*pwidthInit*/,
-	int /*fSorted*/
-);
-
-extern void afbStippleFS(
-	DrawablePtr /*pDrawable*/,
-	GCPtr/*pGC*/,
-	int /*nInit*/,
-	DDXPointPtr /*pptInit*/,
-	int * /*pwidthInit*/,
-	int /*fSorted*/
-);
-
-extern void afbTileFS(
-	DrawablePtr /*pDrawable*/,
-	GCPtr/*pGC*/,
-	int /*nInit*/,
-	DDXPointPtr /*pptInit*/,
-	int * /*pwidthInit*/,
-	int /*fSorted*/
-);
-
-extern void afbUnnaturalTileFS(
-	DrawablePtr /*pDrawable*/,
-	GCPtr/*pGC*/,
-	int /*nInit*/,
-	DDXPointPtr /*pptInit*/,
-	int * /*pwidthInit*/,
-	int /*fSorted*/
-);
-
-extern void afbUnnaturalStippleFS(
-	DrawablePtr /*pDrawable*/,
-	GCPtr/*pGC*/,
-	int /*nInit*/,
-	DDXPointPtr /*pptInit*/,
-	int * /*pwidthInit*/,
-	int /*fSorted*/
-);
-
-extern void afbOpaqueStippleFS(
-	DrawablePtr /*pDrawable*/,
-	GCPtr/*pGC*/,
-	int /*nInit*/,
-	DDXPointPtr /*pptInit*/,
-	int * /*pwidthInit*/,
-	int /*fSorted*/
-);
-
-extern void afbUnnaturalOpaqueStippleFS(
-	DrawablePtr /*pDrawable*/,
-	GCPtr/*pGC*/,
-	int /*nInit*/,
-	DDXPointPtr /*pptInit*/,
-	int * /*pwidthInit*/,
-	int /*fSorted*/
-);
-
-/* afbfont.c */
-
-extern Bool afbRealizeFont(
-	ScreenPtr /*pscr*/,
-	FontPtr /*pFont*/
-);
-
-extern Bool afbUnrealizeFont(
-	ScreenPtr /*pscr*/,
-	FontPtr /*pFont*/
-);
-/* afbgc.c */
-
-extern Bool afbCreateGC(
-	GCPtr /*pGC*/
-);
-
-extern void afbReduceRop(
-	int /*alu*/,
-	Pixel /*src*/,
-	unsigned long /*planemask*/,
-	int /*depth*/,
-	unsigned char * /*rrops*/
-);
-
-/* afbgetsp.c */
-
-extern void afbGetSpans(
-	DrawablePtr /*pDrawable*/,
-	int /*wMax*/,
-	DDXPointPtr /*ppt*/,
-	int * /*pwidth*/,
-	int /*nspans*/,
-	char * /*pdstStart*/
-);
-/* afbhrzvert.c */
-
-extern void afbHorzS(
-	PixelType * /*addrl*/,
-	int /*nlwidth*/,
-	int /*sizeDst*/,
-	int /*depthDst*/,
-	int /*x1*/,
-	int /*y1*/,
-	int /*len*/,
-	unsigned char * /*rrops*/
-);
-
-extern void afbVertS(
-	PixelType * /*addrl*/,
-	int /*nlwidth*/,
-	int /*sizeDst*/,
-	int /*depthDst*/,
-	int /*x1*/,
-	int /*y1*/,
-	int /*len*/,
-	unsigned char * /*rrops*/
-);
-/* afbigbblak.c */
-
-extern void afbImageGlyphBlt (
-	DrawablePtr /*pDrawable*/,
-	GCPtr/*pGC*/,
-	int /*x*/,
-	int /*y*/,
-	unsigned int /*nglyph*/,
-	CharInfoPtr * /*ppci*/,
-	pointer /*pglyphBase*/
-);
-/* afbigbwht.c */
-
-/* afbimage.c */
-
-extern void afbPutImage(
-	DrawablePtr /*dst*/,
-	GCPtr /*pGC*/,
-	int /*depth*/,
-	int /*x*/,
-	int /*y*/,
-	int /*w*/,
-	int /*h*/,
-	int /*leftPad*/,
-	int /*format*/,
-	char * /*pImage*/
-);
-
-extern void afbGetImage(
-	DrawablePtr /*pDrawable*/,
-	int /*sx*/,
-	int /*sy*/,
-	int /*w*/,
-	int /*h*/,
-	unsigned int /*format*/,
-	unsigned long /*planeMask*/,
-	char * /*pdstLine*/
-);
-/* afbline.c */
-
-extern void afbLineSS(
-	DrawablePtr /*pDrawable*/,
-	GCPtr /*pGC*/,
-	int /*mode*/,
-	int /*npt*/,
-	DDXPointPtr /*pptInit*/
-);
-
-extern void afbLineSD(
-	DrawablePtr /*pDrawable*/,
-	GCPtr /*pGC*/,
-	int /*mode*/,
-	int /*npt*/,
-	DDXPointPtr /*pptInit*/
-);
-
-/* afbmisc.c */
-
-extern void afbQueryBestSize(
-	int /*class*/,
-	unsigned short * /*pwidth*/,
-	unsigned short * /*pheight*/,
-	ScreenPtr /*pScreen*/
-);
-/* afbpntarea.c */
-
-extern void afbSolidFillArea(
-	DrawablePtr /*pDraw*/,
-	int /*nbox*/,
-	BoxPtr /*pbox*/,
-	unsigned char * /*rrops*/
-);
-
-extern void afbStippleAreaPPW(
-	DrawablePtr /*pDraw*/,
-	int /*nbox*/,
-	BoxPtr /*pbox*/,
-	PixmapPtr /*pstipple*/,
-	unsigned char * /*rrops*/
-);
-extern void afbStippleArea(
-	DrawablePtr /*pDraw*/,
-	int /*nbox*/,
-	BoxPtr /*pbox*/,
-	PixmapPtr /*pstipple*/,
-	int /*xOff*/,
-	int /*yOff*/,
-	unsigned char * /*rrops*/
-);
-/* afbplygblt.c */
-
-extern void afbPolyGlyphBlt(
-	DrawablePtr /*pDrawable*/,
-	GCPtr /*pGC*/,
-	int /*x*/,
-	int /*y*/,
-	unsigned int /*nglyph*/,
-	CharInfoPtr * /*ppci*/,
-	pointer /*pglyphBase*/
-);
-
-/* afbpixmap.c */
-
-extern PixmapPtr afbCreatePixmap(
-	ScreenPtr /*pScreen*/,
-	int /*width*/,
-	int /*height*/,
-	int /*depth*/,
-	unsigned /*usage_hint*/
-);
-
-extern Bool afbDestroyPixmap(
-	PixmapPtr /*pPixmap*/
-);
-
-extern void afbXRotatePixmap(
-	PixmapPtr /*pPix*/,
-	int /*rw*/
-);
-
-extern void afbYRotatePixmap(
-	PixmapPtr /*pPix*/,
-	int /*rh*/
-);
-
-extern void afbCopyRotatePixmap(
-	PixmapPtr /*psrcPix*/,
-	PixmapPtr * /*ppdstPix*/,
-	int /*xrot*/,
-	int /*yrot*/
-);
-/* afbpolypnt.c */
-
-extern void afbPolyPoint(
-	DrawablePtr /*pDrawable*/,
-	GCPtr /*pGC*/,
-	int /*mode*/,
-	int /*npt*/,
-	xPoint * /*pptInit*/
-);
-/* afbpushpxl.c */
-
-extern void afbPushPixels(
-	GCPtr /*pGC*/,
-	PixmapPtr /*pBitMap*/,
-	DrawablePtr /*pDrawable*/,
-	int /*dx*/,
-	int /*dy*/,
-	int /*xOrg*/,
-	int /*yOrg*/
-);
-
-/* afbscrinit.c */
-
-extern Bool afbScreenInit(
-	ScreenPtr /*pScreen*/,
-	pointer /*pbits*/,
-	int /*xsize*/,
-	int /*ysize*/,
-	int /*dpix*/,
-	int /*dpiy*/,
-	int /*width*/
-);
-
-/* afbseg.c */
-
-extern void afbSegmentSS(
-	DrawablePtr /*pDrawable*/,
-	GCPtr /*pGC*/,
-	int /*nseg*/,
-	xSegment * /*pSeg*/
-);
-
-extern void afbSegmentSD(
-	DrawablePtr /*pDrawable*/,
-	GCPtr /*pGC*/,
-	int /*nseg*/,
-	xSegment * /*pSeg*/
-);
-/* afbsetsp.c */
-
-extern void afbSetSpans(
-	DrawablePtr /*pDrawable*/,
-	GCPtr /*pGC*/,
-	char * /*psrc*/,
-	DDXPointPtr /*ppt*/,
-	int * /*pwidth*/,
-	int /*nspans*/,
-	int /*fSorted*/
-);
-/* afbtegblt.c */
-
-extern void afbTEGlyphBlt(
-	DrawablePtr /*pDrawable*/,
-	GCPtr/*pGC*/,
-	int /*x*/,
-	int /*y*/,
-	unsigned int /*nglyph*/,
-	CharInfoPtr * /*ppci*/,
-	pointer /*pglyphBase*/
-);
-/* afbtileC.c */
-
-extern void afbTileAreaPPWCopy(
-	DrawablePtr /*pDraw*/,
-	int /*nbox*/,
-	BoxPtr /*pbox*/,
-	int /*alu*/,
-	PixmapPtr /*ptile*/,
-	unsigned long /*planemask*/
-);
-/* afbtileG.c */
-
-extern void afbTileAreaPPWGeneral(
-	DrawablePtr /*pDraw*/,
-	int /*nbox*/,
-	BoxPtr /*pbox*/,
-	int /*alu*/,
-	PixmapPtr /*ptile*/,
-	unsigned long /*planemask*/
-);
-
-extern void afbTileAreaCopy(
-	DrawablePtr /*pDraw*/,
-	int /*nbox*/,
-	BoxPtr /*pbox*/,
-	int /*alu*/,
-	PixmapPtr /*ptile*/,
-	int /*xOff*/,
-	int /*yOff*/,
-	unsigned long /*planemask*/
-);
-/* afbtileG.c */
-
-extern void afbTileAreaGeneral(
-	DrawablePtr /*pDraw*/,
-	int /*nbox*/,
-	BoxPtr /*pbox*/,
-	int /*alu*/,
-	PixmapPtr /*ptile*/,
-	int /*xOff*/,
-	int /*yOff*/,
-	unsigned long /*planemask*/
-);
-
-extern void afbOpaqueStippleAreaPPWCopy(
-	DrawablePtr /*pDraw*/,
-	int /*nbox*/,
-	BoxPtr /*pbox*/,
-	int /*alu*/,
-	PixmapPtr /*ptile*/,
-	unsigned char */*rropsOS*/,
-	unsigned long /*planemask*/
-);
-/* afbtileG.c */
-
-extern void afbOpaqueStippleAreaPPWGeneral(
-	DrawablePtr /*pDraw*/,
-	int /*nbox*/,
-	BoxPtr /*pbox*/,
-	int /*alu*/,
-	PixmapPtr /*ptile*/,
-	unsigned char */*rropsOS*/,
-	unsigned long /*planemask*/
-);
-
-extern void afbOpaqueStippleAreaCopy(
-	DrawablePtr /*pDraw*/,
-	int /*nbox*/,
-	BoxPtr /*pbox*/,
-	int /*alu*/,
-	PixmapPtr /*ptile*/,
-	int /*xOff*/,
-	int /*yOff*/,
-	unsigned char */*rropsOS*/,
-	unsigned long /*planemask*/
-);
-/* afbtileG.c */
-
-extern void afbOpaqueStippleAreaGeneral(
-	DrawablePtr /*pDraw*/,
-	int /*nbox*/,
-	BoxPtr /*pbox*/,
-	int /*alu*/,
-	PixmapPtr /*ptile*/,
-	int /*xOff*/,
-	int /*yOff*/,
-	unsigned char */*rropsOS*/,
-	unsigned long /*planemask*/
-);
-
-/* afbwindow.c */
-
-extern Bool afbCreateWindow(
-	WindowPtr /*pWin*/
-);
-
-extern Bool afbDestroyWindow(
-	WindowPtr /*pWin*/
-);
-
-extern Bool afbMapWindow(
-	WindowPtr /*pWindow*/
-);
-
-extern Bool afbPositionWindow(
-	WindowPtr /*pWin*/,
-	int /*x*/,
-	int /*y*/
-);
-
-extern Bool afbUnmapWindow(
-	WindowPtr /*pWindow*/
-);
-
-extern void afbCopyWindow(
-	WindowPtr /*pWin*/,
-	DDXPointRec /*ptOldOrg*/,
-	RegionPtr /*prgnSrc*/
-);
-
-extern Bool afbChangeWindowAttributes(
-	WindowPtr /*pWin*/,
-	unsigned long /*mask*/
-);
-/* afbzerarc.c */
-
-extern void afbZeroPolyArcSS(
-	DrawablePtr /*pDraw*/,
-	GCPtr /*pGC*/,
-	int /*narcs*/,
-	xArc * /*parcs*/
-);
-
-/*
-	private field of pixmap
-	pixmap.devPrivate = (PixelType *)pointer_to_bits
-	pixmap.devKind = width_of_pixmap_in_bytes
-
-	private field of screen
-	a pixmap, for which we allocate storage.  devPrivate is a pointer to
-the bits in the hardware framebuffer.  note that devKind can be poked to
-make the code work for framebuffers that are wider than their
-displayable screen (e.g. the early vsII, which displayed 960 pixels
-across, but was 1024 in the hardware.)
-
-	private field of GC
-*/
-
-typedef struct {
-	unsigned char rrops[AFB_MAX_DEPTH];		/* reduction of rasterop to 1 of 3 */
-	unsigned char rropOS[AFB_MAX_DEPTH];	/* rop for opaque stipple */
-} afbPrivGC;
-typedef afbPrivGC *afbPrivGCPtr;
-
-extern DevPrivateKey afbScreenPrivateKey;
-extern DevPrivateKey afbGCPrivateKey;
-extern DevPrivateKey afbWindowPrivateKey;
-#ifdef PIXMAP_PER_WINDOW
-extern DevPrivateKey frameWindowPrivateKey;
-#endif
-
-#define afbGetGCPrivate(pGC) \
-    ((afbPrivGC *)dixLookupPrivate(&(pGC)->devPrivates, afbGCPrivateKey))
-
-/* Common macros for extracting drawing information */
-
-#define afbGetTypedWidth(pDrawable,wtype)( \
-	(((pDrawable)->type == DRAWABLE_WINDOW) ? \
-	 (int)(((PixmapPtr)dixLookupPrivate(&(pDrawable)->pScreen->devPrivates, afbScreenPrivateKey)->devKind) : \
-	 (int)(((PixmapPtr)pDrawable)->devKind)) / sizeof (wtype))
-
-#define afbGetByteWidth(pDrawable) afbGetTypedWidth(pDrawable, unsigned char)
-
-#define afbGetPixelWidth(pDrawable) afbGetTypedWidth(pDrawable, PixelType)
-
-#define afbGetTypedWidthAndPointer(pDrawable, width, pointer, wtype, ptype) {\
-	PixmapPtr   _pPix; \
-	if ((pDrawable)->type == DRAWABLE_WINDOW) \
-		_pPix = (PixmapPtr)dixLookupPrivate(&(pDrawable)->pScreen->devPrivates, afbScreenPrivateKey); \
-	else \
-		_pPix = (PixmapPtr)(pDrawable); \
-	(pointer) = (ptype *) _pPix->devPrivate.ptr; \
-	(width) = ((int) _pPix->devKind) / sizeof (wtype); \
-}
-
-#define afbGetPixelWidthSizeDepthAndPointer(pDrawable, width, size, dep, pointer) {\
-	PixmapPtr _pPix; \
-	if ((pDrawable)->type == DRAWABLE_WINDOW) \
-		_pPix = (PixmapPtr)dixLookupPrivate(&(pDrawable)->pScreen->devPrivates, afbScreenPrivateKey); \
-	else \
-		_pPix = (PixmapPtr)(pDrawable); \
-	(pointer) = (PixelType *)_pPix->devPrivate.ptr; \
-	(width) = ((int)_pPix->devKind) / sizeof (PixelType); \
-	(size) = (width) * _pPix->drawable.height; \
-	(dep) = _pPix->drawable.depth; (void)(dep); \
-}
-
-#define afbGetByteWidthAndPointer(pDrawable, width, pointer) \
-	afbGetTypedWidthAndPointer(pDrawable, width, pointer, unsigned char, unsigned char)
-
-#define afbGetPixelWidthAndPointer(pDrawable, width, pointer) \
-	afbGetTypedWidthAndPointer(pDrawable, width, pointer, PixelType, PixelType)
-
-#define afbGetWindowTypedWidthAndPointer(pWin, width, pointer, wtype, ptype) {\
-	PixmapPtr _pPix = (PixmapPtr)dixLookupPrivate(&(pWin)->drawable.pScreen->devPrivates, afbScreenPrivateKey); \
-	(pointer) = (ptype *) _pPix->devPrivate.ptr; \
-	(width) = ((int) _pPix->devKind) / sizeof (wtype); \
-}
-
-#define afbGetWindowPixelWidthAndPointer(pWin, width, pointer) \
-	afbGetWindowTypedWidthAndPointer(pWin, width, pointer, PixelType, PixelType)
-
-#define afbGetWindowByteWidthAndPointer(pWin, width, pointer) \
-	afbGetWindowTypedWidthAndPointer(pWin, width, pointer, char, char)
-
-/*  afb uses the following macros to calculate addresses in drawables.
- *  To support banked framebuffers, the macros come in four flavors.
- *  All four collapse into the same definition on unbanked devices.
- *
- *  afbScanlineFoo - calculate address and do bank switching
- *  afbScanlineFooNoBankSwitch - calculate address, don't bank switch
- *  afbScanlineFooSrc - calculate address, switch source bank
- *  afbScanlineFooDst - calculate address, switch destination bank
- */
-
-/* The NoBankSwitch versions are the same for banked and unbanked cases */
-
-#define afbScanlineIncNoBankSwitch(_ptr, _off) _ptr += (_off)
-#define afbScanlineOffsetNoBankSwitch(_ptr, _off) ((_ptr) + (_off))
-#define afbScanlineDeltaNoBankSwitch(_ptr, _y, _w) \
-	afbScanlineOffsetNoBankSwitch(_ptr, (_y) * (_w))
-#define afbScanlineNoBankSwitch(_ptr, _x, _y, _w) \
-	afbScanlineOffsetNoBankSwitch(_ptr, (_y) * (_w) + ((_x) >> MFB_PWSH))
-
-#ifdef MFB_LINE_BANK
-
-#include "afblinebank.h" /* get macro definitions from this file */
-
-#else /* !MFB_LINE_BANK - unbanked case */
-
-#define afbScanlineInc(_ptr, _off)				afbScanlineIncNoBankSwitch(_ptr, _off)
-#define afbScanlineIncSrc(_ptr, _off)			afbScanlineInc(_ptr, _off)
-#define afbScanlineIncDst(_ptr, _off)			afbScanlineInc(_ptr, _off)
-
-#define afbScanlineOffset(_ptr, _off)			afbScanlineOffsetNoBankSwitch(_ptr, _off)
-#define afbScanlineOffsetSrc(_ptr, _off)		afbScanlineOffset(_ptr, _off)
-#define afbScanlineOffsetDst(_ptr, _off)		afbScanlineOffset(_ptr, _off)
-
-#define afbScanlineSrc(_ptr, _x, _y, _w)		afbScanline(_ptr, _x, _y, _w)
-#define afbScanlineDst(_ptr, _x, _y, _w)		afbScanline(_ptr, _x, _y, _w)
-
-#define afbScanlineDeltaSrc(_ptr, _y, _w)	afbScanlineDelta(_ptr, _y, _w)
-#define afbScanlineDeltaDst(_ptr, _y, _w)	afbScanlineDelta(_ptr, _y, _w)
-
-#endif /* MFB_LINE_BANK */
-
-#define afbScanlineDelta(_ptr, _y, _w) \
-	afbScanlineOffset(_ptr, (_y) * (_w))
-
-#define afbScanline(_ptr, _x, _y, _w) \
-	afbScanlineOffset(_ptr, (_y) * (_w) + ((_x) >> MFB_PWSH))
-
-/* precomputed information about each glyph for GlyphBlt code.
-   this saves recalculating the per glyph information for each box.
-*/
-
-typedef struct _afbpos{
-	int xpos;					/* xposition of glyph's origin */
-	int xchar;					/* x position mod 32 */
-	int leftEdge;
-	int rightEdge;
-	int topEdge;
-	int bottomEdge;
-	PixelType *pdstBase;		/* longword with character origin */
-	int widthGlyph;			/* width in bytes of this glyph */
-} afbTEXTPOS;
-
-/* reduced raster ops for afb */
-#define RROP_BLACK	GXclear
-#define RROP_WHITE	GXset
-#define RROP_NOP		GXnoop
-#define RROP_INVERT	GXinvert
-#define RROP_COPY		GXcopy
-
-/* macros for afbbitblt.c, afbfillsp.c
-	these let the code do one switch on the rop per call, rather
-	than a switch on the rop per item (span or rectangle.)
-*/
-
-#define fnCLEAR(src, dst)				(0)
-#define fnAND(src, dst)					(src & dst)
-#define fnANDREVERSE(src, dst)		(src & ~dst)
-#define fnCOPY(src, dst)				(src)
-#define fnANDINVERTED(src, dst)		(~src & dst)
-#define fnNOOP(src, dst)				(dst)
-#define fnXOR(src, dst)					(src ^ dst)
-#define fnOR(src, dst)					(src | dst)
-#define fnNOR(src, dst)					(~(src | dst))
-#define fnEQUIV(src, dst)				(~src ^ dst)
-#define fnINVERT(src, dst)				(~dst)
-#define fnORREVERSE(src, dst)			(src | ~dst)
-#define fnCOPYINVERTED(src, dst)		(~src)
-#define fnORINVERTED(src, dst)		(~src | dst)
-#define fnNAND(src, dst)				(~(src & dst))
-#undef fnSET
-#define fnSET(src, dst)					(~0)
-
-/*  Using a "switch" statement is much faster in most cases
- *  since the compiler can do a look-up table or multi-way branch
- *  instruction, depending on the architecture.  The result on
- *  A Sun 3/50 is at least 2.5 times faster, assuming a uniform
- *  distribution of RasterOp operation types.
- *
- *  However, doing some profiling on a running system reveals
- *  GXcopy is the operation over 99.5% of the time and
- *  GXxor is the next most frequent (about .4%), so we make special
- *  checks for those first.
- *
- *  Note that this requires a change to the "calling sequence"
- *  since we can't engineer a "switch" statement to have an lvalue.
- */
-#undef DoRop
-#define DoRop(result, alu, src, dst) \
-{ \
-	if (alu == GXcopy) \
-		result = fnCOPY (src, dst); \
-	else if (alu == GXxor) \
-		result = fnXOR (src, dst); \
-	else \
-		switch (alu) { \
-			case GXclear: \
-				result = fnCLEAR (src, dst); \
-				break; \
-			case GXand: \
-				result = fnAND (src, dst); \
-				break; \
-			case GXandReverse: \
-				result = fnANDREVERSE (src, dst); \
-				break; \
-			case GXandInverted: \
-				result = fnANDINVERTED (src, dst); \
-				break; \
-			default: \
-			case GXnoop: \
-				result = fnNOOP (src, dst); \
-				break; \
-			case GXor: \
-				result = fnOR (src, dst); \
-				break; \
-			case GXnor: \
-				result = fnNOR (src, dst); \
-				break; \
-			case GXequiv: \
-				result = fnEQUIV (src, dst); \
-				break; \
-			case GXinvert: \
-				result = fnINVERT (src, dst); \
-				break; \
-			case GXorReverse: \
-				result = fnORREVERSE (src, dst); \
-				break; \
-			case GXcopyInverted: \
-				result = fnCOPYINVERTED (src, dst); \
-				break; \
-			case GXorInverted: \
-				result = fnORINVERTED (src, dst); \
-				break; \
-			case GXnand: \
-				result = fnNAND (src, dst); \
-				break; \
-			case GXset: \
-				result = fnSET (src, dst); \
-				break; \
-	} \
-}
-
-
-/*  C expression fragments for various operations.  These get passed in
- *  as -D's on the compile command line.  See afb/Imakefile.  This
- *  fixes XBUG 6319.
- *
- *  This seems like a good place to point out that afb's use of the
- *  words black and white is an unfortunate misnomer.  In afb code, black
- *  means zero, and white means one.
- */
-#define MFB_OPEQ_WHITE				|=
-#define MFB_OPEQ_BLACK				&=~
-#define MFB_OPEQ_INVERT				^=
-#define MFB_EQWHOLEWORD_WHITE		=~0
-#define MFB_EQWHOLEWORD_BLACK		=0
-#define MFB_EQWHOLEWORD_INVERT	^=~0
-#define MFB_OP_WHITE					/* nothing */
-#define MFB_OP_BLACK					~
diff --git a/afb/afbbitblt.c b/afb/afbbitblt.c
deleted file mode 100644
index d8b2ccd..0000000
--- a/afb/afbbitblt.c
+++ /dev/null
@@ -1,343 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <stdlib.h>
-
-#include <X11/X.h>
-#include <X11/Xprotostr.h>
-
-#include "regionstr.h"
-#include "gcstruct.h"
-#include "windowstr.h"
-#include "pixmapstr.h"
-#include "scrnintstr.h"
-
-#include "mi.h"
-
-#include "afb.h"
-#include "maskbits.h"
-
-/* CopyArea and CopyPlane for a monchrome frame buffer
-
-
-	clip the source rectangle to the source's available bits.  (this
-avoids copying unnecessary pieces that will just get exposed anyway.)
-this becomes the new shape of the destination.
-	clip the destination region to the composite clip in the
-GC.  this requires translating the destination region to (dstx, dsty).
-	build a list of source points, one for each rectangle in the
-destination.  this is a simple translation.
-	go do the multiple rectangle copies
-	do graphics exposures
-*/
-/** Optimized for drawing pixmaps into windows, especially when drawing into
- ** unobscured windows.  Calls to the general-purpose region code were
- ** replaced with rectangle-to-rectangle clipping comparisions.  This is
- ** possible, since the pixmap is a single rectangle.  In an unobscured
- ** window, the destination clip is also a single rectangle, and region
- ** code can be avoided entirely.  This is a big savings, since the region
- ** code uses XAlloc() and makes many function calls.
- **
- ** In addition, if source is a pixmap, there is no need to call the
- ** expensive miHandleExposures() routine.  Instead, we simply return NULL.
- **
- ** Previously, drawing a pixmap into an unobscured window executed at least
- ** 8 XAlloc()'s, 30 function calls, and hundreds of lines of code.
- **
- ** Now, the same operation requires no XAlloc()'s, no region function calls,
- ** and much less overhead.  Nice for drawing lots of small pixmaps.
- */
-
-void
-afbDoBitblt(DrawablePtr pSrc, DrawablePtr pDst, int alu, RegionPtr prgnDst, DDXPointPtr pptSrc, long unsigned int planemask)
-{
-	switch (alu) {
-		case GXcopy:
-			afbDoBitbltCopy(pSrc, pDst, alu, prgnDst, pptSrc, planemask);
-			break;
-		case GXxor:
-			afbDoBitbltXor(pSrc, pDst, alu, prgnDst, pptSrc, planemask);
-			break;
-		case GXcopyInverted:
-			afbDoBitbltCopyInverted(pSrc, pDst, alu, prgnDst, pptSrc, planemask);
-			break;
-		case GXor:
-			afbDoBitbltOr(pSrc, pDst, alu, prgnDst, pptSrc, planemask);
-			break;
-		default:
-			afbDoBitbltGeneral(pSrc, pDst, alu, prgnDst, pptSrc, planemask);
-			break;
-	}
-}
-
-typedef void (*afb_blit_func)
-    (DrawablePtr, DrawablePtr, int, RegionPtr, DDXPointPtr, unsigned long);
-
-static RegionPtr
-afbBitBlt(register DrawablePtr pSrcDrawable, register DrawablePtr pDstDrawable, register GC *pGC, int srcx, int srcy, int width, int height, int dstx, int dsty, afb_blit_func doBitBlt, long unsigned int planemask)
-{
-	RegionPtr prgnSrcClip = NULL;		/* may be a new region, or just a copy */
-	Bool freeSrcClip = FALSE;
-
-	RegionPtr prgnExposed;
-	RegionRec rgnDst;
-	DDXPointPtr pptSrc;
-	register DDXPointPtr ppt;
-	register BoxPtr pbox;
-	int i;
-	register int dx;
-	register int dy;
-	xRectangle origSource;
-	DDXPointRec origDest;
-	int numRects;
-	BoxRec fastBox;
-	int fastClip = 0;					/* for fast clipping with pixmap source */
-	int fastExpose = 0;				/* for fast exposures with pixmap source */
-
-	origSource.x = srcx;
-	origSource.y = srcy;
-	origSource.width = width;
-	origSource.height = height;
-	origDest.x = dstx;
-	origDest.y = dsty;
-
-	if ((pSrcDrawable != pDstDrawable) && pSrcDrawable->pScreen->SourceValidate)
-		(*pSrcDrawable->pScreen->SourceValidate)(pSrcDrawable, srcx, srcy, width,
-															  height);
-
-	srcx += pSrcDrawable->x;
-	srcy += pSrcDrawable->y;
-
-	/* clip the source */
-
-	if (pSrcDrawable->type == DRAWABLE_PIXMAP)
-		if ((pSrcDrawable == pDstDrawable) && (pGC->clientClipType == CT_NONE))
-			prgnSrcClip = pGC->pCompositeClip;
-		else
-			fastClip = 1;
-	else if (pGC->subWindowMode == IncludeInferiors)
-		if (!((WindowPtr)pSrcDrawable)->parent)
-			/*
-			 * special case bitblt from root window in
-			 * IncludeInferiors mode; just like from a pixmap
-			 */
-			fastClip = 1;
-		else if ((pSrcDrawable == pDstDrawable) && (pGC->clientClipType == CT_NONE))
-			prgnSrcClip = pGC->pCompositeClip;
-		else {
-			prgnSrcClip = NotClippedByChildren((WindowPtr)pSrcDrawable);
-			freeSrcClip = TRUE;
-		}
-	else
-		prgnSrcClip = &((WindowPtr)pSrcDrawable)->clipList;
-
-	fastBox.x1 = srcx;
-	fastBox.y1 = srcy;
-	fastBox.x2 = srcx + width;
-	fastBox.y2 = srcy + height;
-
-	/* Don't create a source region if we are doing a fast clip */
-	if (fastClip) {
-		fastExpose = 1;
-		/*
-		 * clip the source; if regions extend beyond the source size,
-		 * make sure exposure events get sent
-		 */
-		if (fastBox.x1 < pSrcDrawable->x) {
-			fastBox.x1 = pSrcDrawable->x;
-			fastExpose = 0;
-		}
-		if (fastBox.y1 < pSrcDrawable->y) {
-			fastBox.y1 = pSrcDrawable->y;
-			fastExpose = 0;
-		}
-		if (fastBox.x2 > pSrcDrawable->x + (int)pSrcDrawable->width) {
-			fastBox.x2 = pSrcDrawable->x + (int)pSrcDrawable->width;
-			fastExpose = 0;
-		}
-		if (fastBox.y2 > pSrcDrawable->y + (int)pSrcDrawable->height) {
-			fastBox.y2 = pSrcDrawable->y + (int)pSrcDrawable->height;
-			fastExpose = 0;
-		}
-	} else {
-		REGION_INIT(pGC->pScreen, &rgnDst, &fastBox, 1);
-		REGION_INTERSECT(pGC->pScreen, &rgnDst, &rgnDst, prgnSrcClip);
-	}
-
-	dstx += pDstDrawable->x;
-	dsty += pDstDrawable->y;
-
-	if (pDstDrawable->type == DRAWABLE_WINDOW)
-		if (!((WindowPtr)pDstDrawable)->realized) {
-			if (!fastClip)
-				REGION_UNINIT(pGC->pScreen, &rgnDst);
-			if (freeSrcClip)
-				REGION_DESTROY(pGC->pScreen, prgnSrcClip);
-			return NULL;
-		}
-
-	dx = srcx - dstx;
-	dy = srcy - dsty;
-
-	/* Translate and clip the dst to the destination composite clip */
-	if (fastClip) {
-		RegionPtr cclip;
-
-		/* Translate the region directly */
-		fastBox.x1 -= dx;
-		fastBox.x2 -= dx;
-		fastBox.y1 -= dy;
-		fastBox.y2 -= dy;
-
-		/* If the destination composite clip is one rectangle we can
-		   do the clip directly.  Otherwise we have to create a full
-		   blown region and call intersect */
-		cclip = pGC->pCompositeClip;
-		if (REGION_NUM_RECTS(cclip) == 1) {
-			BoxPtr pBox = REGION_RECTS(cclip);
-
-			if (fastBox.x1 < pBox->x1)
-				fastBox.x1 = pBox->x1;
-			if (fastBox.x2 > pBox->x2)
-				fastBox.x2 = pBox->x2;
-			if (fastBox.y1 < pBox->y1)
-				fastBox.y1 = pBox->y1;
-			if (fastBox.y2 > pBox->y2)
-				fastBox.y2 = pBox->y2;
-
-			/* Check to see if the region is empty */
-			if (fastBox.x1 >= fastBox.x2 || fastBox.y1 >= fastBox.y2) {
-				REGION_NULL(pGC->pScreen, &rgnDst);
-			} else {
-				REGION_INIT(pGC->pScreen, &rgnDst, &fastBox, 1);
-			}
-		} else {
-			/* We must turn off fastClip now, since we must create
-			   a full blown region.  It is intersected with the
-			   composite clip below. */
-			fastClip = 0;
-			REGION_INIT(pGC->pScreen, &rgnDst, &fastBox,1);
-		}
-	} else
-		REGION_TRANSLATE(pGC->pScreen, &rgnDst, -dx, -dy);
-
-	if (!fastClip) {
-		REGION_INTERSECT(pGC->pScreen, &rgnDst, &rgnDst,
-		 pGC->pCompositeClip);
-	}
-
-	/* Do bit blitting */
-	numRects = REGION_NUM_RECTS(&rgnDst);
-	if (numRects && width && height) {
-		if(!(pptSrc = (DDXPointPtr)xalloc(numRects *
-												  sizeof(DDXPointRec)))) {
-			REGION_UNINIT(pGC->pScreen, &rgnDst);
-			if (freeSrcClip)
-				REGION_DESTROY(pGC->pScreen, prgnSrcClip);
-			return NULL;
-		}
-		pbox = REGION_RECTS(&rgnDst);
-		ppt = pptSrc;
-		for (i = numRects; --i >= 0; pbox++, ppt++) {
-			ppt->x = pbox->x1 + dx;
-			ppt->y = pbox->y1 + dy;
-		}
-
-		(*doBitBlt)(pSrcDrawable, pDstDrawable, pGC->alu, &rgnDst, pptSrc,
-					 planemask);
-
-		xfree(pptSrc);
-	}
-
-	prgnExposed = NULL;
-	if (pGC->fExpose)  {
-		/* Pixmap sources generate a NoExposed (we return NULL to do this) */
-		if (!fastExpose)
-			prgnExposed = miHandleExposures(pSrcDrawable, pDstDrawable, pGC,
-													  origSource.x, origSource.y,
-													  (int)origSource.width,
-													  (int)origSource.height, origDest.x,
-													  origDest.y, (unsigned long)0);
-	}
-	REGION_UNINIT(pGC->pScreen, &rgnDst);
-	if (freeSrcClip)
-		REGION_DESTROY(pGC->pScreen, prgnSrcClip);
-	return prgnExposed;
-}
-
-RegionPtr
-afbCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, GC *pGC, int srcx, int srcy, int width, int height, int dstx, int dsty)
-{
-	afb_blit_func doBitBlt;
-
-	switch (pGC->alu) {
-		case GXcopy:
-			doBitBlt = afbDoBitbltCopy;
-			break;
-		case GXxor:
-			doBitBlt = afbDoBitbltXor;
-			break;
-		case GXcopyInverted:
-			doBitBlt = afbDoBitbltCopyInverted;
-			break;
-		case GXor:
-			doBitBlt = afbDoBitbltOr;
-			break;
-		default:
-			doBitBlt = afbDoBitbltGeneral;
-			break;
-	}
-
-	return(afbBitBlt(pSrcDrawable, pDstDrawable, pGC, srcx, srcy,
-			 width, height, dstx, dsty, doBitBlt, pGC->planemask));
-}
diff --git a/afb/afbblt.c b/afb/afbblt.c
deleted file mode 100644
index 4e1a49e..0000000
--- a/afb/afbblt.c
+++ /dev/null
@@ -1,563 +0,0 @@
-/*
- * afb copy area
- */
-
-/*
-
-Copyright (c) 1989  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-Author: Keith Packard
-
-*/
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <stdlib.h>
-
-#include <X11/X.h>
-#include <X11/Xmd.h>
-#include <X11/Xproto.h>
-#include "afb.h"
-#include "gcstruct.h"
-#include "windowstr.h"
-#include "scrnintstr.h"
-#include "pixmapstr.h"
-#include "regionstr.h"
-#include "maskbits.h"
-#include "fastblt.h"
-#include "mergerop.h"
-
-void
-MROP_NAME(afbDoBitblt)(pSrc, pDst, alu, prgnDst, pptSrc, planemask)
-	DrawablePtr pSrc, pDst;
-	int alu;
-	RegionPtr prgnDst;
-	DDXPointPtr pptSrc;
-	unsigned long planemask;
-{
-	PixelType *psrcBase, *pdstBase;	/* start of src and dst bitmaps */
-	int widthSrc, widthDst;			/* add to get to same position in next line */
-	int sizeSrc, sizeDst;
-
-	BoxPtr pbox;
-	int nbox;
-
-	BoxPtr pboxTmp, pboxNext, pboxBase, pboxNew1, pboxNew2;
-												/* temporaries for shuffling rectangles */
-	DDXPointPtr pptTmp, pptNew1, pptNew2;
-												/* shuffling boxes entails shuffling the
-													source points too */
-	int w, h;
-	int xdir;						/* 1 = left right, -1 = right left/ */
-	int ydir;						/* 1 = top down, -1 = bottom up */
-
-	PixelType *psrcLine, *pdstLine;
-										/* pointers to line with current src and dst */
-	register PixelType *psrc;	/* pointer to current src longword */
-	register PixelType *pdst;	/* pointer to current dst longword */
-
-	MROP_DECLARE_REG()
-
-										/* following used for looping through a line */
-	PixelType startmask, endmask;		/* masks for writing ends of dst */
-	int nlMiddle;					/* whole longwords in dst */
-	int xoffSrc, xoffDst;
-	register int leftShift, rightShift;
-	register PixelType bits;
-	register PixelType bits1;
-	register int nl;				/* temp copy of nlMiddle */
-
-	int careful;
-	int depthSrc;
-	int depthDst;
-
-	MROP_INITIALIZE(alu,0);
-
-	afbGetPixelWidthSizeDepthAndPointer(pSrc, widthSrc, sizeSrc, depthSrc,
-													 psrcBase);
-	afbGetPixelWidthSizeDepthAndPointer(pDst, widthDst, sizeDst, depthDst,
-													 pdstBase);
-
-	/* Special case where depth of dest pixmap is 1 but source pixmap isn't
-	 * Used for GetImage to copy a plane from a source pixmap to a particular
-	 * dest pixmap plane.
-	 * Note: planemask should have only one bit set or several planes from
-	 * the source will be copied to the same dest plane.
-	 */
-	if (depthDst == 1 && depthDst != depthSrc)
-		sizeDst = 0;
-
-	/* XXX we have to err on the side of safety when both are windows,
-	 * because we don't know if IncludeInferiors is being used.
-	 */
-	careful = ((pSrc == pDst) ||
-				  ((pSrc->type == DRAWABLE_WINDOW) &&
-					(pDst->type == DRAWABLE_WINDOW)));
-
-	pbox = REGION_RECTS(prgnDst);
-	nbox = REGION_NUM_RECTS(prgnDst);
-
-	pboxNew1 = NULL;
-	pptNew1 = NULL;
-	pboxNew2 = NULL;
-	pptNew2 = NULL;
-	if (careful && (pptSrc->y < pbox->y1)) {
-		/* walk source botttom to top */
-		ydir = -1;
-		widthSrc = -widthSrc;
-		widthDst = -widthDst;
-
-		if (nbox > 1) {
-			/* keep ordering in each band, reverse order of bands */
-			pboxNew1 = (BoxPtr)xalloc(sizeof(BoxRec)*nbox);
-			if(!pboxNew1)
-				return;
-			pptNew1 = (DDXPointPtr)xalloc(sizeof(DDXPointRec)*nbox);
-			if(!pptNew1) {
-				xfree(pboxNew1);
-				return;
-			}
-			pboxBase = pboxNext = pbox+nbox-1;
-			while (pboxBase >= pbox) {
-				while ((pboxNext >= pbox) &&
-					   (pboxBase->y1 == pboxNext->y1))
-					pboxNext--;
-				pboxTmp = pboxNext+1;
-				pptTmp = pptSrc + (pboxTmp - pbox);
-				while (pboxTmp <= pboxBase) {
-					*pboxNew1++ = *pboxTmp++;
-					*pptNew1++ = *pptTmp++;
-				}
-				pboxBase = pboxNext;
-			}
-			pboxNew1 -= nbox;
-			pbox = pboxNew1;
-			pptNew1 -= nbox;
-			pptSrc = pptNew1;
-		}
-	} else {
-		/* walk source top to bottom */
-		ydir = 1;
-	}
-
-	if (careful && (pptSrc->x < pbox->x1)) {
-		/* walk source right to left */
-		xdir = -1;
-
-		if (nbox > 1) {
-			/* reverse order of rects in each band */
-			pboxNew2 = (BoxPtr)xalloc(sizeof(BoxRec) * nbox);
-			pptNew2 = (DDXPointPtr)xalloc(sizeof(DDXPointRec) * nbox);
-			if(!pboxNew2 || !pptNew2) {
-				if (pptNew2)
-					xfree(pptNew2);
-				if (pboxNew2)
-					xfree(pboxNew2);
-				if (pboxNew1) {
-					xfree(pptNew1);
-					xfree(pboxNew1);
-				}
-				return;
-			}
-			pboxBase = pboxNext = pbox;
-			while (pboxBase < pbox+nbox) {
-				while ((pboxNext < pbox+nbox) && (pboxNext->y1 == pboxBase->y1))
-					pboxNext++;
-				pboxTmp = pboxNext;
-				pptTmp = pptSrc + (pboxTmp - pbox);
-				while (pboxTmp != pboxBase) {
-					*pboxNew2++ = *--pboxTmp;
-					*pptNew2++ = *--pptTmp;
-				}
-				pboxBase = pboxNext;
-			}
-			pboxNew2 -= nbox;
-			pbox = pboxNew2;
-			pptNew2 -= nbox;
-			pptSrc = pptNew2;
-		}
-	} else {
-		/* walk source left to right */
-		xdir = 1;
-	}
-
-	while(nbox--) {
-		int d;
-		for (d = 0; d < depthSrc; d++) {
-			PixelType *psrcB;
-			PixelType *pdstB;
-
-			if (!(planemask & (1 << d)))
-				continue;
-
-			psrcB = psrcBase + sizeSrc * d;			/* @@@ NEXT PLANE @@@ */
-			pdstB = pdstBase + sizeDst * d;			/* @@@ NEXT PLANE @@@ */
-
-			w = pbox->x2 - pbox->x1;
-			h = pbox->y2 - pbox->y1;
-
-			if (ydir == -1) { /* start at last scanline of rectangle */
-				psrcLine = afbScanlineDeltaSrc(psrcB, -(pptSrc->y+h-1), widthSrc);
-				pdstLine = afbScanlineDeltaDst(pdstB, -(pbox->y2-1), widthDst);
-			} else { /* start at first scanline */
-				psrcLine = afbScanlineDeltaSrc(psrcB, pptSrc->y, widthSrc);
-				pdstLine = afbScanlineDeltaDst(pdstB, pbox->y1, widthDst);
-			}
-			if ((pbox->x1 & PIM) + w <= PPW) {
-				maskpartialbits (pbox->x1, w, startmask);
-				endmask = 0;
-				nlMiddle = 0;
-			} else {
-				maskbits(pbox->x1, w, startmask, endmask, nlMiddle);
-			}
-			if (xdir == 1) {
-				xoffSrc = pptSrc->x & PIM;
-				xoffDst = pbox->x1 & PIM;
-				pdstLine += (pbox->x1 >> PWSH);
-				psrcLine += (pptSrc->x >> PWSH);
-#ifdef DO_UNALIGNED_BITBLT
-				nl = xoffSrc - xoffDst;
-				psrcLine = (PixelType *)(((unsigned char *) psrcLine) + nl);
-#else
-				if (xoffSrc == xoffDst)
-#endif
-				{
-					while (h--) {
-						psrc = psrcLine;
-						pdst = pdstLine;
-						if (startmask) {
-							*pdst = MROP_MASK(*psrc, *pdst, startmask);
-							psrc++;
-							pdst++;
-						}
-						nl = nlMiddle;
-
-#ifdef LARGE_INSTRUCTION_CACHE
-#ifdef FAST_CONSTANT_OFFSET_MODE
-
-						psrc += nl & (UNROLL-1);
-						pdst += nl & (UNROLL-1);
-
-#define BodyOdd(n) pdst[-n] = MROP_SOLID (psrc[-n], pdst[-n]);
-#define BodyEven(n) pdst[-n] = MROP_SOLID (psrc[-n], pdst[-n]);
-
-#define LoopReset \
-pdst += UNROLL; \
-psrc += UNROLL;
-
-#else
-
-#define BodyOdd(n)  *pdst = MROP_SOLID (*psrc, *pdst); pdst++; psrc++;
-#define BodyEven(n) BodyOdd(n)
-
-#define LoopReset   ;
-
-#endif
-						PackedLoop
-
-#undef BodyOdd
-#undef BodyEven
-#undef LoopReset
-
-#else
-#ifdef NOTDEF
-						/* you'd think this would be faster --
-						 * a single instruction instead of 6
-						 * but measurements show it to be ~15% slower
-						 */
-						while ((nl -= 6) >= 0) {
-							asm ("moveml %1+,#0x0c0f;moveml#0x0c0f,%0"
-								 : "=m" (*(char *)pdst)
-								 : "m" (*(char *)psrc)
-								 : "d0", "d1", "d2", "d3",
-								   "a2", "a3");
-							pdst += 6;
-						}
-						nl += 6;
-						while (nl--)
-							*pdst++ = *psrc++;
-#endif
-						DuffL(nl, label1,
-								*pdst = MROP_SOLID (*psrc, *pdst);
-								pdst++; psrc++;)
-#endif
-
-						if (endmask)
-							*pdst = MROP_MASK(*psrc, *pdst, endmask);
-						afbScanlineIncDst(pdstLine, widthDst);
-						afbScanlineIncSrc(psrcLine, widthSrc);
-					}
-				}
-#ifndef DO_UNALIGNED_BITBLT
-				else {
-					if (xoffSrc > xoffDst) {
-						leftShift = (xoffSrc - xoffDst);
-						rightShift = PPW - leftShift;
-					} else {
-						rightShift = (xoffDst - xoffSrc);
-						leftShift = PPW - rightShift;
-					}
-					while (h--) {
-						psrc = psrcLine;
-						pdst = pdstLine;
-						bits = 0;
-						if (xoffSrc > xoffDst)
-							bits = *psrc++;
-						if (startmask) {
-							bits1 = BitLeft(bits,leftShift);
-							bits = *psrc++;
-							bits1 |= BitRight(bits,rightShift);
-							*pdst = MROP_MASK(bits1, *pdst, startmask);
-							pdst++;
-						}
-						nl = nlMiddle;
-
-#ifdef LARGE_INSTRUCTION_CACHE
-						bits1 = bits;
-
-#ifdef FAST_CONSTANT_OFFSET_MODE
-
-						psrc += nl & (UNROLL-1);
-						pdst += nl & (UNROLL-1);
-
-#define BodyOdd(n) \
-bits = psrc[-n]; \
-pdst[-n] = MROP_SOLID(BitLeft(bits1, leftShift) | BitRight(bits, rightShift), pdst[-n]);
-
-#define BodyEven(n) \
-bits1 = psrc[-n]; \
-pdst[-n] = MROP_SOLID(BitLeft(bits, leftShift) | BitRight(bits1, rightShift), pdst[-n]);
-
-#define LoopReset \
-pdst += UNROLL; \
-psrc += UNROLL;
-
-#else
-
-#define BodyOdd(n) \
-bits = *psrc++; \
-*pdst = MROP_SOLID(BitLeft(bits1, leftShift) | BitRight(bits, rightShift), *pdst); \
-pdst++;
-
-#define BodyEven(n) \
-bits1 = *psrc++; \
-*pdst = MROP_SOLID(BitLeft(bits, leftShift) | BitRight(bits1, rightShift), *pdst); \
-pdst++;
-
-#define LoopReset   ;
-
-#endif		/* !FAST_CONSTANT_OFFSET_MODE */
-
-						PackedLoop
-
-#undef BodyOdd
-#undef BodyEven
-#undef LoopReset
-
-#else
-						DuffL(nl,label2,
-							bits1 = BitLeft(bits, leftShift);
-							bits = *psrc++;
-							*pdst = MROP_SOLID (bits1 | BitRight(bits, rightShift), *pdst);
-							pdst++;
-						)
-#endif
-
-						if (endmask) {
-							bits1 = BitLeft(bits, leftShift);
-							if (BitLeft(endmask, rightShift)) {
-								bits = *psrc;
-									bits1 |= BitRight(bits, rightShift);
-							}
-							*pdst = MROP_MASK (bits1, *pdst, endmask);
-						}
-						afbScanlineIncDst(pdstLine, widthDst);
-						afbScanlineIncSrc(psrcLine, widthSrc);
-					}
-				}
-#endif /* DO_UNALIGNED_BITBLT */
-			} else {		/* xdir == -1 */
-				xoffSrc = (pptSrc->x + w - 1) & PIM;
-				xoffDst = (pbox->x2 - 1) & PIM;
-				pdstLine += ((pbox->x2-1) >> PWSH) + 1;
-				psrcLine += ((pptSrc->x+w - 1) >> PWSH) + 1;
-#ifdef DO_UNALIGNED_BITBLT
-				nl = xoffSrc - xoffDst;
-				psrcLine = (PixelType *)
-							(((unsigned char *) psrcLine) + nl);
-#else
-				if (xoffSrc == xoffDst)
-#endif
-				{
-					while (h--) {
-						psrc = psrcLine;
-						pdst = pdstLine;
-						if (endmask) {
-							pdst--;
-							psrc--;
-							*pdst = MROP_MASK (*psrc, *pdst, endmask);
-						}
-						nl = nlMiddle;
-
-#ifdef LARGE_INSTRUCTION_CACHE
-#ifdef FAST_CONSTANT_OFFSET_MODE
-						psrc -= nl & (UNROLL - 1);
-						pdst -= nl & (UNROLL - 1);
-
-#define BodyOdd(n) pdst[n-1] = MROP_SOLID (psrc[n-1], pdst[n-1]);
-
-#define BodyEven(n) BodyOdd(n)
-
-#define LoopReset \
-pdst -= UNROLL;\
-psrc -= UNROLL;
-
-#else
-
-#define BodyOdd(n)  --pdst; --psrc; *pdst = MROP_SOLID(*psrc, *pdst);
-#define BodyEven(n) BodyOdd(n)
-#define LoopReset   ;
-
-#endif
-						PackedLoop
-
-#undef BodyOdd
-#undef BodyEven
-#undef LoopReset
-
-#else
-						DuffL(nl,label3,
-							 --pdst; --psrc; *pdst = MROP_SOLID (*psrc, *pdst);)
-#endif
-
-						if (startmask) {
-							--pdst;
-							--psrc;
-							*pdst = MROP_MASK(*psrc, *pdst, startmask);
-						}
-						afbScanlineIncDst(pdstLine, widthDst);
-						afbScanlineIncSrc(psrcLine, widthSrc);
-					}
-				}
-#ifndef DO_UNALIGNED_BITBLT
-				else {
-					if (xoffDst > xoffSrc) {
-						rightShift = (xoffDst - xoffSrc);
-						leftShift = PPW - rightShift;
-					} else {
-						leftShift = (xoffSrc - xoffDst);
-						rightShift = PPW - leftShift;
-					}
-					while (h--) {
-						psrc = psrcLine;
-						pdst = pdstLine;
-						bits = 0;
-						if (xoffDst > xoffSrc)
-							bits = *--psrc;
-						if (endmask) {
-							bits1 = BitRight(bits, rightShift);
-							bits = *--psrc;
-							bits1 |= BitLeft(bits, leftShift);
-							pdst--;
-							*pdst = MROP_MASK(bits1, *pdst, endmask);
-						}
-						nl = nlMiddle;
-
-#ifdef LARGE_INSTRUCTION_CACHE
-						bits1 = bits;
-#ifdef FAST_CONSTANT_OFFSET_MODE
-						psrc -= nl & (UNROLL - 1);
-						pdst -= nl & (UNROLL - 1);
-
-#define BodyOdd(n) \
-bits = psrc[n-1]; \
-pdst[n-1] = MROP_SOLID(BitRight(bits1, rightShift) | BitLeft(bits, leftShift),pdst[n-1]);
-
-#define BodyEven(n) \
-bits1 = psrc[n-1]; \
-pdst[n-1] = MROP_SOLID(BitRight(bits, rightShift) | BitLeft(bits1, leftShift),pdst[n-1]);
-
-#define LoopReset \
-pdst -= UNROLL; \
-psrc -= UNROLL;
-
-#else
-
-#define BodyOdd(n) \
-bits = *--psrc; --pdst; \
-*pdst = MROP_SOLID(BitRight(bits1, rightShift) | BitLeft(bits, leftShift),*pdst);
-
-#define BodyEven(n) \
-bits1 = *--psrc; --pdst; \
-*pdst = MROP_SOLID(BitRight(bits, rightShift) | BitLeft(bits1, leftShift),*pdst);
-
-#define LoopReset   ;
-
-#endif
-
-						PackedLoop
-
-#undef BodyOdd
-#undef BodyEven
-#undef LoopReset
-
-#else
-						DuffL(nl, label4,
-							bits1 = BitRight(bits, rightShift);
-							bits = *--psrc;
-							--pdst;
-							*pdst = MROP_SOLID(bits1 | BitLeft(bits, leftShift),*pdst);
-						)
-#endif
-
-						if (startmask) {
-							bits1 = BitRight(bits, rightShift);
-							if (BitRight (startmask, leftShift)) {
-								bits = *--psrc;
-								bits1 |= BitLeft(bits, leftShift);
-							}
-							--pdst;
-							*pdst = MROP_MASK(bits1, *pdst, startmask);
-						}
-						afbScanlineIncDst(pdstLine, widthDst);
-						afbScanlineIncSrc(psrcLine, widthSrc);
-					}
-				}
-#endif
-			}
-		}
-		pbox++;
-		pptSrc++;
-	}
-	if (pboxNew2) {
-		xfree(pptNew2);
-		xfree(pboxNew2);
-	}
-	if (pboxNew1) {
-		xfree(pptNew1);
-		xfree(pboxNew1);
-	}
-}
diff --git a/afb/afbbres.c b/afb/afbbres.c
deleted file mode 100644
index dae4746..0000000
--- a/afb/afbbres.c
+++ /dev/null
@@ -1,323 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include "misc.h"
-#include "afb.h"
-#include "maskbits.h"
-#include "miline.h"
-
-/* Solid bresenham line */
-/* NOTES
-   e2 is used less often than e1, so it's not in a register
-*/
-
-void
-afbBresS(addrlbase, nlwidth, sizeDst, depthDst, signdx, signdy, axis, x1, y1,
-		 e, e1, e2, len, rrops)
-PixelType *addrlbase;		/* pointer to base of bitmap */
-int nlwidth;				/* width in longwords of bitmap */
-int sizeDst;
-int depthDst;
-int signdx, signdy;		/* signs of directions */
-int axis;				/* major axis (Y_AXIS or X_AXIS) */
-int x1, y1;				/* initial point */
-register int e;				/* error accumulator */
-register int e1;		/* bresenham increments */
-int e2;
-int len;				/* length of line */
-unsigned char *rrops;
-{
-	register int yinc;		/* increment to next scanline, in bytes */
-	register PixelType *addrl;		/* bitmask long pointer */
-	register PixelType bit;		/* current bit being set/cleared/etc.  */
-	PixelType leftbit = mfbGetmask(0); /* leftmost bit to process in new word */
-	PixelType rightbit = mfbGetmask(PPW-1); /* rightmost bit to process in new word */
-
-	register int e3 = e2-e1;
-	PixelType		tmp;
-	int saveE;
-	int saveLen;
-	int d;
-
-	/* point to longword containing first point */
-	yinc = signdy * nlwidth;
-	e = e-e1;						/* to make looping easier */
-
-	if (!len)
-		return;
-
-	saveLen = len;
-	saveE = e;
-
-	for (d = 0; d < depthDst; d++) {
-		addrl = afbScanline(addrlbase, x1, y1, nlwidth);
-		addrlbase += sizeDst;	/* @@@ NEXT PLANE @@@ */
-		len = saveLen;
-		e = saveE;
-		bit = mfbGetmask(x1 & PIM);
-
-		switch (rrops[d]) {
-			case RROP_BLACK:
-				if (axis == X_AXIS) {
-					if (signdx > 0) {
-						tmp = *addrl;
-						for (;;) {
-							tmp &= ~bit;
-							if (!--len)
-								break;
-							bit = SCRRIGHT(bit,1);
-							e += e1;
- 							if (e >= 0) {
-								*addrl = tmp;
-								afbScanlineInc(addrl, yinc);
-								e += e3;
-								if (!bit) {
-									bit = leftbit;
-									addrl ++;
-								}
-								tmp = *addrl;
-							} else if (!bit) {
-								*addrl = tmp;
-								bit = leftbit;
-								addrl ++;
-								tmp = *addrl;
-							}
-						}
-						*addrl = tmp;
-					} else {
-						tmp = *addrl;
-						for (;;) {
-							tmp &= ~bit;
-							if (!--len)
-								break;
-							e += e1;
-							bit = SCRLEFT(bit,1);
-							if (e >= 0) {
-								*addrl = tmp;
-								afbScanlineInc(addrl, yinc);
-								e += e3;
-								if (!bit) {
-									bit = rightbit;
-									addrl --;
-								}
-								tmp = *addrl;
-							} else if (!bit) {
-								*addrl = tmp;
-								bit = rightbit;
-								addrl --;
-								tmp = *addrl;
-							}
-						}
-						*addrl = tmp;
-					}
-				} /* if X_AXIS */ else {
-					if (signdx > 0) {
-						while(len--) {
-							*addrl &= ~bit;
-							e += e1;
-							if (e >= 0) {
-								bit = SCRRIGHT(bit,1);
-								if (!bit) { bit = leftbit;addrl ++; }
-								e += e3;
-							}
-							afbScanlineInc(addrl, yinc);
-						}
-					} else {
-						while(len--) {
-							*addrl &= ~bit;
-							e += e1;
-							if (e >= 0) {
-								bit = SCRLEFT(bit,1);
-								if (!bit) { bit = rightbit;addrl --; }
-								e += e3;
-							}
-							afbScanlineInc(addrl, yinc);
-						}
-					}
-				} /* else Y_AXIS */
-				break;
-
-			case RROP_WHITE:
-				if (axis == X_AXIS) {
-					if (signdx > 0) {
-						tmp = *addrl;
-						for (;;) {
-							tmp |= bit;
-							if (!--len)
-								break;
-							e += e1;
-							bit = SCRRIGHT(bit,1);
-							if (e >= 0) {
-								*addrl = tmp;
-								afbScanlineInc(addrl, yinc);
-								e += e3;
-								if (!bit) {
-									bit = leftbit;
-									addrl ++;
-								}
-								tmp = *addrl;
-							} else if (!bit) {
-								*addrl = tmp;
-								bit = leftbit;
-								addrl ++;
-								tmp = *addrl;
-							}
-						}
-						*addrl = tmp;
-					} else {
-						tmp = *addrl;
-						for (;;) {
-							tmp |= bit;
-							if (!--len)
-								break;
-							e += e1;
-							bit = SCRLEFT(bit,1);
-							if (e >= 0) {
-								*addrl = tmp;
-								afbScanlineInc(addrl, yinc);
-								e += e3;
-								if (!bit) {
-									bit = rightbit;
-									addrl --;
-								}
-								tmp = *addrl;
-							} else if (!bit) {
-								*addrl = tmp;
-								bit = rightbit;
-								addrl --;
-								tmp = *addrl;
-							}
-						}
-						*addrl = tmp;
-					}
-				} /* if X_AXIS */ else {
-					if (signdx > 0) {
-						while(len--) {
-							*addrl |= bit;
-							e += e1;
-							if (e >= 0) {
-								bit = SCRRIGHT(bit,1);
-								if (!bit) { bit = leftbit;addrl ++; }
-								e += e3;
-							}
-							afbScanlineInc(addrl, yinc);
-						}
-					} else {
-						while(len--) {
-							*addrl |= bit;
-							e += e1;
-							if (e >= 0) {
-								bit = SCRLEFT(bit,1);
-								if (!bit) { bit = rightbit;addrl --; }
-								e += e3;
-							}
-							afbScanlineInc(addrl, yinc);
-						}
-					}
-				} /* else Y_AXIS */
-				break;
-
-			case RROP_INVERT:
-				if (axis == X_AXIS) {
-					if (signdx > 0) {
-						while(len--) {
-							*addrl ^= bit;
-							e += e1;
-							if (e >= 0) {
-								afbScanlineInc(addrl, yinc);
-								e += e3;
-							}
-							bit = SCRRIGHT(bit,1);
-							if (!bit) { bit = leftbit;addrl ++; }
-						}
-					} else {
-						while(len--) {
-							*addrl ^= bit;
-							e += e1;
-							if (e >= 0) {
-								afbScanlineInc(addrl, yinc);
-								e += e3;
-							}
-							bit = SCRLEFT(bit,1);
-							if (!bit) { bit = rightbit;addrl --; }
-						}
-					}
-				} /* if X_AXIS */ else {
-					if (signdx > 0) {
-						while(len--) {
-							*addrl ^= bit;
-							e += e1;
-							if (e >= 0) {
-								bit = SCRRIGHT(bit,1);
-								if (!bit) { bit = leftbit;addrl ++; }
-								e += e3;
-							}
-							afbScanlineInc(addrl, yinc);
-						}
-					} else {
-						while(len--) {
-							*addrl ^= bit;
-							e += e1;
-							if (e >= 0) {
-								bit = SCRLEFT(bit,1);
-								if (!bit) { bit = rightbit; addrl --; }
-								e += e3;
-							}
-							afbScanlineInc(addrl, yinc);
-						}
-					}
-				} /* else Y_AXIS */
-		} /* switch */
-	} /* for (d = ... ) */
-}
diff --git a/afb/afbbresd.c b/afb/afbbresd.c
deleted file mode 100644
index 4f07ede..0000000
--- a/afb/afbbresd.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include "misc.h"
-#include "afb.h"
-#include "maskbits.h"
-#include "miline.h"
-
-/* Dashed bresenham line */
-
-#define StepDash\
-	if (!--dashRemaining) { \
-		if (++ dashIndex == numInDashList) \
-			dashIndex = 0; \
-		dashRemaining = pDash[dashIndex]; \
-		rop = fgrop; \
-		if (dashIndex & 1) \
-			rop = bgrop; \
-	}
-
-void
-afbBresD(pdashIndex, pDash, numInDashList, pdashOffset, isDoubleDash,
-		 addrlbase, nlwidth, sizeDst, depthDst,
-		 signdx, signdy, axis, x1, y1, e, e1, e2, len, rrops, bgrrops)
-int *pdashIndex;		/* current dash */
-unsigned char *pDash;		/* dash list */
-int numInDashList;		/* total length of dash list */
-int *pdashOffset;		/* offset into current dash */
-int isDoubleDash;
-PixelType *addrlbase;		/* pointer to base of bitmap */
-int nlwidth;				/* width in longwords of bitmap */
-int sizeDst;
-int depthDst;
-int signdx, signdy;		/* signs of directions */
-int axis;				/* major axis (Y_AXIS or X_AXIS) */
-int x1, y1;				/* initial point */
-register int e;				/* error accumulator */
-register int e1;		/* bresenham increments */
-int e2;
-int len;				/* length of line */
-unsigned char *rrops;
-unsigned char *bgrrops;
-{
-	register int yinc;		/* increment to next scanline, in bytes */
-	register PixelType *addrl;
-	register int e3 = e2-e1;
-	register unsigned long bit;
-	PixelType leftbit = mfbGetmask(0); /* leftmost bit to process in new word */
-	PixelType rightbit = mfbGetmask(PPW-1); /* rightmost bit to process in new word */
-	int dashIndex;
-	int dashOffset;
-	int dashRemaining;
-	int		rop;
-	int fgrop;
-	int bgrop;
-	int saveE;
-	int saveLen;
-	int d;
-
-	dashOffset = *pdashOffset;
-	dashIndex = *pdashIndex;
-	dashRemaining = pDash[dashIndex] - dashOffset;
-	/* point to longword containing first point */
-
-	yinc = signdy * nlwidth;
-	e = e-e1;						/* to make looping easier */
-
-	saveE = e;
-	saveLen = len;
-
-	for (d = 0; d < depthDst; d++) {
-		addrl = afbScanline(addrlbase, x1, y1, nlwidth);
-		addrlbase += sizeDst;	/* @@@ NEXT PLANE @@@ */
-
-		fgrop = rrops[d];
-		bgrop = bgrrops[d];
-
-		e = saveE;
-		len = saveLen;
-		bit = mfbGetmask(x1 & PIM);
-
-		rop = fgrop;
-		if (!isDoubleDash)
-			bgrop = -1;
-		if (dashIndex & 1)
-			rop = bgrop;
-
-		if (axis == X_AXIS) {
-			if (signdx > 0) {
-				while(len--) {
-					if (rop == RROP_BLACK)
-						*addrl &= ~bit;
-					else if (rop == RROP_WHITE)
-						*addrl |= bit;
-					else if (rop == RROP_INVERT)
-						*addrl ^= bit;
-					e += e1;
-					if (e >= 0) {
-						afbScanlineInc(addrl, yinc);
-						e += e3;
-					}
-					bit = SCRRIGHT(bit,1);
-					if (!bit) { bit = leftbit;addrl ++; }
-					StepDash
-				}
-			} else {
-				while(len--) {
-					if (rop == RROP_BLACK)
-						*addrl &= ~bit;
-					else if (rop == RROP_WHITE)
-						*addrl |= bit;
-					else if (rop == RROP_INVERT)
-						*addrl ^= bit;
-					e += e1;
-					if (e >= 0) {
-						afbScanlineInc(addrl, yinc);
-						e += e3;
-					}
-					bit = SCRLEFT(bit,1);
-					if (!bit) { bit = rightbit;addrl --; }
-					StepDash
-				}
-			}
-		} /* if X_AXIS */ else {
-			if (signdx > 0) {
-				while(len--) {
-					if (rop == RROP_BLACK)
-						*addrl &= ~bit;
-					else if (rop == RROP_WHITE)
-						*addrl |= bit;
-					else if (rop == RROP_INVERT)
-						*addrl ^= bit;
-					e += e1;
-					if (e >= 0) {
-						bit = SCRRIGHT(bit,1);
-						if (!bit) { bit = leftbit;addrl ++; }
-						e += e3;
-					}
-					afbScanlineInc(addrl, yinc);
-					StepDash
-				}
-			} else {
-				while(len--) {
-					if (rop == RROP_BLACK)
-						*addrl &= ~bit;
-					else if (rop == RROP_WHITE)
-						*addrl |= bit;
-					else if (rop == RROP_INVERT)
-						*addrl ^= bit;
-					e += e1;
-					if (e >= 0) {
-						bit = SCRLEFT(bit,1);
-						if (!bit) { bit = rightbit;addrl --; }
-						e += e3;
-					}
-					afbScanlineInc(addrl, yinc);
-					StepDash
-				}
-			}
-		} /* else Y_AXIS */
-	} /* for (d = ...) */
-	*pdashIndex = dashIndex;
-	*pdashOffset = pDash[dashIndex] - dashRemaining;
-}
diff --git a/afb/afbclip.c b/afb/afbclip.c
deleted file mode 100644
index 15be405..0000000
--- a/afb/afbclip.c
+++ /dev/null
@@ -1,248 +0,0 @@
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <stdlib.h>
-
-#include <X11/X.h>
-#include "regionstr.h"
-#include "pixmapstr.h"
-#include "scrnintstr.h"
-#include "gc.h"
-#include "maskbits.h"
-#include "mi.h"
-#include "afb.h"
-
-#define ADDRECT(reg,r,fr,rx1,ry1,rx2,ry2)						\
-if (((rx1) < (rx2)) && ((ry1) < (ry2)) &&						\
-	(!((reg)->data->numRects &&										\
-	   ((r-1)->y1 == (ry1)) &&										\
-	   ((r-1)->y2 == (ry2)) &&										\
-	   ((r-1)->x1 <= (rx1)) &&										\
-	   ((r-1)->x2 >= (rx2)))))										\
-{																\
-	if ((reg)->data->numRects == (reg)->data->size)				\
-	{																\
-		miRectAlloc(reg, 1);										\
-		fr = REGION_BOXPTR(reg);								\
-		r = fr + (reg)->data->numRects;								\
-	}																\
-	r->x1 = (rx1);												\
-	r->y1 = (ry1);												\
-	r->x2 = (rx2);												\
-	r->y2 = (ry2);												\
-	(reg)->data->numRects++;										\
-	if(r->x1 < (reg)->extents.x1)								\
-		(reg)->extents.x1 = r->x1;								\
-	if(r->x2 > (reg)->extents.x2)								\
-		(reg)->extents.x2 = r->x2;								\
-	r++;														\
-}
-
-/* Convert bitmap clip mask into clipping region.
- * First, goes through each line and makes boxes by noting the transitions
- * from 0 to 1 and 1 to 0.
- * Then it coalesces the current line with the previous if they have boxes
- * at the same X coordinates.
- */
-RegionPtr
-afbPixmapToRegion(pPix)
-	PixmapPtr		pPix;
-{
-	register RegionPtr	pReg;
-	register PixelType	*pw, w;
-	register int		ib;
-	int			width, h, base, rx1 = 0, crects;
-	PixelType		*pwLineEnd;
-	int			irectPrevStart, irectLineStart;
-	register BoxPtr		prectO, prectN;
-	BoxPtr			FirstRect, rects, prectLineStart;
-	Bool			fInBox, fSame;
-	register PixelType	mask0 = mfbGetmask(0);
-	PixelType		*pwLine;
-	int			nWidth;
-
-	pReg = REGION_CREATE(pPix->drawable.pScreen, NULL, 1);
-	if(!pReg)
-		return NullRegion;
-	FirstRect = REGION_BOXPTR(pReg);
-	rects = FirstRect;
-
-	pwLine = (PixelType *) pPix->devPrivate.ptr;
-	nWidth = pPix->devKind / PGSZB;
-
-	width = pPix->drawable.width;
-	pReg->extents.x1 = width - 1;
-	pReg->extents.x2 = 0;
-	irectPrevStart = -1;
-	for(h = 0; h < pPix->drawable.height; h++) {
-		pw = pwLine;
-		pwLine += nWidth;
-		irectLineStart = rects - FirstRect;
-		/* If the Screen left most bit of the word is set, we're starting in
-		 * a box */
-		if(*pw & mask0) {
-			fInBox = TRUE;
-			rx1 = 0;
-		}
-		else
-			fInBox = FALSE;
-		/* Process all words which are fully in the pixmap */
-		pwLineEnd = pw + (width >> PWSH);
-		for (base = 0; pw < pwLineEnd; base += PPW) {
-			w = *pw++;
-			if (fInBox) {
-				if (!~w)
-					continue;
-			} else {
-				if (!w)
-					continue;
-			}
-			for(ib = 0; ib < PPW; ib++) {
-				/* If the Screen left most bit of the word is set, we're
-				 * starting a box */
-				if(w & mask0) {
-					if(!fInBox) {
-						rx1 = base + ib;
-						/* start new box */
-						fInBox = TRUE;
-					}
-				} else {
-					if(fInBox) {
-						/* end box */
-						ADDRECT(pReg, rects, FirstRect,
-								rx1, h, base + ib, h + 1);
-						fInBox = FALSE;
-					}
-				}
-				/* Shift the word VISUALLY left one. */
-				w = SCRLEFT(w, 1);
-			}
-		}
-		if(width & PIM) {
-			/* Process final partial word on line */
-			w = *pw++;
-			for(ib = 0; ib < (width & PIM); ib++) {
-				/* If the Screen left most bit of the word is set, we're
-				 * starting a box */
-				if(w & mask0) {
-					if(!fInBox) {
-						rx1 = base + ib;
-						/* start new box */
-						fInBox = TRUE;
-					}
-				} else {
-					if(fInBox) {
-						/* end box */
-						ADDRECT(pReg, rects, FirstRect,
-								rx1, h, base + ib, h + 1);
-						fInBox = FALSE;
-					}
-				}
-				/* Shift the word VISUALLY left one. */
-				w = SCRLEFT(w, 1);
-			}
-		}
-		/* If scanline ended with last bit set, end the box */
-		if(fInBox) {
-			ADDRECT(pReg, rects, FirstRect,
-					rx1, h, base + (width & PIM), h + 1);
-		}
-		/* if all rectangles on this line have the same x-coords as
-		 * those on the previous line, then add 1 to all the previous  y2s and
-		 * throw away all the rectangles from this line
-		 */
-		fSame = FALSE;
-		if(irectPrevStart != -1) {
-			crects = irectLineStart - irectPrevStart;
-			if(crects == ((rects - FirstRect) - irectLineStart)) {
-				prectO = FirstRect + irectPrevStart;
-				prectN = prectLineStart = FirstRect + irectLineStart;
-				fSame = TRUE;
-				while(prectO < prectLineStart) {
-					if((prectO->x1 != prectN->x1) || (prectO->x2 != prectN->x2)) {
-						  fSame = FALSE;
-						  break;
-					}
-					prectO++;
-					prectN++;
-				}
-				if (fSame) {
-					prectO = FirstRect + irectPrevStart;
-					while(prectO < prectLineStart) {
-						prectO->y2 += 1;
-						prectO++;
-					}
-					rects -= crects;
-					pReg->data->numRects -= crects;
-				}
-			}
-		}
-		if(!fSame)
-			irectPrevStart = irectLineStart;
-	}
-	if (!pReg->data->numRects)
-		pReg->extents.x1 = pReg->extents.x2 = 0;
-	else
-	{
-		pReg->extents.y1 = REGION_BOXPTR(pReg)->y1;
-		pReg->extents.y2 = REGION_END(pReg)->y2;
-		if (pReg->data->numRects == 1) {
-			xfree(pReg->data);
-			pReg->data = (RegDataPtr)NULL;
-		}
-	}
-#ifdef DEBUG
-	if (!miValidRegion(pReg))
-		FatalError("Assertion failed file %s, line %d: expr\n", __FILE__, __LINE__);
-#endif
-	return(pReg);
-}
diff --git a/afb/afbcmap.c b/afb/afbcmap.c
deleted file mode 100644
index 9608a36..0000000
--- a/afb/afbcmap.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/************************************************************
-Copyright 1987 by Sun Microsystems, Inc. Mountain View, CA.
-
-                    All Rights Reserved
-
-Permission  to  use,  copy,  modify,  and  distribute   this
-software  and  its documentation for any purpose and without
-fee is hereby granted, provided that the above copyright no-
-tice  appear  in all copies and that both that copyright no-
-tice and this permission notice appear in  supporting  docu-
-mentation,  and  that the names of Sun or X Consortium
-not be used in advertising or publicity pertaining to
-distribution  of  the software  without specific prior
-written permission. Sun and X Consortium make no
-representations about the suitability of this software for
-any purpose. It is provided "as is" without any express or
-implied warranty.
-
-SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO  THIS  SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT-
-NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE  LI-
-ABLE  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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include <X11/Xproto.h>
-#include "scrnintstr.h"
-#include "colormapst.h"
-#include "resource.h"
-#include "micmap.h"
-#include "afb.h"
-
-int
-afbListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps)
-{
-	return miListInstalledColormaps(pScreen, pmaps);
-}
-
-
-void
-afbInstallColormap(ColormapPtr pmap)
-{
-	miInstallColormap(pmap);
-}
-
-void
-afbUninstallColormap(ColormapPtr pmap)
-{
-	miUninstallColormap(pmap);
-}
-
-void
-afbResolveColor(short unsigned int *pred, short unsigned int *pgreen, short unsigned int *pblue, register VisualPtr pVisual)
-{
-	miResolveColor(pred, pgreen, pblue, pVisual);
-}
-
-Bool
-afbInitializeColormap(register ColormapPtr pmap)
-{
-	return miInitializeColormap(pmap);
-}
-
-/*
- * Given a list of formats for a screen, create a list
- * of visuals and depths for the screen which correspond to
- * the set which can be used with this version of afb.
- */
-
-Bool
-afbInitVisuals(VisualPtr *visualp, DepthPtr *depthp, int *nvisualp, int *ndepthp, int *rootDepthp, VisualID *defaultVisp, long unsigned int sizes, int bitsPerRGB)
-{
-	return miInitVisuals(visualp, depthp, nvisualp, ndepthp, rootDepthp,
-				defaultVisp, sizes, bitsPerRGB, -1);
-}
diff --git a/afb/afbfillarc.c b/afb/afbfillarc.c
deleted file mode 100644
index cfc3133..0000000
--- a/afb/afbfillarc.c
+++ /dev/null
@@ -1,347 +0,0 @@
-/************************************************************
-
-Copyright (c) 1989  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-********************************************************/
-
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include <X11/Xprotostr.h>
-#include "regionstr.h"
-#include "gcstruct.h"
-#include "pixmapstr.h"
-#include "scrnintstr.h"
-#include "afb.h"
-#include "maskbits.h"
-#include "mifillarc.h"
-#include "mi.h"
-
-static void
-afbFillEllipseSolid(DrawablePtr pDraw, xArc *arc, register unsigned char *rrops)
-{
-	int x, y, e;
-	int yk, xk, ym, xm, dx, dy, xorg, yorg;
-	register int slw;
-	miFillArcRec info;
-	PixelType *addrlt, *addrlb;
-	register PixelType *pdst;
-	PixelType *addrl;
-	register int n;
-	register int d;
-	int nlwidth;
-	register int xpos;
-	PixelType startmask, endmask;
-	int nlmiddle;
-	int depthDst;
-	int sizeDst;
-
-	afbGetPixelWidthSizeDepthAndPointer(pDraw, nlwidth, sizeDst, depthDst,
-													 addrlt);
-	miFillArcSetup(arc, &info);
-	MIFILLARCSETUP();
-	xorg += pDraw->x;
-	yorg += pDraw->y;
-	addrlb = addrlt;
-	addrlt += nlwidth * (yorg - y);
-	addrlb += nlwidth * (yorg + y + dy);
-	while (y) {
-		addrlt += nlwidth;
-		addrlb -= nlwidth;
-		MIFILLARCSTEP(slw);
-		if (!slw)
-			continue;
-		xpos = xorg - x;
-		pdst = addrl = afbScanlineOffset(addrlt, (xpos >> PWSH));
-		if (((xpos & PIM) + slw) < PPW) {
-			maskpartialbits(xpos, slw, startmask);
-			for (d = 0; d < depthDst; d++, pdst += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-				switch (rrops[d]) {
-					case RROP_BLACK:
-						*pdst &= ~startmask;
-						break;
-					case RROP_WHITE:
-						*pdst |= startmask;
-						break;
-					case RROP_INVERT:
-						*pdst ^= startmask;
-						break;
-					case RROP_NOP:
-						break;
-				}
-			}
-			if (miFillArcLower(slw)) {
-				pdst = afbScanlineOffset(addrlb, (xpos >> PWSH));
-
-				for (d = 0; d < depthDst; d++, pdst += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							*pdst &= ~startmask;
-							break;
-						case RROP_WHITE:
-							*pdst |= startmask;
-							break;
-						case RROP_INVERT:
-							*pdst ^= startmask;
-							break;
-						case RROP_NOP:
-							break;
-					}
-				}
-			}
-			continue;
-		}
-		maskbits(xpos, slw, startmask, endmask, nlmiddle);
-		for (d = 0; d < depthDst; d++, addrl += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-			n = nlmiddle;
-			pdst = addrl;
-
-			switch (rrops[d]) {
-				case RROP_BLACK:
-					if (startmask)
-						*pdst++ &= ~startmask;
-					while (n--)
-						*pdst++ = 0;
-					if (endmask)
-						*pdst &= ~endmask;
-					break;
-
-				case RROP_WHITE:
-					if (startmask)
-						*pdst++ |= startmask;
-					while (n--)
-						*pdst++ = ~0;
-					if (endmask)
-						*pdst |= endmask;
-					break;
-
-				case RROP_INVERT:
-					if (startmask)
-						*pdst++ ^= startmask;
-					while (n--)
-						*pdst++ ^= ~0;
-					if (endmask)
-						*pdst ^= endmask;
-					break;
-
-				case RROP_NOP:
-					break;
-			}
-		}
-		if (!miFillArcLower(slw))
-			continue;
-		addrl = afbScanlineOffset(addrlb, (xpos >> PWSH));
-		for (d = 0; d < depthDst; d++, addrl += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-			n = nlmiddle;
-			pdst = addrl;
-
-			switch (rrops[d]) {
-				case RROP_BLACK:
-					if (startmask)
-						*pdst++ &= ~startmask;
-					while (n--)
-						*pdst++ = 0;
-					if (endmask)
-						*pdst &= ~endmask;
-					break;
-
-				case RROP_WHITE:
-					if (startmask)
-						*pdst++ |= startmask;
-					while (n--)
-						*pdst++ = ~0;
-					if (endmask)
-						*pdst |= endmask;
-					break;
-
-				case RROP_INVERT:
-					if (startmask)
-						*pdst++ ^= startmask;
-					while (n--)
-						*pdst++ ^= ~0;
-					if (endmask)
-						*pdst ^= endmask;
-					break;
-
-				case RROP_NOP:
-					break;
-			}
-		}
-	}
-}
-
-#define FILLSPAN(xl,xr,addr) \
-	if (xr >= xl) { \
-		width = xr - xl + 1; \
-		addrl = afbScanlineOffset(addr, (xl >> PWSH)); \
-		if (((xl & PIM) + width) < PPW) { \
-			maskpartialbits(xl, width, startmask); \
-			for (pdst = addrl, d = 0; d < depthDst; d++, pdst += sizeDst) { /* @@@ NEXT PLANE @@@ */ \
-				switch (rrops[d]) { \
-					case RROP_BLACK: \
-						*pdst &= ~startmask; \
-						break; \
-					case RROP_WHITE: \
-						*pdst |= startmask; \
-						break; \
-					case RROP_INVERT: \
-						*pdst ^= startmask; \
-						break; \
-					case RROP_NOP: \
-						break; \
-				} \
-			} \
-		} else { \
-			maskbits(xl, width, startmask, endmask, nlmiddle); \
-			for (d = 0; d < depthDst; d++, addrl += sizeDst) {	/* @@@ NEXT PLANE @@@ */ \
-				n = nlmiddle; \
-				pdst = addrl; \
-				switch (rrops[d]) { \
-					case RROP_BLACK: \
-						if (startmask) \
-							*pdst++ &= ~startmask; \
-						while (n--) \
-							*pdst++ = 0; \
-						if (endmask) \
-							*pdst &= ~endmask; \
-						break; \
-					case RROP_WHITE: \
-						if (startmask) \
-							*pdst++ |= startmask; \
-						while (n--) \
-							*pdst++ = ~0; \
-						if (endmask) \
-							*pdst |= endmask; \
-						break; \
-					case RROP_INVERT: \
-						if (startmask) \
-							*pdst++ ^= startmask; \
-						while (n--) \
-							*pdst++ ^= ~0; \
-						if (endmask) \
-							*pdst ^= endmask; \
-						break; \
-					case RROP_NOP: \
-						break; \
-				} \
-			} \
-		} \
-	}
-
-#define FILLSLICESPANS(flip,addr) \
-	if (!flip) { \
-		FILLSPAN(xl, xr, addr); \
-	} else { \
-		xc = xorg - x; \
-		FILLSPAN(xc, xr, addr); \
-		xc += slw - 1; \
-		FILLSPAN(xl, xc, addr); \
-	}
-
-static void
-afbFillArcSliceSolidCopy(DrawablePtr pDraw, GCPtr pGC, xArc *arc, register unsigned char *rrops)
-{
-	PixelType *addrl;
-	register PixelType *pdst;
-	register int n;
-	register int d;
-	int yk, xk, ym, xm, dx, dy, xorg, yorg, slw;
-	register int x, y, e;
-	miFillArcRec info;
-	miArcSliceRec slice;
-	int xl, xr, xc;
-	PixelType *addrlt, *addrlb;
-	int nlwidth;
-	int width;
-	PixelType startmask, endmask;
-	int nlmiddle;
-	int sizeDst;
-	int depthDst;
-
-	afbGetPixelWidthSizeDepthAndPointer(pDraw, nlwidth, sizeDst, depthDst,
-													 addrlt);
-	miFillArcSetup(arc, &info);
-	miFillArcSliceSetup(arc, &slice, pGC);
-	MIFILLARCSETUP();
-	xorg += pDraw->x;
-	yorg += pDraw->y;
-	addrlb = addrlt;
-	addrlt = afbScanlineDeltaNoBankSwitch(addrlt, yorg - y, nlwidth);
-	addrlb = afbScanlineDeltaNoBankSwitch(addrlb, yorg + y + dy, nlwidth);
-	slice.edge1.x += pDraw->x;
-	slice.edge2.x += pDraw->x;
-	while (y > 0) {
-		afbScanlineIncNoBankSwitch(addrlt, nlwidth);
-		afbScanlineIncNoBankSwitch(addrlb, -nlwidth);
-		MIFILLARCSTEP(slw);
-		MIARCSLICESTEP(slice.edge1);
-		MIARCSLICESTEP(slice.edge2);
-		if (miFillSliceUpper(slice)) {
-			MIARCSLICEUPPER(xl, xr, slice, slw);
-			FILLSLICESPANS(slice.flip_top, addrlt);
-		}
-		if (miFillSliceLower(slice)) {
-			MIARCSLICELOWER(xl, xr, slice, slw);
-			FILLSLICESPANS(slice.flip_bot, addrlb);
-		}
-	}
-}
-
-void
-afbPolyFillArcSolid(register DrawablePtr pDraw, GCPtr pGC, int narcs, xArc *parcs)
-{
-	afbPrivGC *priv;
-	register xArc *arc;
-	register int i;
-	BoxRec box;
-	RegionPtr cclip;
-	unsigned char *rrops;
-
-	priv = (afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-					     afbGCPrivateKey);
-	rrops = priv->rrops;
-	cclip = pGC->pCompositeClip;
-	for (arc = parcs, i = narcs; --i >= 0; arc++) {
-		if (miFillArcEmpty(arc))
-			continue;
-		if (miCanFillArc(arc)) {
-			box.x1 = arc->x + pDraw->x;
-			box.y1 = arc->y + pDraw->y;
-			box.x2 = box.x1 + (int)arc->width + 1;
-			box.y2 = box.y1 + (int)arc->height + 1;
-			if (RECT_IN_REGION(pDraw->pScreen, cclip, &box) == rgnIN) {
-				if ((arc->angle2 >= FULLCIRCLE) ||
-					(arc->angle2 <= -FULLCIRCLE))
-					afbFillEllipseSolid(pDraw, arc, rrops);
-				else
-					afbFillArcSliceSolidCopy(pDraw, pGC, arc, rrops);
-				continue;
-			}
-		}
-		miPolyFillArc(pDraw, pGC, 1, arc);
-	}
-}
diff --git a/afb/afbfillrct.c b/afb/afbfillrct.c
deleted file mode 100644
index 4dff957..0000000
--- a/afb/afbfillrct.c
+++ /dev/null
@@ -1,292 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include <X11/Xprotostr.h>
-#include "pixmapstr.h"
-#include "gcstruct.h"
-#include "windowstr.h"
-#include "regionstr.h"
-#include "scrnintstr.h"
-
-#include "afb.h"
-#include "maskbits.h"
-
-#define MODEQ(a, b) ((a) %= (b))
-
-/*
-	filled rectangles.
-	translate the rectangles, clip them, and call the
-helper function in the GC.
-*/
-
-#define NUM_STACK_RECTS		1024
-
-void
-afbPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nrectFill, xRectangle *prectInit)
-	                      
-	          
-	              				/* number of rectangles to fill */
-	                      			/* Pointer to first rectangle to fill */
-{
-	xRectangle *prect;
-	RegionPtr prgnClip;
-	register BoxPtr pbox;
-	register BoxPtr pboxClipped;
-	BoxPtr pboxClippedBase;
-	BoxPtr pextent;
-	BoxRec stackRects[NUM_STACK_RECTS];
-	int numRects;
-	int n;
-	int xorg, yorg;
-	afbPrivGC *priv;
-	unsigned char *rrops;
-	unsigned char *rropsOS;
-
-	priv = (afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-					     afbGCPrivateKey);
-	prgnClip = pGC->pCompositeClip;
-	rrops = priv->rrops;
-	rropsOS = priv->rropOS;
-
-	prect = prectInit;
-	xorg = pDrawable->x;
-	yorg = pDrawable->y;
-	if (xorg || yorg) {
-		prect = prectInit;
-		n = nrectFill;
-		Duff(n, prect->x += xorg; prect->y += yorg; prect++);
-	}
-
-	prect = prectInit;
-
-	numRects = REGION_NUM_RECTS(prgnClip) * nrectFill;
-	if (numRects > NUM_STACK_RECTS) {
-		pboxClippedBase = (BoxPtr)xalloc(numRects * sizeof(BoxRec));
-		if (!pboxClippedBase)
-			return;
-	}
-	else
-		pboxClippedBase = stackRects;
-
-	pboxClipped = pboxClippedBase;
-
-	if (REGION_NUM_RECTS(prgnClip) == 1) {
-		int x1, y1, x2, y2, bx2, by2;
-
-		pextent = REGION_RECTS(prgnClip);
-		x1 = pextent->x1;
-		y1 = pextent->y1;
-		x2 = pextent->x2;
-		y2 = pextent->y2;
-			while (nrectFill--) {
-			if ((pboxClipped->x1 = prect->x) < x1)
-				pboxClipped->x1 = x1;
-
-			if ((pboxClipped->y1 = prect->y) < y1)
-				pboxClipped->y1 = y1;
-
-			bx2 = (int) prect->x + (int) prect->width;
-			if (bx2 > x2)
-				bx2 = x2;
-			pboxClipped->x2 = bx2;
-
-			by2 = (int) prect->y + (int) prect->height;
-			if (by2 > y2)
-				by2 = y2;
-			pboxClipped->y2 = by2;
-
-			prect++;
-			if ((pboxClipped->x1 < pboxClipped->x2) &&
-				(pboxClipped->y1 < pboxClipped->y2)) {
-				pboxClipped++;
-			}
-			}
-	} else {
-		int x1, y1, x2, y2, bx2, by2;
-
-		pextent = REGION_EXTENTS(pGC->pScreen, prgnClip);
-		x1 = pextent->x1;
-		y1 = pextent->y1;
-		x2 = pextent->x2;
-		y2 = pextent->y2;
-			while (nrectFill--) {
-			BoxRec box;
-
-			if ((box.x1 = prect->x) < x1)
-				box.x1 = x1;
-
-			if ((box.y1 = prect->y) < y1)
-				box.y1 = y1;
-
-			bx2 = (int) prect->x + (int) prect->width;
-			if (bx2 > x2)
-				bx2 = x2;
-			box.x2 = bx2;
-
-			by2 = (int) prect->y + (int) prect->height;
-			if (by2 > y2)
-				by2 = y2;
-			box.y2 = by2;
-
-			prect++;
-
-			if ((box.x1 >= box.x2) || (box.y1 >= box.y2))
-					continue;
-
-			n = REGION_NUM_RECTS (prgnClip);
-			pbox = REGION_RECTS(prgnClip);
-
-			/* clip the rectangle to each box in the clip region
-			   this is logically equivalent to calling Intersect()
-			*/
-			while(n--) {
-				pboxClipped->x1 = max(box.x1, pbox->x1);
-				pboxClipped->y1 = max(box.y1, pbox->y1);
-				pboxClipped->x2 = min(box.x2, pbox->x2);
-				pboxClipped->y2 = min(box.y2, pbox->y2);
-				pbox++;
-
-				/* see if clipping left anything */
-				if(pboxClipped->x1 < pboxClipped->x2 &&
-				   pboxClipped->y1 < pboxClipped->y2) {
-					pboxClipped++;
-				}
-			}
-			}
-	}
-	if (pboxClipped != pboxClippedBase) {
-		switch (pGC->fillStyle) {
-			case FillSolid:
-				afbSolidFillArea(pDrawable, pboxClipped-pboxClippedBase,
-										pboxClippedBase, rrops);
-				break;
-			case FillTiled:
-				switch (pGC->alu) {
-					case GXcopy:
-						if (pGC->pRotatedPixmap)
-							afbTileAreaPPWCopy(pDrawable, pboxClipped-pboxClippedBase,
-												pboxClippedBase, GXcopy,
-												pGC->pRotatedPixmap, pGC->planemask);
-						else
-							afbTileAreaCopy (pDrawable, pboxClipped-pboxClippedBase,
-												pboxClippedBase, GXcopy,
-												pGC->tile.pixmap,
-												pGC->patOrg.x, pGC->patOrg.y,
-												pGC->planemask);
-						break;
-
-					default:
-						if (pGC->pRotatedPixmap)
-							afbTileAreaPPWGeneral(pDrawable, pboxClipped-pboxClippedBase,
-												   pboxClippedBase, pGC->alu,
-												   pGC->pRotatedPixmap,
-												   pGC->planemask);
-						else
-							afbTileAreaGeneral(pDrawable, pboxClipped-pboxClippedBase,
-												   pboxClippedBase, pGC->alu,
-												   pGC->tile.pixmap,
-												   pGC->patOrg.x, pGC->patOrg.y,
-												   pGC->planemask);
-						break;
-				} /* switch (alu) */
-				break;
-
-			case FillStippled:
-				if (pGC->pRotatedPixmap)
-					afbStippleAreaPPW(pDrawable, pboxClipped-pboxClippedBase,
-									   pboxClippedBase, pGC->pRotatedPixmap, rrops);
-				else
-					afbStippleArea(pDrawable, pboxClipped-pboxClippedBase,
-									pboxClippedBase, pGC->stipple,
-									pGC->patOrg.x, pGC->patOrg.y, rrops);
-				break;
-
-			case FillOpaqueStippled:
-				switch (pGC->alu) {
-					case GXcopy:
-						if (pGC->pRotatedPixmap)
-							afbOpaqueStippleAreaPPWCopy(pDrawable, pboxClipped-pboxClippedBase,
-												pboxClippedBase, GXcopy,
-												pGC->pRotatedPixmap,
-												rropsOS, pGC->planemask);
-						else
-							afbOpaqueStippleAreaCopy(pDrawable, pboxClipped-pboxClippedBase,
-												pboxClippedBase, GXcopy,
-												pGC->stipple,
-												pGC->patOrg.x, pGC->patOrg.y, rropsOS,
-												pGC->planemask);
-						break;
-
-					default:
-						if (pGC->pRotatedPixmap)
-							afbOpaqueStippleAreaPPWGeneral(pDrawable, pboxClipped-pboxClippedBase,
-													pboxClippedBase, pGC->alu,
-													pGC->pRotatedPixmap,
-													rropsOS,
-													pGC->planemask);
-						else
-							afbOpaqueStippleAreaGeneral(pDrawable, pboxClipped-pboxClippedBase,
-													pboxClippedBase, pGC->alu,
-													pGC->stipple,
-													pGC->patOrg.x, pGC->patOrg.y,
-													rropsOS,
-													pGC->planemask);
-						break;
-				} /* switch (alu) */
-				break;
-		}
-	}
-	if (pboxClippedBase != stackRects)
-			xfree(pboxClippedBase);
-}
diff --git a/afb/afbfillsp.c b/afb/afbfillsp.c
deleted file mode 100644
index 1629506..0000000
--- a/afb/afbfillsp.c
+++ /dev/null
@@ -1,1130 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its 
-documentation for any purpose and without fee is hereby granted, 
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.  
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include <X11/Xmd.h>
-#include "gcstruct.h"
-#include "window.h"
-#include "pixmapstr.h"
-#include "scrnintstr.h"
-#include "windowstr.h"
-#include "afb.h"
-
-#include "maskbits.h"
-
-#include "mergerop.h"
-
-#include "servermd.h"
-#include "mi.h"
-#include "mispans.h"
-
-/* scanline filling for monochrome frame buffer
-   written by drewry, oct 1986
-
-   these routines all clip.  they assume that anything that has called
-them has already translated the points (i.e. pGC->miTranslate is
-non-zero, which is howit gets set in afbCreateGC().)
-
-   the number of new scnalines created by clipping ==
-MaxRectsPerBand * nSpans.
-
-*/
-
-
-void
-afbSolidFS(pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted)
-	DrawablePtr pDrawable;
-	GCPtr		pGC;
-	int				nInit;				/* number of spans to fill */
-	DDXPointPtr pptInit;		/* pointer to list of start points */
-	int				*pwidthInit;		/* pointer to list of n widths */
-	int 		fSorted;
-{
-								/* next three parameters are post-clip */
-	int n;						/* number of spans to fill */
-	register DDXPointPtr ppt;		/* pointer to list of start points */
-	register int *pwidth;		/* pointer to list of n widths */
-	PixelType *addrlBase;		/* pointer to start of bitmap */
-	PixelType *pBase;
-	int nlwidth;				/* width in longwords of bitmap */
-	register PixelType *addrl;/* pointer to current longword in bitmap */
-	register int nlmiddle;
-	register PixelType startmask;
-	register PixelType endmask;
-	int *pwidthFree;				/* copies of the pointers to free */
-	DDXPointPtr pptFree;
-	int depthDst;
-	int sizeDst;
-	int		d;
-	unsigned char *rrops;
-
-	n = nInit * miFindMaxBand(pGC->pCompositeClip);
-	pwidthFree = (int *)xalloc(n * sizeof(int));
-	pptFree = (DDXPointRec *)xalloc(n * sizeof(DDXPointRec));
-	if(!pptFree || !pwidthFree) {
-		if (pptFree) xfree(pptFree);
-		if (pwidthFree) xfree(pwidthFree);
-		return;
-	}
-	pwidth = pwidthFree;
-	ppt = pptFree;
-	n = miClipSpans(pGC->pCompositeClip, pptInit, pwidthInit, nInit,
-					ppt, pwidth, fSorted);
-
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, nlwidth, sizeDst, depthDst,
-													 pBase);
-	rrops = ((afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-					       afbGCPrivateKey))->rrops;
-	while (n--) {
-		addrlBase = afbScanline(pBase, ppt->x, ppt->y, nlwidth);
-
-		for (d = 0; d < depthDst; d++, addrlBase += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-			if (*pwidth) {
-				addrl = addrlBase;
-
-				switch (rrops[d]) {
-					case RROP_BLACK:
-						if ( ((ppt->x & PIM) + *pwidth) < PPW) {
-							/* all bits inside same longword */
-							maskpartialbits(ppt->x, *pwidth, startmask);
-								*addrl &= ~startmask;
-						} else {
-							maskbits(ppt->x, *pwidth, startmask, endmask, nlmiddle);
-							if (startmask)
-								*addrl++ &= ~startmask;
-							Duff (nlmiddle, *addrl++ = 0x0);
-							if (endmask)
-								*addrl &= ~endmask;
-						}
-						break;
-
-					case RROP_WHITE:
-						if ( ((ppt->x & PIM) + *pwidth) < PPW) {
-							/* all bits inside same longword */
-							maskpartialbits(ppt->x, *pwidth, startmask);
-							*addrl |= startmask;
-						} else {
-							maskbits(ppt->x, *pwidth, startmask, endmask, nlmiddle);
-							if (startmask)
-								*addrl++ |= startmask;
-							Duff (nlmiddle, *addrl++ = ~0);
-							if (endmask)
-								*addrl |= endmask;
-						}
-						break;
-					case RROP_INVERT:
-						if ( ((ppt->x & PIM) + *pwidth) < PPW) {
-							/* all bits inside same longword */
-							maskpartialbits(ppt->x, *pwidth, startmask);
-							*addrl ^= startmask;
-						} else {
-							maskbits(ppt->x, *pwidth, startmask, endmask, nlmiddle);
-							if (startmask)
-								*addrl++ ^= startmask;
-							Duff (nlmiddle, *addrl++ ^= ~0);
-							if (endmask)
-								*addrl ^= endmask;
-						}
-						break;
-					case RROP_NOP:
-						break;
-				}
-			}
-		}
-		pwidth++;
-		ppt++;
-	}
-	xfree(pptFree);
-	xfree(pwidthFree);
-}
-
-void 
-afbStippleFS(pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted)
-	DrawablePtr pDrawable;
-	GC *pGC;
-	int nInit;						/* number of spans to fill */
-	DDXPointPtr pptInit;		/* pointer to list of start points */
-	int *pwidthInit;				/* pointer to list of n widths */
-	int fSorted;
-{
-								/* next three parameters are post-clip */
-	int n;						/* number of spans to fill */
-	register DDXPointPtr ppt;		/* pointer to list of start points */
-	register int *pwidth;		/* pointer to list of n widths */
-	PixelType *addrlBase;		/* pointer to start of bitmap */
-	PixelType *pBase;
-	int nlwidth;				/* width in longwords of bitmap */
-	register PixelType *addrl;/* pointer to current longword in bitmap */
-	register PixelType src;
-	register int nlmiddle;
-	register PixelType startmask;
-	register PixelType endmask;
-	PixmapPtr pStipple;
-	PixelType *psrc;
-	int tileHeight;
-	int *pwidthFree;				/* copies of the pointers to free */
-	DDXPointPtr pptFree;
-	int d;
-	int depthDst;
-	int sizeDst;
-	unsigned char *rrops;
-
-	n = nInit * miFindMaxBand(pGC->pCompositeClip);
-	pwidthFree = (int *)xalloc(n * sizeof(int));
-	pptFree = (DDXPointRec *)xalloc(n * sizeof(DDXPointRec));
-	if(!pptFree || !pwidthFree) {
-		if (pptFree) xfree(pptFree);
-		if (pwidthFree) xfree(pwidthFree);
-		return;
-	}
-	pwidth = pwidthFree;
-	ppt = pptFree;
-	n = miClipSpans(pGC->pCompositeClip, pptInit, pwidthInit, nInit, 
-					ppt, pwidth, fSorted);
-
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, nlwidth, sizeDst, depthDst,
-													 pBase);
-
-	pStipple = pGC->pRotatedPixmap;
-	tileHeight = pStipple->drawable.height;
-	psrc = (PixelType *)(pStipple->devPrivate.ptr);
-
-	rrops = ((afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-					       afbGCPrivateKey))->rrops;
-	while (n--) {
-		src = psrc[ppt->y % tileHeight];
-		addrlBase = afbScanline(pBase, ppt->x, ppt->y, nlwidth);
-		for (d = 0; d < depthDst; d++, addrlBase += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-			addrl = addrlBase;
-
-			switch (rrops[d]) {
-				case RROP_BLACK:
-					/* all bits inside same longword */
-					if ( ((ppt->x & PIM) + *pwidth) < PPW) {
-						maskpartialbits(ppt->x, *pwidth, startmask);
-						*addrl &= ~(src & startmask);
-					} else {
-						maskbits(ppt->x, *pwidth, startmask, endmask, nlmiddle);
-						if (startmask)
-							*addrl++ &= ~(src & startmask);
-						Duff (nlmiddle, *addrl++ &= ~src);
-						if (endmask)
-							*addrl &= ~(src & endmask);
-					}
-					break;
-				case RROP_WHITE:
-					/* all bits inside same longword */
-					if ( ((ppt->x & PIM) + *pwidth) < PPW) {
-						maskpartialbits(ppt->x, *pwidth, startmask);
-						*addrl |= (src & startmask);
-					} else {
-						maskbits(ppt->x, *pwidth, startmask, endmask, nlmiddle);
-						if (startmask)
-							*addrl++ |= (src & startmask);
-						Duff (nlmiddle, *addrl++ |= src);
-						if (endmask)
-							*addrl |= (src & endmask);
-					}
-					break;
-				case RROP_INVERT:
-					/* all bits inside same longword */
-					if ( ((ppt->x & PIM) + *pwidth) < PPW) {
-						maskpartialbits(ppt->x, *pwidth, startmask);
-						*addrl ^= (src & startmask);
-					} else {
-						maskbits(ppt->x, *pwidth, startmask, endmask, nlmiddle);
-						if (startmask)
-							*addrl++ ^= (src & startmask);
-						Duff (nlmiddle, *addrl++ ^= src);
-						if (endmask)
-							*addrl ^= (src & endmask);
-					}
-					break;
-
-				case RROP_NOP:
-					break;
-			}
-		}
-		pwidth++;
-		ppt++;
-	}
-	xfree(pptFree);
-	xfree(pwidthFree);
-}
-
-void
-afbTileFS(pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted)
-	DrawablePtr pDrawable;
-	GC *pGC;
-	int nInit;						/* number of spans to fill */
-	DDXPointPtr pptInit;		/* pointer to list of start points */
-	int *pwidthInit;				/* pointer to list of n widths */
-	int fSorted;
-{
-								/* next three parameters are post-clip */
-	int n;						/* number of spans to fill */
-	register DDXPointPtr ppt;		/* pointer to list of start points */
-	register int *pwidth;		/* pointer to list of n widths */
-	PixelType *addrlBase;		/* pointer to start of bitmap */
-	PixelType *pBase;
-	int nlwidth;				/* width in longwords of bitmap */
-	register PixelType *addrl;		/* pointer to current longword in bitmap */
-	register PixelType src;
-	register int nlmiddle;
-	register PixelType startmask;
-	register PixelType endmask;
-	PixmapPtr pTile;
-	PixelType *psrc;
-	int tileHeight;
-	int rop;
-	int *pwidthFree;				/* copies of the pointers to free */
-	DDXPointPtr pptFree;
-	int sizeDst;
-	int depthDst;
-	int d;
-
-	n = nInit * miFindMaxBand(pGC->pCompositeClip);
-	pwidthFree = (int *)xalloc(n * sizeof(int));
-	pptFree = (DDXPointRec *)xalloc(n * sizeof(DDXPointRec));
-	if(!pptFree || !pwidthFree) {
-		if (pptFree) xfree(pptFree);
-		if (pwidthFree) xfree(pwidthFree);
-		return;
-	}
-	pwidth = pwidthFree;
-	ppt = pptFree;
-	n = miClipSpans(pGC->pCompositeClip, pptInit, pwidthInit, nInit, 
-					ppt, pwidth, fSorted);
-
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, nlwidth, sizeDst, depthDst,
-													 pBase);
-
-	pTile = pGC->pRotatedPixmap;
-	tileHeight = pTile->drawable.height;
-	psrc = (PixelType *)(pTile->devPrivate.ptr);
-	rop = pGC->alu;
-
-	switch(rop) {
-		case GXcopy:
-#define DoMaskCopyRop(src,dst,mask)		(((dst) & ~(mask)) | ((src) & (mask)))
-			while (n--) {
-				if (*pwidth) {
-					addrlBase = afbScanline(pBase, ppt->x, ppt->y, nlwidth);
-
-					for (d = 0; d < depthDst; d++, addrlBase += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-						if (!(pGC->planemask & (1 << d)))
-							continue;
-
-						addrl = addrlBase;
-						src = psrc[ppt->y % tileHeight + tileHeight * d]; 
-						if ( ((ppt->x & PIM) + *pwidth) < PPW) {
-							maskpartialbits(ppt->x, *pwidth, startmask);
-							*addrl = DoMaskCopyRop (src, *addrl, startmask);
-						} else {
-							maskbits(ppt->x, *pwidth, startmask, endmask, nlmiddle);
-							if (startmask) {
-								*addrl = DoMaskCopyRop (src, *addrl, startmask);
-								addrl++;
-							}
-							while (nlmiddle--) {
-								*addrl = src;
-								addrl++;
-							}
-							if (endmask)
-								*addrl = DoMaskCopyRop (src, *addrl, endmask);
-						}
-					}
-				}
-				pwidth++;
-				ppt++;
-			}
-			break;
-
-		default:
-			{
-				register DeclareMergeRop ();
-
-				InitializeMergeRop(rop,~0);
-				while (n--) {
-					if (*pwidth) {
-						addrlBase = afbScanline(pBase, ppt->x, ppt->y, nlwidth);
-						for (d = 0; d < depthDst; d++, addrlBase += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-							if (!(pGC->planemask & (1 << d)))
-								continue;
-
-							addrl = addrlBase;
-
-							src = psrc[ppt->y % tileHeight + tileHeight * d];
-							if ( ((ppt->x & PIM) + *pwidth) < PPW) {
-								maskpartialbits(ppt->x, *pwidth, startmask);
-								*addrl = DoMaskMergeRop (src, *addrl, startmask);
-							} else {
-								maskbits(ppt->x, *pwidth, startmask, endmask, nlmiddle);
-								if (startmask) {
-									*addrl = DoMaskMergeRop (src, *addrl, startmask);
-									addrl++;
-								}
-								while (nlmiddle--) {
-									*addrl = DoMergeRop (src, *addrl);
-									addrl++;
-								}
-								if (endmask)
-									*addrl = DoMaskMergeRop (src, *addrl, endmask);
-							}
-						}
-					}
-					pwidth++;
-					ppt++;
-				}
-				break;
-			}
-	}
-	xfree(pptFree);
-	xfree(pwidthFree);
-}
-
-void
-afbOpaqueStippleFS(pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted)
-	DrawablePtr pDrawable;
-	GC *pGC;
-	int nInit;						/* number of spans to fill */
-	DDXPointPtr pptInit;		/* pointer to list of start points */
-	int *pwidthInit;				/* pointer to list of n widths */
-	int fSorted;
-{
-								/* next three parameters are post-clip */
-	int n;						/* number of spans to fill */
-	register DDXPointPtr ppt;		/* pointer to list of start points */
-	register int *pwidth;		/* pointer to list of n widths */
-	PixelType *addrlBase;		/* pointer to start of bitmap */
-	PixelType *pBase;
-	int nlwidth;				/* width in longwords of bitmap */
-	register PixelType *addrl;		/* pointer to current longword in bitmap */
-	register PixelType src = 0;
-	register int nlmiddle;
-	register PixelType startmask;
-	register PixelType endmask;
-	PixmapPtr pTile;
-	PixelType *psrc;
-	int tileHeight;
-	int rop;
-	unsigned char *rropsOS;
-	int *pwidthFree;				/* copies of the pointers to free */
-	DDXPointPtr pptFree;
-	int sizeDst;
-	int depthDst;
-	int d;
-
-	n = nInit * miFindMaxBand(pGC->pCompositeClip);
-	pwidthFree = (int *)xalloc(n * sizeof(int));
-	pptFree = (DDXPointRec *)xalloc(n * sizeof(DDXPointRec));
-	if(!pptFree || !pwidthFree) {
-		if (pptFree) xfree(pptFree);
-		if (pwidthFree) xfree(pwidthFree);
-		return;
-	}
-	pwidth = pwidthFree;
-	ppt = pptFree;
-	n = miClipSpans(pGC->pCompositeClip, pptInit, pwidthInit, nInit, 
-					ppt, pwidth, fSorted);
-
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, nlwidth, sizeDst, depthDst,
-													 pBase);
-
-	pTile = pGC->pRotatedPixmap;
-	tileHeight = pTile->drawable.height;
-	psrc = (PixelType *)(pTile->devPrivate.ptr);
-	rop = pGC->alu;
-	rropsOS = ((afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-						 afbGCPrivateKey))->rropOS;
-	switch(rop) {
-		case GXcopy:
-			while (n--) {
-				addrlBase = afbScanline(pBase, ppt->x, ppt->y, nlwidth);
-				if (*pwidth) {
-					for (d = 0; d < depthDst; d++, addrlBase += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-						switch (rropsOS[d]) {
-							case RROP_BLACK:
-								src = 0;
-								break;
-							case RROP_WHITE:
-								src = ~0;
-								break;
-							case RROP_INVERT:
-								src = ~psrc[ppt->y % tileHeight];
-								break;
-							case RROP_COPY:
-								src = psrc[ppt->y % tileHeight];
-								break;
-							case RROP_NOP:
-								continue;
-						}
-
-						addrl = addrlBase;
-
-						if ( ((ppt->x & PIM) + *pwidth) < PPW) {
-							maskpartialbits(ppt->x, *pwidth, startmask);
-							*addrl = DoMaskCopyRop (src, *addrl, startmask);
-						} else {
-							maskbits(ppt->x, *pwidth, startmask, endmask, nlmiddle);
-							if (startmask) {
-								*addrl = DoMaskCopyRop (src, *addrl, startmask);
-								addrl++;
-							}
-							while (nlmiddle--) {
-								*addrl = src;
-								addrl++;
-							}
-							if (endmask)
-								*addrl = DoMaskCopyRop (src, *addrl, endmask);
-						}
-					} /* for (d = ...) */
-				}
-
-				pwidth++;
-				ppt++;
-			}
-			break;
-
-		default:
-			{
-				register DeclareMergeRop ();
-
-				InitializeMergeRop(rop,~0);
-				while (n--) {
-					addrlBase = afbScanline(pBase, ppt->x, ppt->y, nlwidth);
-					if (*pwidth) {
-						for (d = 0; d < depthDst; d++, addrlBase += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-							switch (rropsOS[d]) {
-								case RROP_BLACK:
-									src = 0;
-									break;
-								case RROP_WHITE:
-									src = ~0;
-									break;
-								case RROP_INVERT:
-									src = ~psrc[ppt->y % tileHeight];
-									break;
-								case RROP_COPY:
-									src = psrc[ppt->y % tileHeight];
-									break;
-								case RROP_NOP:
-									continue;
-							}
-
-							addrl = addrlBase;
-
-							if ( ((ppt->x & PIM) + *pwidth) < PPW) {
-								maskpartialbits(ppt->x, *pwidth, startmask);
-								*addrl = DoMaskMergeRop (src, *addrl, startmask);
-							} else {
-								maskbits(ppt->x, *pwidth, startmask, endmask, nlmiddle);
-								if (startmask) {
-									*addrl = DoMaskMergeRop (src, *addrl, startmask);
-									addrl++;
-								}
-								while (nlmiddle--) {
-									*addrl = DoMergeRop (src, *addrl);
-									addrl++;
-								}
-								if (endmask)
-									*addrl = DoMaskMergeRop (src, *addrl, endmask);
-							}
-						} /* for (d = ...) */
-					}
-					pwidth++;
-					ppt++;
-				} /* while (n) */
-				break;
-			}
-	} /* switch (rop) */
-	xfree(pptFree);
-	xfree(pwidthFree);
-}
-
-/* Fill spans with tiles that aren't PPW bits wide */
-void
-afbUnnaturalTileFS(pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted)
-	DrawablePtr pDrawable;
-	GC				*pGC;
-	int				nInit;				/* number of spans to fill */
-	DDXPointPtr pptInit;		/* pointer to list of start points */
-	int *pwidthInit;				/* pointer to list of n widths */
-	int fSorted;
-{
-	int				iline;				/* first line of tile to use */
-								/* next three parameters are post-clip */
-	int n;						/* number of spans to fill */
-	register DDXPointPtr ppt;		/* pointer to list of start points */
-	register int *pwidth;		/* pointer to list of n widths */
-	PixelType *addrlBase;		/* pointer to start of bitmap */
-	PixelType *pBase;
-	int				 nlwidth;		/* width in longwords of bitmap */
-	register PixelType *pdst;/* pointer to current word in bitmap */
-	register PixelType *psrc;/* pointer to current word in tile */
-	register int nlMiddle;
-	register int rop, nstart;
-	PixelType startmask;
-	PixmapPtr		pTile;				/* pointer to tile we want to fill with */
-	int				w, width, x, xSrc, ySrc, srcStartOver, nend;
-	int 		tlwidth, rem, tileWidth, tileHeight, endinc;
-	PixelType	  endmask, *psrcT;
-	int *pwidthFree;				/* copies of the pointers to free */
-	DDXPointPtr pptFree;
-	int sizeDst;
-	int sizeTile;
-	int depthDst;
-	register int d;
-
-	n = nInit * miFindMaxBand(pGC->pCompositeClip);
-	pwidthFree = (int *)xalloc(n * sizeof(int));
-	pptFree = (DDXPointRec *)xalloc(n * sizeof(DDXPointRec));
-	if(!pptFree || !pwidthFree) {
-		if (pptFree) xfree(pptFree);
-		if (pwidthFree) xfree(pwidthFree);
-		return;
-	}
-	pwidth = pwidthFree;
-	ppt = pptFree;
-	n = miClipSpans(pGC->pCompositeClip, pptInit, pwidthInit, nInit, 
-					ppt, pwidth, fSorted);
-
-	pTile = pGC->tile.pixmap;
-	tlwidth = pTile->devKind / PGSZB;
-	rop = pGC->alu;
-
-	xSrc = pDrawable->x;
-	ySrc = pDrawable->y;
-
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, nlwidth, sizeDst, depthDst,
-													 pBase);
-
-	tileWidth = pTile->drawable.width;
-	tileHeight = pTile->drawable.height;
-	sizeTile = tlwidth * tileHeight;
-
-	/* this replaces rotating the tile. Instead we just adjust the offset
-	 * at which we start grabbing bits from the tile.
-	 * Ensure that ppt->x - xSrc >= 0 and ppt->y - ySrc >= 0,
-	 * so that iline and rem always stay within the tile bounds.
-	 */
-	xSrc += (pGC->patOrg.x % tileWidth) - tileWidth;
-	ySrc += (pGC->patOrg.y % tileHeight) - tileHeight;
-
-	while (n--) {
-		iline = (ppt->y - ySrc) % tileHeight;
-		psrcT = (PixelType *) pTile->devPrivate.ptr + (iline * tlwidth);
-		addrlBase = afbScanline(pBase, ppt->x, ppt->y, nlwidth);
-
-		for (d = 0; d < depthDst; d++, psrcT += sizeTile, addrlBase += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-			if (!(pGC->planemask & (1 << d)))
-				continue;
-
-			if (*pwidth) {
-				x = ppt->x;
-				pdst = addrlBase;
-				width = *pwidth;
-				while(width > 0) {
-					psrc = psrcT;
-					w = min(tileWidth, width);
-					if((rem = (x - xSrc)  % tileWidth) != 0) {
-						/* if we're in the middle of the tile, get
-						   as many bits as will finish the span, or
-						   as many as will get to the left edge of the tile,
-						   or a longword worth, starting at the appropriate
-						   offset in the tile.
-						*/
-						w = min(min(tileWidth - rem, width), BITMAP_SCANLINE_PAD);
-						endinc = rem / BITMAP_SCANLINE_PAD;
-						getandputrop((psrc+endinc), (rem&PIM), (x & PIM), w, pdst, rop);
-						if((x & PIM) + w >= PPW)
-							pdst++;
-					} else if(((x & PIM) + w) < PPW) {
-						/* doing < PPW bits is easy, and worth special-casing */
-						putbitsrop(*psrc, x & PIM, w, pdst, rop);
-					} else {
-						/* start at the left edge of the tile,
-						   and put down as much as we can
-						*/
-						maskbits(x, w, startmask, endmask, nlMiddle);
-
-						if (startmask)
-							nstart = PPW - (x & PIM);
-						else
-							nstart = 0;
-						if (endmask)
-							nend = (x + w)  & PIM;
-						else
-							nend = 0;
-
-						srcStartOver = nstart > PLST;
-
-						if(startmask) {
-							putbitsrop(*psrc, (x & PIM), nstart, pdst, rop);
-							pdst++;
-							if(srcStartOver)
-								psrc++;
-						}
-						 
-						while(nlMiddle--) {
-								getandputrop0(psrc, nstart, PPW, pdst, rop);
-								pdst++;
-								psrc++;
-						}
-						if(endmask) {
-							getandputrop0(psrc, nstart, nend, pdst, rop);
-						}
-					 }
-					 x += w;
-					 width -= w;
-				}
-			}
-		}
-		ppt++;
-		pwidth++;
-	}
-	xfree(pptFree);
-	xfree(pwidthFree);
-}
-
-/* Fill spans with stipples that aren't PPW bits wide */
-void
-afbUnnaturalStippleFS(pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted)
-	DrawablePtr pDrawable;
-	GC				*pGC;
-	int				nInit;				/* number of spans to fill */
-	DDXPointPtr pptInit;		/* pointer to list of start points */
-	int *pwidthInit;				/* pointer to list of n widths */
-	int fSorted;
-{
-								/* next three parameters are post-clip */
-	int n;						/* number of spans to fill */
-	register DDXPointPtr ppt;		/* pointer to list of start points */
-	register int *pwidth;		/* pointer to list of n widths */
-	int				iline;				/* first line of tile to use */
-	PixelType		*addrlBase;		/* pointer to start of bitmap */
-	PixelType		*pBase;
-	int				 nlwidth;		/* width in longwords of bitmap */
-	register PixelType *pdst;				/* pointer to current word in bitmap */
-	register PixelType *psrc;				/* pointer to current word in tile */
-	register int nlMiddle;
-	register int rop, nstart;
-	PixelType startmask;
-	PixmapPtr		pTile;				/* pointer to tile we want to fill with */
-	int				w, width,  x, xSrc, ySrc, srcStartOver, nend;
-	PixelType 		endmask, *psrcT;
-	int 		tlwidth, rem, tileWidth, endinc;
-	int				tileHeight;
-	int *pwidthFree;				/* copies of the pointers to free */
-	DDXPointPtr pptFree;
-	unsigned char *rrops;
-	register int d;
-	int sizeDst;
-	int depthDst;
-
-	n = nInit * miFindMaxBand(pGC->pCompositeClip);
-	pwidthFree = (int *)xalloc(n * sizeof(int));
-	pptFree = (DDXPointRec *)xalloc(n * sizeof(DDXPointRec));
-	if(!pptFree || !pwidthFree) {
-		if (pptFree) xfree(pptFree);
-		if (pwidthFree) xfree(pwidthFree);
-		return;
-	}
-	pwidth = pwidthFree;
-	ppt = pptFree;
-	n = miClipSpans(pGC->pCompositeClip, pptInit, pwidthInit, nInit, 
-					ppt, pwidth, fSorted);
-
-	pTile = pGC->stipple;
-	tlwidth = pTile->devKind / PGSZB;
-	xSrc = pDrawable->x;
-	ySrc = pDrawable->y;
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, nlwidth, sizeDst, depthDst,
-													 pBase);
-
-	tileWidth = pTile->drawable.width;
-	tileHeight = pTile->drawable.height;
-	rrops = ((afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-					       afbGCPrivateKey))->rrops;
-	/* this replaces rotating the stipple.  Instead, we just adjust the offset
-	 * at which we start grabbing bits from the stipple.
-	 * Ensure that ppt->x - xSrc >= 0 and ppt->y - ySrc >= 0,
-	 * so that iline and rem always stay within the tile bounds.
-	 */
-	xSrc += (pGC->patOrg.x % tileWidth) - tileWidth;
-	ySrc += (pGC->patOrg.y % tileHeight) - tileHeight;
-	while (n--) {
-		iline = (ppt->y - ySrc) % tileHeight;
-		psrcT = (PixelType *) pTile->devPrivate.ptr + (iline * tlwidth);
-		addrlBase = afbScanline(pBase, ppt->x, ppt->y, nlwidth);
-
-		for (d = 0; d < depthDst; d++, addrlBase += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-			rop = rrops[d];
-			if (rop == RROP_NOP)
-				continue;
-
-			pdst = addrlBase;
-			x = ppt->x;
-
-			if (*pwidth) {
-				width = *pwidth;
-				while(width > 0) {
-					psrc = psrcT;
-					w = min(tileWidth, width);
-					if((rem = (x - xSrc) % tileWidth) != 0) {
-						/* if we're in the middle of the tile, get
-						   as many bits as will finish the span, or
-						   as many as will get to the left edge of the tile,
-						   or a longword worth, starting at the appropriate
-						   offset in the tile.
-						*/
-						w = min(min(tileWidth - rem, width), BITMAP_SCANLINE_PAD);
-						endinc = rem / BITMAP_SCANLINE_PAD;
-						getandputrrop((psrc + endinc), (rem & PIM), (x & PIM),
-									 w, pdst, rop)
-						if((x & PIM) + w >= PPW)
-							pdst++;
-					} else if(((x & PIM) + w) < PPW) {
-						/* doing < PPW bits is easy, and worth special-casing */
-						putbitsrrop(*psrc, x & PIM, w, pdst, rop);
-					} else {
-						/* start at the left edge of the tile,
-						   and put down as much as we can
-						*/
-						maskbits(x, w, startmask, endmask, nlMiddle);
-
-						if (startmask)
-							nstart = PPW - (x & PIM);
-						else
-							nstart = 0;
-						if (endmask)
-							nend = (x + w)  & PIM;
-						else
-							nend = 0;
-
-						srcStartOver = nstart > PLST;
-
-						if(startmask) {
-							putbitsrrop(*psrc, (x & PIM), nstart, pdst, rop);
-							pdst++;
-							if(srcStartOver)
-								psrc++;
-						}
-						 
-						while(nlMiddle--) {
-								getandputrrop0(psrc, nstart, PPW, pdst, rop);
-								pdst++;
-								psrc++;
-						}
-						if(endmask) {
-							getandputrrop0(psrc, nstart, nend, pdst, rop);
-						}
-					 }
-					 x += w;
-					 width -= w;
-				}
-			}
-		}
-		ppt++;
-		pwidth++;
-	}
-	xfree(pptFree);
-	xfree(pwidthFree);
-}
-
-/* Fill spans with OpaqueStipples that aren't PPW bits wide */
-void
-afbUnnaturalOpaqueStippleFS(pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted)
-	DrawablePtr pDrawable;
-	GC				*pGC;
-	int				nInit;				/* number of spans to fill */
-	DDXPointPtr pptInit;		/* pointer to list of start points */
-	int *pwidthInit;				/* pointer to list of n widths */
-	int fSorted;
-{
-	int				iline;				/* first line of tile to use */
-								/* next three parameters are post-clip */
-	int n;						/* number of spans to fill */
-	register DDXPointPtr ppt;		/* pointer to list of start points */
-	register int *pwidth;		/* pointer to list of n widths */
-	PixelType *addrlBase;		/* pointer to start of bitmap */
-	PixelType *pBase;
-	int				 nlwidth;		/* width in longwords of bitmap */
-	register PixelType *pdst;/* pointer to current word in bitmap */
-	register PixelType *psrc;/* pointer to current word in tile */
-	register int nlMiddle;
-	register int d;
-	register PixelType tmpsrc = 0;
-	register PixelType tmpdst;
-	register int alu, nstart;
-	register unsigned char *rropsOS;
-	PixelType startmask;
-	PixmapPtr		pTile;				/* pointer to tile we want to fill with */
-	int				w, width, x, xSrc, ySrc, srcStartOver, nend;
-	int 		tlwidth, rem, tileWidth, tileHeight, endinc;
-	PixelType	  endmask, *psrcT;
-	int *pwidthFree;				/* copies of the pointers to free */
-	DDXPointPtr pptFree;
-	int sizeDst;
-	int depthDst;
-
-	n = nInit * miFindMaxBand(pGC->pCompositeClip);
-	pwidthFree = (int *)xalloc(n * sizeof(int));
-	pptFree = (DDXPointRec *)xalloc(n * sizeof(DDXPointRec));
-	if(!pptFree || !pwidthFree) {
-		if (pptFree) xfree(pptFree);
-		if (pwidthFree) xfree(pwidthFree);
-		return;
-	}
-	pwidth = pwidthFree;
-	ppt = pptFree;
-	n = miClipSpans(pGC->pCompositeClip, pptInit, pwidthInit, nInit, 
-					ppt, pwidth, fSorted);
-
-	pTile = pGC->stipple;
-	tlwidth = pTile->devKind / PGSZB;
-	alu = pGC->alu;
-
-	xSrc = pDrawable->x;
-	ySrc = pDrawable->y;
-
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, nlwidth, sizeDst, depthDst,
-													 pBase);
-
-	tileWidth = pTile->drawable.width;
-	tileHeight = pTile->drawable.height;
-	rropsOS = afbGetGCPrivate(pGC)->rropOS;
-
-	/* this replaces rotating the tile. Instead we just adjust the offset
-	 * at which we start grabbing bits from the tile.
-	 * Ensure that ppt->x - xSrc >= 0 and ppt->y - ySrc >= 0,
-	 * so that iline and rem always stay within the tile bounds.
-	 */
-	xSrc += (pGC->patOrg.x % tileWidth) - tileWidth;
-	ySrc += (pGC->patOrg.y % tileHeight) - tileHeight;
-
-	while (n--) {
-		iline = (ppt->y - ySrc) % tileHeight;
-		psrcT = (PixelType *) pTile->devPrivate.ptr + (iline * tlwidth);
-		addrlBase = afbScanline(pBase, ppt->x, ppt->y, nlwidth);
-
-		for (d = 0; d < depthDst; d++, addrlBase += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-			if (!(pGC->planemask & (1 << d)))
-				continue;
-
-			if (*pwidth) {
-				x = ppt->x;
-				pdst = addrlBase;
-				width = *pwidth;
-				while(width > 0) {
-					psrc = psrcT;
-					w = min(tileWidth, width);
-					if((rem = (x - xSrc)  % tileWidth) != 0) {
-						/* if we're in the middle of the tile, get
-						   as many bits as will finish the span, or
-						   as many as will get to the left edge of the tile,
-						   or a longword worth, starting at the appropriate
-						   offset in the tile.
-						*/
-						w = min(min(tileWidth - rem, width), BITMAP_SCANLINE_PAD);
-						endinc = rem / BITMAP_SCANLINE_PAD;
-						switch (rropsOS[d]) {
-							case RROP_BLACK:
-								tmpsrc = 0;
-								break;
-							case RROP_WHITE:
-								tmpsrc = ~0;
-								break;
-
-							case RROP_COPY:
-								getbits ((psrc+endinc), (rem&PIM), w, tmpsrc);
-								break;
-
-							case RROP_INVERT:
-								getbits ((psrc+endinc), (rem&PIM), w, tmpsrc);
-								tmpsrc = ~tmpsrc;
-								break;
-						}
-
-						if (alu != GXcopy) {
-							getbits (pdst, (x & PIM), w, tmpdst);
-							DoRop (tmpsrc, alu, tmpsrc, tmpdst);
-						}
-
-						putbits (tmpsrc, (x & PIM), w, pdst);
-						if((x & PIM) + w >= PPW)
-							pdst++;
-					} else if(((x & PIM) + w) < PPW) {
-						/* doing < PPW bits is easy, and worth special-casing */
-						switch (rropsOS[d]) {
-							case RROP_BLACK:
-								tmpsrc = 0;
-								break;
-							case RROP_WHITE:
-								tmpsrc = ~0;
-								break;
-							case RROP_COPY:
-								tmpsrc = *psrc;
-								break;
-							case RROP_INVERT:
-								tmpsrc = ~*psrc;
-								break;
-						}
-						if (alu != GXcopy) {
-							getbits (pdst, (x & PIM), w, tmpdst);
-							DoRop (tmpsrc, alu, tmpsrc, tmpdst);
-						}
-						putbits (tmpsrc, (x & PIM), w, pdst);
-					} else {
-						/* start at the left edge of the tile,
-						   and put down as much as we can
-						*/
-						maskbits(x, w, startmask, endmask, nlMiddle);
-
-						if (startmask)
-							nstart = PPW - (x & PIM);
-						else
-							nstart = 0;
-						if (endmask)
-							nend = (x + w)  & PIM;
-						else
-							nend = 0;
-
-						srcStartOver = nstart > PLST;
-
-						if(startmask) {
-							switch (rropsOS[d]) {
-								case RROP_BLACK:
-									tmpsrc = 0;
-									break;
-								case RROP_WHITE:
-									tmpsrc = ~0;
-									break;
-								case RROP_COPY:
-									tmpsrc = *psrc;
-									break;
-								case RROP_INVERT:
-									tmpsrc = ~*psrc;
-									break;
-							}
-							if (alu != GXcopy) {
-								getbits (pdst, (x & PIM), nstart, tmpdst);
-								DoRop (tmpsrc, alu, tmpsrc, tmpdst);
-							}
-							putbits (tmpsrc, (x & PIM), nstart, pdst);
-							pdst++;
-							if(srcStartOver)
-								psrc++;
-						}
-						 
-						while(nlMiddle--) {
-							switch (rropsOS[d]) {
-								case RROP_BLACK:
-									tmpsrc = 0;
-									break;
-								case RROP_WHITE:
-									tmpsrc = ~0;
-									break;
-								case RROP_COPY:
-									getbits (psrc, nstart, PPW, tmpsrc);
-									break;
-								case RROP_INVERT:
-									getbits (psrc, nstart, PPW, tmpsrc);
-									tmpsrc = ~tmpsrc;
-									break;
-							}
-							if (alu != GXcopy) {
-								tmpdst = *pdst;
-								DoRop (tmpsrc, alu, tmpsrc, tmpdst);
-							}
-							*pdst++ = tmpsrc;
-							/*putbits (tmpsrc, 0, PPW, pdst);
-								pdst++;*/
-								psrc++;
-						}
-						if(endmask) {
-							switch (rropsOS[d]) {
-								case RROP_BLACK:
-									tmpsrc = 0;
-									break;
-								case RROP_WHITE:
-									tmpsrc = ~0;
-									break;
-
-								case RROP_COPY:
-									getbits (psrc, nstart, nend, tmpsrc);
-									break;
-
-								case RROP_INVERT:
-									getbits (psrc, nstart, nend, tmpsrc);
-									tmpsrc = ~tmpsrc;
-									break;
-							}
-							if (alu != GXcopy) {
-								tmpdst = *pdst;
-								DoRop (tmpsrc, alu, tmpsrc, tmpdst);
-							}
-							putbits (tmpsrc, 0, nend, pdst);
-						}
-					}
-					 x += w;
-					 width -= w;
-				}
-			}
-		}
-		ppt++;
-		pwidth++;
-	}
-	xfree(pptFree);
-	xfree(pwidthFree);
-}
diff --git a/afb/afbfont.c b/afb/afbfont.c
deleted file mode 100644
index 11a4494..0000000
--- a/afb/afbfont.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include <X11/Xmd.h>
-#include <X11/Xproto.h>
-#include "afb.h"
-#include <X11/fonts/fontstruct.h>
-#include "dixfontstr.h"
-#include "scrnintstr.h"
-
-/*ARGSUSED*/
-Bool
-afbRealizeFont( pscr, pFont)
-	ScreenPtr		pscr;
-	FontPtr		pFont;
-{
-	return (TRUE);
-}
-
-/*ARGSUSED*/
-Bool
-afbUnrealizeFont( pscr, pFont)
-	ScreenPtr		pscr;
-	FontPtr		pFont;
-{
-	return (TRUE);
-}
diff --git a/afb/afbgc.c b/afb/afbgc.c
deleted file mode 100644
index 1d1fdc5..0000000
--- a/afb/afbgc.c
+++ /dev/null
@@ -1,685 +0,0 @@
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <string.h>
-
-#include <X11/X.h>
-#include <X11/Xmd.h>
-#include <X11/Xproto.h>
-#include "afb.h"
-#include "dixfontstr.h"
-#include <X11/fonts/fontstruct.h>
-#include "gcstruct.h"
-#include "windowstr.h"
-#include "pixmapstr.h"
-#include "scrnintstr.h"
-#include "region.h"
-
-#include "mistruct.h"
-#include "migc.h"
-
-#include "maskbits.h"
-
-static void afbDestroyGC(GCPtr);
-static void afbValidateGC(GCPtr, unsigned long, DrawablePtr);
-
-static GCFuncs afbFuncs = {
-		afbValidateGC,
-		miChangeGC,
-		miCopyGC,
-		afbDestroyGC,
-		miChangeClip,
-		miDestroyClip,
-		miCopyClip
-};
-
-static GCOps afbGCOps = {
-		afbSolidFS,
-		afbSetSpans,
-		afbPutImage,
-		afbCopyArea,
-		miCopyPlane,
-		afbPolyPoint,
-		afbLineSS,
-		afbSegmentSS,
-		miPolyRectangle,
-		afbZeroPolyArcSS,
-		afbFillPolygonSolid,
-		afbPolyFillRect,
-		afbPolyFillArcSolid,
-		miPolyText8,
-		miPolyText16,
-		miImageText8,
-		miImageText16,
-		afbTEGlyphBlt,
-		afbPolyGlyphBlt,
-		afbPushPixels
-};
-
-static void
-afbReduceOpaqueStipple(PixelType fg, PixelType bg, unsigned long planemask,
-		       int depth, unsigned char *rop)
-{
-	register int d;
-	register Pixel mask = 1;
-
-	bg ^= fg;
-
-	for (d = 0; d < depth; d++, mask <<= 1) {
-		if (!(planemask & mask))
-			rop[d] = RROP_NOP;
-		else if (!(bg & mask)) {
-			/* Both fg and bg have a 0 or 1 in this plane */
-			if (fg & mask)
-				rop[d] = RROP_WHITE;
-			else
-				rop[d] = RROP_BLACK;
-		} else {
-			/* Both fg and bg have different bits on this plane */
-			if (fg & mask)
-				rop[d] = RROP_COPY;
-			else
-				rop[d] = RROP_INVERT;
-		}
-	}
-}
-
-Bool
-afbCreateGC(pGC)
-	register GCPtr pGC;
-{
-	afbPrivGC 		*pPriv;
-
-	pGC->clientClip = NULL;
-	pGC->clientClipType = CT_NONE;
-
-	/* some of the output primitives aren't really necessary, since
-	   they will be filled in ValidateGC because of dix/CreateGC()
-	   setting all the change bits.  Others are necessary because although
-	   they depend on being a monochrome frame buffer, they don't change
-	*/
-
-	pGC->ops = &afbGCOps;
-	pGC->funcs = &afbFuncs;
-
-	/* afb wants to translate before scan convesion */
-	pGC->miTranslate = 1;
-
-	pPriv = (afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-					      afbGCPrivateKey);
-	afbReduceRop(pGC->alu, pGC->fgPixel, pGC->planemask, pGC->depth,
-		pPriv->rrops);
-	afbReduceOpaqueStipple(pGC->fgPixel, pGC->bgPixel, pGC->planemask,
-		pGC->depth, pPriv->rropOS);
-
-	pGC->fExpose = TRUE;
-	pGC->pRotatedPixmap = NullPixmap;
-	pGC->freeCompClip = FALSE;
-	return TRUE;
-}
-
-static void
-afbComputeCompositeClip(GCPtr pGC, DrawablePtr pDrawable)
-{
-	if (pDrawable->type == DRAWABLE_WINDOW) {
-		WindowPtr pWin = (WindowPtr) pDrawable;
-		RegionPtr pregWin;
-		Bool freeTmpClip, freeCompClip;
-
-	if (pGC->subWindowMode == IncludeInferiors) {
-		pregWin = NotClippedByChildren(pWin);
-		freeTmpClip = TRUE;
-	} else {
-		pregWin = &pWin->clipList;
-		freeTmpClip = FALSE;
-	}
-	freeCompClip = pGC->freeCompClip;
-
-	/*
-	 * if there is no client clip, we can get by with just keeping the
-	 * pointer we got, and remembering whether or not should destroy (or
-	 * maybe re-use) it later.  this way, we avoid unnecessary copying of
-	 * regions.  (this wins especially if many clients clip by children
-	 * and have no client clip.)
-	 */
-	if (pGC->clientClipType == CT_NONE) {
-		if (freeCompClip)
-			REGION_DESTROY(pGC->pScreen, pGC->pCompositeClip);
-			pGC->pCompositeClip = pregWin;
-			pGC->freeCompClip = freeTmpClip;
-		} else {
-			/*
-			 * we need one 'real' region to put into the composite clip. if
-			 * pregWin the current composite clip are real, we can get rid of
-			 * one. if pregWin is real and the current composite clip isn't,
-			 * use pregWin for the composite clip. if the current composite
-			 * clip is real and pregWin isn't, use the current composite
-			 * clip. if neither is real, create a new region.
-			 */
-
-			REGION_TRANSLATE(pGC->pScreen, pGC->clientClip,
-			pDrawable->x + pGC->clipOrg.x,
-			pDrawable->y + pGC->clipOrg.y);
-
-			if (freeCompClip) {
-				REGION_INTERSECT(pGC->pScreen, pGC->pCompositeClip, pregWin,
-									  pGC->clientClip);
-				if (freeTmpClip)
-					REGION_DESTROY(pGC->pScreen, pregWin);
-			} else if (freeTmpClip) {
-				REGION_INTERSECT(pGC->pScreen, pregWin, pregWin, pGC->clientClip);
-				pGC->pCompositeClip = pregWin;
-			} else {
-				pGC->pCompositeClip = REGION_CREATE(pGC->pScreen, NullBox, 0);
-				REGION_INTERSECT(pGC->pScreen, pGC->pCompositeClip,
-				pregWin, pGC->clientClip);
-			}
-			pGC->freeCompClip = TRUE;
-			REGION_TRANSLATE(pGC->pScreen, pGC->clientClip,
-			-(pDrawable->x + pGC->clipOrg.x),
-			-(pDrawable->y + pGC->clipOrg.y));
-		}
-	}	/* end of composite clip for a window */
-	else {
-		BoxRec pixbounds;
-
-		/* XXX should we translate by drawable.x/y here ? */
-		pixbounds.x1 = 0;
-		pixbounds.y1 = 0;
-		pixbounds.x2 = pDrawable->width;
-		pixbounds.y2 = pDrawable->height;
-
-		if (pGC->freeCompClip) {
-			REGION_RESET(pGC->pScreen, pGC->pCompositeClip, &pixbounds);
-		} else {
-			pGC->freeCompClip = TRUE;
-			pGC->pCompositeClip = REGION_CREATE(pGC->pScreen, &pixbounds, 1);
-		}
-
-		if (pGC->clientClipType == CT_REGION) {
-			REGION_TRANSLATE(pGC->pScreen, pGC->pCompositeClip, -pGC->clipOrg.x,
-								  -pGC->clipOrg.y);
-			REGION_INTERSECT(pGC->pScreen, pGC->pCompositeClip,
-								  pGC->pCompositeClip, pGC->clientClip);
-			REGION_TRANSLATE(pGC->pScreen, pGC->pCompositeClip, pGC->clipOrg.x,
-								  pGC->clipOrg.y);
-		}
-	}	/* end of composite clip for pixmap */
-} /* end afbComputeCompositeClip */
-
-/* Clipping conventions
-		if the drawable is a window
-			CT_REGION ==> pCompositeClip really is the composite
-			CT_other ==> pCompositeClip is the window clip region
-		if the drawable is a pixmap
-			CT_REGION ==> pCompositeClip is the translated client region
-				clipped to the pixmap boundary
-			CT_other ==> pCompositeClip is the pixmap bounding box
-*/
-
-/*ARGSUSED*/
-static void
-afbValidateGC(pGC, changes, pDrawable)
-	register GCPtr 		pGC;
-	unsigned long		changes;
-	DrawablePtr 		pDrawable;
-{
-	register afbPrivGCPtr devPriv;
-	int mask;		/* stateChanges */
-	int index;		/* used for stepping through bitfields */
-	int xrot, yrot;		/* rotations for tile and stipple pattern */
-				/* flags for changing the proc vector
-				   and updating things in devPriv
-				*/
-	int new_rotate, new_rrop,  new_line, new_text, new_fill;
-	DDXPointRec		oldOrg;				/* origin of thing GC was last used with */
-
-	oldOrg = pGC->lastWinOrg;
-
-	pGC->lastWinOrg.x = pDrawable->x;
-	pGC->lastWinOrg.y = pDrawable->y;
-
-	/* we need to re-rotate the tile if the previous window/pixmap
-	   origin (oldOrg) differs from the new window/pixmap origin
-	   (pGC->lastWinOrg)
-	*/
-	new_rotate = (oldOrg.x != pGC->lastWinOrg.x) ||
-					 (oldOrg.y != pGC->lastWinOrg.y);
-
-
-	devPriv = (afbPrivGCPtr)dixLookupPrivate(&pGC->devPrivates,
-						 afbGCPrivateKey);
-
-	/*
-		if the client clip is different or moved OR
-		the subwindowMode has changed OR
-		the window's clip has changed since the last validation
-		we need to recompute the composite clip
-	*/
-	if ((changes & (GCClipXOrigin|GCClipYOrigin|GCClipMask|GCSubwindowMode)) ||
-		 (pDrawable->serialNumber != (pGC->serialNumber & DRAWABLE_SERIAL_BITS)))
-		afbComputeCompositeClip(pGC, pDrawable);
-
-	new_rrop = FALSE;
-	new_line = FALSE;
-	new_text = FALSE;
-	new_fill = FALSE;
-
-	mask = changes;
-	while (mask) {
-		index = lowbit(mask);
-		mask &= ~index;
-
-		/* this switch acculmulates a list of which procedures
-		   might have to change due to changes in the GC.  in
-		   some cases (e.g. changing one 16 bit tile for another)
-		   we might not really need a change, but the code is
-		   being paranoid.
-		   this sort of batching wins if, for example, the alu
-		   and the font have been changed, or any other pair
-		   of items that both change the same thing.
-		*/
-		switch (index) {
-			case GCPlaneMask:
-			case GCFunction:
-			case GCForeground:
-				new_rrop = TRUE;
-				break;
-			case GCBackground:
-				new_rrop = TRUE;		/* for opaque stipples */
-				break;
-			case GCLineStyle:
-			case GCLineWidth:
-			case GCJoinStyle:
-					new_line = TRUE;
-					break;
-			case GCCapStyle:
-				break;
-			case GCFillStyle:
-				new_fill = TRUE;
-				break;
-			case GCFillRule:
-				break;
-			case GCTile:
-				if(pGC->tileIsPixel)
-					break;
-				new_rotate = TRUE;
-				new_fill = TRUE;
-				break;
-
-			case GCStipple:
-				if(pGC->stipple == (PixmapPtr)NULL)
-					break;
-				new_rotate = TRUE;
-				new_fill = TRUE;
-				break;
-
-			case GCTileStipXOrigin:
-				new_rotate = TRUE;
-				break;
-
-			case GCTileStipYOrigin:
-				new_rotate = TRUE;
-				break;
-
-			case GCFont:
-				new_text = TRUE;
-				break;
-			case GCSubwindowMode:
-				break;
-			case GCGraphicsExposures:
-				break;
-			case GCClipXOrigin:
-				break;
-			case GCClipYOrigin:
-				break;
-			case GCClipMask:
-				break;
-			case GCDashOffset:
-				break;
-			case GCDashList:
-				break;
-			case GCArcMode:
-				break;
-			default:
-					break;
-		}
-	}
-
-	/* deal with the changes we've collected .
-	   new_rrop must be done first because subsequent things
-	   depend on it.
-	*/
-
-	if(new_rotate || new_fill) {
-		Bool new_pix = FALSE;
-
-		/* figure out how much to rotate */
-		xrot = pGC->patOrg.x;
-		yrot = pGC->patOrg.y;
-		xrot += pDrawable->x;
-		yrot += pDrawable->y;
-
-		switch (pGC->fillStyle) {
-			case FillTiled:
-				/* copy current tile and stipple */
-				if (!pGC->tileIsPixel &&
-					 (pGC->tile.pixmap->drawable.width <= PPW) &&
-					 !(pGC->tile.pixmap->drawable.width &
-						(pGC->tile.pixmap->drawable.width - 1))) {
-					afbCopyRotatePixmap(pGC->tile.pixmap, &pGC->pRotatedPixmap,
-												xrot, yrot);
-					new_pix = TRUE;
-				}
-				break;
-			case FillStippled:
-			case FillOpaqueStippled:
-				if (pGC->stipple && (pGC->stipple->drawable.width <= PPW) &&
-					 !(pGC->stipple->drawable.width &
-						(pGC->stipple->drawable.width - 1))) {
-					afbCopyRotatePixmap(pGC->stipple, &pGC->pRotatedPixmap,
-												xrot, yrot);
-					new_pix = TRUE;
-				}
-		}
-		/* destroy any previously rotated tile or stipple */
-		if (!new_pix && pGC->pRotatedPixmap) {
-			(*pDrawable->pScreen->DestroyPixmap)(pGC->pRotatedPixmap);
-			pGC->pRotatedPixmap = (PixmapPtr)NULL;
-		}
-	}
-
-	/*
-	 * duck out here when the GC is unchanged
-	 */
-
-	if (!changes)
-		return;
-
-	if (new_rrop || new_fill) {
-		afbReduceRop(pGC->alu, pGC->fgPixel, pGC->planemask, pDrawable->depth,
-						  devPriv->rrops);
-		afbReduceOpaqueStipple(pGC->fgPixel, pGC->bgPixel, pGC->planemask,
-										pGC->depth, devPriv->rropOS);
-		new_fill = TRUE;
-	}
-
-	if (new_line || new_fill || new_text) {
-		if (!pGC->ops->devPrivate.val) {
-			pGC->ops = miCreateGCOps(pGC->ops);
-			pGC->ops->devPrivate.val = 1;
-		}
-	}
-
-	if (new_line || new_fill) {
-		if (pGC->lineWidth == 0) {
-			if (pGC->lineStyle == LineSolid && pGC->fillStyle == FillSolid)
-				pGC->ops->PolyArc = afbZeroPolyArcSS;
-			else
-				pGC->ops->PolyArc = miZeroPolyArc;
-		} else
-			pGC->ops->PolyArc = miPolyArc;
-		if (pGC->lineStyle == LineSolid) {
-			if(pGC->lineWidth == 0) {
-				if (pGC->fillStyle == FillSolid) {
-					pGC->ops->PolySegment = afbSegmentSS;
-					pGC->ops->Polylines = afbLineSS;
-				}
- 				else
-				{
-					pGC->ops->PolySegment = miPolySegment;
-					pGC->ops->Polylines = miZeroLine;
-				}
-			} else {
-				pGC->ops->PolySegment = miPolySegment;
-				pGC->ops->Polylines = miWideLine;
-			}
-		} else {
-			if(pGC->lineWidth == 0 && pGC->fillStyle == FillSolid) {
-				pGC->ops->PolySegment = afbSegmentSD;
-				pGC->ops->Polylines = afbLineSD;
-			} else {
-				pGC->ops->PolySegment = miPolySegment;
-				pGC->ops->Polylines = miWideDash;
-			}
-		}
-	}
-
-	if (new_text || new_fill) {
-		if ((pGC->font) &&
-			(FONTMAXBOUNDS(pGC->font,rightSideBearing) -
-			 FONTMINBOUNDS(pGC->font,leftSideBearing) > 32 ||
-			 FONTMINBOUNDS(pGC->font,characterWidth) < 0)) {
-			pGC->ops->PolyGlyphBlt = miPolyGlyphBlt;
-			pGC->ops->ImageGlyphBlt = miImageGlyphBlt;
-		} else {
-			/* special case ImageGlyphBlt for terminal emulator fonts */
-			if ((pGC->font) &&
-				TERMINALFONT(pGC->font)) {
-				pGC->ops->ImageGlyphBlt = afbTEGlyphBlt;
-			} else {
-				pGC->ops->ImageGlyphBlt = afbImageGlyphBlt;
-			}
-
-			/* now do PolyGlyphBlt */
-			if (pGC->fillStyle == FillSolid) {
-				pGC->ops->PolyGlyphBlt = afbPolyGlyphBlt;
-			} else {
-				pGC->ops->PolyGlyphBlt = miPolyGlyphBlt;
-			}
-		}
-	}
-
-	if (new_fill) {
-		/* install a suitable fillspans and pushpixels */
-		pGC->ops->PushPixels = afbPushPixels;
-		pGC->ops->FillPolygon = miFillPolygon;
-		pGC->ops->PolyFillArc = miPolyFillArc;
-
-		switch (pGC->fillStyle) {
-			case FillSolid:
-				pGC->ops->FillSpans = afbSolidFS;
-				pGC->ops->FillPolygon = afbFillPolygonSolid;
-				pGC->ops->PolyFillArc = afbPolyFillArcSolid;
-				break;
-			case FillTiled:
-				if (pGC->pRotatedPixmap)
-					pGC->ops->FillSpans = afbTileFS;
-				else
-					pGC->ops->FillSpans = afbUnnaturalTileFS;
-				break;
-			case FillOpaqueStippled:
-				if (pGC->pRotatedPixmap)
-					pGC->ops->FillSpans = afbOpaqueStippleFS;
-				else
-					pGC->ops->FillSpans = afbUnnaturalOpaqueStippleFS;
-				break;
-
-			case FillStippled:
-				if (pGC->pRotatedPixmap)
-					pGC->ops->FillSpans = afbStippleFS;
-				else
-					pGC->ops->FillSpans = afbUnnaturalStippleFS;
-				break;
-		}
-	} /* end of new_fill */
-}
-
-static void
-afbDestroyGC(pGC)
-	GCPtr pGC;
-{
-	if (pGC->pRotatedPixmap)
-		(*pGC->pScreen->DestroyPixmap)(pGC->pRotatedPixmap);
-	if (pGC->freeCompClip)
-		REGION_DESTROY(pGC->pScreen, pGC->pCompositeClip);
-	miDestroyGCOps(pGC->ops);
-}
-
-void
-afbReduceRop(alu, src, planemask, depth, rop)
-	register int alu;
-	register Pixel src;
-	register unsigned long planemask;
-	int depth;
-	register unsigned char *rop;
-{
-	register int d;
-	register Pixel mask = 1;
-
-	for (d = 0; d < depth; d++, mask <<= 1) {
-		if (!(planemask & mask))
-			rop[d] = RROP_NOP;
-		else if ((src & mask) == 0)		/* src is black */
-			switch (alu) {
-				case GXclear:
-					rop[d] = RROP_BLACK;
-					break;
-				case GXand:
-					rop[d] = RROP_BLACK;
-					break;
-				case GXandReverse:
-					rop[d] = RROP_BLACK;
-					break;
-				case GXcopy:
-					rop[d] = RROP_BLACK;
-					break;
-				case GXandInverted:
-					rop[d] = RROP_NOP;
-					break;
-				case GXnoop:
-					rop[d] = RROP_NOP;
-					break;
-				case GXxor:
-					rop[d] = RROP_NOP;
-					break;
-				case GXor:
-					rop[d] = RROP_NOP;
-					break;
-				case GXnor:
-					rop[d] = RROP_INVERT;
-					break;
-				case GXequiv:
-					rop[d] = RROP_INVERT;
-					break;
-				case GXinvert:
-					rop[d] = RROP_INVERT;
-					break;
-				case GXorReverse:
-					rop[d] = RROP_INVERT;
-					break;
-				case GXcopyInverted:
-					rop[d] = RROP_WHITE;
-					break;
-				case GXorInverted:
-					rop[d] = RROP_WHITE;
-					break;
-				case GXnand:
-					rop[d] = RROP_WHITE;
-					break;
-				case GXset:
-					rop[d] = RROP_WHITE;
-					break;
-			}
-		else /* src is white */
-			switch (alu) {
-				case GXclear:
-					rop[d] = RROP_BLACK;
-					break;
-				case GXand:
-					rop[d] = RROP_NOP;
-					break;
-				case GXandReverse:
-					rop[d] = RROP_INVERT;
-					break;
-				case GXcopy:
-					rop[d] = RROP_WHITE;
-					break;
-				case GXandInverted:
-					rop[d] = RROP_BLACK;
-					break;
-				case GXnoop:
-					rop[d] = RROP_NOP;
-					break;
-				case GXxor:
-					rop[d] = RROP_INVERT;
-					break;
-				case GXor:
-					rop[d] = RROP_WHITE;
-					break;
-				case GXnor:
-					rop[d] = RROP_BLACK;
-					break;
-				case GXequiv:
-					rop[d] = RROP_NOP;
-					break;
-				case GXinvert:
-					rop[d] = RROP_INVERT;
-					break;
-				case GXorReverse:
-					rop[d] = RROP_WHITE;
-					break;
-				case GXcopyInverted:
-					rop[d] = RROP_BLACK;
-					break;
-				case GXorInverted:
-					rop[d] = RROP_NOP;
-					break;
-				case GXnand:
-					rop[d] = RROP_INVERT;
-					break;
-				case GXset:
-					rop[d] = RROP_WHITE;
-					break;
-			}
-	}
-}
diff --git a/afb/afbgetsp.c b/afb/afbgetsp.c
deleted file mode 100644
index 8d1db14..0000000
--- a/afb/afbgetsp.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include <X11/Xmd.h>
-
-#include "misc.h"
-#include "region.h"
-#include "gc.h"
-#include "windowstr.h"
-#include "pixmapstr.h"
-#include "scrnintstr.h"
-
-#include "afb.h"
-#include "maskbits.h"
-
-#include "servermd.h"
-
-/* GetSpans -- for each span, gets bits from drawable starting at ppt[i]
- * and continuing for pwidth[i] bits
- * Each scanline returned will be server scanline padded, i.e., it will come
- * out to an integral number of words.
- */
-/*ARGSUSED*/
-void
-afbGetSpans(pDrawable, wMax, ppt, pwidth, nspans, pchardstStart)
-	DrawablePtr		pDrawable;	/* drawable from which to get bits */
-	int			wMax;		/* largest value of all *pwidths */
-	register DDXPointPtr	ppt;		/* points to start copying from */
-	int			*pwidth;	/* list of number of bits to copy */
-	int			nspans;		/* number of scanlines to copy */
-	char			*pchardstStart;	/* where to put the bits */
-{
-	PixelType		*pdstStart = (PixelType *)pchardstStart;
-	register PixelType	*pdst;		/* where to put the bits */
-	register PixelType	*psrc;		/* where to get the bits */
-	register PixelType	tmpSrc;		/* scratch buffer for bits */
-	PixelType		*psrcBase;	/* start of src bitmap */
-	int			widthSrc;	/* width of pixmap in bytes */
-	int			sizeSrc;
-	int			depthSrc;
-	register DDXPointPtr	pptLast;	/* one past last point to get */
-	int		 	xEnd;		/* last pixel to copy from */
-	register int		nstart;
-	register int		d;
-	int		 	nend = 0;
-	int		 	srcStartOver;
-	PixelType 		startmask, endmask;
-	unsigned int		srcBit;
-	int		 	nlMiddle, nl;
-	int			w;
-
-	pptLast = ppt + nspans;
-
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, widthSrc, sizeSrc, depthSrc,
-													 psrcBase);
-	pdst = pdstStart;
-
-	while(ppt < pptLast) {
-		/* XXX should this really be << PWSH, or * 8, or * PGSZB? */
-		xEnd = min(ppt->x + *pwidth, widthSrc << PWSH);
-		pwidth++;
-		for (d = 0; d < depthSrc; d++) {
-			psrc = afbScanline(psrcBase, ppt->x, ppt->y, widthSrc);
-			psrcBase += sizeSrc;	/* @@@ NEXT PLANE @@@ */
-			w = xEnd - ppt->x;
-			srcBit = ppt->x & PIM;
-
-			if (srcBit + w <= PPW)
-			{
-				getandputbits0(psrc, srcBit, w, pdst);
-				pdst++;
-			}
-			else
-			{
-
-				maskbits(ppt->x, w, startmask, endmask, nlMiddle);
-				if (startmask)
-					nstart = PPW - srcBit;
-				else
-					nstart = 0;
-				if (endmask)
-					nend = xEnd & PIM;
-				srcStartOver = srcBit + nstart > PLST;
-				if (startmask)
-				{
-					getandputbits0(psrc, srcBit, nstart, pdst);
-					if(srcStartOver)
-						psrc++;
-				}
-				nl = nlMiddle;
-#ifdef FASTPUTBITS
-				Duff(nl, putbits(*psrc, nstart, PPW, pdst); psrc++; pdst++;);
-#else
-				while (nl--)
-				{
-					tmpSrc = *psrc;
-					putbits(tmpSrc, nstart, PPW, pdst);
-					psrc++;
-					pdst++;
-				}
-#endif
-				if (endmask)
-				{
-					putbits(*psrc, nstart, nend, pdst);
-					if(nstart + nend > PPW)
-						pdst++;
-				}
-				if (startmask || endmask)
-					pdst++;
-			}
-		}
-		ppt++;
-	}
-}
diff --git a/afb/afbhrzvert.c b/afb/afbhrzvert.c
deleted file mode 100644
index 8f332e6..0000000
--- a/afb/afbhrzvert.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-
-#include "gc.h"
-#include "window.h"
-#include "pixmap.h"
-#include "region.h"
-
-#include "afb.h"
-#include "maskbits.h"
-
-/* horizontal solid line
-   abs(len) > 1
-*/
-void
-afbHorzS(pbase, nlwidth, sizeDst, depthDst, x1, y1, len, rrops)
-PixelType *pbase;		/* pointer to base of bitmap */
-register int nlwidth;		/* width in longwords of bitmap */
-int sizeDst;
-int depthDst;
-int x1;						/* initial point */
-int y1;
-int len;				/* length of line */
-register unsigned char *rrops;
-{
-	register PixelType *addrl;
-	register PixelType startmask;
-	register PixelType endmask;
-	register int nlmiddle;
-	register int d;
-	int saveNLmiddle;
-
-	/* force the line to go left to right
-	   but don't draw the last point
-	*/
-	if (len < 0) {
-		x1 += len;
-		x1 += 1;
-		len = -len;
-	}
-
-	/* all bits inside same longword */
-	if ( ((x1 & PIM) + len) < PPW) {
-		maskpartialbits(x1, len, startmask);
-
-		for (d = 0; d < depthDst; d++) {
-			addrl = afbScanline(pbase, x1, y1, nlwidth);
-			pbase += sizeDst;	/* @@@ NEXT PLANE @@@ */
-
-			switch (rrops[d]) {
-				case RROP_BLACK:
-					*addrl &= ~startmask;
-					break;
-				case RROP_WHITE:
-					*addrl |= startmask;
-					break;
-				case RROP_INVERT:
-					*addrl ^= startmask;
-					break;
-				case RROP_NOP:
-					break;
-			} /* switch */
-		} /* for (d = ...) */
-	} else {
-		maskbits(x1, len, startmask, endmask, nlmiddle);
-		saveNLmiddle = nlmiddle;
-
-		for (d = 0; d < depthDst; d++) {
-			addrl = afbScanline(pbase, x1, y1, nlwidth);
-			pbase += sizeDst;	/* @@@ NEXT PLANE @@@ */
-			nlmiddle = saveNLmiddle;
-
-			switch (rrops[d]) {
-				case RROP_BLACK:
-					if (startmask)
-						*addrl++ &= ~startmask;
-					Duff (nlmiddle, *addrl++ = 0x0);
-					if (endmask)
-						*addrl &= ~endmask;
-					break;
-
-				case RROP_WHITE:
-					if (startmask)
-						*addrl++ |= startmask;
-					Duff (nlmiddle, *addrl++ = ~0);
-					if (endmask)
-						*addrl |= endmask;
-					break;
-
-				case RROP_INVERT:
-					if (startmask)
-						*addrl++ ^= startmask;
-					Duff (nlmiddle, *addrl++ ^= ~0);
-					if (endmask)
-						*addrl ^= endmask;
-					break;
-
-				case RROP_NOP:
-					break;
-			} /* switch */
-		} /* for (d = ... ) */
-	}
-}
-
-/* vertical solid line
-   this uses do loops because pcc (Ultrix 1.2, bsd 4.2) generates
-   better code.  sigh.  we know that len will never be 0 or 1, so
-   it's OK to use it.
-*/
-void
-afbVertS(pbase, nlwidth, sizeDst, depthDst, x1, y1, len, rrops)
-PixelType *pbase;		/* pointer to base of bitmap */
-register int nlwidth;		/* width in longwords of bitmap */
-int sizeDst;
-int depthDst;
-int x1, y1;				/* initial point */
-register int len;		/* length of line */
-unsigned char *rrops;
-{
-	register PixelType *addrl;
-	register PixelType bitmask;
-	int saveLen;
-	int d;
-
-	if (len < 0) {
-		nlwidth = -nlwidth;
-		len = -len;
-	}
-
-	saveLen = len;
-
-	for (d = 0; d < depthDst; d++) {
-		addrl = afbScanline(pbase, x1, y1, nlwidth);
-		pbase += sizeDst;	/* @@@ NEXT PLANE @@@ */
-		len = saveLen;
-
-		switch (rrops[d]) {
-			case RROP_BLACK:
-				bitmask = mfbGetrmask(x1 & PIM);
-				Duff(len, *addrl &= bitmask; afbScanlineInc(addrl, nlwidth) );
-				break;
-
-			case RROP_WHITE:
-				bitmask = mfbGetmask(x1 & PIM);
-				Duff(len, *addrl |= bitmask; afbScanlineInc(addrl, nlwidth) );
-				break;
-
-			case RROP_INVERT:
-				bitmask = mfbGetmask(x1 & PIM);
-				Duff(len, *addrl ^= bitmask; afbScanlineInc(addrl, nlwidth) );
-				break;
-
-			case RROP_NOP:
-				break;
-		} /* switch */
-	} /* for (d = ...) */
-}
diff --git a/afb/afbimage.c b/afb/afbimage.c
deleted file mode 100644
index 890429f..0000000
--- a/afb/afbimage.c
+++ /dev/null
@@ -1,272 +0,0 @@
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <string.h>
-
-#include <X11/X.h>
-#include "windowstr.h"
-#include "pixmapstr.h"
-#include "scrnintstr.h"
-#include "gcstruct.h"
-#include "afb.h"
-#include "maskbits.h"
-#include "servermd.h"
-#include "mfb.h"
-
-void
-afbPutImage(pDraw, pGC, depth, x, y, width, height, leftPad, format, pImage)
-	DrawablePtr pDraw;
-	GCPtr pGC;
-	int depth, x, y, width, height;
-	int leftPad;
-	int format;
-	char *pImage;
-{
-	PixmapPtr pPixmap;
-
-	if ((width == 0) || (height == 0))
-		return;
-
-	if (format != ZPixmap || depth == 1 || pDraw->depth == 1) {
-		pPixmap = GetScratchPixmapHeader(pDraw->pScreen, width+leftPad, height,
-													depth, depth,
-													BitmapBytePad(width+leftPad),
-													(pointer)pImage);
-		if (!pPixmap)
-			return;
-
-		pGC->fExpose = FALSE;
-		if (format == XYBitmap)
-			(void)(*pGC->ops->CopyPlane)((DrawablePtr)pPixmap, pDraw, pGC, leftPad,
-												  0, width, height, x, y, 1);
-		else {
-			(void)(*pGC->ops->CopyArea)((DrawablePtr)pPixmap, pDraw, pGC, leftPad,
-												 0, width, height, x, y);
-		}
-
-		pGC->fExpose = TRUE;
-		FreeScratchPixmapHeader(pPixmap);
-	} else {
-		/* Chunky to planar conversion required */
-
-		PixmapPtr pPixmap;
-		ScreenPtr pScreen = pDraw->pScreen;
-		int widthSrc;
-		int start_srcshift;
-		register int b;
-		register int dstshift;
-		register int shift_step;
-		register PixelType dst;
-		register PixelType srcbits;
-		register PixelType *pdst;
-		register PixelType *psrc;
-		int start_bit;
-		register int nl;
-		register int h;
-		register int d;
-		int sizeDst;
-		PixelType *pdstBase;
-		int widthDst;
-		int depthDst;
-
-		/* Create a tmp pixmap */
-		pPixmap = (pScreen->CreatePixmap)(pScreen, width, height, depth,
-						  CREATE_PIXMAP_USAGE_SCRATCH);
-		if (!pPixmap)
-			return;
-
-		afbGetPixelWidthSizeDepthAndPointer((DrawablePtr)pPixmap, widthDst,
-														 sizeDst, depthDst, pdstBase);
-
-		widthSrc = PixmapWidthInPadUnits(width, depth);
-		/* XXX: if depth == 8, use fast chunky to planar assembly function.*/
-		if (depth > 4) {
-			start_srcshift = 24;
-			shift_step = 8;
-		} else {
-			start_srcshift = 28;
-			shift_step = 4;
-		}
-
-		for (d = 0; d < depth; d++, pdstBase += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-			start_bit = start_srcshift + d;
-			psrc = (PixelType *)pImage;
-			pdst = pdstBase;
-			h = height;
-
-			while (h--) {
-				dstshift = PPW - 1;
-				dst = 0;
-				nl = widthSrc;
-				while (nl--) {
-					srcbits = *psrc++;
-					for (b = start_bit; b >= 0; b -= shift_step) {
-						dst |= ((srcbits >> b) & 1) << dstshift;
-						if (--dstshift < 0) {
-							dstshift = PPW - 1;
-							*pdst++ = dst;
-							dst = 0;
-						}
-					}
-				}
-				if (dstshift != PPW - 1)
-					*pdst++ = dst;
-			}
-		} /* for (d = ...) */
-
-		pGC->fExpose = FALSE;
-		(void)(*pGC->ops->CopyArea)((DrawablePtr)pPixmap, pDraw, pGC, leftPad, 0,
-											 width, height, x, y);
-		pGC->fExpose = TRUE;
-		(*pScreen->DestroyPixmap)(pPixmap);
-	}
-}
-
-void
-afbGetImage(pDrawable, sx, sy, width, height, format, planemask, pdstLine)
-	DrawablePtr pDrawable;
-	int sx, sy, width, height;
-	unsigned int format;
-	unsigned long planemask;
-	char *pdstLine;
-{
-	BoxRec box;
-	DDXPointRec ptSrc;
-	RegionRec rgnDst;
-	ScreenPtr pScreen;
-	PixmapPtr pPixmap;
-
-	if ((width == 0) || (height == 0))
-		return;
-
-	pScreen = pDrawable->pScreen;
-	sx += pDrawable->x;
-	sy += pDrawable->y;
-
-	if (format == XYPixmap || pDrawable->depth == 1) {
-		pPixmap = GetScratchPixmapHeader(pScreen, width, height, 1, 1,
-													BitmapBytePad(width), (pointer)pdstLine);
-		if (!pPixmap)
-			return;
-
-		ptSrc.x = sx;
-		ptSrc.y = sy;
-		box.x1 = 0;
-		box.y1 = 0;
-		box.x2 = width;
-		box.y2 = height;
-		REGION_INIT(pScreen, &rgnDst, &box, 1);
-
-		pPixmap->drawable.depth = 1;
-		pPixmap->drawable.bitsPerPixel = 1;
-		/* dix layer only ever calls GetImage with 1 bit set in planemask
-		 * when format is XYPixmap.
-		 */
-		afbDoBitblt(pDrawable, (DrawablePtr)pPixmap, GXcopy, &rgnDst, &ptSrc,
-						 planemask);
-
-		FreeScratchPixmapHeader(pPixmap);
-		REGION_UNINIT(pScreen, &rgnDst);
-	} else {
-		/* Planar to chunky conversion required */
-
-		PixelType *psrcBits;
-		PixelType *psrcLine;
-		PixelType startmask, endmask;
-		int depthSrc;
-		int widthSrc;
-		int sizeSrc;
-		int sizeDst;
-		int widthDst;
-		register PixelType *psrc;
-		register PixelType *pdst;
-		register PixelType dst;
-		register PixelType srcbits;
-		register int d;
-		register int b;
-		register int dstshift;
-		register int shift_step;
-		register int start_endbit;
-		int start_startbit;
-		register int end_endbit = 0;
-		register int start_dstshift;
-		register int nl;
-		register int h;
-		int nlmiddle;
-
-		widthDst = PixmapWidthInPadUnits(width, pDrawable->depth);
-		sizeDst = widthDst * height;
-
-		/* Clear the dest image */
-		bzero(pdstLine, sizeDst << 2);
-
-		afbGetPixelWidthSizeDepthAndPointer(pDrawable, widthSrc, sizeSrc,
-														 depthSrc, psrcBits);
-
-		psrcBits = afbScanline(psrcBits, sx, sy, widthSrc);
-
-		start_startbit = PPW - 1 - (sx & PIM);
-		if ((sx & PIM) + width < PPW) {
-			maskpartialbits(sx, width, startmask);
-			nlmiddle = 0;
-			endmask = 0;
-			start_endbit = PPW - ((sx + width) & PIM);
-		} else {
-			maskbits(sx, width, startmask, endmask, nlmiddle);
-			start_endbit = 0;
-			end_endbit = PPW - ((sx + width) & PIM);
-		}
-		/* ZPixmap images have either 4 or 8 bits per pixel dependent on
-		 * depth.
-		 */
-		if (depthSrc > 4) {
-			start_dstshift = 24;
-			shift_step = 8;
-		} else {
-			start_dstshift = 28;
-			shift_step = 4;
-		}
-#define SHIFT_BITS(start_bit,end_bit) \
-for (b = (start_bit); b >= (end_bit); b--) { \
-	dst |= ((srcbits >> b) & 1) << dstshift; \
-	if ((dstshift -= shift_step) < 0) { \
-		dstshift = start_dstshift + d; \
-		*pdst++ = dst; \
-		dst = *pdst; \
-	} \
-} \
-
-		for (d = 0; d < depthSrc; d++, psrcBits += sizeSrc) {	/* @@@ NEXT PLANE @@@ */
-			psrcLine = psrcBits;
-			pdst = (PixelType *)pdstLine;
-			h = height;
-
-			while (h--) {
-				psrc = psrcLine;
-				psrcLine += widthSrc;
-				dst = *pdst;
-				dstshift = start_dstshift + d;
-
-				if (startmask) {
-					srcbits = *psrc++ & startmask;
-					SHIFT_BITS(start_startbit, start_endbit);
-				}
-
-				nl = nlmiddle;
-				while (nl--) {
-					srcbits = *psrc++;
-					SHIFT_BITS(PPW - 1, 0);
-				}
-				if (endmask) {
-					srcbits = *psrc & endmask;
-					SHIFT_BITS(PPW - 1, end_endbit);
-				}
-
-				if (dstshift != start_dstshift + d)
-					*pdst++ = dst;
-			} /* while (h--) */
-		} /* for (d = ...) */
-	}
-}
diff --git a/afb/afbimggblt.c b/afb/afbimggblt.c
deleted file mode 100644
index 36818ac..0000000
--- a/afb/afbimggblt.c
+++ /dev/null
@@ -1,472 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include		<X11/X.h>
-#include		<X11/Xmd.h>
-#include		<X11/Xproto.h>
-#include		"afb.h"
-#include		<X11/fonts/fontstruct.h>
-#include		"dixfontstr.h"
-#include		"gcstruct.h"
-#include		"windowstr.h"
-#include		"scrnintstr.h"
-#include		"pixmapstr.h"
-#include		"regionstr.h"
-#include		"maskbits.h"
-
-/*
-	we should eventually special-case fixed-width fonts for ImageText.
-
-	this works for fonts with glyphs <= 32 bits wide.
-
-	the clipping calculations are done for worst-case fonts.
-we make no assumptions about the heights, widths, or bearings
-of the glyphs.  if we knew that the glyphs are all the same height,
-we could clip the tops and bottoms per clipping box, rather
-than per character per clipping box.  if we knew that the glyphs'
-left and right bearings were wlle-behaved, we could clip a single
-character at the start, output until the last unclipped
-character, and then clip the last one.  this is all straightforward
-to determine based on max-bounds and min-bounds from the font.
-	there is some inefficiency introduced in the per-character
-clipping to make what's going on clearer.
-
-	(it is possible, for example, for a font to be defined in which the
-next-to-last character in a font would be clipped out, but the last
-one wouldn't.  the code below deals with this.)
-
-	Image text looks at the bits in the glyph and the fg and bg in the
-GC.  it paints a rectangle, as defined in the protocol dcoument,
-and the paints the characters.
-
-	the register allocations for startmask and endmask may not
-be the right thing.  are there two other deserving candidates?
-xoff, pdst, pglyph, and tmpSrc seem like the right things, though.
-*/
-
-void
-afbImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase)
-	DrawablePtr pDrawable;
-	GC				*pGC;
-	int		x, y;
-	unsigned int nglyph;
-	CharInfoPtr *ppci;				/* array of character info */
-	pointer		pglyphBase;		/* start of array of glyphs */
-{
-	ExtentInfoRec info;		/* used by QueryGlyphExtents() */
-	BoxRec bbox;		/* string's bounding box */
-	xRectangle backrect;/* backing rectangle to paint.
-						   in the general case, NOT necessarily
-						   the same as the string's bounding box
-						*/
-
-	CharInfoPtr pci;
-	int xorg, yorg;		/* origin of drawable in bitmap */
-	int widthDst;		/* width of dst in longwords */
-
-						/* these keep track of the character origin */
-	PixelType *pdstBase;
-						/* points to longword with character origin */
-	int xchar;				/* xorigin of char (mod 32) */
-
-						/* these are used for placing the glyph */
-	register int xoff;		/* x offset of left edge of glyph (mod 32) */
-	register PixelType *pdst;
-						/* pointer to current longword in dst */
-
-	register int d;
-	int depthDst;
-	int sizeDst;
-	int hSave;
-	int w;				/* width of glyph in bits */
-	int h;				/* height of glyph */
-	int widthGlyph;		/* width of glyph, in bytes */
-	unsigned char rrops[AFB_MAX_DEPTH];
-	register unsigned char *pglyph;
-						/* pointer to current row of glyph */
-	unsigned char *pglyphSave;
-
-						/* used for putting down glyph */
-	register PixelType tmpSrc;
-						/* for getting bits from glyph */
-	register PixelType startmask;
-	register PixelType endmask;
-
-	register int nFirst;/* bits of glyph in current longword */
-	PixelType *pdstSave;
-	int oldFill;
-	afbPrivGC *pPriv = (afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-							 afbGCPrivateKey);
-	xorg = pDrawable->x;
-	yorg = pDrawable->y;
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, widthDst, sizeDst, depthDst,
-													 pdstBase);
-
-	QueryGlyphExtents(pGC->font, ppci, (unsigned long)nglyph, &info);
-
-	backrect.x = x;
-	backrect.y = y - FONTASCENT(pGC->font);
-	backrect.width = info.overallWidth;
-	backrect.height = FONTASCENT(pGC->font) + FONTDESCENT(pGC->font);
-
-	x += xorg;
-	y += yorg;
-
-	bbox.x1 = x + info.overallLeft;
-	bbox.x2 = x + info.overallRight;
-	bbox.y1 = y - info.overallAscent;
-	bbox.y2 = y + info.overallDescent;
-
-	oldFill = pGC->fillStyle;
-	pGC->fillStyle = FillSolid;
-	afbReduceRop (pGC->alu, pGC->bgPixel, pGC->planemask, pGC->depth,
-				  pPriv->rrops);
-	afbPolyFillRect(pDrawable, pGC, 1, &backrect);
-	pGC->fillStyle = oldFill;
-	afbReduceRop (pGC->alu, pGC->fgPixel, pGC->planemask, pGC->depth,
-				  pPriv->rrops);
-	afbReduceRop (GXcopy, pGC->fgPixel, pGC->planemask, pGC->depth, rrops);
-
-	/* the faint-hearted can open their eyes now */
-
-	switch (RECT_IN_REGION(pGC->pScreen, pGC->pCompositeClip, &bbox)) {
-		case rgnOUT:
-			break;
-		case rgnIN:
-			pdstBase = afbScanlineNoBankSwitch(pdstBase, x, y, widthDst);
-			xchar = x & PIM;
-
-			while(nglyph--) {
-				pci = *ppci;
-				pglyphSave = FONTGLYPHBITS(pglyphBase, pci);
-				w = pci->metrics.rightSideBearing - pci->metrics.leftSideBearing;
-				hSave = pci->metrics.ascent + pci->metrics.descent;
-				widthGlyph = GLYPHWIDTHBYTESPADDED(pci);
-				/* start at top scanline of glyph */
-				pdstSave = afbScanlineDelta(pdstBase, -pci->metrics.ascent,
-													  widthDst);
-
-				/* find correct word in scanline and x offset within it
-				   for left edge of glyph
-				*/
-				xoff = xchar + pci->metrics.leftSideBearing;
-				if (xoff > PLST) {
-					pdstSave++;
-					xoff &= PIM;
-				} else if (xoff < 0) {
-					xoff += PPW;
-					pdstSave--;
-				}
-
-				for (d = 0; d < depthDst; d++) {
-					h = hSave;
-					pdst = pdstSave;
-					pdstSave += sizeDst;	/* @@@ NEXT PLANE @@@ */
-					pglyph = pglyphSave;
-
-					if ((xoff + w) <= PPW) {
-						/* glyph all in one longword */
-						maskpartialbits(xoff, w, startmask);
-
-						switch (rrops[d]) {
-							case RROP_BLACK:
-								while (h--) {
-									getleftbits(pglyph, w, tmpSrc);
-									*pdst &= ~(SCRRIGHT(tmpSrc, xoff) & startmask);
-									pglyph += widthGlyph;
-									afbScanlineInc(pdst, widthDst);
-								}
-								break;
-							case RROP_WHITE:
-								while (h--) {
-									getleftbits(pglyph, w, tmpSrc);
-									*pdst |= SCRRIGHT(tmpSrc, xoff) & startmask;
-									pglyph += widthGlyph;
-									afbScanlineInc(pdst, widthDst);
-								}
-								break;
-							case RROP_NOP:
-								break;
-						}
-					} else {
-						/* glyph crosses longword boundary */
-						maskPPWbits(xoff, w, startmask, endmask);
-						nFirst = PPW - xoff;
-
-						switch (rrops[d]) {
-							case RROP_BLACK:
-								while (h--) {
-									getleftbits(pglyph, w, tmpSrc);
-									*pdst &= ~(SCRRIGHT(tmpSrc, xoff) & startmask);
-									*(pdst+1) &= ~(SCRLEFT(tmpSrc, nFirst) & endmask);
-									pglyph += widthGlyph;
-									afbScanlineInc(pdst, widthDst);
-								}
-								break;
-							case RROP_WHITE:
-								while (h--) {
-									getleftbits(pglyph, w, tmpSrc);
-									*pdst |= SCRRIGHT(tmpSrc, xoff) & startmask;
-									*(pdst+1) |= SCRLEFT(tmpSrc, nFirst) & endmask;
-									pglyph += widthGlyph;
-									afbScanlineInc(pdst, widthDst);
-								}
-								break;
-							case RROP_NOP:
-								break;
-						}
-					} /* glyph crosses longwords boundary */
-				} /* depth loop */
-				/* update character origin */
-				x += pci->metrics.characterWidth;
-				xchar += pci->metrics.characterWidth;
-				if (xchar > PLST) {
-					xchar -= PPW;
-					pdstBase++;
-				} else if (xchar < 0) {
-					xchar += PPW;
-					pdstBase--;
-				}
-				ppci++;
-			} /* while nglyph-- */
-			break;
-		case rgnPART:
-			{
-				afbTEXTPOS *ppos;
-				int nbox;
-				BoxPtr pbox;
-				RegionPtr cclip;
-				int xpos;				/* x position of char origin */
-				int i;
-				BoxRec clip;
-				int leftEdge, rightEdge;
-				int topEdge, bottomEdge;
-				int glyphRow;				/* first row of glyph not wholly
-										   clipped out */
-				int glyphCol;				/* leftmost visible column of glyph */
-#if GETLEFTBITS_ALIGNMENT > 1
-				int getWidth;				/* bits to get from glyph */
-#endif
-
-				if(!(ppos = (afbTEXTPOS *)xalloc(nglyph * sizeof(afbTEXTPOS))))
-					return;
-
-				pdstBase = afbScanlineNoBankSwitch(pdstBase, x, y, widthDst);
-				xpos = x;
-				xchar = xpos & PIM;
-
-				for (i = 0; i < nglyph; i++) {
-					pci = ppci[i];
-
-					ppos[i].xpos = xpos;
-					ppos[i].xchar = xchar;
-					ppos[i].leftEdge = xpos + pci->metrics.leftSideBearing;
-					ppos[i].rightEdge = xpos + pci->metrics.rightSideBearing;
-					ppos[i].topEdge = y - pci->metrics.ascent;
-					ppos[i].bottomEdge = y + pci->metrics.descent;
-					ppos[i].pdstBase = pdstBase;
-					ppos[i].widthGlyph = GLYPHWIDTHBYTESPADDED(pci);
-
-					xpos += pci->metrics.characterWidth;
-					xchar += pci->metrics.characterWidth;
-					if (xchar > PLST) {
-						xchar &= PIM;
-						pdstBase++;
-					} else if (xchar < 0) {
-						xchar += PPW;
-						pdstBase--;
-					}
-				}
-
-				cclip = pGC->pCompositeClip;
-				pbox = REGION_RECTS(cclip);
-				nbox = REGION_NUM_RECTS(cclip);
-
-				/* HACK ALERT
-				   since we continue out of the loop below so often, it
-				   is easier to increment pbox at the  top than at the end.
-				   don't try this at home.
-				*/
-				pbox--;
-				while(nbox--) {
-					pbox++;
-					clip.x1 = max(bbox.x1, pbox->x1);
-					clip.y1 = max(bbox.y1, pbox->y1);
-					clip.x2 = min(bbox.x2, pbox->x2);
-					clip.y2 = min(bbox.y2, pbox->y2);
-					if ((clip.x2<=clip.x1) || (clip.y2<=clip.y1))
-						continue;
-
-					for(i=0; i<nglyph; i++) {
-						pci = ppci[i];
-						xchar = ppos[i].xchar;
-
-						/* clip the left and right edges */
-						if (ppos[i].leftEdge < clip.x1)
-							leftEdge = clip.x1;
-						else
-							leftEdge = ppos[i].leftEdge;
-
-						if (ppos[i].rightEdge > clip.x2)
-							rightEdge = clip.x2;
-						else
-							rightEdge = ppos[i].rightEdge;
-
-						w = rightEdge - leftEdge;
-						if (w <= 0)
-							continue;
-
-						/* clip the top and bottom edges */
-						if (ppos[i].topEdge < clip.y1)
-							topEdge = clip.y1;
-						else
-							topEdge = ppos[i].topEdge;
-
-						if (ppos[i].bottomEdge > clip.y2)
-							bottomEdge = clip.y2;
-						else
-							bottomEdge = ppos[i].bottomEdge;
-
-						hSave = bottomEdge - topEdge;
-						if (hSave <= 0)
-							continue;
-
-						glyphRow = (topEdge - y) + pci->metrics.ascent;
-						widthGlyph = ppos[i].widthGlyph;
-						pglyphSave = FONTGLYPHBITS(pglyphBase, pci);
-						pglyphSave += (glyphRow * widthGlyph);
-
-						glyphCol = (leftEdge - ppos[i].xpos) -
-								   (pci->metrics.leftSideBearing);
-#if GETLEFTBITS_ALIGNMENT > 1
-						getWidth = w + glyphCol;
-#endif
-
-						pdstSave = afbScanlineDelta(ppos[i].pdstBase, -(y-topEdge),
-													widthDst);
-						xoff = xchar + (leftEdge - ppos[i].xpos);
-						if (xoff > PLST) {
-							xoff &= PIM;
-							pdstSave++;
-						} else if (xoff < 0) {
-							xoff += PPW;
-							pdstSave--;
-						}
-
-						for (d = 0; d < depthDst; d++) {
-							h = hSave;
-							pdst = pdstSave;
-							pdstSave += sizeDst;	/* @@@ NEXT PLANE @@@ */
-							pglyph = pglyphSave;
-
-							if ((xoff + w) <= PPW) {
-								maskpartialbits(xoff, w, startmask);
-
-								switch (rrops[d]) {
-									case RROP_BLACK:
-										while (h--) {
-											getshiftedleftbits(pglyph, glyphCol, getWidth, tmpSrc);
-											*pdst &= ~(SCRRIGHT(tmpSrc, xoff) & startmask);
-											pglyph += widthGlyph;
-											afbScanlineInc(pdst, widthDst);
-										}
-										break;
-									case RROP_WHITE:
-										while (h--) {
-											getshiftedleftbits(pglyph, glyphCol, getWidth, tmpSrc);
-											*pdst |= SCRRIGHT(tmpSrc, xoff) & startmask;
-											pglyph += widthGlyph;
-											afbScanlineInc(pdst, widthDst);
-										}
-										break;
-									case RROP_NOP:
-										break;
-								}
-							} else {
-								maskPPWbits(xoff, w, startmask, endmask);
-								nFirst = PPW - xoff;
-
-								switch (rrops[d]) {
-									case RROP_BLACK:
-										while (h--) {
-											getshiftedleftbits(pglyph, glyphCol, getWidth, tmpSrc);
-											*pdst &= ~(SCRRIGHT(tmpSrc, xoff) & startmask);
-											*(pdst+1) &= ~(SCRLEFT(tmpSrc, nFirst) & endmask);
-											pglyph += widthGlyph;
-											afbScanlineInc(pdst, widthDst);
-										}
-										break;
-									case RROP_WHITE:
-										while (h--) {
-											getshiftedleftbits(pglyph, glyphCol, getWidth, tmpSrc);
-											*pdst |= SCRRIGHT(tmpSrc, xoff) & startmask;
-											*(pdst+1) |= SCRLEFT(tmpSrc, nFirst) & endmask;
-											pglyph += widthGlyph;
-											afbScanlineInc(pdst, widthDst);
-										}
-										break;
-									case RROP_NOP:
-										break;
-								}
-							}
-						} /* depth */
-					} /* for each glyph */
-				} /* while nbox-- */
-				xfree(ppos);
-				break;
-			}
-
-		default:
-			break;
-	}
-}
diff --git a/afb/afbline.c b/afb/afbline.c
deleted file mode 100644
index d056758..0000000
--- a/afb/afbline.c
+++ /dev/null
@@ -1,707 +0,0 @@
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include <stdlib.h>
-
-#include "gcstruct.h"
-#include "windowstr.h"
-#include "pixmapstr.h"
-#include "regionstr.h"
-#include "scrnintstr.h"
-#include "mistruct.h"
-
-#include "afb.h"
-#include "maskbits.h"
-#include "miline.h"
-
-/* single-pixel lines on a color frame buffer
-
-   NON-SLOPED LINES
-   horizontal lines are always drawn left to right; we have to
-move the endpoints right by one after they're swapped.
-   horizontal lines will be confined to a single band of a
-region.  the code finds that band (giving up if the lower
-bound of the band is above the line we're drawing); then it
-finds the first box in that band that contains part of the
-line.  we clip the line to subsequent boxes in that band.
-   vertical lines are always drawn top to bottom (y-increasing.)
-this requires adding one to the y-coordinate of each endpoint
-after swapping.
-
-   SLOPED LINES
-   when clipping a sloped line, we bring the second point inside
-the clipping box, rather than one beyond it, and then add 1 to
-the length of the line before drawing it.  this lets us use
-the same box for finding the outcodes for both endpoints.  since
-the equation for clipping the second endpoint to an edge gives us
-1 beyond the edge, we then have to move the point towards the
-first point by one step on the major axis.
-   eventually, there will be a diagram here to explain what's going
-on.  the method uses Cohen-Sutherland outcodes to determine
-outsideness, and a method similar to Pike's layers for doing the
-actual clipping.
-
-*/
-
-void
-#ifdef POLYSEGMENT
-afbSegmentSS(pDrawable, pGC, nseg, pSeg)
-	DrawablePtr		pDrawable;
-	GCPtr		pGC;
-	int				nseg;
-	register xSegment		*pSeg;
-#else
-afbLineSS(pDrawable, pGC, mode, npt, pptInit)
-	DrawablePtr pDrawable;
-	GCPtr		pGC;
-	int				mode;				/* Origin or Previous */
-	int				npt;				/* number of points */
-	DDXPointPtr pptInit;
-#endif
-{
-	int nboxInit;
-	register int nbox;
-	BoxPtr pboxInit;
-	register BoxPtr pbox;
-#ifndef POLYSEGMENT
-	register DDXPointPtr ppt;		/* pointer to list of translated points */
-#endif
-
-	unsigned int oc1;				/* outcode of point 1 */
-	unsigned int oc2;				/* outcode of point 2 */
-
-	PixelType *addrlBase;		/* pointer to start of drawable */
-	int nlwidth;				/* width in longwords of destination pixmap */
-	int xorg, yorg;				/* origin of window */
-
-	int adx;				/* abs values of dx and dy */
-	int ady;
-	int signdx;				/* sign of dx and dy */
-	int signdy;
-	int e, e1, e2;				/* bresenham error and increments */
-	int len;						/* length of segment */
-	int axis;						/* major axis */
-	int octant;
-	unsigned int bias = miGetZeroLineBias(pDrawable->pScreen);
-	int depthDst;
-#ifndef POLYSEGMENT
-	PixelType *addrl;				/* address of destination pixmap */
-	int d;
-#endif
-	int sizeDst;
-	unsigned char *rrops;
-
-								/* a bunch of temporaries */
-	register int y1, y2;
-	register int x1, x2;
-	RegionPtr cclip;
-
-	cclip = pGC->pCompositeClip;
-	rrops = ((afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-					       afbGCPrivateKey))->rrops;
-	pboxInit = REGION_RECTS(cclip);
-	nboxInit = REGION_NUM_RECTS(cclip);
-
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, nlwidth, sizeDst, depthDst,
-													 addrlBase);
-
-	xorg = pDrawable->x;
-	yorg = pDrawable->y;
-#ifdef POLYSEGMENT
-	while (nseg--)
-#else
-	ppt = pptInit;
-	x2 = ppt->x + xorg;
-	y2 = ppt->y + yorg;
-	while(--npt)
-#endif
-	{
-		nbox = nboxInit;
-		pbox = pboxInit;
-
-#ifdef POLYSEGMENT
-		x1 = pSeg->x1 + xorg;
-		y1 = pSeg->y1 + yorg;
-		x2 = pSeg->x2 + xorg;
-		y2 = pSeg->y2 + yorg;
-		pSeg++;
-#else
-		x1 = x2;
-		y1 = y2;
-		++ppt;
-		if (mode == CoordModePrevious) {
-			xorg = x1;
-			yorg = y1;
-		}
-		x2 = ppt->x + xorg;
-		y2 = ppt->y + yorg;
-#endif
-
-		if (x1 == x2) /* vertical line */
-		{
-			/* make the line go top to bottom of screen, keeping
-			   endpoint semantics
-			*/
-			if (y1 > y2) {
-				register int tmp;
-
-				tmp = y2;
-				y2 = y1 + 1;
-				y1 = tmp + 1;
-#ifdef POLYSEGMENT
-				if (pGC->capStyle != CapNotLast)
-					y1--;
-#endif
-			}
-#ifdef POLYSEGMENT
-			else if (pGC->capStyle != CapNotLast)
-				y2++;
-#endif
-			/* get to first band that might contain part of line */
-			while ((nbox) && (pbox->y2 <= y1)) {
-				pbox++;
-				nbox--;
-			}
-
-			if (nbox) {
-				/* stop when lower edge of box is beyond end of line */
-				while((nbox) && (y2 >= pbox->y1)) {
-					if ((x1 >= pbox->x1) && (x1 < pbox->x2)) {
-						int y1t, y2t;
-						/* this box has part of the line in it */
-						y1t = max(y1, pbox->y1);
-						y2t = min(y2, pbox->y2);
-						if (y1t != y2t)
-							afbVertS(addrlBase, nlwidth, sizeDst, depthDst, x1, y1t,
-										 y2t-y1t, rrops);	/* @@@ NEXT PLANE PASSED @@@ */
-					}
-					nbox--;
-					pbox++;
-				}
-			}
-#ifndef POLYSEGMENT
-			y2 = ppt->y + yorg;
-#endif
-		} else if (y1 == y2) /* horizontal line */ {
-			/* force line from left to right, keeping
-			   endpoint semantics
-			*/
-			if (x1 > x2) {
-				register int tmp;
-
-				tmp = x2;
-				x2 = x1 + 1;
-				x1 = tmp + 1;
-#ifdef POLYSEGMENT
-				if (pGC->capStyle != CapNotLast)
-					x1--;
-#endif
-			}
-#ifdef POLYSEGMENT
-			else if (pGC->capStyle != CapNotLast)
-				x2++;
-#endif
-
-			/* find the correct band */
-			while( (nbox) && (pbox->y2 <= y1)) {
-				pbox++;
-				nbox--;
-			}
-
-			/* try to draw the line, if we haven't gone beyond it */
-			if ((nbox) && (pbox->y1 <= y1)) {
-				int tmp;
-
-				/* when we leave this band, we're done */
-				tmp = pbox->y1;
-				while((nbox) && (pbox->y1 == tmp)) {
-					int		x1t, x2t;
-
-					if (pbox->x2 <= x1) {
-						/* skip boxes until one might contain start point */
-						nbox--;
-						pbox++;
-						continue;
-					}
-
-					/* stop if left of box is beyond right of line */
-					if (pbox->x1 >= x2) {
-						nbox = 0;
-						break;
-					}
-
-					x1t = max(x1, pbox->x1);
-					x2t = min(x2, pbox->x2);
-					if (x1t != x2t)
-						afbHorzS(addrlBase, nlwidth, sizeDst, depthDst, x1t, y1,
-									 x2t-x1t, rrops);	/* @@@ NEXT PLANE PASSED @@@ */
-					nbox--;
-					pbox++;
-				}
-			}
-#ifndef POLYSEGMENT
-			x2 = ppt->x + xorg;
-#endif
-		}
-		else		/* sloped line */
-		{
-			CalcLineDeltas(x1, y1, x2, y2, adx, ady,
-				       signdx, signdy, 1, 1, octant);
-
-			if (adx > ady) {
-				axis = X_AXIS;
-				e1 = ady << 1;
-				e2 = e1 - (adx << 1);
-				e = e1 - adx;
-			} else {
-				axis = Y_AXIS;
-				e1 = adx << 1;
-				e2 = e1 - (ady << 1);
-				e = e1 - ady;
-				SetYMajorOctant(octant);
-			}
-
-			FIXUP_ERROR(e, octant, bias);
-
-			/* we have bresenham parameters and two points.
-			   all we have to do now is clip and draw.
-			*/
-
-			while(nbox--) {
-				oc1 = 0;
-				oc2 = 0;
-				OUTCODES(oc1, x1, y1, pbox);
-				OUTCODES(oc2, x2, y2, pbox);
-				if ((oc1 | oc2) == 0) {
-					if (axis == X_AXIS)
-						len = adx;
-					else
-						len = ady;
-#ifdef POLYSEGMENT
-					if (pGC->capStyle != CapNotLast)
-						len++;
-#endif
-					afbBresS(addrlBase, nlwidth, sizeDst, depthDst, signdx, signdy,
-								 axis, x1, y1, e, e1, e2, len, rrops);	/* @@@ NEXT PLANE PASSED @@@ */
-					break;
-				} else if (oc1 & oc2) {
-					pbox++;
-				} else {
-					int new_x1 = x1, new_y1 = y1, new_x2 = x2, new_y2 = y2;
-					int clip1 = 0, clip2 = 0;
-					int clipdx, clipdy;
-					int err;
-
-					if (miZeroClipLine(pbox->x1, pbox->y1, pbox->x2-1,
-									   pbox->y2-1,
-									   &new_x1, &new_y1, &new_x2, &new_y2,
-									   adx, ady, &clip1, &clip2,
-									   octant, bias, oc1, oc2) == -1) {
-						pbox++;
-						continue;
-					}
-
-					if (axis == X_AXIS)
-						len = abs(new_x2 - new_x1);
-					else
-						len = abs(new_y2 - new_y1);
-#ifdef POLYSEGMENT
-					if (clip2 != 0 || pGC->capStyle != CapNotLast)
-						len++;
-#else
-					len += (clip2 != 0);
-#endif
-					if (len) {
-						/* unwind bresenham error term to first point */
-						if (clip1) {
-							clipdx = abs(new_x1 - x1);
-							clipdy = abs(new_y1 - y1);
-							if (axis == X_AXIS)
-								err = e+((clipdy*e2) + ((clipdx-clipdy)*e1));
-							else
-								err = e+((clipdx*e2) + ((clipdy-clipdx)*e1));
-						}
-						else
-							err = e;
-						afbBresS(addrlBase, nlwidth, sizeDst, depthDst, signdx,
-									 signdy, axis, new_x1, new_y1, err, e1, e2, len,
-									 rrops);	/* @@@ NEXT PLANE PASSED @@@ */
-					}
-					pbox++;
-				}
-			} /* while (nbox--) */
-		} /* sloped line */
-	} /* while (nline--) */
-
-#ifndef POLYSEGMENT
-
-	/* paint the last point if the end style isn't CapNotLast.
-	   (Assume that a projecting, butt, or round cap that is one
-		pixel wide is the same as the single pixel of the endpoint.)
-	*/
-
-	if ((pGC->capStyle != CapNotLast) &&
-		 ((ppt->x + xorg != pptInit->x + pDrawable->x) ||
-		  (ppt->y + yorg != pptInit->y + pDrawable->y) ||
-		  (ppt == pptInit + 1))) {
-		nbox = nboxInit;
-		pbox = pboxInit;
-		while (nbox--) {
-			if ((x2 >= pbox->x1) && (y2 >= pbox->y1) && (x2 < pbox->x2) &&
-				 (y2 < pbox->y2)) {
-				for (d = 0; d < depthDst; d++) {
-					addrl = afbScanline(addrlBase, x2, y2, nlwidth);
-					addrlBase += sizeDst;			/* @@@ NEXT PLANE @@@ */
-
-					switch(rrops[d]) {
-						case RROP_BLACK:
-							*addrl &= mfbGetrmask(x2 & PIM);
-							break;
-						case RROP_WHITE:
-							*addrl |= mfbGetmask(x2 & PIM);
-							break;
-						case RROP_INVERT:
-							*addrl ^= mfbGetmask(x2 & PIM);
-							break;
-						case RROP_NOP:
-							break;
-					} /* switch */
-				} /* for (d = ...) */
-				break;
-			} else
-				pbox++;
-		}
-	}
-#endif
-}
-
-/*
- * Draw dashed 1-pixel lines.
- */
-
-void
-#ifdef POLYSEGMENT
-afbSegmentSD(pDrawable, pGC, nseg, pSeg)
-	DrawablePtr		pDrawable;
-	register GCPtr		pGC;
-	int				nseg;
-	register xSegment		*pSeg;
-#else
-afbLineSD(pDrawable, pGC, mode, npt, pptInit)
-	DrawablePtr pDrawable;
-	register GCPtr pGC;
-	int mode;				/* Origin or Previous */
-	int npt;				/* number of points */
-	DDXPointPtr pptInit;
-#endif
-{
-	int nboxInit;
-	register int nbox;
-	BoxPtr pboxInit;
-	register BoxPtr pbox;
-#ifndef POLYSEGMENT
-	register DDXPointPtr ppt;		/* pointer to list of translated points */
-#endif
-
-	register unsigned int oc1;		/* outcode of point 1 */
-	register unsigned int oc2;		/* outcode of point 2 */
-
-	PixelType *addrlBase;		/* address of destination pixmap */
-	int nlwidth;				/* width in longwords of destination pixmap */
-	int sizeDst;
-	int depthDst;
-	int xorg, yorg;				/* origin of window */
-
-	int adx;				/* abs values of dx and dy */
-	int ady;
-	int signdx;				/* sign of dx and dy */
-	int signdy;
-	int e, e1, e2;				/* bresenham error and increments */
-	int len;						/* length of segment */
-	int axis;						/* major axis */
-	int octant;
-	unsigned int bias = miGetZeroLineBias(pDrawable->pScreen);
-	int x1, x2, y1, y2;
-	RegionPtr cclip;
-	unsigned char *rrops;
-	unsigned char bgrrops[AFB_MAX_DEPTH];
-	unsigned char   *pDash;
-	int					dashOffset;
-	int					numInDashList;
-	int					dashIndex;
-	int					isDoubleDash;
-	int					dashIndexTmp, dashOffsetTmp;
-	int					unclippedlen;
-#ifndef POLYSEGMENT
-	PixelType *addrl;
-	int					d;
-#endif
-
-	cclip = pGC->pCompositeClip;
-	rrops = ((afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-					       afbGCPrivateKey))->rrops;
-	pboxInit = REGION_RECTS(cclip);
-	nboxInit = REGION_NUM_RECTS(cclip);
-
-   afbGetPixelWidthSizeDepthAndPointer(pDrawable, nlwidth, sizeDst, depthDst,
-													 addrlBase);
-
-	/* compute initial dash values */
-
-	pDash = (unsigned char *) pGC->dash;
-	numInDashList = pGC->numInDashList;
-	isDoubleDash = (pGC->lineStyle == LineDoubleDash);
-	dashIndex = 0;
-	dashOffset = 0;
-	miStepDash ((int)pGC->dashOffset, &dashIndex, pDash,
-				numInDashList, &dashOffset);
-
-	if (isDoubleDash)
-		afbReduceRop (pGC->alu, pGC->bgPixel, pGC->planemask, pGC->depth,
-					  bgrrops);
-
-	xorg = pDrawable->x;
-	yorg = pDrawable->y;
-#ifdef POLYSEGMENT
-	while (nseg--)
-#else
-	ppt = pptInit;
-	x2 = ppt->x + xorg;
-	y2 = ppt->y + yorg;
-	while(--npt)
-#endif
-	{
-		nbox = nboxInit;
-		pbox = pboxInit;
-
-#ifdef POLYSEGMENT
-		x1 = pSeg->x1 + xorg;
-		y1 = pSeg->y1 + yorg;
-		x2 = pSeg->x2 + xorg;
-		y2 = pSeg->y2 + yorg;
-		pSeg++;
-#else
-		x1 = x2;
-		y1 = y2;
-		++ppt;
-		if (mode == CoordModePrevious) {
-			xorg = x1;
-			yorg = y1;
-		}
-		x2 = ppt->x + xorg;
-		y2 = ppt->y + yorg;
-#endif
-
-		CalcLineDeltas(x1, y1, x2, y2, adx, ady, signdx, signdy,
-			       1, 1, octant);
-
-		if (adx > ady) {
-			axis = X_AXIS;
-			e1 = ady << 1;
-			e2 = e1 - (adx << 1);
-			e = e1 - adx;
-			unclippedlen = adx;
-		} else {
-			axis = Y_AXIS;
-			e1 = adx << 1;
-			e2 = e1 - (ady << 1);
-			e = e1 - ady;
-			unclippedlen = ady;
-			SetYMajorOctant(octant);
-		}
-
-		FIXUP_ERROR(e, octant, bias);
-
-		/* we have bresenham parameters and two points.
-		   all we have to do now is clip and draw.
-		*/
-
-		while(nbox--) {
-			oc1 = 0;
-			oc2 = 0;
-			OUTCODES(oc1, x1, y1, pbox);
-			OUTCODES(oc2, x2, y2, pbox);
-			if ((oc1 | oc2) == 0) {
-#ifdef POLYSEGMENT
-				if (pGC->capStyle != CapNotLast)
-					unclippedlen++;
-				dashIndexTmp = dashIndex;
-				dashOffsetTmp = dashOffset;
-				afbBresD(&dashIndexTmp, pDash, numInDashList, &dashOffsetTmp,
-							 isDoubleDash, addrlBase, nlwidth, sizeDst, depthDst,
-							 signdx, signdy, axis, x1, y1, e, e1, e2, unclippedlen,
-							 rrops, bgrrops);	/* @@@ NEXT PLANE PASSED @@@ */
-				break;
-#else
-				afbBresD(&dashIndex, pDash, numInDashList, &dashOffset,
-							 isDoubleDash, addrlBase, nlwidth, sizeDst, depthDst,
-							 signdx, signdy, axis, x1, y1, e, e1, e2, unclippedlen,
-							 rrops, bgrrops);	/* @@@ NEXT PLANE PASSED @@@ */
-				goto dontStep;
-#endif
-			} else if (oc1 & oc2) {
-				pbox++;
-			} else /* have to clip */ {
-				int new_x1 = x1, new_y1 = y1, new_x2 = x2, new_y2 = y2;
-				int clip1 = 0, clip2 = 0;
-				int clipdx, clipdy;
-				int err;
-
-				if (miZeroClipLine(pbox->x1, pbox->y1, pbox->x2-1, pbox->y2-1,
-								   &new_x1, &new_y1, &new_x2, &new_y2,
-								   adx, ady, &clip1, &clip2,
-								   octant, bias, oc1, oc2) == -1) {
-					pbox++;
-					continue;
-				}
-				dashIndexTmp = dashIndex;
-				dashOffsetTmp = dashOffset;
-				if (clip1) {
-					int dlen;
-
-					if (axis == X_AXIS)
-						dlen = abs(new_x1 - x1);
-					else
-						dlen = abs(new_y1 - y1);
-					miStepDash (dlen, &dashIndexTmp, pDash,
-								numInDashList, &dashOffsetTmp);
-				}
-				if (axis == X_AXIS)
-					len = abs(new_x2 - new_x1);
-				else
-					len = abs(new_y2 - new_y1);
-#ifdef POLYSEGMENT
-				if (clip2 != 0 || pGC->capStyle != CapNotLast)
-					len++;
-#else
-				len += (clip2 != 0);
-#endif
-				if (len) {
-					/* unwind bresenham error term to first point */
-					if (clip1) {
-						clipdx = abs(new_x1 - x1);
-						clipdy = abs(new_y1 - y1);
-						if (axis == X_AXIS)
-							err = e+((clipdy*e2) + ((clipdx-clipdy)*e1));
-						else
-							err = e+((clipdx*e2) + ((clipdy-clipdx)*e1));
-					}
-					else
-						err = e;
-					afbBresD(&dashIndexTmp, pDash, numInDashList, &dashOffsetTmp,
-								 isDoubleDash, addrlBase, nlwidth, sizeDst, depthDst,
-								 signdx, signdy, axis, new_x1, new_y1, err, e1, e2,
-								 len, rrops, bgrrops);	/* @@@ NEXT PLANE PASSED @@@ */
-				}
-				pbox++;
-			}
-		} /* while (nbox--) */
-#ifndef POLYSEGMENT
-		/*
-		 * walk the dash list around to the next line
-		 */
-		miStepDash (unclippedlen, &dashIndex, pDash,
-					numInDashList, &dashOffset);
-dontStep:		;
-#endif
-	} /* while (nline--) */
-
-#ifndef POLYSEGMENT
-	/* paint the last point if the end style isn't CapNotLast.
-	   (Assume that a projecting, butt, or round cap that is one
-		pixel wide is the same as the single pixel of the endpoint.)
-	*/
-
-	if ((pGC->capStyle != CapNotLast) &&
-		 ((dashIndex & 1) == 0 || isDoubleDash) &&
-		 ((ppt->x + xorg != pptInit->x + pDrawable->x) ||
-		  (ppt->y + yorg != pptInit->y + pDrawable->y) ||
-		  (ppt == pptInit + 1))) {
-		nbox = nboxInit;
-		pbox = pboxInit;
-		while (nbox--) {
-			if ((x2 >= pbox->x1) && (y2 >= pbox->y1) && (x2 < pbox->x2) &&
-				 (y2 < pbox->y2)) {
-				int rop;
-
-				for (d = 0; d < depthDst; d++) {
-					addrl = afbScanline(addrlBase, x2, y2, nlwidth);
-					addrlBase += sizeDst;			/* @@@ NEXT PLANE @@@ */
-
-					rop = rrops[d];
-					if (dashIndex & 1)
-						rop = bgrrops[d];
-
-					switch (rop) {
-						case RROP_BLACK:
-							*addrl &= mfbGetrmask(x2 & PIM);
-							break;
-						case RROP_WHITE:
-							*addrl |= mfbGetmask(x2 & PIM);
-							break;
-
-						case RROP_INVERT:
-							*addrl ^= mfbGetmask(x2 & PIM);
-							break;
-
-						case RROP_NOP:
-							break;
-					}
-				} /* for (d = ...) */
-				break;
-			} else
-				pbox++;
-		}
-	}
-#endif
-}
diff --git a/afb/afbmisc.c b/afb/afbmisc.c
deleted file mode 100644
index 8e9c9e8..0000000
--- a/afb/afbmisc.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include "misc.h"
-#include "cursor.h"
-#include "scrnintstr.h"
-
-#include "afb.h"
-
-/*ARGSUSED*/
-void
-afbQueryBestSize(class, pwidth, pheight, pScreen)
-int class;
-unsigned short *pwidth;
-unsigned short *pheight;
-ScreenPtr pScreen;
-{
-	unsigned width, test;
-
-	switch(class) {
-		case CursorShape:
-			if (*pwidth > pScreen->width)
-				 *pwidth = pScreen->width;
-			if (*pheight > pScreen->height)
-				 *pheight = pScreen->height;
-			break;
-		case TileShape:
-		case StippleShape:
-			width = *pwidth;
-			if (!width) break;
-				/* Return the closes power of two not less than what they gave me */
-				test = 0x80000000;
-			/* Find the highest 1 bit in the width given */
-			while(!(test & width))
-				test >>= 1;
-			/* If their number is greater than that, bump up to the next
-			 *  power of two */
-			if((test - 1) & width)
-				 test <<= 1;
-			*pwidth = test;
-			/* We don't care what height they use */
-			break;
-	}
-}
diff --git a/afb/afbpixmap.c b/afb/afbpixmap.c
deleted file mode 100644
index ad591a1..0000000
--- a/afb/afbpixmap.c
+++ /dev/null
@@ -1,299 +0,0 @@
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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.
-
-******************************************************************/
-
-/* pixmap management
-   written by drewry, september 1986
-
-   on a monchrome device, a pixmap is a bitmap.
-*/
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <string.h>
-
-#include <X11/Xmd.h>
-#include "scrnintstr.h"
-#include "pixmapstr.h"
-#include "maskbits.h"
-
-#include "afb.h"
-#include "mi.h"
-
-#include "servermd.h"
-#include "mfb.h"
-
-PixmapPtr
-afbCreatePixmap(pScreen, width, height, depth, usage_hint)
-	ScreenPtr		pScreen;
-	int				width;
-	int				height;
-	int				depth;
-	unsigned			usage_hint;
-{
-	PixmapPtr pPixmap;
-	size_t datasize;
-	size_t paddedWidth;
-
-	paddedWidth = BitmapBytePad(width);
-
-	if (paddedWidth > 32767 || height > 32767 || depth > 4)
-	    return NullPixmap;
-	
-	datasize = height * paddedWidth * depth;
-	pPixmap = AllocatePixmap(pScreen, datasize);
-	if (!pPixmap)
-		return(NullPixmap);
-	pPixmap->drawable.type = DRAWABLE_PIXMAP;
-	pPixmap->drawable.class = 0;
-	pPixmap->drawable.pScreen = pScreen;
-	pPixmap->drawable.depth = depth;
-	pPixmap->drawable.bitsPerPixel = depth;
-	pPixmap->drawable.id = 0;
-	pPixmap->drawable.serialNumber = NEXT_SERIAL_NUMBER;
-	pPixmap->drawable.x = 0;
-	pPixmap->drawable.y = 0;
-	pPixmap->drawable.width = width;
-	pPixmap->drawable.height = height;
-	pPixmap->devKind = paddedWidth;
-	pPixmap->refcnt = 1;
-	pPixmap->devPrivate.ptr =  datasize ?
-				(pointer)((char *)pPixmap + pScreen->totalPixmapSize) : NULL;
-	pPixmap->usage_hint = usage_hint;
-	return(pPixmap);
-}
-
-Bool
-afbDestroyPixmap(pPixmap)
-	PixmapPtr pPixmap;
-{
-	if(--pPixmap->refcnt)
-		return(TRUE);
-	dixFreePrivates(pPixmap->devPrivates);
-	xfree(pPixmap);
-	return(TRUE);
-}
-
-
-static PixmapPtr
-afbCopyPixmap(PixmapPtr pSrc)
-{
-	register PixmapPtr pDst;
-	int size;
-	ScreenPtr pScreen;
-
-	size = pSrc->drawable.height * pSrc->devKind * pSrc->drawable.depth;
-	pScreen = pSrc->drawable.pScreen;
-	pDst = (*pScreen->CreatePixmap)(pScreen,
-					pSrc->drawable.width,
-					pSrc->drawable.height,
-					pSrc->drawable.depth, 0);
-	if (!pDst)
-		return(NullPixmap);
-	memmove((char *)pDst->devPrivate.ptr, (char *)pSrc->devPrivate.ptr, size);
-	return(pDst);
-}
-
-
-/* replicates a pattern to be a full 32 bits wide.
-   relies on the fact that each scnaline is longword padded.
-   doesn't do anything if pixmap is not a factor of 32 wide.
-   changes width field of pixmap if successful, so that the fast
-		XRotatePixmap code gets used if we rotate the pixmap later.
-
-   calculate number of times to repeat
-   for each scanline of pattern
-	  zero out area to be filled with replicate
-	  left shift and or in original as many times as needed
-*/
-static void
-afbPadPixmap(PixmapPtr pPixmap)
-{
-	register int width = pPixmap->drawable.width;
-	register int h;
-	register PixelType mask;
-	register PixelType *p;
-	register PixelType bits;		/* real pattern bits */
-	register int i;
-	int d;
-	int rep;						/* repeat count for pattern */
-
-	if (width >= PPW)
-		return;
-
-	rep = PPW/width;
-	if (rep*width != PPW)
-		return;
-
-	mask = mfbGetendtab(width);
-
-	p = (PixelType *)(pPixmap->devPrivate.ptr);
-
-	for (d = 0; d < pPixmap->drawable.depth; d++) {
-		for (h = 0; h < pPixmap->drawable.height; h++) {
-			*p &= mask;
-			bits = *p;
-			for(i = 1; i < rep; i++) {
-				bits = SCRRIGHT(bits, width);
-				*p |= bits;
-			}
-			p++;	/* @@@ NEXT PLANE @@@ */
-		}
-	}
-	pPixmap->drawable.width = PPW;
-}
-
-/* Rotates pixmap pPix by w pixels to the right on the screen. Assumes that
- * words are PPW bits wide, and that the least significant bit appears on the
- * left.
- */
-void
-afbXRotatePixmap(pPix, rw)
-	PixmapPtr		pPix;
-	register int rw;
-{
-	register PixelType		*pw, *pwFinal;
-	register PixelType		t;
-
-	if (pPix == NullPixmap)
-		return;
-
-	pw = (PixelType *)pPix->devPrivate.ptr;
-	rw %= (int)pPix->drawable.width;
-	if (rw < 0)
-		rw += (int)pPix->drawable.width;
-	if(pPix->drawable.width == PPW) {
-		pwFinal = pw + pPix->drawable.height * pPix->drawable.depth;
-		while(pw < pwFinal) {
-			t = *pw;
-			*pw++ = SCRRIGHT(t, rw) |
-				(SCRLEFT(t, (PPW-rw)) & mfbGetendtab(rw));
-		}
-	} else {
-		/* We no longer do this.  Validate doesn't try to rotate odd-size
-		 * tiles or stipples.  afbUnnatural<tile/stipple>FS works directly off
-		 * the unrotate tile/stipple in the GC
-		 */
-		ErrorF("X internal error: trying to rotate odd-sized pixmap.\n");
-	}
-
-}
-
-/* Rotates pixmap pPix by h lines.  Assumes that h is always less than
-   pPix->height
-   works on any width.
- */
-void
-afbYRotatePixmap(pPix, rh)
-	register PixmapPtr		pPix;
-	int		rh;
-{
-	int nbyDown;		/* bytes to move down to row 0; also offset of
-								row rh */
-	int nbyUp;			/* bytes to move up to line rh; also
-								offset of first line moved down to 0 */
-	char *pbase;
-	char *ptmp;
-	int height;
-	int d;
-
-	if (pPix == NullPixmap)
-		return;
-	height = (int) pPix->drawable.height;
-	rh %= height;
-	if (rh < 0)
-		rh += height;
-
-	nbyDown = rh * pPix->devKind;
-	nbyUp = (pPix->devKind * height) - nbyDown;
-
-	if(!(ptmp = (char *)xalloc(nbyUp)))
-		return;
-
-	for (d = 0; d < pPix->drawable.depth; d++) {
-		pbase = (char *)pPix->devPrivate.ptr + pPix->devKind * height * d;	/* @@@ NEXT PLANE @@@ */
-
-		memmove(ptmp, pbase, nbyUp);					/* save the low rows */
-		memmove(pbase, pbase+nbyUp, nbyDown);		/* slide the top rows down */
-		memmove(pbase+nbyDown, ptmp, nbyUp);		/* move lower rows up to row rh */
-	}
-	xfree(ptmp);
-}
-
-void
-afbCopyRotatePixmap(psrcPix, ppdstPix, xrot, yrot)
-	register PixmapPtr psrcPix, *ppdstPix;
-	int		xrot, yrot;
-{
-	register PixmapPtr pdstPix;
-
-	if ((pdstPix = *ppdstPix) &&
-		(pdstPix->devKind == psrcPix->devKind) &&
-		(pdstPix->drawable.height == psrcPix->drawable.height) &&
-		(pdstPix->drawable.depth == psrcPix->drawable.depth)) {
-		memmove((char *)pdstPix->devPrivate.ptr,
-				(char *)psrcPix->devPrivate.ptr,
-				psrcPix->drawable.height * psrcPix->devKind *
-				psrcPix->drawable.depth);
-		pdstPix->drawable.width = psrcPix->drawable.width;
-		pdstPix->drawable.serialNumber = NEXT_SERIAL_NUMBER;
-	} else {
-		if (pdstPix)
-			/* FIX XBUG 6168 */
-			(*pdstPix->drawable.pScreen->DestroyPixmap)(pdstPix);
-		*ppdstPix = pdstPix = afbCopyPixmap(psrcPix);
-		if (!pdstPix)
-			return;
-	}
-	afbPadPixmap(pdstPix);
-	if (xrot)
-		afbXRotatePixmap(pdstPix, xrot);
-	if (yrot)
-		afbYRotatePixmap(pdstPix, yrot);
-}
diff --git a/afb/afbply1rct.c b/afb/afbply1rct.c
deleted file mode 100644
index e9d4d5e..0000000
--- a/afb/afbply1rct.c
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- *
-Copyright (c) 1990  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
- *
- * Author:  Keith Packard, MIT X Consortium
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <stdlib.h>
-
-#include <X11/X.h>
-
-#include "gcstruct.h"
-#include "windowstr.h"
-#include "pixmapstr.h"
-#include "regionstr.h"
-#include "scrnintstr.h"
-#include "mistruct.h"
-
-#include "afb.h"
-#include "maskbits.h"
-
-#if defined(mips) || defined(sparc)
-#define GetHighWord(x) (((int)(x)) >> 16)
-#else
-#define GetHighWord(x) (((int)(x)) / 65536)
-#endif
-
-#if IMAGE_BYTE_ORDER == MSBFirst
-#define intToCoord(i,x,y)	(((x) = GetHighWord(i)), ((y) = (int)((short) (i))))
-#define coordToInt(x,y)		(((x) << 16) | (y))
-#define intToX(i)				(GetHighWord(i))
-#define intToY(i)				((int)((short) i))
-#else
-#define intToCoord(i,x,y)	(((x) = (int)((short) (i))), ((y) = GetHighWord(i)))
-#define coordToInt(x,y)		(((y) << 16) | (x))
-#define intToX(i)				((int)((short) (i)))
-#define intToY(i)				(GetHighWord(i))
-#endif
-
-void
-afbFillPolygonSolid (pDrawable, pGC, shape, mode, count, ptsIn)
-	DrawablePtr pDrawable;
-	GCPtr pGC;
-	int shape;
-	int mode;
-	int count;
-	DDXPointPtr ptsIn;
-{
-	afbPrivGCPtr	devPriv;
-	int nlwidth;
-	PixelType *addrl, *addr;
-	int maxy;
-	int origin;
-	register int vertex1, vertex2;
-	int c;
-	BoxPtr extents;
-	int clip;
-	int y;
-	int *vertex1p = NULL, *vertex2p;
-	int *endp;
-	int x1 = 0, x2 = 0;
-	int dx1 = 0, dx2 = 0;
-	int dy1 = 0, dy2 = 0;
-	int e1 = 0, e2 = 0;
-	int step1 = 0, step2 = 0;
-	int sign1 = 0, sign2 = 0;
-	int h;
-	int l, r;
-	PixelType mask, bits = ~((PixelType)0);
-	int nmiddle;
-	register unsigned char *rrops;
-	register int n;
-	register int d;
-	int sizeDst;
-	int depthDst;
-	register PixelType *pdst;
-
-	devPriv = (afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-						afbGCPrivateKey);
-	if (mode == CoordModePrevious || shape != Convex ||
-		REGION_NUM_RECTS(pGC->pCompositeClip) != 1) {
-		miFillPolygon (pDrawable, pGC, shape, mode, count, ptsIn);
-		return;
-	}
-	origin = *((int *) &pDrawable->x);
-	origin -= (origin & 0x8000) << 1;
-	extents = &pGC->pCompositeClip->extents;
-	vertex1 = *((int *) &extents->x1) - origin;
-	vertex2 = *((int *) &extents->x2) - origin - 0x00010001;
-	clip = 0;
-	y = 32767;
-	maxy = 0;
-	vertex2p = (int *) ptsIn;
-	endp = vertex2p + count;
-	while (count--) {
-		c = *vertex2p;
-		clip |= (c - vertex1) | (vertex2 - c);
-		c = intToY(c);
-		if (c < y) {
-			y = c;
-			vertex1p = vertex2p;
-		}
-		vertex2p++;
-		if (c > maxy)
-			maxy = c;
-	}
-	if (y == maxy)
-		return;
-
-	if (clip & 0x80008000) {
-		miFillPolygon (pDrawable, pGC, shape, mode, vertex2p - (int *) ptsIn, ptsIn);
-		return;
-	}
-
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, nlwidth, sizeDst, depthDst,
-													 addrl);
-	rrops = devPriv->rrops;
-	addrl = afbScanlineDelta(addrl, y + pDrawable->y, nlwidth);
-	origin = intToX(origin);
-	vertex2p = vertex1p;
-	vertex2 = vertex1 = *vertex2p++;
-	if (vertex2p == endp)
-		vertex2p = (int *) ptsIn;
-#define Setup(c,x,vertex,dx,dy,e,sign,step) {\
-	x = intToX(vertex); \
-	if ((dy = intToY(c) - y)) { \
-		dx = intToX(c) - x; \
-		step = 0; \
-		if (dx >= 0) { \
-			e = 0; \
-			sign = 1; \
-			if (dx >= dy) {\
-				step = dx / dy; \
-				dx = dx % dy; \
-			} \
-		} else { \
-			e = 1 - dy; \
-			sign = -1; \
-			dx = -dx; \
-			if (dx >= dy) { \
-				step = - (dx / dy); \
-				dx = dx % dy; \
-			} \
-		} \
-	} \
-	x += origin; \
-	vertex = c; \
-}
-
-#define Step(x,dx,dy,e,sign,step) {\
-	x += step; \
-	if ((e += dx) > 0) { \
-		x += sign; \
-		e -= dy; \
-	} \
-}
-	for (;;) {
-		if (y == intToY(vertex1)) {
-			do {
-				if (vertex1p == (int *) ptsIn)
-				vertex1p = endp;
-				c = *--vertex1p;
-				Setup (c,x1,vertex1,dx1,dy1,e1,sign1,step1)
-			} while (y >= intToY(vertex1));
-			h = dy1;
-		} else {
-			Step(x1,dx1,dy1,e1,sign1,step1)
-			h = intToY(vertex1) - y;
-		}
-		if (y == intToY(vertex2)) {
-			do {
-				c = *vertex2p++;
-				if (vertex2p == endp)
-				vertex2p = (int *) ptsIn;
-				Setup (c,x2,vertex2,dx2,dy2,e2,sign2,step2)
-			} while (y >= intToY(vertex2));
-			if (dy2 < h)
-				h = dy2;
-		} else {
-			Step(x2,dx2,dy2,e2,sign2,step2)
-			if ((c = (intToY(vertex2) - y)) < h)
-				h = c;
-		}
-		/* fill spans for this segment */
-		y += h;
-		for (;;) {
-			l = x1;
-			r = x2;
-			nmiddle = x2 - x1;
-			if (nmiddle < 0) {
-				nmiddle = -nmiddle;
-				l = x2;
-				r = x1;
-			}
-			c = l & PIM;
-			l -= c;
-			l = l >> PWSH;
-			addr = addrl + l;
-			if (c + nmiddle < PPW) {
-				mask = SCRRIGHT (bits,c) ^ SCRRIGHT (bits,c+nmiddle);
-				for (pdst = addr, d = 0; d < depthDst; d++, pdst += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							*pdst &= ~mask;
-							break;
-						case RROP_WHITE:
-							*pdst |= mask;
-							break;
-						case RROP_INVERT:
-							*pdst ^= mask;
-							break;
-						case RROP_NOP:
-							break;
-					}
-				}
-			} else {
-				if (c) {
-					mask = SCRRIGHT(bits, c);
-					for (pdst = addr, d = 0; d < depthDst; d++, pdst += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-						switch (rrops[d]) {
-							case RROP_BLACK:
-								*pdst &= ~mask;
-								break;
-							case RROP_WHITE:
-								*pdst |= mask;
-								break;
-							case RROP_INVERT:
-								*pdst ^= mask;
-								break;
-							case RROP_NOP:
-								break;
-						}
-					}
-					nmiddle += c - PPW;
-					addr++;
-				}
-				nmiddle >>= PWSH;
-				mask = ~SCRRIGHT(bits, r & PIM);
-
-				for (d = 0; d < depthDst; d++, addr += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-					n = nmiddle;
-					pdst = addr;
-
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							Duff (n, *pdst++ = 0;)
-							if (mask)
-								*pdst &= ~mask;
-							break;
-						case RROP_WHITE:
-							Duff (n, *pdst++ = ~0;);
-							if (mask)
-								*pdst |= mask;
-							break;
-						case RROP_INVERT:
-							Duff (n, *pdst++ ^= ~0;);
-							if (mask)
-								*pdst ^= mask;
-							break;
-						case RROP_NOP:
-							break;
-					}
-				}
-			}
-			if (!--h)
-				break;
-			afbScanlineInc(addrl, nlwidth);
-			Step(x1,dx1,dy1,e1,sign1,step1)
-			Step(x2,dx2,dy2,e2,sign2,step2)
-		}
-		if (y == maxy)
-			break;
-		afbScanlineInc(addrl, nlwidth);
-	}
-}
diff --git a/afb/afbplygblt.c b/afb/afbplygblt.c
deleted file mode 100644
index d1de102..0000000
--- a/afb/afbplygblt.c
+++ /dev/null
@@ -1,463 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include		<X11/X.h>
-#include		<X11/Xmd.h>
-#include		<X11/Xproto.h>
-#include		"afb.h"
-#include		<X11/fonts/fontstruct.h>
-#include		"dixfontstr.h"
-#include		"gcstruct.h"
-#include		"windowstr.h"
-#include		"scrnintstr.h"
-#include		"pixmapstr.h"
-#include		"regionstr.h"
-#include		"maskbits.h"
-
-/*
-	this works for fonts with glyphs <= 32 bits wide.
-
-	the clipping calculations are done for worst-case fonts.
-we make no assumptions about the heights, widths, or bearings
-of the glyphs.  if we knew that the glyphs are all the same height,
-we could clip the tops and bottoms per clipping box, rather
-than per character per clipping box.  if we knew that the glyphs'
-left and right bearings were wlle-behaved, we could clip a single
-character at the start, output until the last unclipped
-character, and then clip the last one.  this is all straightforward
-to determine based on max-bounds and min-bounds from the font.
-	there is some inefficiency introduced in the per-character
-clipping to make what's going on clearer.
-
-	(it is possible, for example, for a font to be defined in which the
-next-to-last character in a font would be clipped out, but the last
-one wouldn't.  the code below deals with this.)
-
-*/
-
-void
-afbPolyGlyphBlt (pDrawable, pGC, x, y, nglyph, ppci, pglyphBase)
-	DrawablePtr pDrawable;
-	GC				*pGC;
-	int		x, y;
-	unsigned int nglyph;
-	CharInfoPtr *ppci;			/* array of character info */
-	pointer		pglyphBase;		/* start of array of glyphs */
-{
-	ExtentInfoRec info;			/* used by QueryGlyphExtents() */
-	BoxRec bbox;					/* string's bounding box */
-
-	CharInfoPtr pci;
-	int xorg, yorg;				/* origin of drawable in bitmap */
-	int widthDst;					/* width of dst in longwords */
-
-										/* these keep track of the character origin */
-	PixelType *pdstBase;
-										/* points to longword with character origin */
-	int xchar;						/* xorigin of char (mod 32) */
-
-										/* these are used for placing the glyph */
-	register int xoff;			/* x offset of left edge of glyph (mod 32) */
-	register PixelType *pdst;	/* pointer to current longword in dst */
-
-	register int d;
-	int depthDst;
-	int sizeDst;
-	int hSave;
-	int w;							/* width of glyph in bits */
-	int h;							/* height of glyph */
-	int widthGlyph;				/* width of glyph, in bytes */
-	unsigned char *rrops;
-	register unsigned char *pglyph;
-										/* pointer to current row of glyph */
-	unsigned char *pglyphSave;
-
-										/* used for putting down glyph */
-	register PixelType tmpSrc;
-										/* for getting bits from glyph */
-	register PixelType startmask;
-	register PixelType endmask;
-
-	register int nFirst;			/* bits of glyph in current longword */
-	PixelType *pdstSave;
-
-	xorg = pDrawable->x;
-	yorg = pDrawable->y;
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, widthDst, sizeDst, depthDst,
-													 pdstBase);
-
-	QueryGlyphExtents(pGC->font, ppci, (unsigned long)nglyph, &info);
-
-	x += xorg;
-	y += yorg;
-
-	bbox.x1 = x + info.overallLeft;
-	bbox.x2 = x + info.overallRight;
-	bbox.y1 = y - info.overallAscent;
-	bbox.y2 = y + info.overallDescent;
-
-	rrops = ((afbPrivGCPtr)dixLookupPrivate(&pGC->devPrivates,
-						afbGCPrivateKey))->rrops;
-	switch (RECT_IN_REGION(pGC->pScreen, pGC->pCompositeClip, &bbox)) {
-		case rgnOUT:
-			break;
-		case rgnIN:
-			pdstBase = afbScanlineNoBankSwitch(pdstBase, x, y, widthDst);
-			xchar = x & PIM;
-
-			while(nglyph--) {
-				pci = *ppci;
-				pglyphSave = FONTGLYPHBITS(pglyphBase, pci);
-				w = pci->metrics.rightSideBearing - pci->metrics.leftSideBearing;
-				hSave = pci->metrics.ascent + pci->metrics.descent;
-				widthGlyph = GLYPHWIDTHBYTESPADDED(pci);
-				/* start at top scanline of glyph */
-				pdstSave = afbScanlineDelta(pdstBase, -pci->metrics.ascent,
-											widthDst);
-
-				/* find correct word in scanline and x offset within it
-				   for left edge of glyph
-				*/
-				xoff = xchar + pci->metrics.leftSideBearing;
-				if (xoff > PLST) {
-					pdstSave++;
-					xoff &= PIM;
-				} else if (xoff < 0) {
-					xoff += PPW;
-					pdstSave--;
-				}
-
-				for (d = 0; d < depthDst; d++) {
-					h = hSave;
-					pdst = pdstSave;
-					pdstSave += sizeDst;	/* @@@ NEXT PLANE @@@ */
-					pglyph = pglyphSave;
-
-					if ((xoff + w) <= PPW) {
-						/* glyph all in one longword */
-						maskpartialbits(xoff, w, startmask);
-						switch (rrops[d]) {
-							case RROP_WHITE:
-								while (h--) {
-									getleftbits(pglyph, w, tmpSrc);
-									*pdst |= (SCRRIGHT(tmpSrc, xoff) & startmask);
-									pglyph += widthGlyph;
-									afbScanlineInc(pdst, widthDst);
-								}
-								break;
-							case RROP_BLACK:
-								while (h--) {
-									getleftbits(pglyph, w, tmpSrc);
-									*pdst &= ~(SCRRIGHT(tmpSrc, xoff) & startmask);
-									pglyph += widthGlyph;
-									afbScanlineInc(pdst, widthDst);
-								}
-								break;
-							case RROP_INVERT:
-								while (h--) {
-									getleftbits(pglyph, w, tmpSrc);
-									*pdst ^= (SCRRIGHT(tmpSrc, xoff) & startmask);
-									pglyph += widthGlyph;
-									afbScanlineInc(pdst, widthDst);
-								}
-								break;
-						}
-					} else {
-						/* glyph crosses longword boundary */
-						maskPPWbits(xoff, w, startmask, endmask);
-						nFirst = PPW - xoff;
-						switch (rrops[d]) {
-							case RROP_WHITE:
-								while (h--) {
-									getleftbits(pglyph, w, tmpSrc);
-									*pdst |= (SCRRIGHT(tmpSrc, xoff) & startmask);
-									*(pdst+1) |= (SCRLEFT(tmpSrc, nFirst) & endmask);
-									pglyph += widthGlyph;
-									afbScanlineInc(pdst, widthDst);
-								}
-								break;
-							case RROP_BLACK:
-								while (h--) {
-									getleftbits(pglyph, w, tmpSrc);
-									*pdst &= ~(SCRRIGHT(tmpSrc, xoff) & startmask);
-									*(pdst+1) &= ~(SCRLEFT(tmpSrc, nFirst) & endmask);
-									pglyph += widthGlyph;
-									afbScanlineInc(pdst, widthDst);
-								}
-								break;
-							case RROP_INVERT:
-								while (h--) {
-									getleftbits(pglyph, w, tmpSrc);
-									*pdst ^= (SCRRIGHT(tmpSrc, xoff) & startmask);
-									*(pdst+1) ^= (SCRLEFT(tmpSrc, nFirst) & endmask);
-									pglyph += widthGlyph;
-									afbScanlineInc(pdst, widthDst);
-								}
-								break;
-						}
-					} /* glyph crosses longwords boundary */
-				} /* depth loop */
-				/* update character origin */
-				x += pci->metrics.characterWidth;
-				xchar += pci->metrics.characterWidth;
-				if (xchar > PLST) {
-					xchar -= PPW;
-					pdstBase++;
-				} else if (xchar < 0) {
-					xchar += PPW;
-					pdstBase--;
-				}
-				ppci++;
-			} /* while nglyph-- */
-			break;
-		case rgnPART:
-			{
-				afbTEXTPOS *ppos;
-				int nbox;
-				BoxPtr pbox;
-				RegionPtr cclip;
-				int xpos;				/* x position of char origin */
-				int i;
-				BoxRec clip;
-				int leftEdge, rightEdge;
-				int topEdge, bottomEdge;
-				int glyphRow;				/* first row of glyph not wholly
-										   clipped out */
-				int glyphCol;				/* leftmost visible column of glyph */
-#if GETLEFTBITS_ALIGNMENT > 1
-				int getWidth;				/* bits to get from glyph */
-#endif
-
-				if(!(ppos = (afbTEXTPOS *)xalloc(nglyph * sizeof(afbTEXTPOS))))
-					return;
-
-				pdstBase = afbScanlineNoBankSwitch(pdstBase, x, y, widthDst);
-				xpos = x;
-				xchar = xpos & PIM;
-
-				for (i = 0; i < nglyph; i++) {
-					pci = ppci[i];
-
-					ppos[i].xpos = xpos;
-					ppos[i].xchar = xchar;
-					ppos[i].leftEdge = xpos + pci->metrics.leftSideBearing;
-					ppos[i].rightEdge = xpos + pci->metrics.rightSideBearing;
-					ppos[i].topEdge = y - pci->metrics.ascent;
-					ppos[i].bottomEdge = y + pci->metrics.descent;
-					ppos[i].pdstBase = pdstBase;
-					ppos[i].widthGlyph = GLYPHWIDTHBYTESPADDED(pci);
-
-					xpos += pci->metrics.characterWidth;
-					xchar += pci->metrics.characterWidth;
-					if (xchar > PLST) {
-						xchar &= PIM;
-						pdstBase++;
-					} else if (xchar < 0) {
-						xchar += PPW;
-						pdstBase--;
-					}
-				}
-
-				cclip = pGC->pCompositeClip;
-				pbox = REGION_RECTS(cclip);
-				nbox = REGION_NUM_RECTS(cclip);
-
-				/* HACK ALERT
-				   since we continue out of the loop below so often, it
-				   is easier to increment pbox at the  top than at the end.
-				   don't try this at home.
-				*/
-				pbox--;
-				while(nbox--) {
-					pbox++;
-					clip.x1 = max(bbox.x1, pbox->x1);
-					clip.y1 = max(bbox.y1, pbox->y1);
-					clip.x2 = min(bbox.x2, pbox->x2);
-					clip.y2 = min(bbox.y2, pbox->y2);
-					if ((clip.x2<=clip.x1) || (clip.y2<=clip.y1))
-						continue;
-
-					for(i=0; i<nglyph; i++) {
-						pci = ppci[i];
-						xchar = ppos[i].xchar;
-
-						/* clip the left and right edges */
-						if (ppos[i].leftEdge < clip.x1)
-							leftEdge = clip.x1;
-						else
-							leftEdge = ppos[i].leftEdge;
-
-						if (ppos[i].rightEdge > clip.x2)
-							rightEdge = clip.x2;
-						else
-							rightEdge = ppos[i].rightEdge;
-
-						w = rightEdge - leftEdge;
-						if (w <= 0)
-							continue;
-
-						/* clip the top and bottom edges */
-						if (ppos[i].topEdge < clip.y1)
-							topEdge = clip.y1;
-						else
-							topEdge = ppos[i].topEdge;
-
-						if (ppos[i].bottomEdge > clip.y2)
-							bottomEdge = clip.y2;
-						else
-							bottomEdge = ppos[i].bottomEdge;
-
-						hSave = bottomEdge - topEdge;
-						if (hSave <= 0)
-							continue;
-
-						glyphRow = (topEdge - y) + pci->metrics.ascent;
-						widthGlyph = ppos[i].widthGlyph;
-						pglyphSave = FONTGLYPHBITS(pglyphBase, pci);
-						pglyphSave += (glyphRow * widthGlyph);
-
-						glyphCol = (leftEdge - ppos[i].xpos) -
-								   (pci->metrics.leftSideBearing);
-#if GETLEFTBITS_ALIGNMENT > 1
-						getWidth = w + glyphCol;
-#endif
-
-						pdstSave = afbScanlineDelta(ppos[i].pdstBase, -(y-topEdge),
-													widthDst);
-						xoff = xchar + (leftEdge - ppos[i].xpos);
-						if (xoff > PLST) {
-							xoff &= PIM;
-							pdstSave++;
-						} else if (xoff < 0) {
-							xoff += PPW;
-							pdstSave--;
-						}
-
-						for (d = 0; d < depthDst; d++) {
-							h = hSave;
-							pdst = pdstSave;
-							pdstSave += sizeDst;	/* @@@ NEXT PLANE @@@ */
-							pglyph = pglyphSave;
-
-							if ((xoff + w) <= PPW) {
-								maskpartialbits(xoff, w, startmask);
-								switch (rrops[d]) {
-									case RROP_WHITE:
-										while (h--) {
-											getshiftedleftbits(pglyph, glyphCol, getWidth, tmpSrc);
-											*pdst |= (SCRRIGHT(tmpSrc, xoff) & startmask);
-											pglyph += widthGlyph;
-											afbScanlineInc(pdst, widthDst);
-										}
-										break;
-									case RROP_BLACK:
-										while (h--) {
-											getshiftedleftbits(pglyph, glyphCol, getWidth, tmpSrc);
-											*pdst &= ~(SCRRIGHT(tmpSrc, xoff) & startmask);
-											pglyph += widthGlyph;
-											afbScanlineInc(pdst, widthDst);
-										}
-										break;
-									case RROP_INVERT:
-										while (h--) {
-											getshiftedleftbits(pglyph, glyphCol, getWidth, tmpSrc);
-											*pdst ^= (SCRRIGHT(tmpSrc, xoff) & startmask);
-											pglyph += widthGlyph;
-											afbScanlineInc(pdst, widthDst);
-										}
-										break;
-								}
-							} else {
-								maskPPWbits(xoff, w, startmask, endmask);
-								nFirst = PPW - xoff;
-								switch (rrops[d]) {
-									case RROP_WHITE:
-										while (h--) {
-											getshiftedleftbits(pglyph, glyphCol, getWidth, tmpSrc);
-											*pdst |= (SCRRIGHT(tmpSrc, xoff) & startmask);
-											*(pdst+1) |= (SCRLEFT(tmpSrc, nFirst) & endmask);
-											pglyph += widthGlyph;
-											afbScanlineInc(pdst, widthDst);
-										}
-										break;
-									case RROP_BLACK:
-										while (h--) {
-											getshiftedleftbits(pglyph, glyphCol, getWidth, tmpSrc);
-											*pdst &= ~(SCRRIGHT(tmpSrc, xoff) & startmask);
-											*(pdst+1) &= ~(SCRLEFT(tmpSrc, nFirst) & endmask);
-											pglyph += widthGlyph;
-											afbScanlineInc(pdst, widthDst);
-										}
-										break;
-									case RROP_INVERT:
-										while (h--) {
-											getshiftedleftbits(pglyph, glyphCol, getWidth, tmpSrc);
-											*pdst ^= (SCRRIGHT(tmpSrc, xoff) & startmask);
-											*(pdst+1) ^= (SCRLEFT(tmpSrc, nFirst) & endmask);
-											pglyph += widthGlyph;
-											afbScanlineInc(pdst, widthDst);
-										}
-										break;
-								}
-							}
-						} /* depth */
-					} /* for each glyph */
-				} /* while nbox-- */
-				xfree(ppos);
-				break;
-			}
-
-		default:
-			break;
-	}
-}
diff --git a/afb/afbpntarea.c b/afb/afbpntarea.c
deleted file mode 100644
index cc43f52..0000000
--- a/afb/afbpntarea.c
+++ /dev/null
@@ -1,655 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-
-#include "windowstr.h"
-#include "regionstr.h"
-#include "pixmapstr.h"
-#include "scrnintstr.h"
-
-#include "afb.h"
-#include "maskbits.h"
-
-/*
-   the solid fillers are called for rectangles and window backgrounds.
-   the boxes are already translated.
-   maybe this should always take a pixmap instead of a drawable?
-
-   NOTE:
-   iy = ++iy < tileHeight ? iy : 0
-is equivalent to iy%= tileheight, and saves a division.
-*/
-
-/*ARGSUSED*/
-void
-afbSolidFillArea (pDraw, nbox, pbox, rrops)
-	DrawablePtr pDraw;
-	int nbox;
-	BoxPtr pbox;
-	register unsigned char *rrops;
-{
-	int nlwidth;				/* width in longwords of the drawable */
-	int w;						/* width of current box */
-	register int h;			/* height of current box */
-	register PixelType *p;	/* pointer to bits we're writing */
-	register int nlw;			/* loop version of nlwMiddle */
-	register PixelType startmask;
-	register PixelType endmask;
-									/* masks for reggedy bits at either end of line */
-	register int nlwExtra;
-									/* to get from right of box to left of next span */
-	int nlwMiddle;				/* number of longwords between sides of boxes */
-	PixelType *pbits;			/* pointer to start of drawable */
-	PixelType *saveP;
-	int saveH;
-	int depthDst;
-	int sizeDst;
-	register int d;
-
-	afbGetPixelWidthSizeDepthAndPointer(pDraw, nlwidth, sizeDst, depthDst,
-													 pbits);
-
-	while (nbox--) {
-		w = pbox->x2 - pbox->x1;
-		saveH = pbox->y2 - pbox->y1;
-
-		saveP = afbScanline(pbits, pbox->x1, pbox->y1, nlwidth);
-
-		if ( ((pbox->x1 & PIM) + w) < PPW) {
-			for (d = 0; d < depthDst; d++) {
-				h = saveH;
-				p = saveP;
-				saveP += sizeDst;	/* @@@ NEXT PLANE @@@ */
-				maskpartialbits(pbox->x1, w, startmask);
-				nlwExtra = nlwidth;
-
-				switch (rrops[d]) {
-					case RROP_BLACK:
-						Duff(h, *p &= ~startmask; afbScanlineInc(p, nlwExtra));
-						break;
-					case RROP_WHITE:
-						Duff(h, *p |= startmask; afbScanlineInc(p, nlwExtra));
-						break;
-					case RROP_INVERT:
-						Duff(h, *p ^= startmask; afbScanlineInc(p, nlwExtra));
-						break;
-					case RROP_NOP:
-						break;
-				} /* switch */
-			} /* for (d = ..) */
-		} else {
-			maskbits(pbox->x1, w, startmask, endmask, nlwMiddle);
-
-			for (d = 0; d < depthDst; d++) {
-				h = saveH;
-				p = saveP;
-				saveP += sizeDst;	/* @@@ NEXT PLANE @@@ */
-				nlwExtra = nlwidth - nlwMiddle;
-
-				if (startmask && endmask) {
-					nlwExtra -= 1;
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							while (h--) {
-								nlw = nlwMiddle;
-								*p &= ~startmask;
-								p++;
-								Duff(nlw, *p++ = 0);
-								*p &= ~endmask;
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_WHITE:
-							while (h--) {
-								nlw = nlwMiddle;
-								*p |= startmask;
-								p++;
-								Duff(nlw, *p++ = ~0);
-								*p |= endmask;
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_INVERT:
-							while (h--) {
-								nlw = nlwMiddle;
-								*p ^= startmask;
-								p++;
-								Duff(nlw, *p++ ^= ~0);
-								*p ^= endmask;
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_NOP:
-							break;
-					}
-				} else if (startmask && !endmask) {
-					nlwExtra -= 1;
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							while (h--) {
-								nlw = nlwMiddle;
-								*p &= ~startmask;
-								p++;
-								Duff(nlw, *p++ = 0);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_WHITE:
-							while (h--) {
-								nlw = nlwMiddle;
-								*p |= startmask;
-								p++;
-								Duff(nlw, *p++ = ~0);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_INVERT:
-							while (h--) {
-								nlw = nlwMiddle;
-								*p ^= startmask;
-								p++;
-								Duff(nlw, *p++ ^= ~0);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_NOP:
-							break;
-					}
-				} else if (!startmask && endmask) {
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							while (h--) {
-								nlw = nlwMiddle;
-								Duff(nlw, *p++ = 0);
-								*p &= ~endmask;
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_WHITE:
-							while (h--) {
-								nlw = nlwMiddle;
-								Duff(nlw, *p++ = ~0);
-								*p |= endmask;
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_INVERT:
-							while (h--) {
-								nlw = nlwMiddle;
-								Duff(nlw, *p++ ^= ~0);
-								*p ^= endmask;
-								afbScanlineInc(p, nlwExtra);
-							}
-						case RROP_NOP:
-							break;
-					}
-				} else { /* no ragged bits at either end */
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							while (h--) {
-								nlw = nlwMiddle;
-								Duff(nlw, *p++ = 0);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_WHITE:
-							while (h--) {
-								nlw = nlwMiddle;
-								Duff(nlw, *p++ = ~0);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_INVERT:
-							while (h--) {
-								nlw = nlwMiddle;
-								Duff(nlw, *p++ ^= ~0);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_NOP:
-							break;
-					} /* switch */
-				}
-			} /* for (d = 0 ... ) */
-		}
-		pbox++;
-	}
-}
-
-/* stipple a list of boxes -
-
-you can use the reduced rasterop for stipples.  if rrop is
-black, AND the destination with (not stipple pattern).  if rrop is
-white OR the destination with the stipple pattern.  if rrop is invert,
-XOR the destination with the stipple pattern.
-*/
-
-/*ARGSUSED*/
-void
-afbStippleAreaPPW (pDraw, nbox, pbox, pstipple, rrops)
-	DrawablePtr pDraw;
-	int nbox;
-	BoxPtr pbox;
-	PixmapPtr pstipple;
-	unsigned char *rrops;
-{
-	register PixelType *psrc;
-						/* pointer to bits in tile, if needed */
-	int tileHeight;		/* height of the tile */
-	register PixelType srcpix;
-
-	int nlwidth;		/* width in longwords of the drawable */
-	int w;				/* width of current box */
-	register int nlw;		/* loop version of nlwMiddle */
-	register PixelType *p;		/* pointer to bits we're writing */
-	register int h;		/* height of current box */
-	PixelType startmask;
-	PixelType endmask;		/* masks for reggedy bits at either end of line */
-	int nlwMiddle;		/* number of longwords between sides of boxes */
-	int nlwExtra;		/* to get from right of box to left of next span */
-	int sizeDst;
-	int depthDst;
-	int d;
-	int saveIy;
-	register int iy;		/* index of current scanline in tile */
-	PixelType *pbits;		/* pointer to start of drawable */
-	PixelType *pBase;
-
-	afbGetPixelWidthSizeDepthAndPointer(pDraw, nlwidth, sizeDst, depthDst,
-													 pBase);
-
-	tileHeight = pstipple->drawable.height;
-	psrc = (PixelType *)(pstipple->devPrivate.ptr);
-
-	while (nbox--) {
-		w = pbox->x2 - pbox->x1;
-		saveIy = pbox->y1 % tileHeight;
-		pbits = pBase;
-
-		if ( ((pbox->x1 & PIM) + w) < PPW) {
-			maskpartialbits(pbox->x1, w, startmask);
-			nlwExtra = nlwidth;
-			for (d = 0; d < depthDst; d++) {
-				p = afbScanline(pbits, pbox->x1, pbox->y1, nlwidth);
-				pbits += sizeDst;	/* @@@ NEXT PLANE @@@ */
-				iy = saveIy;
-				h = pbox->y2 - pbox->y1;
-
-				switch (rrops[d]) {
-					case RROP_BLACK:
-						while (h--) {
-							srcpix = psrc[iy];
-							iy = ++iy < tileHeight ? iy : 0;
-							*p &= ~(srcpix & startmask);
-							afbScanlineInc(p, nlwExtra);
-						}
-						break;
-					case RROP_WHITE:
-						while (h--) {
-							srcpix = psrc[iy];
-							iy = ++iy < tileHeight ? iy : 0;
-							*p |= (srcpix & startmask);
-							afbScanlineInc(p, nlwExtra);
-						}
-						break;
-					case RROP_INVERT:
-						while (h--) {
-							srcpix = psrc[iy];
-							iy = ++iy < tileHeight ? iy : 0;
-							*p ^= (srcpix & startmask);
-							afbScanlineInc(p, nlwExtra);
-						}
-						break;
-					case RROP_NOP:
-						break;
-				} /* switch */
-			} /* for (d = ...) */
-
-		} else {
-			maskbits(pbox->x1, w, startmask, endmask, nlwMiddle);
-
-			for (d = 0; d < depthDst; d++) {
-				nlwExtra = nlwidth - nlwMiddle;
-				p = afbScanline(pbits, pbox->x1, pbox->y1, nlwidth);
-				pbits += sizeDst;	/* @@@ NEXT PLANE @@@ */
-				iy = saveIy;
-				h = pbox->y2 - pbox->y1;
-
-				if (startmask && endmask) {
-					nlwExtra -= 1;
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							while (h--) {
-								srcpix = psrc[iy];
-								iy = ++iy < tileHeight ? iy : 0;
-								nlw = nlwMiddle;
-								*p &= ~(srcpix & startmask);
-								p++;
-								Duff (nlw, *p++ &= ~srcpix);
-								*p &= ~(srcpix & endmask);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_WHITE:
-							while (h--) {
-								srcpix = psrc[iy];
-								iy = ++iy < tileHeight ? iy : 0;
-								nlw = nlwMiddle;
-								*p |= (srcpix & startmask);
-								p++;
-								Duff (nlw, *p++ |= srcpix);
-								*p |= (srcpix & endmask);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_INVERT:
-							while (h--) {
-								srcpix = psrc[iy];
-								iy = ++iy < tileHeight ? iy : 0;
-								nlw = nlwMiddle;
-								*p ^= (srcpix & startmask);
-								p++;
-								Duff (nlw, *p++ ^= srcpix);
-								*p ^= (srcpix & endmask);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_NOP:
-							break;
-					} /* switch */
-				} else if (startmask && !endmask) {
-					nlwExtra -= 1;
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							while (h--) {
-								srcpix = psrc[iy];
-								iy = ++iy < tileHeight ? iy : 0;
-								nlw = nlwMiddle;
-								*p &= ~(srcpix & startmask);
-								p++;
-								Duff(nlw, *p++ &= ~srcpix);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_WHITE:
-							while (h--) {
-								srcpix = psrc[iy];
-								iy = ++iy < tileHeight ? iy : 0;
-								nlw = nlwMiddle;
-								*p |= (srcpix & startmask);
-								p++;
-								Duff(nlw, *p++ |= srcpix);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_INVERT:
-							while (h--) {
-								srcpix = psrc[iy];
-								iy = ++iy < tileHeight ? iy : 0;
-								nlw = nlwMiddle;
-								*p ^= (srcpix & startmask);
-								p++;
-								Duff(nlw, *p++ ^= srcpix);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_NOP:
-							break;
-					} /* switch */
-				} else if (!startmask && endmask) {
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							while (h--) {
-								srcpix = psrc[iy];
-								iy = ++iy < tileHeight ? iy : 0;
-								nlw = nlwMiddle;
-								Duff(nlw, *p++ &= ~srcpix);
-								*p &= ~(srcpix & endmask);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_WHITE:
-							while (h--) {
-								srcpix = psrc[iy];
-								iy = ++iy < tileHeight ? iy : 0;
-								nlw = nlwMiddle;
-								Duff(nlw, *p++ |= srcpix);
-								*p |= (srcpix & endmask);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_INVERT:
-							while (h--) {
-								srcpix = psrc[iy];
-								iy = ++iy < tileHeight ? iy : 0;
-								nlw = nlwMiddle;
-								Duff(nlw, *p++ ^= srcpix);
-								*p ^= (srcpix & endmask);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_NOP:
-							break;
-					} /* switch */
-				} else { /* no ragged bits at either end */
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							while (h--) {
-								srcpix = psrc[iy];
-								iy = ++iy < tileHeight ? iy : 0;
-								nlw = nlwMiddle;
-								Duff(nlw, *p++ &= ~srcpix);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_WHITE:
-							while (h--) {
-								srcpix = psrc[iy];
-								iy = ++iy < tileHeight ? iy : 0;
-								nlw = nlwMiddle;
-								Duff(nlw, *p++ |= srcpix);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-						case RROP_INVERT:
-							while (h--) {
-								srcpix = psrc[iy];
-								iy = ++iy < tileHeight ? iy : 0;
-								nlw = nlwMiddle;
-								Duff(nlw, *p++ ^= srcpix);
-								afbScanlineInc(p, nlwExtra);
-							}
-							break;
-					} /* switch */
-				}
-			} /* for (d = ...) */
-		}
-		pbox++;
-	}
-}
-
-void
-afbStippleArea (pDraw, nbox, pbox, pTile, xOff, yOff, rrops)
-	DrawablePtr pDraw;
-	int nbox;
-	BoxPtr pbox;
-	PixmapPtr pTile;
-	int xOff;
-	int yOff;
-	unsigned char *rrops;
-{
-	register PixelType *psrc;	/* pointer to bits in tile, if needed */
-	int nlwidth;					/* width in longwords of the drawable */
-	register int h;				/* height of current box */
-	register PixelType *pdst;	/* pointer to bits we're writing */
-	int sizeDst;
-	int depthDst;
-	int tileLine;
-	int iline;
-	int w, width, x, xSrc, ySrc, srcStartOver, nend;
-	int tlwidth, rem, tileWidth, tileHeight, endinc;
-	int saveW;
-	register int rop;
-	PixelType *psrcT;
-	int d;
-	int nstart;
-	PixelType startmask;
-	PixelType endmask;		/* masks for reggedy bits at either end of line */
-	int nlMiddle;				/* number of longwords between sides of boxes */
-	int iy;
-	PixelType *pBase;			/* pointer to start of drawable */
-	PixelType *saveP;
-	PixelType *pStartDst;
-	PixelType *pStartTile;
-	int saveH;
-
-	afbGetPixelWidthSizeDepthAndPointer(pDraw, nlwidth, sizeDst, depthDst,
-													 pBase);
-
-	tileHeight = pTile->drawable.height;
-	tileWidth = pTile->drawable.width;
-	tlwidth = pTile->devKind / sizeof (PixelType);
-
-	xSrc = pDraw->x + ((xOff % tileWidth) - tileWidth);
-	ySrc = pDraw->y + ((yOff % tileHeight) - tileHeight);
-
-	while (nbox--) {
-		saveW = pbox->x2 - pbox->x1;
-		iline = (pbox->y1 - ySrc) % tileHeight;
-		psrcT = (PixelType *) pTile->devPrivate.ptr;
-		tileLine = iline * tlwidth;
-		saveH = pbox->y2 - pbox->y1;
-		saveP = afbScanline(pBase, pbox->x1, pbox->y1, nlwidth);
-
-		for (d = 0; d < depthDst; d++, saveP += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-			h = saveH;
-			pStartDst = saveP;
-			pStartTile = psrcT + tileLine;
-			iy = iline;
-
-			while (h--) {
-				x = pbox->x1;
-				width = saveW;
-				pdst = pStartDst;
-				rop = rrops[d];
-
-				while(width > 0) {
-					psrc = pStartTile;
-					w = min(tileWidth, width);
-					if((rem = (x - xSrc) % tileWidth) != 0) {
-						/* if we're in the middle of the tile, get
-						   as many bits as will finish the span, or
-						   as many as will get to the left edge of the tile,
-						   or a longword worth, starting at the appropriate
-						   offset in the tile.
-						*/
-						w = min(min(tileWidth - rem, width), BITMAP_SCANLINE_PAD);
-						endinc = rem / BITMAP_SCANLINE_PAD;
-						getandputrrop((psrc + endinc), (rem & PIM), (x & PIM),
-									 w, pdst, rop)
-						if((x & PIM) + w >= PPW)
-							pdst++;
-					} else if(((x & PIM) + w) < PPW) {
-						/* doing < PPW bits is easy, and worth special-casing */
-						putbitsrrop(*psrc, x & PIM, w, pdst, rop);
-					} else {
-						/* start at the left edge of the tile,
-						   and put down as much as we can
-						*/
-						maskbits(x, w, startmask, endmask, nlMiddle);
-
-						if (startmask)
-							nstart = PPW - (x & PIM);
-						else
-							nstart = 0;
-						if (endmask)
-							nend = (x + w)  & PIM;
-						else
-							nend = 0;
-
-						srcStartOver = nstart > PLST;
-
-						if(startmask) {
-							putbitsrrop(*psrc, (x & PIM), nstart, pdst, rop);
-							pdst++;
-							if(srcStartOver)
-								psrc++;
-						}
-
-						while(nlMiddle--) {
-							getandputrrop0(psrc, nstart, PPW, pdst, rop);
-							pdst++;
-							psrc++;
-						}
-
-						if(endmask) {
-							getandputrrop0(psrc, nstart, nend, pdst, rop);
-						}
-					 }
-					 x += w;
-					 width -= w;
-				} /* while (width > 0) */
-
-				pStartDst += nlwidth;
-				if (++iy >= tileHeight) {
-					iy = 0;
-					pStartTile = psrcT;
-				} else
-					pStartTile += tlwidth;
-
-			} /* while (h) */
-		} /* for (d = ... ) */
-		pbox++;
-	} /* for each box */
-}
diff --git a/afb/afbpolypnt.c b/afb/afbpolypnt.c
deleted file mode 100644
index b8ea3ed..0000000
--- a/afb/afbpolypnt.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include <X11/Xprotostr.h>
-#include "pixmapstr.h"
-#include "gcstruct.h"
-#include "windowstr.h"
-#include "regionstr.h"
-#include "scrnintstr.h"
-
-#include "afb.h"
-#include "maskbits.h"
-
-void
-afbPolyPoint(pDrawable, pGC, mode, npt, pptInit)
-	register DrawablePtr pDrawable;
-	GCPtr pGC;
-	int mode;				/* Origin or Previous */
-	int npt;
-	xPoint *pptInit;
-{
-
-	register BoxPtr pbox;
-	register int nbox;
-	register int d;
-
-	register PixelType *addrl;
-	PixelType *pBase;
-	PixelType *pBaseSave;
-	int nlwidth;
-	int sizeDst;
-	int depthDst;
-
-	int nptTmp;
-	register xPoint *ppt;
-
-	register int x;
-	register int y;
-	register unsigned char *rrops;
-	afbPrivGC *pGCPriv;
-
-	pGCPriv = (afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-						afbGCPrivateKey);
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, nlwidth, sizeDst, depthDst,
-													 pBaseSave);
-
-	rrops = pGCPriv->rrops;
-	if ((mode == CoordModePrevious) && (npt > 1))
-		for (ppt = pptInit + 1, nptTmp = npt - 1; --nptTmp >= 0; ppt++) {
-			ppt->x += (ppt-1)->x;
-			ppt->y += (ppt-1)->y;
-		}
-
-	nbox = REGION_NUM_RECTS(pGC->pCompositeClip);
-	pbox = REGION_RECTS(pGC->pCompositeClip);
-	for (; --nbox >= 0; pbox++)
-		for (d = 0, pBase = pBaseSave; d < depthDst; d++, pBase += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-			addrl = pBase;
-
-			switch (rrops[d]) {
-				case RROP_BLACK:
-					for (ppt = pptInit, nptTmp = npt; --nptTmp >= 0; ppt++) {
-						x = ppt->x + pDrawable->x;
-						y = ppt->y + pDrawable->y;
-						if ((x >= pbox->x1) && (x < pbox->x2) &&
-							(y >= pbox->y1) && (y < pbox->y2))
-							*afbScanline(addrl, x, y, nlwidth) &= mfbGetrmask(x & PIM);
-					}
-					break;
-
-				case RROP_WHITE:
-					for (ppt = pptInit, nptTmp = npt; --nptTmp >= 0; ppt++) {
-						x = ppt->x + pDrawable->x;
-						y = ppt->y + pDrawable->y;
-						if ((x >= pbox->x1) && (x < pbox->x2) &&
-							(y >= pbox->y1) && (y < pbox->y2))
-							*afbScanline(addrl, x, y, nlwidth) |= mfbGetmask(x & PIM);
-					}
-					break;
-
-				case RROP_INVERT:
-					for (ppt = pptInit, nptTmp = npt; --nptTmp >= 0; ppt++) {
-						x = ppt->x + pDrawable->x;
-						y = ppt->y + pDrawable->y;
-						if ((x >= pbox->x1) && (x < pbox->x2) &&
-							(y >= pbox->y1) && (y < pbox->y2))
-							*afbScanline(addrl, x, y, nlwidth) ^= mfbGetmask(x & PIM);
-					}
-					break;
-
-				case RROP_NOP:
-					break;
-			} /* switch */
-		} /* for (d = ...) */
-}
diff --git a/afb/afbpushpxl.c b/afb/afbpushpxl.c
deleted file mode 100644
index 3dd5487..0000000
--- a/afb/afbpushpxl.c
+++ /dev/null
@@ -1,169 +0,0 @@
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <string.h>
-
-#include <X11/X.h>
-#include "gcstruct.h"
-#include "scrnintstr.h"
-#include "pixmapstr.h"
-#include "regionstr.h"
-#include "maskbits.h"
-#include "afb.h"
-
-#define NPT 128
-
-/* afbPushPixels -- squeegees the forground color of pGC through pBitMap
- * into pDrawable.  pBitMap is a stencil (dx by dy of it is used, it may
- * be bigger) which is placed on the drawable at xOrg, yOrg.  Where a 1 bit
- * is set in the bitmap, the fill style is put onto the drawable using
- * the GC's logical function. The drawable is not changed where the bitmap
- * has a zero bit or outside the area covered by the stencil.
- */
-void
-afbPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDrawable, int dx, int dy, int xOrg, int yOrg)
-{
-	int h, dxDivPPW, ibEnd;
-	PixelType *pwLineStart;
-	register PixelType *pw, *pwEnd;
-	register PixelType mask;
-	register int ib;
-	register PixelType w;
-	register int ipt;				/* index into above arrays */
-	Bool fInBox;
-	DDXPointRec pt[NPT];
-	int width[NPT];
-
-	/* Now scan convert the pixmap and use the result to call fillspans in
-	 * in the drawable with the original GC */
-	ipt = 0;
-	dxDivPPW = dx/PPW;
-	for (h = 0; h < dy; h++) {
-
-		pw = (PixelType *)
-			  (((char *)(pBitMap->devPrivate.ptr))+(h * pBitMap->devKind));
-		pwLineStart = pw;
-		/* Process all words which are fully in the pixmap */
-
-		fInBox = FALSE;
-		pwEnd = pwLineStart + dxDivPPW;
-		while(pw  < pwEnd) {
-			w = *pw;
-			mask = mfbGetendtab(1);
-			for(ib = 0; ib < PPW; ib++) {
-				if(w & mask) {
-					if(!fInBox) {
-						pt[ipt].x = ((pw - pwLineStart) << PWSH) + ib + xOrg;
-						pt[ipt].y = h + yOrg;
-						/* start new box */
-						fInBox = TRUE;
-					}
-				} else {
-					if(fInBox) {
-						width[ipt] = ((pw - pwLineStart) << PWSH) +
-									 ib + xOrg - pt[ipt].x;
-						if (++ipt >= NPT) {
-							(*pGC->ops->FillSpans)(pDrawable, pGC, NPT, pt,
-											  width, TRUE);
-							ipt = 0;
-						}
-						/* end box */
-						fInBox = FALSE;
-					}
-				}
-				mask = SCRRIGHT(mask, 1);
-			}
-			pw++;
-		}
-		ibEnd = dx & PIM;
-		if(ibEnd) {
-			/* Process final partial word on line */
-			w = *pw;
-			mask = mfbGetendtab(1);
-			for(ib = 0; ib < ibEnd; ib++) {
-				if(w & mask) {
-					if(!fInBox) {
-						/* start new box */
-						pt[ipt].x = ((pw - pwLineStart) << PWSH) + ib + xOrg;
-						pt[ipt].y = h + yOrg;
-						fInBox = TRUE;
-					}
-				} else {
-					if(fInBox) {
-						/* end box */
-						width[ipt] = ((pw - pwLineStart) << PWSH) +
-									 ib + xOrg - pt[ipt].x;
-						if (++ipt >= NPT) {
-							(*pGC->ops->FillSpans)(pDrawable, pGC, NPT, pt,
-											  width, TRUE);
-							ipt = 0;
-						}
-						fInBox = FALSE;
-					}
-				}
-				mask = SCRRIGHT(mask, 1);
-			}
-		}
-		/* If scanline ended with last bit set, end the box */
-		if(fInBox) {
-			width[ipt] = dx + xOrg - pt[ipt].x;
-			if (++ipt >= NPT) {
-				(*pGC->ops->FillSpans)(pDrawable, pGC, NPT, pt, width, TRUE);
-				ipt = 0;
-			}
-		}
-	}
-	/* Flush any remaining spans */
-	if (ipt) {
-		(*pGC->ops->FillSpans)(pDrawable, pGC, ipt, pt, width, TRUE);
-	}
-}
diff --git a/afb/afbscrinit.c b/afb/afbscrinit.c
deleted file mode 100644
index cbabb89..0000000
--- a/afb/afbscrinit.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <stdlib.h>
-
-#include <X11/X.h>
-#include <X11/Xproto.h>		/* for xColorItem */
-#include <X11/Xmd.h>
-#include "scrnintstr.h"
-#include "pixmapstr.h"
-#include "windowstr.h"
-#include "resource.h"
-#include "colormap.h"
-#include "afb.h"
-#include "mistruct.h"
-#include "dix.h"
-#include "mi.h"
-#include "mibstore.h"
-#include "migc.h"
-#include "servermd.h"
-
-#ifdef PIXMAP_PER_WINDOW
-DevPrivateKey frameWindowPrivateKey = &frameWindowPrivateKey;
-#endif
-DevPrivateKey afbGCPrivateKey = &afbGCPrivateKey;
-DevPrivateKey afbScreenPrivateKey = &afbScreenPrivateKey;
-
-static Bool
-afbCloseScreen(int index, ScreenPtr pScreen)
-{
-	int d;
-	DepthPtr depths = pScreen->allowedDepths;
-
-	for (d = 0; d < pScreen->numDepths; d++)
-		xfree(depths[d].vids);
-	xfree(depths);
-	xfree(pScreen->visuals);
-	xfree(dixLookupPrivate(&pScreen->devPrivates, afbScreenPrivateKey));
-	return(TRUE);
-}
-
-static Bool
-afbCreateScreenResources(ScreenPtr pScreen)
-{
-	Bool retval;
-
-	pointer oldDevPrivate = pScreen->devPrivate;
-
-	pScreen->devPrivate = dixLookupPrivate(&pScreen->devPrivates,
-					       afbScreenPrivateKey);
-	retval = miCreateScreenResources(pScreen);
-
-	/* Modify screen's pixmap devKind value stored off devPrivate to
-	 * be the width of a single plane in longs rather than the width
-	 * of a chunky screen in longs as incorrectly setup by the mi routine.
-	 */
-	((PixmapPtr)pScreen->devPrivate)->devKind = BitmapBytePad(pScreen->width);
-	dixSetPrivate(&pScreen->devPrivates, afbScreenPrivateKey,
-		      pScreen->devPrivate);
-	pScreen->devPrivate = oldDevPrivate;
-	return(retval);
-}
-
-static PixmapPtr
-afbGetWindowPixmap(WindowPtr pWin)
-{
-#ifdef PIXMAP_PER_WINDOW
-    return (PixmapPtr)dixLookupPrivate(&pWin->devPrivates,
-				       frameWindowPrivateKey);
-#else
-    ScreenPtr pScreen = pWin->drawable.pScreen;
-
-    return (* pScreen->GetScreenPixmap)(pScreen);
-#endif
-}
-
-static void
-afbSetWindowPixmap(WindowPtr pWin, PixmapPtr pPix)
-{
-#ifdef PIXMAP_PER_WINDOW
-    dixSetPrivate(&pWin->devPrivates, frameWindowPrivateKey, pPix);
-#else
-    (* pWin->drawable.pScreen->SetScreenPixmap)(pPix);
-#endif
-}
-
-static Bool
-afbAllocatePrivates(ScreenPtr pScreen, DevPrivateKey *pGCKey)
-{
-	if (pGCKey)
-		*pGCKey = afbGCPrivateKey;
-
-	pScreen->GetWindowPixmap = afbGetWindowPixmap;
-	pScreen->SetWindowPixmap = afbSetWindowPixmap;
-	return dixRequestPrivate(afbGCPrivateKey, sizeof(afbPrivGC));
-}
-
-/* dts * (inch/dot) * (25.4 mm / inch) = mm */
-Bool
-afbScreenInit(register ScreenPtr pScreen, pointer pbits, int xsize, int ysize, int dpix, int dpiy, int width)
-	                           
-	              			/* pointer to screen bitmap */
-	                 		/* in pixels */
-	               			/* dots per inch */
-	          			/* pixel width of frame buffer */
-{
-	VisualPtr visuals;
-	DepthPtr depths;
-	int nvisuals;
-	int ndepths;
-	int rootdepth;
-	VisualID defaultVisual;
-	pointer oldDevPrivate;
-
-	rootdepth = 0;
-	if (!afbInitVisuals(&visuals, &depths, &nvisuals, &ndepths, &rootdepth,
-								&defaultVisual, 256, 8)) {
-		ErrorF("afbInitVisuals: FALSE\n");
-		return FALSE;
-	}
-	if (!afbAllocatePrivates(pScreen, NULL)) {
-		ErrorF("afbAllocatePrivates: FALSE\n");
-		return FALSE;
-	}
-
-	pScreen->defColormap = (Colormap)FakeClientID(0);
-	/* whitePixel, blackPixel */
-	pScreen->blackPixel = 0;
-	pScreen->whitePixel = 0;
-	pScreen->QueryBestSize = afbQueryBestSize;
-	/* SaveScreen */
-	pScreen->GetImage = afbGetImage;
-	pScreen->GetSpans = afbGetSpans;
-	pScreen->CreateWindow = afbCreateWindow;
-	pScreen->DestroyWindow = afbDestroyWindow;
-	pScreen->PositionWindow = afbPositionWindow;
-	pScreen->ChangeWindowAttributes = afbChangeWindowAttributes;
-	pScreen->RealizeWindow = afbMapWindow;
-	pScreen->UnrealizeWindow = afbUnmapWindow;
-	pScreen->CopyWindow = afbCopyWindow;
-	pScreen->CreatePixmap = afbCreatePixmap;
-	pScreen->DestroyPixmap = afbDestroyPixmap;
-	pScreen->RealizeFont = afbRealizeFont;
-	pScreen->UnrealizeFont = afbUnrealizeFont;
-	pScreen->CreateGC = afbCreateGC;
-	pScreen->CreateColormap = afbInitializeColormap;
-	pScreen->DestroyColormap = (DestroyColormapProcPtr)NoopDDA;
-	pScreen->InstallColormap = afbInstallColormap;
-	pScreen->UninstallColormap = afbUninstallColormap;
-	pScreen->ListInstalledColormaps = afbListInstalledColormaps;
-	pScreen->StoreColors = (StoreColorsProcPtr)NoopDDA;
-	pScreen->ResolveColor = afbResolveColor;
-	pScreen->BitmapToRegion = afbPixmapToRegion;
-	oldDevPrivate = pScreen->devPrivate;
-	if (!miScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, width, rootdepth,
-		ndepths, depths, defaultVisual, nvisuals, visuals)) {
-		ErrorF("miScreenInit: FALSE\n");
-		return FALSE;
-	}
-
-	pScreen->CloseScreen = afbCloseScreen;
-	pScreen->CreateScreenResources = afbCreateScreenResources;
-
-	dixSetPrivate(&pScreen->devPrivates, afbScreenPrivateKey,
-		      pScreen->devPrivate);
-	pScreen->devPrivate = oldDevPrivate;
-
-	return TRUE;
-}
diff --git a/afb/afbsetsp.c b/afb/afbsetsp.c
deleted file mode 100644
index cb36dba..0000000
--- a/afb/afbsetsp.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include <X11/Xmd.h>
-
-#include "misc.h"
-#include "regionstr.h"
-#include "gcstruct.h"
-#include "windowstr.h"
-#include "pixmapstr.h"
-#include "scrnintstr.h"
-
-#include "afb.h"
-#include "maskbits.h"
-
-#include "servermd.h"
-
-
-/* afbSetScanline -- copies the bits from psrc to the drawable starting at
- * (xStart, y) and continuing to (xEnd, y).  xOrigin tells us where psrc
- * starts on the scanline. (I.e., if this scanline passes through multiple
- * boxes, we may not want to start grabbing bits at psrc but at some offset
- * further on.)
- */
-static void
-afbSetScanline(int y, int xOrigin, int xStart, int xEnd, PixelType *psrc,
-	       int alu, PixelType *pdstBase, int widthDst, int sizeDst,
-	       int depthDst, int sizeSrc)
-{
-	int w;							/* width of scanline in bits */
-	register PixelType *pdst;	/* where to put the bits */
-	register PixelType tmpSrc;	/* scratch buffer to collect bits in */
-	int dstBit;						/* offset in bits from beginning of
-										 * word */
-	register int nstart; 		/* number of bits from first partial */
-	register int nend; 			/* " " last partial word */
-	int offSrc;
-	PixelType startmask, endmask;
-	PixelType *savePsrc = psrc + ((xStart - xOrigin) >> PWSH);
-	int nlMiddle, nl;
-	int d;
-
-	for (d = 0; d < depthDst; d++) {
-		pdst = afbScanline(pdstBase, xStart, y, widthDst) + sizeDst * d;	/* @@@ NEXT PLANE @@@ */
-		psrc = savePsrc + sizeSrc * d;	/* @@@ NEXT PLANE @@@ */
-		offSrc = (xStart - xOrigin) & PIM;
-		w = xEnd - xStart;
-		dstBit = xStart & PIM;
-
-		if (dstBit + w <= PPW) {
-			getandputrop(psrc, offSrc, dstBit, w, pdst, alu)
-		} else {
-			maskbits(xStart, w, startmask, endmask, nlMiddle);
-			if (startmask)
-				nstart = PPW - dstBit;
-			else
-				nstart = 0;
-			if (endmask)
-				nend = xEnd & PIM;
-			else
-				nend = 0;
-			if (startmask) {
-				getandputrop(psrc, offSrc, dstBit, nstart, pdst, alu)
-				pdst++;
-				offSrc += nstart;
-				if (offSrc > PLST) {
-					psrc++;
-					offSrc -= PPW;
-				}
-			}
-			nl = nlMiddle;
-			while (nl--) {
-				getbits(psrc, offSrc, PPW, tmpSrc);
-				DoRop(*pdst, alu, tmpSrc, *pdst);
-				pdst++;
-				psrc++;
-			}
-			if (endmask) {
-				getandputrop0(psrc, offSrc, nend, pdst, alu);
-			}
-		}
-	}
-}
-
-
-
-/* SetSpans -- for each span copy pwidth[i] bits from psrc to pDrawable at
- * ppt[i] using the raster op from the GC.  If fSorted is TRUE, the scanlines
- * are in increasing Y order.
- * Source bit lines are server scanline padded so that they always begin
- * on a word boundary.
- */
-void
-afbSetSpans(pDrawable, pGC, pcharsrc, ppt, pwidth, nspans, fSorted)
-	DrawablePtr pDrawable;
-	GCPtr pGC;
-	char *pcharsrc;
-	register DDXPointPtr ppt;
-	int *pwidth;
-	int nspans;
-	int fSorted;
-{
-	PixelType *psrc = (PixelType *)pcharsrc;
-	PixelType *pdstBase;				/* start of dst bitmap */
-	int widthDst;						/* width of bitmap in words */
-	int sizeDst;
-	int depthDst;
-	int sizeSrc = 0;
-	register BoxPtr pbox, pboxLast, pboxTest;
-	register DDXPointPtr pptLast;
-	int alu;
-	RegionPtr prgnDst;
-	int xStart, xEnd;
-	int yMax;
-
-	alu = pGC->alu;
-	prgnDst = pGC->pCompositeClip;
-
-	pptLast = ppt + nspans;
-
-	yMax = pDrawable->y + (int) pDrawable->height;
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, widthDst, sizeDst, depthDst,
-													 pdstBase);
-
-	pbox =  REGION_RECTS(prgnDst);
-	pboxLast = pbox + REGION_NUM_RECTS(prgnDst);
-
-	if(fSorted) {
-	/* scan lines sorted in ascending order. Because they are sorted, we
-	 * don't have to check each scanline against each clip box.  We can be
-	 * sure that this scanline only has to be clipped to boxes at or after the
-	 * beginning of this y-band
-	 */
-		pboxTest = pbox;
-		while(ppt < pptLast) {
-			pbox = pboxTest;
-			if(ppt->y >= yMax)
-				break;
-			while(pbox < pboxLast) {
-				if(pbox->y1 > ppt->y) {
-					/* scanline is before clip box */
-					break;
-				} else if(pbox->y2 <= ppt->y) {
-					/* clip box is before scanline */
-					pboxTest = ++pbox;
-					continue;
-				} else if(pbox->x1 > ppt->x + *pwidth)  {
-					/* clip box is to right of scanline */
-					break;
-				} else if(pbox->x2 <= ppt->x) {
-					/* scanline is to right of clip box */
-					pbox++;
-					continue;
-				}
-
-				/* at least some of the scanline is in the current clip box */
-				xStart = max(pbox->x1, ppt->x);
-				xEnd = min(ppt->x + *pwidth, pbox->x2);
-				sizeSrc = PixmapWidthInPadUnits(*pwidth, 1);
-				afbSetScanline(ppt->y, ppt->x, xStart, xEnd, psrc, alu, pdstBase,
-									 widthDst, sizeDst, depthDst, sizeSrc);
-				if(ppt->x + *pwidth <= pbox->x2) {
-					/* End of the line, as it were */
-					break;
-				} else
-					pbox++;
-			}
-			/* We've tried this line against every box; it must be outside them
-			 * all.  move on to the next point */
-			ppt++;
-			psrc += sizeSrc * depthDst;
-			pwidth++;
-		}
-	} else {
-		/* scan lines not sorted. We must clip each line against all the boxes */
-		while(ppt < pptLast) {
-			if(ppt->y >= 0 && ppt->y < yMax) {
-				for(pbox = REGION_RECTS(prgnDst); pbox< pboxLast; pbox++) {
-					if(pbox->y1 > ppt->y) {
-						/* rest of clip region is above this scanline,
-						 * skip it */
-						break;
-					}
-					if(pbox->y2 <= ppt->y) {
-						/* clip box is below scanline */
-						pbox++;
-						break;
-					}
-					if(pbox->x1 <= ppt->x + *pwidth &&
-					   pbox->x2 > ppt->x) {
-						xStart = max(pbox->x1, ppt->x);
-						xEnd = min(pbox->x2, ppt->x + *pwidth);
-						sizeSrc = PixmapWidthInPadUnits(*pwidth, 1);
-						afbSetScanline(ppt->y, ppt->x, xStart, xEnd, psrc, alu,
-											 pdstBase, widthDst, sizeDst, depthDst,
-											 sizeSrc);
-					}
-
-				}
-			}
-		psrc += sizeSrc * depthDst;
-		ppt++;
-		pwidth++;
-		}
-	}
-}
diff --git a/afb/afbtegblt.c b/afb/afbtegblt.c
deleted file mode 100644
index c89b23a..0000000
--- a/afb/afbtegblt.c
+++ /dev/null
@@ -1,586 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include <X11/Xmd.h>
-#include <X11/Xproto.h>
-#include "afb.h"
-#include <X11/fonts/fontstruct.h>
-#include "dixfontstr.h"
-#include "gcstruct.h"
-#include "windowstr.h"
-#include "scrnintstr.h"
-#include "pixmapstr.h"
-#include "regionstr.h"
-#include "maskbits.h"
-
-/*
-	this works for fonts with glyphs <= PPW bits wide.
-
-	This should be called only with a terminal-emulator font;
-this means that the FIXED_METRICS flag is set, and that
-glyphbounds == charbounds.
-
-	in theory, this goes faster; even if it doesn't, it reduces the
-flicker caused by writing a string over itself with image text (since
-the background gets repainted per character instead of per string.)
-this seems to be important for some converted X10 applications.
-
-	Image text looks at the bits in the glyph and the fg and bg in the
-GC.  it paints a rectangle, as defined in the protocol dcoument,
-and the paints the characters.
-
-*/
-
-#if defined(NO_3_60_CG4) && defined(FASTPUTBITS) && defined(FASTGETBITS)
-#define FASTCHARS
-#endif
-
-/*
- * this macro "knows" that only characters <= 8 bits wide will
- * fit this case (which is why it is independent of GLYPHPADBYTES)
- */
-
-#if (BITMAP_BIT_ORDER == MSBFirst) && (GLYPHPADBYTES != 4)
-#if GLYPHPADBYTES == 1
-#define ShiftAmnt   24
-#else
-#define ShiftAmnt   16
-#endif
-
-/*
- * Note: for BITMAP_BIT_ORDER != IMAGE_BYTE_ORDER, SCRRIGHT() evaluates its
- * first argument more than once.  Thus the imbedded char++ have to be moved.
- * (DHD)
- */
-#if BITMAP_BIT_ORDER == IMAGE_BYTE_ORDER
-#if PPW == 32
-#define GetBits4	c = (*char1++ << ShiftAmnt) | \
-						SCRRIGHT (*char2++ << ShiftAmnt, xoff2) | \
-						SCRRIGHT (*char3++ << ShiftAmnt, xoff3) | \
-						SCRRIGHT (*char4++ << ShiftAmnt, xoff4);
-#else /* PPW */
-#define GetBits4	c = ((unsigned long)(*char1++ << ShiftAmnt) << 32 )  | \
-						(SCRRIGHT (*char2++ << ShiftAmnt, xoff2) << 32 ) | \
-						(SCRRIGHT (*char3++ << ShiftAmnt, xoff3) << 32 ) | \
-						(SCRRIGHT (*char4++ << ShiftAmnt, xoff4) << 32 ) | \
-						(*char5++ << ShiftAmnt) 						 | \
-						SCRRIGHT (*char6++ << ShiftAmnt, xoff6) 		 | \
-						SCRRIGHT (*char7++ << ShiftAmnt, xoff7) 		 | \
-						SCRRIGHT (*char8++ << ShiftAmnt, xoff8);
-#endif /* PPW */
-#else /* BITMAP_BIT_ORDER != IMAGE_BYTE_ORDER */
-#if PPW == 32
-#define GetBits4	c = (*char1++ << ShiftAmnt) | \
-						SCRRIGHT (*char2 << ShiftAmnt, xoff2) | \
-						SCRRIGHT (*char3 << ShiftAmnt, xoff3) | \
-						SCRRIGHT (*char4 << ShiftAmnt, xoff4); \
-						char2++; char3++; char4++;
-#else /* PPW == 64 */
-#define GetBits4	c = ((unsigned long)(*char1++ << ShiftAmnt) << 32 )  | \
-						(SCRRIGHT (*char2 << ShiftAmnt, xoff2) << 32 ) | \
-						(SCRRIGHT (*char3 << ShiftAmnt, xoff3) << 32 ) | \
-						(SCRRIGHT (*char4 << ShiftAmnt, xoff4) << 32 ) | \
-						(*char5++ << ShiftAmnt) 						 | \
-						SCRRIGHT (*char6 << ShiftAmnt, xoff6) 		 | \
-						SCRRIGHT (*char7 << ShiftAmnt, xoff7) 		 | \
-						SCRRIGHT (*char8 << ShiftAmnt, xoff8); \
-						char2++; char3++; char4++; char6++; char7++; char8++;
-#endif /* PPW */
-#endif /* BITMAP_BIT_ORDER == IMAGE_BYTE_ORDER */
-
-#else /* (BITMAP_BIT_ORDER != MSBFirst) || (GLYPHPADBYTES == 4) */
-
-#if BITMAP_BIT_ORDER == IMAGE_BYTE_ORDER
-#if PPW == 32
-#define GetBits4	c = *char1++ | \
-						SCRRIGHT (*char2++, xoff2) | \
-						SCRRIGHT (*char3++, xoff3) | \
-						SCRRIGHT (*char4++, xoff4);
-#else /* PPW == 64 */
-#define GetBits4	c = (unsigned long)(((*char1++) << 64 ) | \
-						(SCRRIGHT (*char2++, xoff2) << 64 ) | \
-						(SCRRIGHT (*char3++, xoff3) << 64 ) | \
-						(SCRRIGHT (*char4++, xoff4) << 64 ) | \
-						SCRRIGHT (*char5++, xoff5)		  | \
-						SCRRIGHT (*char6++, xoff6)		  | \
-						SCRRIGHT (*char7++, xoff7)		  | \
-						SCRRIGHT (*char8++, xoff8));
-#endif /* PPW */
-#else /* BITMAP_BIT_ORDER != IMAGE_BYTE_ORDER */
-#if PPW == 32
-#define GetBits4	c = *char1++ | \
-						SCRRIGHT (*char2, xoff2) | \
-						SCRRIGHT (*char3, xoff3) | \
-						SCRRIGHT (*char4, xoff4); \
-						char2++; char3++; char4++;
-#else /* PPW == 64 */
-#define GetBits4	c = (unsigned long)(((*char1++) << 64 ) | \
-						(SCRRIGHT (*char2, xoff2) << 64 ) | \
-						(SCRRIGHT (*char3, xoff3) << 64 ) | \
-						(SCRRIGHT (*char4, xoff4) << 64 ) | \
-						SCRRIGHT (*char5, xoff5)		  | \
-						SCRRIGHT (*char6, xoff6)		  | \
-						SCRRIGHT (*char7, xoff7)		  | \
-						SCRRIGHT (*char8, xoff8)); \
-						char2++; char3++; char4++; \
-						char5++; char6++; char7++; char8++;
-#endif /* PPW */
-#endif /* BITMAP_BIT_ORDER == IMAGE_BYTE_ORDER */
-
-#endif /* BITMAP_BIT_ORDER && GLYPHPADBYTES */
-
-
-#if GLYPHPADBYTES == 1
-typedef		unsigned char		*glyphPointer;
-#define USE_LEFTBITS
-#endif
-
-#if GLYPHPADBYTES == 2
-typedef unsigned short		*glyphPointer;
-#define USE_LEFTBITS
-#endif
-
-#if GLYPHPADBYTES == 4
-typedef unsigned int		*glyphPointer;
-#endif
-
-#ifdef USE_LEFTBITS
-#define GetBits1	getleftbits (char1, widthGlyph, c); \
-					c &= glyphMask; \
-					char1 = (glyphPointer) (((char *) char1) + glyphBytes);
-#else
-#define GetBits1	c = *char1++;
-#endif
-
-void
-afbTEGlyphBlt (pDrawable, pGC, x, y, nglyph, ppci, pglyphBase)
-	DrawablePtr pDrawable;
-	GC 				*pGC;
-	int 		x, y;
-	unsigned int nglyph;
-	CharInfoPtr *ppci;				/* array of character info */
-	pointer		pglyphBase;			/* start of array of glyphs */
-{
-	FontPtr		pfont = pGC->font;
-	int widthDst;
-	PixelType *pdstBase;				/* pointer to longword with top row
-								 				of current glyph */
-
-	int h;								/* height of glyph and char */
-	register int xpos;				/* current x  */
-	int ypos;							/* current y */
-	int widthGlyph;
-
-	int hTmp;							/* counter for height */
-	register PixelType startmask, endmask;
-	int nfirst;							/* used if glyphs spans a longword boundary */
-	BoxRec bbox;						/* for clipping */
-	int		widthGlyphs;
-	int sizeDst;
-	int depthDst;
-	PixelType *saveDst;
-	register PixelType  *dst;
-	register PixelType  c;
-	register int d;
-	register int xoff1, xoff2, xoff3, xoff4;
-	register glyphPointer char1, char2, char3, char4;
-	glyphPointer schar1, schar2, schar3, schar4;
-#if PPW == 64
-	register int xoff5, xoff6, xoff7, xoff8;
-	register glyphPointer char5, char6, char7, char8;
-	glyphPointer schar5, schar6, schar7, schar8;
-#endif /* PPW */
-
-	unsigned char *rrops;
-#ifdef USE_LEFTBITS
-	register PixelType glyphMask;
-	register PixelType tmpSrc;
-	register int glyphBytes;
-#endif
-
-	afbGetPixelWidthSizeDepthAndPointer(pDrawable, widthDst, sizeDst, depthDst,
-													 pdstBase);
-
-	xpos = x + pDrawable->x;
-	ypos = y + pDrawable->y;
-
-	widthGlyph = FONTMAXBOUNDS(pfont,characterWidth);
-	h = FONTASCENT(pfont) + FONTDESCENT(pfont);
-
-	xpos += FONTMAXBOUNDS(pfont,leftSideBearing);
-	ypos -= FONTASCENT(pfont);
-
-	rrops = ((afbPrivGCPtr)dixLookupPrivate(&pGC->devPrivates,
-						afbGCPrivateKey))->rropOS;
-	bbox.x1 = xpos;
-	bbox.x2 = xpos + (widthGlyph * nglyph);
-	bbox.y1 = ypos;
-	bbox.y2 = ypos + h;
-
-	switch (RECT_IN_REGION(pGC->pScreen, pGC->pCompositeClip, &bbox)) {
-		case rgnPART:
-		/* this is the WRONG thing to do, but it works.
-		   calling the non-terminal text is easy, but slow, given
-		   what we know about the font.
-
-		   the right thing to do is something like:
-			for each clip rectangle
-				compute at which row the glyph starts to be in it,
-				   and at which row the glyph ceases to be in it
-				compute which is the first glyph inside the left
-					edge, and the last one inside the right edge
-				draw a fractional first glyph, using only
-					the rows we know are in
-				draw all the whole glyphs, using the appropriate rows
-				draw any pieces of the last glyph, using the right rows
-
-		   this way, the code would take advantage of knowing that
-		   all glyphs are the same height and don't overlap.
-
-		   one day...
-		*/
-			afbImageGlyphBlt (pDrawable, pGC, x, y, nglyph, ppci, pglyphBase);
-		case rgnOUT:
-			return;
-	}
-	pdstBase = afbScanlineDeltaNoBankSwitch(pdstBase, ypos, widthDst);
-	widthGlyphs = widthGlyph * PGSZB;
-
-#ifdef USE_LEFTBITS
-	glyphMask = mfbGetendtab(widthGlyph);
-	glyphBytes = GLYPHWIDTHBYTESPADDED(*ppci);
-#endif
-
-	if (nglyph >= PGSZB && widthGlyphs <= PPW) {
-		while (nglyph >= PGSZB) {
-			nglyph -= PGSZB;
-			xoff1 = xpos & PIM;
-			xoff2 = widthGlyph;
-			xoff3 = xoff2 + widthGlyph;
-			xoff4 = xoff3 + widthGlyph;
-#if PPW == 64
-			xoff5 = xoff4 + widthGlyph;
-			xoff6 = xoff5 + widthGlyph;
-			xoff7 = xoff6 + widthGlyph;
-			xoff8 = xoff7 + widthGlyph;
-#endif /* PPW */
-			schar1 = (glyphPointer)FONTGLYPHBITS(pglyphBase,(*ppci++));
-			schar2 = (glyphPointer)FONTGLYPHBITS(pglyphBase,(*ppci++));
-			schar3 = (glyphPointer)FONTGLYPHBITS(pglyphBase,(*ppci++));
-			schar4 = (glyphPointer)FONTGLYPHBITS(pglyphBase,(*ppci++));
-#if PPW == 64
-			schar5 = (glyphPointer)FONTGLYPHBITS(pglyphBase,(*ppci++));
-			schar6 = (glyphPointer)FONTGLYPHBITS(pglyphBase,(*ppci++));
-			schar7 = (glyphPointer)FONTGLYPHBITS(pglyphBase,(*ppci++));
-			schar8 = (glyphPointer)FONTGLYPHBITS(pglyphBase,(*ppci++));
-#endif /* PPW */
-
-			hTmp = h;
-			saveDst = afbScanlineOffset(pdstBase, (xpos >> PWSH)); /* switch now */
-
-#ifndef FASTCHARS
-			if (xoff1 + widthGlyphs <= PPW) {
-				maskpartialbits (xoff1, widthGlyphs, startmask);
-#endif
-				for (d = 0; d < depthDst; d++) {
-					hTmp = h;
-					dst = saveDst;
-					saveDst += sizeDst;	/* @@@ NEXT PLANE @@@ */
-
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							while (hTmp--) {
-#ifdef FASTCHARS
-								FASTPUTBITS(0, xoff1, widthGlyphs, dst);
-#else
-								*(dst) &= ~startmask;
-#endif
-								afbScanlineInc(dst, widthDst);
-							}
-							break;
-						case RROP_WHITE:
-							while (hTmp--) {
-#ifdef FASTCHARS
-								FASTPUTBITS(~0, xoff1, widthGlyphs, dst);
-#else
-								*(dst) |= startmask;
-#endif
-								afbScanlineInc(dst, widthDst);
-							}
-							break;
-						case RROP_INVERT:
-							char1 = schar1;
-							char2 = schar2;
-							char3 = schar3;
-							char4 = schar4;
-							/* XXX */
-							while (hTmp--) {
-								GetBits4
-#ifdef FASTCHARS
-# if BITMAP_BIT_ORDER == MSBFirst
-								c >>= PPW - widthGlyphs;
-# endif
-								FASTPUTBITS(~c, xoff1, widthGlyphs, dst);
-#else
-								*(dst) = ((*dst) & ~startmask) | (~SCRRIGHT(c, xoff1) & startmask);
-#endif
-								afbScanlineInc(dst, widthDst);
-							}
-							break;
-						case RROP_COPY:
-							char1 = schar1;
-							char2 = schar2;
-							char3 = schar3;
-							char4 = schar4;
-
-							while (hTmp--) {
-								GetBits4
-#ifdef FASTCHARS
-# if BITMAP_BIT_ORDER == MSBFirst
-								c >>= PPW - widthGlyphs;
-#endif
-								FASTPUTBITS(c, xoff1, widthGlyphs, dst);
-#else
-								*(dst) = ((*dst) & ~startmask) | (SCRRIGHT(c, xoff1) & startmask);
-#endif
-								afbScanlineInc(dst, widthDst);
-							}
-							break;
-						case RROP_NOP:
-							break;
-					} /* switch (rrops[d]) */
-				} /* for (d = ... ) */
-#ifndef FASTCHARS
-			} else {
-				maskPPWbits (xoff1, widthGlyphs, startmask, endmask);
-				nfirst = PPW - xoff1;
-				for (d = 0; d < depthDst; d++) {
-					hTmp = h;
-					dst = saveDst;
-					saveDst += sizeDst;	/* @@@ NEXT PLANE @@@ */
-
-					switch (rrops[d]) {
-						case RROP_BLACK:
-							while (hTmp--) {
-								dst[0] &= ~startmask;
-								dst[1] &= ~endmask;
-								afbScanlineInc(dst, widthDst);
-							}
-							break;
-						case RROP_WHITE:
-							while (hTmp--) {
-								dst[0] |= startmask;
-								dst[1] |= endmask;
-								afbScanlineInc(dst, widthDst);
-							}
-							break;
-						case RROP_INVERT:
-							char1 = schar1;
-							char2 = schar2;
-							char3 = schar3;
-							char4 = schar4;
-
-							while (hTmp--) {
-								GetBits4
-								dst[0] = (dst[0] & ~startmask) | (~SCRRIGHT(c,xoff1) & startmask);
-								dst[1] = (dst[1] & ~endmask) | (~SCRLEFT(c,nfirst) & endmask);
-								afbScanlineInc(dst, widthDst);
-							}
-							break;
-						case RROP_COPY:
-							char1 = schar1;
-							char2 = schar2;
-							char3 = schar3;
-							char4 = schar4;
-
-							while (hTmp--) {
-								GetBits4
-								dst[0] = (dst[0] & ~startmask) | (SCRRIGHT(c,xoff1) & startmask);
-								dst[1] = (dst[1] & ~endmask) | (SCRLEFT(c,nfirst) & endmask);
-								afbScanlineInc(dst, widthDst);
-							}
-							break;
-
-						case RROP_NOP:
-							break;
-					} /* switch */
-				} /* for (d = ... ) */
-			}
-#endif
-			xpos += widthGlyphs;
-		}
-	}
-
-	while(nglyph--) {
-		xoff1 = xpos & PIM;
-		schar1 = (glyphPointer) FONTGLYPHBITS(pglyphBase,(*ppci++));
-		hTmp = h;
-		saveDst = afbScanlineOffset(pdstBase, (xpos >> PWSH));
-
-		if (xoff1 + widthGlyph <= PPW) {
-			maskpartialbits (xoff1, widthGlyph, startmask);
-
-			for (d = 0; d < depthDst; d++) {
-				hTmp = h;
-				dst = saveDst;
-				saveDst += sizeDst;	/* @@@ NEXT PLANE @@@ */
-				char1 = schar1;
-
-				switch (rrops[d]) {
-					case RROP_BLACK:
-						while (hTmp--) {
-							(*dst) &= ~startmask;
-							afbScanlineInc(dst, widthDst);
-						}
-						break;
-					case RROP_WHITE:
-						while (hTmp--) {
-							(*dst) |= startmask;
-							afbScanlineInc(dst, widthDst);
-						}
-						break;
-					case RROP_INVERT:
-						while (hTmp--) {
-#ifdef FASTCHARS
-#ifdef USE_LEFTBITS
-							FASTGETBITS (char1,0,widthGlyph,c);
-							char1 = (glyphPointer) (((char *) char1) + glyphBytes);
-#else
-							c = *char1++;
-#if BITMAP_BIT_ORDER == MSBFirst
-							c >>= PPW - widthGlyph;
-#endif
-#endif
-							FASTPUTBITS (~c,xoff1,widthGlyph,dst);
-#else
-							GetBits1
-							(*dst) = ((*dst) & ~startmask) | (~SCRRIGHT(c, xoff1) & startmask);
-#endif
-							afbScanlineInc(dst, widthDst);
-						}
-						break;
-					case RROP_COPY:
-						while (hTmp--) {
-#ifdef FASTCHARS
-#ifdef USE_LEFTBITS
-							FASTGETBITS (char1,0,widthGlyph,c);
-							char1 = (glyphPointer) (((char *) char1) + glyphBytes);
-#else
-							c = *char1++;
-#if BITMAP_BIT_ORDER == MSBFirst
-							c >>= PPW - widthGlyph;
-#endif
-#endif
-							FASTPUTBITS (c,xoff1,widthGlyph,dst);
-#else
-							GetBits1
-							(*dst) = ((*dst) & ~startmask) | (SCRRIGHT(c, xoff1) & startmask);
-#endif
-							afbScanlineInc(dst, widthDst);
-						}
-						break;
-					case RROP_NOP:
-						break;
-				} /* switch */
-			} /* for (d = ...) */
-		} else {
-			maskPPWbits (xoff1, widthGlyph, startmask, endmask);
-			nfirst = PPW - xoff1;
-
-			for (d = 0; d < depthDst; d++) {
-				hTmp = h;
-				dst = saveDst;
-				saveDst += sizeDst;	/* @@@ NEXT PLANE @@@ */
-				char1 = schar1;
-
-				switch (rrops[d]) {
-					case RROP_BLACK:
-						while (hTmp--) {
-							dst[0] &= ~startmask;
-							dst[1] &= ~endmask;
-							afbScanlineInc(dst, widthDst);
-						}
-						break;
-					case RROP_WHITE:
-						while (hTmp--) {
-							dst[0] |= startmask;
-							dst[1] |= endmask;
-							afbScanlineInc(dst, widthDst);
-						}
-						break;
-					case RROP_INVERT:
-						while (hTmp--) {
-							GetBits1
-							dst[0] = (dst[0] & ~startmask) | (~SCRRIGHT(c,xoff1) & startmask);
-							dst[1] = (dst[1] & ~endmask) | (~SCRLEFT(c,nfirst) & endmask);
-							afbScanlineInc(dst, widthDst);
-						}
-						break;
-					case RROP_COPY:
-						while (hTmp--) {
-							GetBits1
-							dst[0] = (dst[0] & ~startmask) | (SCRRIGHT(c,xoff1) & startmask);
-							dst[1] = (dst[1] & ~endmask) | (SCRLEFT(c,nfirst) & endmask);
-							afbScanlineInc(dst, widthDst);
-						}
-						break;
-					case RROP_NOP:
-						break;
-				} /* switch */
-			} /* for (d = ...) */
-		}
-
-		xpos += widthGlyph;
-	}
-}
diff --git a/afb/afbtile.c b/afb/afbtile.c
deleted file mode 100644
index 8fcb9cd..0000000
--- a/afb/afbtile.c
+++ /dev/null
@@ -1,857 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-
-#include "windowstr.h"
-#include "regionstr.h"
-#include "pixmapstr.h"
-#include "scrnintstr.h"
-
-#include "afb.h"
-
-#include "maskbits.h"
-
-#include "mergerop.h"
-/*
-
-   the boxes are already translated.
-
-   NOTE:
-   iy = ++iy < tileHeight ? iy : 0
-is equivalent to iy%= tileheight, and saves a division.
-*/
-
-/*
-	tile area with a PPW bit wide pixmap
-*/
-void
-MROP_NAME(afbTileAreaPPW)(pDraw, nbox, pbox, alu, ptile, planemask)
-	DrawablePtr pDraw;
-	int nbox;
-	BoxPtr pbox;
-	int alu;
-	PixmapPtr ptile;
-	unsigned long planemask;
-{
-	register PixelType *psrc;
-						/* pointer to bits in tile, if needed */
-	int tileHeight;		/* height of the tile */
-	register PixelType srcpix;
-	int nlwidth;		/* width in longwords of the drawable */
-	int w;				/* width of current box */
-	MROP_DECLARE_REG ()
-	register int h;		/* height of current box */
-	register int nlw;		/* loop version of nlwMiddle */
-	register PixelType *p;		/* pointer to bits we're writing */
-	int sizeDst;
-	int depthDst;
-	register int d;
-	PixelType startmask;
-	PixelType endmask;		/* masks for reggedy bits at either end of line */
-	int nlwMiddle;		/* number of longwords between sides of boxes */
-	int nlwExtra;		/* to get from right of box to left of next span */
-	register int iy;		/* index of current scanline in tile */
-	PixelType *pbits;		/* pointer to start of drawable */
-	PixelType *saveP;
-	PixelType *pSaveSrc;
-	int saveH;
-	int saveIY;
-
-	afbGetPixelWidthSizeDepthAndPointer(pDraw, nlwidth, sizeDst, depthDst,
-													 pbits);
-
-	MROP_INITIALIZE(alu,~0)
-
-	tileHeight = ptile->drawable.height;
-	pSaveSrc = (PixelType *)(ptile->devPrivate.ptr);
-
-	while (nbox--) {
-		w = pbox->x2 - pbox->x1;
-		saveH = pbox->y2 - pbox->y1;
-		saveIY = pbox->y1 % tileHeight;
-		saveP = afbScanline(pbits, pbox->x1, pbox->y1, nlwidth);
-		psrc = pSaveSrc;
-
-		if (((pbox->x1 & PIM) + w) < PPW) {
-			maskpartialbits(pbox->x1, w, startmask);
-			nlwExtra = nlwidth;
-			for (d = 0; d < depthDst; d++, saveP += sizeDst, psrc += tileHeight) {	/* @@@ NEXT PLANE @@@ */
-				if (!(planemask & (1 << d)))
-					continue;
-
-				p = saveP;
-				h = saveH;
-				iy = saveIY;
-
-				while (h--) {
-					srcpix = psrc[iy];
-					iy++;
-					if (iy == tileHeight)
-						iy = 0;
-					*p = MROP_MASK(srcpix,*p,startmask);
-					afbScanlineInc(p, nlwExtra);
-				}
-			}
-		} else {
-			maskbits(pbox->x1, w, startmask, endmask, nlwMiddle);
-
-			for (d = 0; d < depthDst; d++, saveP += sizeDst, psrc += tileHeight) {	/* @@@ NEXT PLANE @@@ */
-				if (!(planemask & (1 << d)))
-					continue;
-
-				p = saveP;
-				h = saveH;
-				iy = saveIY;
-				nlwExtra = nlwidth - nlwMiddle;
-
-				if (startmask && endmask) {
-					nlwExtra -= 1;
-					while (h--) {
-						srcpix = psrc[iy];
-						iy++;
-						if (iy == tileHeight)
-							iy = 0;
-						nlw = nlwMiddle;
-						*p = MROP_MASK (srcpix,*p,startmask);
-						p++;
-						while (nlw--) {
-							*p = MROP_SOLID(srcpix,*p);
-							p++;
-						}
-
-						*p = MROP_MASK(srcpix,*p,endmask);
-						afbScanlineInc(p, nlwExtra);
-					}
-				} else if (startmask && !endmask) {
-					nlwExtra -= 1;
-					while (h--) {
-						srcpix = psrc[iy];
-						iy++;
-						if (iy == tileHeight)
-							iy = 0;
-						nlw = nlwMiddle;
-						*p = MROP_MASK(srcpix,*p,startmask);
-						p++;
-						while (nlw--) {
-							*p = MROP_SOLID(srcpix,*p);
-							p++;
-						}
-						afbScanlineInc(p, nlwExtra);
-					}
-				} else if (!startmask && endmask) {
-					while (h--) {
-						srcpix = psrc[iy];
-						iy++;
-						if (iy == tileHeight)
-							iy = 0;
-						nlw = nlwMiddle;
-						while (nlw--) {
-							*p = MROP_SOLID(srcpix,*p);
-							p++;
-						}
-
-						*p = MROP_MASK(srcpix,*p,endmask);
-						afbScanlineInc(p, nlwExtra);
-					}
-				} else { /* no ragged bits at either end */
-					while (h--) {
-						srcpix = psrc[iy];
-						iy++;
-						if (iy == tileHeight)
-							iy = 0;
-						nlw = nlwMiddle;
-						while (nlw--) {
-							*p = MROP_SOLID (srcpix,*p);
-							p++;
-						}
-						afbScanlineInc(p, nlwExtra);
-					}
-				}
-			} /* for (d = ...) */
-		}
-		pbox++;
-	}
-}
-
-void
-MROP_NAME(afbTileArea)(pDraw, nbox, pbox, alu, pTile, xOff, yOff, planemask)
-	DrawablePtr pDraw;
-	int nbox;
-	BoxPtr pbox;
-	int alu;
-	PixmapPtr pTile;
-	int xOff;
-	int yOff;
-	unsigned long planemask;
-{
-	register PixelType *psrc;
-						/* pointer to bits in tile, if needed */
-	int nlwidth;		/* width in longwords of the drawable */
-	MROP_DECLARE_REG ()
-	register int h;		/* height of current box */
-	register PixelType *pdst;		/* pointer to bits we're writing */
-	register PixelType tmpsrc;
-#if (MROP) != Mcopy
-	register PixelType tmpdst;
-#endif
-	int sizeDst;
-	int depthDst;
-	int sizeTile;
-	int tileLine;
-	int iline;
-	int w, width, x, xSrc, ySrc, srcStartOver, nend;
-	int tlwidth, rem, tileWidth, tileHeight, endinc;
-	int saveW;
-	PixelType *psrcT;
-	int d;
-	int nstart;
-	PixelType startmask;
-	PixelType endmask;		/* masks for reggedy bits at either end of line */
-	int nlMiddle;		/* number of longwords between sides of boxes */
-	int iy;
-	PixelType *pBase;		/* pointer to start of drawable */
-	PixelType *saveP;
-	PixelType *pStartDst;
-	PixelType *pStartTile;
-	int saveH;
-
-	afbGetPixelWidthSizeDepthAndPointer(pDraw, nlwidth, sizeDst, depthDst,
-													 pBase);
-
-	MROP_INITIALIZE(alu,~0)
-
-	tileHeight = pTile->drawable.height;
-	tileWidth = pTile->drawable.width;
-	tlwidth = pTile->devKind / sizeof (PixelType);
-	sizeTile = tlwidth * tileHeight;
-
-	xSrc = pDraw->x + ((xOff % tileWidth) - tileWidth);
-	ySrc = pDraw->y + ((yOff % tileHeight) - tileHeight);
-
-	while (nbox--) {
-		saveW = pbox->x2 - pbox->x1;
-		iline = (pbox->y1 - ySrc) % tileHeight;
-		psrcT = (PixelType *) pTile->devPrivate.ptr;
-		tileLine = iline * tlwidth;
-		saveH = pbox->y2 - pbox->y1;
-		saveP = afbScanline(pBase, pbox->x1, pbox->y1, nlwidth);
-
-		for (d = 0; d < depthDst; d++, psrcT += sizeTile, saveP += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-			if (!(planemask & (1 << d)))
-				continue;
-
-			h = saveH;
-			pStartDst = saveP;
-			pStartTile = psrcT + tileLine;
-			iy = iline;
-
-			while (h--) {
-				x = pbox->x1;
-				width = saveW;
-				pdst = pStartDst;
-				while(width > 0) {
-					psrc = pStartTile;
-					w = min(tileWidth, width);
-					if((rem = (x - xSrc) % tileWidth) != 0) {
-						/* if we're in the middle of the tile, get
-						   as many bits as will finish the span, or
-						   as many as will get to the left edge of the tile,
-						   or a longword worth, starting at the appropriate
-						   offset in the tile.
-						*/
-						w = min(min(tileWidth - rem, width), BITMAP_SCANLINE_PAD);
-						endinc = rem / BITMAP_SCANLINE_PAD;
-
-						getbits ((psrc+endinc), (rem&PIM), w, tmpsrc);
-#if (MROP) != Mcopy
-						getbits (pdst, (x & PIM), w, tmpdst);
-						tmpsrc = DoMergeRop (tmpsrc, tmpdst);
-#endif
-						putbits (tmpsrc, (x & PIM), w, pdst);
-
-						if((x & PIM) + w >= PPW)
-							pdst++;
-					} else if(((x & PIM) + w) < PPW) {
-						/* doing < PPW bits is easy, and worth special-casing */
-						tmpsrc = *psrc;
-#if (MROP) != Mcopy
-						getbits (pdst, (x & PIM), w, tmpdst);
-						tmpsrc = DoMergeRop (tmpsrc, tmpdst);
-#endif
-						putbits (tmpsrc, (x & PIM), w, pdst);
-					} else {
-						/* start at the left edge of the tile,
-						   and put down as much as we can
-						*/
-						maskbits(x, w, startmask, endmask, nlMiddle);
-
-						if (startmask)
-							nstart = PPW - (x & PIM);
-						else
-							nstart = 0;
-						if (endmask)
-							nend = (x + w)  & PIM;
-						else
-							nend = 0;
-
-						srcStartOver = nstart > PLST;
-
-						if(startmask) {
-							tmpsrc = *psrc;
-#if (MROP) != Mcopy
-							getbits (pdst, (x & PIM), nstart, tmpdst);
-							tmpsrc = DoMergeRop (tmpsrc, tmpdst);
-#endif
-							putbits (tmpsrc, (x & PIM), nstart, pdst);
-							pdst++;
-							if(srcStartOver)
-								psrc++;
-						}
-
-						while(nlMiddle--) {
-							getbits (psrc, nstart, PPW, tmpsrc);
-#if (MROP) != Mcopy
-							tmpdst = *pdst;
-							tmpsrc = DoMergeRop (tmpsrc, tmpdst);
-#endif
-							*pdst++ = tmpsrc;
-							/*putbits (tmpsrc, 0, PPW, pdst);
-							pdst++;*/
-							psrc++;
-						}
-
-						if(endmask) {
-							getbits (psrc, nstart, nend, tmpsrc);
-#if (MROP) != Mcopy
-							tmpdst = *pdst;
-							tmpsrc = DoMergeRop (tmpsrc, tmpdst);
-#endif
-							putbits (tmpsrc, 0, nend, pdst);
-						}
-					 }
-					 x += w;
-					 width -= w;
-				} /* while (width > 0) */
-
-				pStartDst += nlwidth;
-				if (++iy >= tileHeight) {
-					iy = 0;
-					pStartTile = psrcT;
-				} else
-					pStartTile += tlwidth;
-
-			} /* while (h) */
-		} /* for (d = ... ) */
-		pbox++;
-	} /* for each box */
-}
-
-void
-MROP_NAME(afbOpaqueStippleAreaPPW)(pDraw, nbox, pbox, alu, ptile,
-								   rropsOS, planemask)
-	DrawablePtr pDraw;
-	int nbox;
-	BoxPtr pbox;
-	int alu;
-	PixmapPtr ptile;
-	register unsigned char *rropsOS;
-	unsigned long planemask;
-{
-	register PixelType *psrc;
-						/* pointer to bits in tile, if needed */
-	int tileHeight;		/* height of the tile */
-	register PixelType srcpix = 0;
-	int nlwidth;		/* width in longwords of the drawable */
-	int w;				/* width of current box */
-	MROP_DECLARE_REG ()
-	register int h;		/* height of current box */
-	register int nlw;		/* loop version of nlwMiddle */
-	register PixelType *p;		/* pointer to bits we're writing */
-	int sizeDst;
-	int depthDst;
-	register int d;
-	PixelType startmask;
-	PixelType endmask;		/* masks for reggedy bits at either end of line */
-	int nlwMiddle;		/* number of longwords between sides of boxes */
-	int nlwExtra;		/* to get from right of box to left of next span */
-	register int iy;		/* index of current scanline in tile */
-	PixelType *pbits;		/* pointer to start of drawable */
-	PixelType *saveP;
-	int saveH;
-	int saveIY;
-
-	afbGetPixelWidthSizeDepthAndPointer(pDraw, nlwidth, sizeDst, depthDst,
-													 pbits);
-
-	MROP_INITIALIZE(alu,~0)
-
-	tileHeight = ptile->drawable.height;
-	psrc = (PixelType *)(ptile->devPrivate.ptr);
-
-	while (nbox--) {
-		w = pbox->x2 - pbox->x1;
-		saveH = pbox->y2 - pbox->y1;
-		saveIY = pbox->y1 % tileHeight;
-		saveP = afbScanline(pbits, pbox->x1, pbox->y1, nlwidth);
-
-		if ( ((pbox->x1 & PIM) + w) < PPW) {
-			maskpartialbits(pbox->x1, w, startmask);
-			nlwExtra = nlwidth;
-			for (d = 0; d < depthDst; d++, saveP += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-				if (!(planemask & (1 << d)))
-					continue;
-
-				p = saveP;
-				h = saveH;
-				iy = saveIY;
-
-				while (h--) {
-					switch (rropsOS[d]) {
-						case RROP_BLACK:
-							srcpix = 0;
-							break;
-						case RROP_WHITE:
-							srcpix = ~0;
-							break;
-						case RROP_COPY:
-							srcpix = psrc[iy];
-							break;
-						case RROP_INVERT:
-							srcpix = ~psrc[iy];
-							break;
-					}
-					iy++;
-					if (iy == tileHeight)
-						iy = 0;
-					*p = MROP_MASK(srcpix,*p,startmask);
-					afbScanlineInc(p, nlwExtra);
-				}
-			}
-		} else {
-			maskbits(pbox->x1, w, startmask, endmask, nlwMiddle);
-
-			for (d = 0; d < depthDst; d++, saveP += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-				if (!(planemask & (1 << d)))
-					continue;
-
-				p = saveP;
-				h = saveH;
-				iy = saveIY;
-				nlwExtra = nlwidth - nlwMiddle;
-
-				if (startmask && endmask) {
-					nlwExtra -= 1;
-					while (h--) {
-						switch (rropsOS[d]) {
-							case RROP_BLACK:
-								srcpix = 0;
-								break;
-							case RROP_WHITE:
-								srcpix = ~0;
-								break;
-							case RROP_COPY:
-								srcpix = psrc[iy];
-								break;
-							case RROP_INVERT:
-								srcpix = ~psrc[iy];
-								break;
-						}
-						iy++;
-						if (iy == tileHeight)
-							iy = 0;
-						nlw = nlwMiddle;
-						*p = MROP_MASK (srcpix,*p,startmask);
-						p++;
-						while (nlw--) {
-							*p = MROP_SOLID(srcpix,*p);
-							p++;
-						}
-
-						*p = MROP_MASK(srcpix,*p,endmask);
-						afbScanlineInc(p, nlwExtra);
-					}
-				} else if (startmask && !endmask) {
-					nlwExtra -= 1;
-					while (h--) {
-						switch (rropsOS[d]) {
-							case RROP_BLACK:
-								srcpix = 0;
-								break;
-							case RROP_WHITE:
-								srcpix = ~0;
-								break;
-							case RROP_COPY:
-								srcpix = psrc[iy];
-								break;
-							case RROP_INVERT:
-								srcpix = ~psrc[iy];
-								break;
-						}
-						iy++;
-						if (iy == tileHeight)
-							iy = 0;
-						nlw = nlwMiddle;
-						*p = MROP_MASK(srcpix,*p,startmask);
-						p++;
-						while (nlw--) {
-							*p = MROP_SOLID(srcpix,*p);
-							p++;
-						}
-						afbScanlineInc(p, nlwExtra);
-					}
-				} else if (!startmask && endmask) {
-					while (h--) {
-						switch (rropsOS[d]) {
-							case RROP_BLACK:
-								srcpix = 0;
-								break;
-							case RROP_WHITE:
-								srcpix = ~0;
-								break;
-							case RROP_COPY:
-								srcpix = psrc[iy];
-								break;
-							case RROP_INVERT:
-								srcpix = ~psrc[iy];
-								break;
-						}
-						iy++;
-						if (iy == tileHeight)
-							iy = 0;
-						nlw = nlwMiddle;
-						while (nlw--) {
-							*p = MROP_SOLID(srcpix,*p);
-							p++;
-						}
-
-						*p = MROP_MASK(srcpix,*p,endmask);
-						afbScanlineInc(p, nlwExtra);
-					}
-				} else { /* no ragged bits at either end */
-					while (h--) {
-						switch (rropsOS[d]) {
-							case RROP_BLACK:
-								srcpix = 0;
-								break;
-							case RROP_WHITE:
-								srcpix = ~0;
-								break;
-							case RROP_COPY:
-								srcpix = psrc[iy];
-								break;
-							case RROP_INVERT:
-								srcpix = ~psrc[iy];
-								break;
-						}
-						iy++;
-						if (iy == tileHeight)
-							iy = 0;
-						nlw = nlwMiddle;
-						while (nlw--) {
-							*p = MROP_SOLID (srcpix,*p);
-							p++;
-						}
-						afbScanlineInc(p, nlwExtra);
-					}
-				}
-			} /* for (d = ...) */
-		}
-		pbox++;
-	}
-}
-
-void
-MROP_NAME(afbOpaqueStippleArea)(pDraw, nbox, pbox, alu, pTile, xOff, yOff,
-								rropsOS, planemask)
-	DrawablePtr pDraw;
-	int nbox;
-	BoxPtr pbox;
-	int alu;
-	PixmapPtr pTile;
-	int xOff;
-	int yOff;
-	register unsigned char *rropsOS;
-	unsigned long planemask;
-{
-	register PixelType *psrc;
-						/* pointer to bits in tile, if needed */
-	int nlwidth;		/* width in longwords of the drawable */
-	MROP_DECLARE_REG ()
-	register int h;		/* height of current box */
-	register PixelType *pdst;		/* pointer to bits we're writing */
-	register PixelType tmpsrc = 0;
-#if (MROP) != Mcopy
-	register PixelType tmpdst;
-#endif
-	int sizeDst;
-	int depthDst;
-	int tileLine;
-	int iline;
-	int w, width, x, xSrc, ySrc, srcStartOver, nend;
-	int tlwidth, rem, tileWidth, tileHeight, endinc;
-	int saveW;
-	PixelType *psrcT;
-	int d;
-	int nstart;
-	PixelType startmask;
-	PixelType endmask;		/* masks for reggedy bits at either end of line */
-	int nlMiddle;		/* number of longwords between sides of boxes */
-	int iy;
-	PixelType *pBase;		/* pointer to start of drawable */
-	PixelType *saveP;
-	PixelType *pStartDst;
-	PixelType *pStartTile;
-	int saveH;
-
-	afbGetPixelWidthSizeDepthAndPointer(pDraw, nlwidth, sizeDst, depthDst,
-													 pBase);
-
-	MROP_INITIALIZE(alu,~0)
-
-	tileHeight = pTile->drawable.height;
-	tileWidth = pTile->drawable.width;
-	tlwidth = pTile->devKind / sizeof (PixelType);
-
-	xSrc = pDraw->x + ((xOff % tileWidth) - tileWidth);
-	ySrc = pDraw->y + ((yOff % tileHeight) - tileHeight);
-
-	while (nbox--) {
-		saveW = pbox->x2 - pbox->x1;
-		iline = (pbox->y1 - ySrc) % tileHeight;
-		psrcT = (PixelType *) pTile->devPrivate.ptr;
-		tileLine = iline * tlwidth;
-		saveH = pbox->y2 - pbox->y1;
-		saveP = afbScanline(pBase, pbox->x1, pbox->y1, nlwidth);
-
-		for (d = 0; d < depthDst; d++, saveP += sizeDst) {	/* @@@ NEXT PLANE @@@ */
-			if (!(planemask & (1 << d)))
-				continue;
-
-			h = saveH;
-			pStartDst = saveP;
-			pStartTile = psrcT + tileLine;
-			iy = iline;
-
-			while (h--) {
-				x = pbox->x1;
-				width = saveW;
-				pdst = pStartDst;
-				while(width > 0) {
-					psrc = pStartTile;
-					w = min(tileWidth, width);
-					if((rem = (x - xSrc) % tileWidth) != 0) {
-						/* if we're in the middle of the tile, get
-						   as many bits as will finish the span, or
-						   as many as will get to the left edge of the tile,
-						   or a longword worth, starting at the appropriate
-						   offset in the tile.
-						*/
-						w = min(min(tileWidth - rem, width), BITMAP_SCANLINE_PAD);
-						endinc = rem / BITMAP_SCANLINE_PAD;
-
-						switch (rropsOS[d]) {
-							case RROP_BLACK:
-								tmpsrc = 0;
-								break;
-							case RROP_WHITE:
-								tmpsrc = ~0;
-								break;
-
-							case RROP_COPY:
-								getbits ((psrc+endinc), (rem&PIM), w, tmpsrc);
-								break;
-
-							case RROP_INVERT:
-								getbits ((psrc+endinc), (rem&PIM), w, tmpsrc);
-								tmpsrc = ~tmpsrc;
-								break;
-						}
-#if (MROP) != Mcopy
-						getbits (pdst, (x & PIM), w, tmpdst);
-						tmpsrc = DoMergeRop (tmpsrc, tmpdst);
-#endif
-						putbits (tmpsrc, (x & PIM), w, pdst);
-
-						if((x & PIM) + w >= PPW)
-							pdst++;
-					} else if(((x & PIM) + w) < PPW) {
-						/* doing < PPW bits is easy, and worth special-casing */
-						switch (rropsOS[d]) {
-							case RROP_BLACK:
-								tmpsrc = 0;
-								break;
-							case RROP_WHITE:
-								tmpsrc = ~0;
-								break;
-							case RROP_COPY:
-								tmpsrc = *psrc;
-								break;
-							case RROP_INVERT:
-								tmpsrc = ~*psrc;
-								break;
-						}
-#if (MROP) != Mcopy
-						getbits (pdst, (x & PIM), w, tmpdst);
-						tmpsrc = DoMergeRop (tmpsrc, tmpdst);
-#endif
-						putbits (tmpsrc, (x & PIM), w, pdst);
-					} else {
-						/* start at the left edge of the tile,
-						   and put down as much as we can
-						*/
-						maskbits(x, w, startmask, endmask, nlMiddle);
-
-						if (startmask)
-							nstart = PPW - (x & PIM);
-						else
-							nstart = 0;
-						if (endmask)
-							nend = (x + w)  & PIM;
-						else
-							nend = 0;
-
-						srcStartOver = nstart > PLST;
-
-						if(startmask) {
-						switch (rropsOS[d]) {
-							case RROP_BLACK:
-								tmpsrc = 0;
-								break;
-							case RROP_WHITE:
-								tmpsrc = ~0;
-								break;
-							case RROP_COPY:
-								tmpsrc = *psrc;
-								break;
-							case RROP_INVERT:
-								tmpsrc = ~*psrc;
-								break;
-						}
-#if (MROP) != Mcopy
-							getbits (pdst, (x & PIM), nstart, tmpdst);
-							tmpsrc = DoMergeRop (tmpsrc, tmpdst);
-#endif
-							putbits (tmpsrc, (x & PIM), nstart, pdst);
-							pdst++;
-							if(srcStartOver)
-								psrc++;
-						}
-
-						while(nlMiddle--) {
-						switch (rropsOS[d]) {
-							case RROP_BLACK:
-								tmpsrc = 0;
-								break;
-							case RROP_WHITE:
-								tmpsrc = ~0;
-								break;
-							case RROP_COPY:
-								getbits (psrc, nstart, PPW, tmpsrc);
-								break;
-							case RROP_INVERT:
-								getbits (psrc, nstart, PPW, tmpsrc);
-								tmpsrc = ~tmpsrc;
-								break;
-						}
-#if (MROP) != Mcopy
-							tmpdst = *pdst;
-							tmpsrc = DoMergeRop (tmpsrc, tmpdst);
-#endif
-							*pdst++ = tmpsrc;
-							/*putbits (tmpsrc, 0, PPW, pdst);
-							pdst++; */
-							psrc++;
-						}
-
-						if(endmask) {
-						switch (rropsOS[d]) {
-							case RROP_BLACK:
-								tmpsrc = 0;
-								break;
-							case RROP_WHITE:
-								tmpsrc = ~0;
-								break;
-
-							case RROP_COPY:
-								getbits (psrc, nstart, nend, tmpsrc);
-								break;
-
-							case RROP_INVERT:
-								getbits (psrc, nstart, nend, tmpsrc);
-								tmpsrc = ~tmpsrc;
-								break;
-						}
-#if (MROP) != Mcopy
-							tmpdst = *pdst;
-							tmpsrc = DoMergeRop (tmpsrc, tmpdst);
-#endif
-							putbits (tmpsrc, 0, nend, pdst);
-						}
-					 }
-					 x += w;
-					 width -= w;
-				} /* while (width > 0) */
-
-				pStartDst += nlwidth;
-				if (++iy >= tileHeight) {
-					iy = 0;
-					pStartTile = psrcT;
-				} else
-					pStartTile += tlwidth;
-
-			} /* while (h) */
-		} /* for (d = ... ) */
-		pbox++;
-	} /* for each box */
-}
diff --git a/afb/afbwindow.c b/afb/afbwindow.c
deleted file mode 100644
index c0dee98..0000000
--- a/afb/afbwindow.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-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 Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL 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_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <stdlib.h>
-
-#include <X11/X.h>
-#include "scrnintstr.h"
-#include "windowstr.h"
-#include "privates.h"
-#include "afb.h"
-#include "mistruct.h"
-#include "regionstr.h"
-#include "maskbits.h"
-
-Bool
-afbCreateWindow(WindowPtr pWin)
-{
-	return (TRUE);
-}
-
-/* This always returns true, because Xfree can't fail.  It might be possible
- * on some devices for Destroy to fail */
-Bool
-afbDestroyWindow(WindowPtr pWin)
-{
-	return (TRUE);
-}
-
-/*ARGSUSED*/
-Bool
-afbMapWindow(pWindow)
-	WindowPtr pWindow;
-{
-	return (TRUE);
-}
-
-/*ARGSUSED*/
-Bool
-afbPositionWindow(WindowPtr pWin, int x, int y)
-{
-	/* This is the "wrong" fix to the right problem, but it doesn't really
-	 * cost very much.  When the window is moved, we need to invalidate any
-	 * RotatedPixmap that exists in any GC currently validated against this
-	 * window.
-	 */
-	pWin->drawable.serialNumber = NEXT_SERIAL_NUMBER;
-
-	/* Again, we have no failure modes indicated by any of the routines
-	 * we've called, so we have to assume it worked */
-	return (TRUE);
-}
-
-/*ARGSUSED*/
-Bool
-afbUnmapWindow(pWindow)
-	WindowPtr pWindow;
-{
-	return (TRUE);
-}
-
-/* UNCLEAN!
-   this code calls the bitblt helper code directly.
-
-   afbCopyWindow copies only the parts of the destination that are
-visible in the source.
-*/
-
-
-void
-afbCopyWindow(pWin, ptOldOrg, prgnSrc)
-	WindowPtr pWin;
-	DDXPointRec ptOldOrg;
-	RegionPtr prgnSrc;
-{
-	DDXPointPtr pptSrc;
-	register DDXPointPtr ppt;
-	RegionPtr prgnDst;
-	register BoxPtr pbox;
-	register int dx, dy;
-	register int i, nbox;
-	WindowPtr pwinRoot;
-
-	pwinRoot = WindowTable[pWin->drawable.pScreen->myNum];
-
-	prgnDst = REGION_CREATE(pWin->drawable.pScreen, NULL, 1);
-
-	dx = ptOldOrg.x - pWin->drawable.x;
-	dy = ptOldOrg.y - pWin->drawable.y;
-	REGION_TRANSLATE(pWin->drawable.pScreen, prgnSrc, -dx, -dy);
-	REGION_INTERSECT(pWin->drawable.pScreen, prgnDst, &pWin->borderClip,
-						  prgnSrc);
-
-	pbox = REGION_RECTS(prgnDst);
-	nbox = REGION_NUM_RECTS(prgnDst);
-	if(!(pptSrc = (DDXPointPtr )xalloc(nbox * sizeof(DDXPointRec))))
-		return;
-	ppt = pptSrc;
-
-	for (i=nbox; --i >= 0; ppt++, pbox++) {
-		ppt->x = pbox->x1 + dx;
-		ppt->y = pbox->y1 + dy;
-	}
-
-	afbDoBitblt((DrawablePtr)pwinRoot, (DrawablePtr)pwinRoot, GXcopy, prgnDst,
-					 pptSrc, ~0);
-	xfree(pptSrc);
-	REGION_DESTROY(pWin->drawable.pScreen, prgnDst);
-}
-
-Bool
-afbChangeWindowAttributes(WindowPtr pWin, unsigned long mask)
-{
-	return (TRUE);
-}
diff --git a/afb/afbzerarc.c b/afb/afbzerarc.c
deleted file mode 100644
index e53488e..0000000
--- a/afb/afbzerarc.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/************************************************************
-
-Copyright (c) 1989  X Consortium
-
-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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM 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.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-********************************************************/
-
-
-/* Derived from:
- * "Algorithm for drawing ellipses or hyperbolae with a digital plotter"
- * by M. L. V. Pitteway
- * The Computer Journal, November 1967, Volume 10, Number 3, pp. 282-289
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include <X11/Xprotostr.h>
-#include "regionstr.h"
-#include "gcstruct.h"
-#include "pixmapstr.h"
-#include "scrnintstr.h"
-#include "afb.h"
-#include "maskbits.h"
-#include "mizerarc.h"
-#include "mi.h"
-
-/*
- * Note: LEFTMOST must be the bit leftmost in the actual screen
- * representation.  This depends also on the IMAGE_BYTE_ORDER.
- * LONG2CHARS() takes care of the re-ordering as required. (DHD)
- */
-#if (BITMAP_BIT_ORDER == MSBFirst)
-#define LEFTMOST		((PixelType) LONG2CHARS((1 << PLST)))
-#else
-#define LEFTMOST		((PixelType) LONG2CHARS(1))
-#endif
-
-#define Pixelate(base,yoff,xoff) \
-{ \
-	paddr = afbScanlineOffset(base, (yoff) + ((xoff)>>PWSH)); \
-	pmask = SCRRIGHT(LEFTMOST, (xoff) & PIM); \
-	for (de = 0; de < depthDst; de++, paddr += sizeDst) /* @@@ NEXT PLANE @@@ */ \
-		switch (rrops[de]) { \
-			case RROP_BLACK: \
-				*paddr &= ~pmask; \
-				break; \
-			case RROP_WHITE: \
-				*paddr |= pmask; \
-				break; \
-			case RROP_INVERT: \
-				*paddr ^= pmask; \
-				break; \
-			case RROP_NOP: \
-				break; \
-		} \
-}
-
-#define DoPix(bit,base,yoff,xoff) if (mask & bit) Pixelate(base,yoff,xoff);
-
-static void
-afbZeroArcSS(DrawablePtr pDraw, GCPtr pGC, xArc *arc)
-{
-	miZeroArcRec info;
-	Bool do360;
-	register int de;
-	register int x, y, a, b, d, mask;
-	register int k1, k3, dx, dy;
-	PixelType *addrl;
-	PixelType *yorgl, *yorgol;
-	int nlwidth, yoffset, dyoffset;
-	int sizeDst, depthDst;
-	PixelType pmask;
-	register PixelType *paddr;
-	register unsigned char *rrops;
-
-	rrops = ((afbPrivGC *)dixLookupPrivate(&pGC->devPrivates,
-					       afbGCPrivateKey))->rrops;
-	afbGetPixelWidthSizeDepthAndPointer(pDraw, nlwidth, sizeDst, depthDst,
-													 addrl);
-	do360 = miZeroArcSetup(arc, &info, TRUE);
-	yorgl = addrl + ((info.yorg + pDraw->y) * nlwidth);
-	yorgol = addrl + ((info.yorgo + pDraw->y) * nlwidth);
-	info.xorg += pDraw->x;
-	info.xorgo += pDraw->x;
-	MIARCSETUP();
-	yoffset = y ? nlwidth : 0;
-	dyoffset = 0;
-	mask = info.initialMask;
-	if (!(arc->width & 1)) {
-		DoPix(2, yorgl, 0, info.xorgo);
-		DoPix(8, yorgol, 0, info.xorgo);
-	}
-	if (!info.end.x || !info.end.y) {
-		mask = info.end.mask;
-		info.end = info.altend;
-	}
-	if (do360 && (arc->width == arc->height) && !(arc->width & 1)) {
-		int xoffset = nlwidth;
-		PixelType *yorghl = afbScanlineDeltaNoBankSwitch(yorgl, info.h, nlwidth);
-		int xorghp = info.xorg + info.h;
-		int xorghn = info.xorg - info.h;
-
-		while (1) {
-			Pixelate(yorgl, yoffset, info.xorg + x);
-			Pixelate(yorgl, yoffset, info.xorg - x);
-			Pixelate(yorgol, -yoffset, info.xorg - x);
-			Pixelate(yorgol, -yoffset, info.xorg + x);
-			if (a < 0)
-				break;
-			Pixelate(yorghl, -xoffset, xorghp - y);
-			Pixelate(yorghl, -xoffset, xorghn + y);
-			Pixelate(yorghl, xoffset, xorghn + y);
-			Pixelate(yorghl, xoffset, xorghp - y);
-			xoffset += nlwidth;
-			MIARCCIRCLESTEP(yoffset += nlwidth;);
-		}
-		x = info.w;
-		yoffset = info.h * nlwidth;
-	} else if (do360) {
-		while (y < info.h || x < info.w) {
-			MIARCOCTANTSHIFT(dyoffset = nlwidth;);
-			Pixelate(yorgl, yoffset, info.xorg + x);
-			Pixelate(yorgl, yoffset, info.xorgo - x);
-			Pixelate(yorgol, -yoffset, info.xorgo - x);
-			Pixelate(yorgol, -yoffset, info.xorg + x);
-			MIARCSTEP(yoffset += dyoffset;, yoffset += nlwidth;);
-		}
-	} else {
-		while (y < info.h || x < info.w) {
-			MIARCOCTANTSHIFT(dyoffset = nlwidth;);
-			if ((x == info.start.x) || (y == info.start.y)) {
-				mask = info.start.mask;
-				info.start = info.altstart;
-			}
-			DoPix(1, yorgl, yoffset, info.xorg + x);
-			DoPix(2, yorgl, yoffset, info.xorgo - x);
-			DoPix(4, yorgol, -yoffset, info.xorgo - x);
-			DoPix(8, yorgol, -yoffset, info.xorg + x);
-			if ((x == info.end.x) || (y == info.end.y)) {
-				mask = info.end.mask;
-				info.end = info.altend;
-			}
-			MIARCSTEP(yoffset += dyoffset;, yoffset += nlwidth;);
-		}
-	}
-	if ((x == info.start.x) || (y == info.start.y))
-		mask = info.start.mask;
-	DoPix(1, yorgl, yoffset, info.xorg + x);
-	DoPix(4, yorgol, -yoffset, info.xorgo - x);
-	if (arc->height & 1) {
-		DoPix(2, yorgl, yoffset, info.xorgo - x);
-		DoPix(8, yorgol, -yoffset, info.xorg + x);
-	}
-}
-
-void
-afbZeroPolyArcSS(DrawablePtr pDraw, GCPtr pGC, int narcs, xArc *parcs)
-{
-	register xArc *arc;
-	register int i;
-	BoxRec box;
-	RegionPtr cclip;
-
-	cclip = pGC->pCompositeClip;
-	for (arc = parcs, i = narcs; --i >= 0; arc++) {
-		if (miCanZeroArc(arc)) {
-			box.x1 = arc->x + pDraw->x;
-			box.y1 = arc->y + pDraw->y;
-			box.x2 = box.x1 + (int)arc->width + 1;
-			box.y2 = box.y1 + (int)arc->height + 1;
-			if (RECT_IN_REGION(pDraw->pScreen, cclip, &box) == rgnIN)
-				afbZeroArcSS(pDraw, pGC, arc);
-			else
-				miZeroPolyArc(pDraw, pGC, 1, arc);
-		} else
-			miPolyArc(pDraw, pGC, 1, arc);
-	}
-}
diff --git a/configure.ac b/configure.ac
index 7c749f5..8a1b73f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -573,7 +573,6 @@ AC_ARG_ENABLE(xglx,           AS_HELP_STRING([--enable-xglx], [Build Xglx xgl mo
 AC_ARG_ENABLE(xegl,           AS_HELP_STRING([--enable-xegl], [Build Xegl xgl module (default: no)]), [XEGL=$enableval], [XEGL=no])
 dnl legacy fb support
 AC_ARG_ENABLE(mfb,            AS_HELP_STRING([--enable-mfb], [Build legacy mono framebuffer support (default: disable)]), [MFB=$enableval], [MFB=no])
-AC_ARG_ENABLE(afb,            AS_HELP_STRING([--enable-afb], [Build legacy advanced framebuffer support (default: disable)]), [AFB=$enableval], [AFB=no])
 dnl kdrive and its subsystems
 AC_ARG_ENABLE(kdrive,         AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no])
 AC_ARG_ENABLE(xephyr,         AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto])
@@ -1581,10 +1580,8 @@ AM_CONDITIONAL([XF86VIDMODE], [test "x$XF86VIDMODE" = xyes])
 
 dnl legacy fb support
 test "x$MFB" = xauto && MFB="$XORG"
-test "x$AFB" = xauto && AFB="$XORG"
 AM_CONDITIONAL(MFB, [test "x$MFB" = xyes])
-AM_CONDITIONAL(AFB, [test "x$AFB" = xyes])
-if test "x$MFB" = xyes -o "x$AFB" = xyes; then
+if test "x$MFB" = xyes; then
 	if test "x$XORG" != xyes; then
 		AC_MSG_ERROR([legacy fb support requires the Xorg server])
 	fi
@@ -1992,7 +1989,6 @@ AC_OUTPUT([
 Makefile
 glx/Makefile
 include/Makefile
-afb/Makefile
 composite/Makefile
 damageext/Makefile
 dbe/Makefile
diff --git a/hw/xfree86/dixmods/Makefile.am b/hw/xfree86/dixmods/Makefile.am
index 9045079..bb79c9c 100644
--- a/hw/xfree86/dixmods/Makefile.am
+++ b/hw/xfree86/dixmods/Makefile.am
@@ -14,10 +14,6 @@ if DBE
 DBEMOD = libdbe.la
 endif
 
-if AFB
-AFBMOD = libafb.la
-endif
-
 if MFB
 MFBMOD = libmfb.la
 endif
@@ -26,8 +22,7 @@ if RECORD
 RECORDMOD = librecord.la
 endif
 
-module_LTLIBRARIES = $(AFBMOD) \
-                     libfb.la \
+module_LTLIBRARIES = libfb.la \
                      libwfb.la \
                      $(MFBMOD) \
                      libshadow.la
@@ -48,10 +43,6 @@ INCLUDES = @XORG_INCS@ \
            -I$(top_srcdir)/miext/shadow \
            -I$(top_srcdir)/glx
 
-libafb_la_LDFLAGS = -avoid-version
-libafb_la_LIBADD = $(top_builddir)/afb/libafb.la
-libafb_la_SOURCES = afbmodule.c
-
 libdbe_la_LDFLAGS = -avoid-version
 libdbe_la_LIBADD = $(top_builddir)/dbe/libdbe.la
 libdbe_la_SOURCES = dbemodule.c
diff --git a/hw/xfree86/dixmods/afbmodule.c b/hw/xfree86/dixmods/afbmodule.c
deleted file mode 100644
index b0aea6d..0000000
--- a/hw/xfree86/dixmods/afbmodule.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 1998 The XFree86 Project, Inc.  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, sublicense, 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL THE
- * XFREE86 PROJECT 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.
- *
- * Except as contained in this notice, the name of the XFree86 Project shall
- * not be used in advertising or otherwise to promote the sale, use or other
- * dealings in this Software without prior written authorization from the
- * XFree86 Project.
- */
-
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include "xf86Module.h"
-
-static MODULESETUPPROTO(afbSetup);
-
-static XF86ModuleVersionInfo VersRec =
-{
-	"afb",
-	MODULEVENDORSTRING,
-	MODINFOSTRING1,
-	MODINFOSTRING2,
-	XORG_VERSION_CURRENT,
-	1, 0, 0,
-	ABI_CLASS_ANSIC,		/* Only need the ansic layer */
-	ABI_ANSIC_VERSION,
-	MOD_CLASS_NONE,
-	{0,0,0,0}       /* signature, to be patched into the file by a tool */
-};
-
-_X_EXPORT XF86ModuleData afbModuleData = { &VersRec, afbSetup, NULL };
-
-static pointer
-afbSetup(pointer module, pointer opts, int *errmaj, int *errmin)
-{
-    /* This modules requires mfb, so load it */
-    return LoadSubModule(module, "mfb", NULL, NULL, NULL, NULL,
-                         errmaj, errmin);
-}
commit c76fddeea28b4f88db97a2a3487d7a57cd9d578c
Author: Dan Nicholson <dbn.lists at gmail.com>
Date:   Wed May 21 10:51:15 2008 -0700

    Fix up paths for GL/glx -> glx renaming

diff --git a/hw/kdrive/ephyr/ephyrglxext.c b/hw/kdrive/ephyr/ephyrglxext.c
index 2e08e39..63c4ced 100644
--- a/hw/kdrive/ephyr/ephyrglxext.c
+++ b/hw/kdrive/ephyr/ephyrglxext.c
@@ -35,10 +35,10 @@
 #define _HAVE_XALLOC_DECLS
 #include "ephyrlog.h"
 #include <GL/glxproto.h>
-#include "GL/glx/glxserver.h"
-#include "GL/glx/indirect_table.h"
-#include "GL/glx/indirect_util.h"
-#include "GL/glx/unpack.h"
+#include "glx/glxserver.h"
+#include "glx/indirect_table.h"
+#include "glx/indirect_util.h"
+#include "glx/unpack.h"
 #include "hostx.h"
 
 
diff --git a/hw/xfree86/dixmods/Makefile.am b/hw/xfree86/dixmods/Makefile.am
index beff9b1..9045079 100644
--- a/hw/xfree86/dixmods/Makefile.am
+++ b/hw/xfree86/dixmods/Makefile.am
@@ -46,7 +46,7 @@ INCLUDES = @XORG_INCS@ \
            -I$(top_srcdir)/dbe \
            -I$(top_srcdir)/hw/xfree86/loader \
            -I$(top_srcdir)/miext/shadow \
-           -I$(top_srcdir)/GL/glx
+           -I$(top_srcdir)/glx
 
 libafb_la_LDFLAGS = -avoid-version
 libafb_la_LIBADD = $(top_builddir)/afb/libafb.la
@@ -68,10 +68,10 @@ libwfb_la_CFLAGS = $(AM_CFLAGS) -DFB_ACCESS_WRAPPER
 
 libglx_la_LDFLAGS = -avoid-version
 if AIGLX
-GLXDRI_LIBRARY = $(top_builddir)/GL/glx/libglxdri.la
+GLXDRI_LIBRARY = $(top_builddir)/glx/libglxdri.la
 endif
 libglx_la_LIBADD = \
-	$(top_builddir)/GL/glx/libglx.la \
+	$(top_builddir)/glx/libglx.la \
 	$(GLXDRI_LIBRARY)
 libglx_la_SOURCES = glxmodule.c
 
diff --git a/hw/xfree86/dri/Makefile.am b/hw/xfree86/dri/Makefile.am
index ff71731..e17cea7 100644
--- a/hw/xfree86/dri/Makefile.am
+++ b/hw/xfree86/dri/Makefile.am
@@ -2,7 +2,7 @@ libdri_la_LTLIBRARIES = libdri.la
 libdri_la_CFLAGS = -I$(top_srcdir)/hw/xfree86/common \
                    -I$(top_srcdir)/hw/xfree86/os-support \
                    -I$(top_srcdir)/hw/xfree86/os-support/bus \
-                   -I$(top_srcdir)/GL/glx \
+                   -I$(top_srcdir)/glx \
                    -I$(top_srcdir)/GL/include \
                    -I$(top_builddir)/GL/include \
                    -DHAVE_XORG_CONFIG_H \
diff --git a/hw/xgl/Makefile.am b/hw/xgl/Makefile.am
index ef9fc0e..8df8ae9 100644
--- a/hw/xgl/Makefile.am
+++ b/hw/xgl/Makefile.am
@@ -22,7 +22,7 @@ AM_CFLAGS = \
 	 $(DIX_CFLAGS) \
 	-DHAVE_XGL_CONFIG_H \
 	-DHAVE_DIX_CONFIG_H \
-	-I$(top_srcdir)/GL/glx			\
+	-I$(top_srcdir)/glx			\
 	-I$(top_srcdir)/GL/include		\
 	-I at MESA_SOURCE@/include \
 	-I at MESA_SOURCE@/src/mesa/glapi \
diff --git a/hw/xgl/glx/Makefile.am b/hw/xgl/glx/Makefile.am
index 314c02e..ea34ea4 100644
--- a/hw/xgl/glx/Makefile.am
+++ b/hw/xgl/glx/Makefile.am
@@ -11,7 +11,7 @@ SUBDIRS =		  \
 AM_CFLAGS = \
 	-I$(srcdir)/.. \
 	-I$(srcdir)/../glxext \
-	-I$(top_srcdir)/GL/glx \
+	-I$(top_srcdir)/glx \
 	-I$(top_srcdir)/GL/include \
 	-I at MESA_SOURCE@/include \
 	-I at MESA_SOURCE@/src/mesa/glapi \
diff --git a/hw/xgl/glxext/Makefile.am b/hw/xgl/glxext/Makefile.am
index 98a9b13..f79b855 100644
--- a/hw/xgl/glxext/Makefile.am
+++ b/hw/xgl/glxext/Makefile.am
@@ -5,7 +5,7 @@ AM_CFLAGS =		 \
 	-DHAVE_XGL_CONFIG_H \
 	-DHAVE_DIX_CONFIG_H \
 	$(XGLMODULES_CFLAGS) \
-	-I$(top_srcdir)/GL/glx \
+	-I$(top_srcdir)/glx \
 	-I$(top_srcdir)/GL/include \
 	-I$(top_srcdir)/hw/xgl \
 	-I at MESA_SOURCE@/include \
diff --git a/hw/xgl/glxext/module/Makefile.am b/hw/xgl/glxext/module/Makefile.am
index 4633f7f..67653cd 100644
--- a/hw/xgl/glxext/module/Makefile.am
+++ b/hw/xgl/glxext/module/Makefile.am
@@ -7,7 +7,7 @@ AM_CFLAGS = \
 
 libglx_la_LDFLAGS = -avoid-version
 libglx_la_SOURCES = glxmodule.c
-libglx_la_LIBADD  = $(top_builddir)/GL/glx/libglx.la
+libglx_la_LIBADD  = $(top_builddir)/glx/libglx.la
 libglx_modules    = libglx.la
 
 libglcore_la_LDFLAGS = -avoid-version
diff --git a/hw/xquartz/GL/Makefile.am b/hw/xquartz/GL/Makefile.am
index 41d4566..450ee5c 100644
--- a/hw/xquartz/GL/Makefile.am
+++ b/hw/xquartz/GL/Makefile.am
@@ -2,7 +2,7 @@ noinst_LTLIBRARIES = libCGLCore.la
 AM_CFLAGS = $(XSERVER_CFLAGS) $(DIX_CFLAGS)
 AM_CPPFLAGS = \
 	-I$(top_srcdir) \
-	-I$(top_srcdir)/GL/glx \
+	-I$(top_srcdir)/glx \
 	-I$(top_srcdir)/GL/include \
 	-I$(top_srcdir)/GL/mesa/glapi \
 	-I$(top_srcdir)/hw/xquartz \
commit c3eb5b80d8cc7ca6a425ccf359718d1ef3d5af55
Author: Kristian Høgsberg <krh at redhat.com>
Date:   Wed May 21 13:33:36 2008 -0400

    Move GL/glx on level up now that it's the only thing left under GL.

diff --git a/GL/Makefile.am b/GL/Makefile.am
deleted file mode 100644
index c3ac155..0000000
--- a/GL/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-SUBDIRS = glx
-
-WINDOWS_EXTRAS = \
-	windows/ChangeLog \
-	windows/glwindows.h \
-	windows/glwrap.c \
-	windows/indirect.c
-
-EXTRA_DIST = symlink-mesa.sh $(WINDOWS_EXTRAS)
diff --git a/GL/glx/Makefile.am b/GL/glx/Makefile.am
deleted file mode 100644
index f62d2ed..0000000
--- a/GL/glx/Makefile.am
+++ /dev/null
@@ -1,88 +0,0 @@
-if AIGLX
-GLXDRI_LIBRARY = libglxdri.la
-endif
-
-noinst_LTLIBRARIES = libglx.la $(GLXDRI_LIBRARY)
-
-AM_CFLAGS = \
-	@DIX_CFLAGS@ \
-	@GL_CFLAGS@ \
-	@XLIB_CFLAGS@ \
-	@LIBDRM_CFLAGS@ \
-	@DRIPROTO_CFLAGS@ \
-	-DXFree86Server \
-	@GLX_DEFINES@ \
-	@GLX_ARCH_DEFINES@
-
-# none yet
-#sdk_HEADERS =
-
-INCLUDES = \
-	-I$(top_srcdir)/hw/xfree86/os-support \
-	-I$(top_srcdir)/hw/xfree86/os-support/bus \
-	-I$(top_srcdir)/hw/xfree86/common \
-	-I$(top_srcdir)/hw/xfree86/dri \
-	-I$(top_srcdir)/hw/xfree86/dri2 \
-	-I$(top_srcdir)/mi
-
-glapi_sources =					\
-	indirect_dispatch.c			\
-	indirect_dispatch.h			\
-	indirect_dispatch_swap.c		\
-	indirect_reqsize.c			\
-	indirect_reqsize.h			\
-	indirect_size.h				\
-	indirect_size_get.c			\
-	indirect_size_get.h			\
-	indirect_table.c			\
-	dispatch.h				\
-	glapitable.h				\
-	glapitemp.h				\
-	glapi.c					\
-	glapi.h					\
-	glthread.c				\
-	glthread.h
-
-libglxdri_la_SOURCES = \
-        glxdri.c \
-        glxdri2.c \
-        extension_string.c \
-        extension_string.h
-
-libglx_la_SOURCES = \
-	$(indirect_sources) \
-	$(glapi_sources) \
-	indirect_util.c \
-	indirect_util.h \
-	indirect_program.c \
-	indirect_table.h \
-	indirect_texture_compression.c \
-        g_disptab.h \
-        glxbyteorder.h \
-        glxcmds.c \
-        glxcmdsswap.c \
-        glxcontext.h \
-        glxdrawable.h \
-        glxext.c \
-        glxext.h \
-	glxdriswrast.c \
-	glxdricommon.c \
-        glxscreens.c \
-        glxscreens.h \
-        glxserver.h \
-        glxutil.c \
-        glxutil.h \
-        render2.c \
-        render2swap.c \
-        renderpix.c \
-        renderpixswap.c \
-        rensize.c \
-        single2.c \
-        single2swap.c \
-        singlepix.c \
-        singlepixswap.c \
-        singlesize.c \
-        singlesize.h \
-        swap_interval.c \
-        unpack.h \
-        xfont.c
diff --git a/GL/glx/dispatch.h b/GL/glx/dispatch.h
deleted file mode 100644
index 7123156..0000000
--- a/GL/glx/dispatch.h
+++ /dev/null
@@ -1,3829 +0,0 @@
-/* DO NOT EDIT - This file generated automatically by gl_table.py (from Mesa) script */
-
-/*
- * (C) Copyright IBM Corporation 2005
- * 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.
- */
-
-#if !defined( _DISPATCH_H_ )
-#  define _DISPATCH_H_
-
-/**
- * \file dispatch.h
- * Macros for handling GL dispatch tables.
- *
- * For each known GL function, there are 3 macros in this file.  The first
- * macro is named CALL_FuncName and is used to call that GL function using
- * the specified dispatch table.  The other 2 macros, called GET_FuncName
- * can SET_FuncName, are used to get and set the dispatch pointer for the
- * named function in the specified dispatch table.
- */
-
-#define CALL_by_offset(disp, cast, offset, parameters) \
-    (*(cast (GET_by_offset(disp, offset)))) parameters
-#define GET_by_offset(disp, offset) \
-    (offset >= 0) ? (((_glapi_proc *)(disp))[offset]) : NULL
-#define SET_by_offset(disp, offset, fn) \
-    do { \
-        if ( (offset) < 0 ) { \
-            /* fprintf( stderr, "[%s:%u] SET_by_offset(%p, %d, %s)!\n", */ \
-            /*         __func__, __LINE__, disp, offset, # fn); */ \
-            /* abort(); */ \
-        } \
-        else { \
-            ( (_glapi_proc *) (disp) )[offset] = (_glapi_proc) fn; \
-        } \
-    } while(0)
-
-#define CALL_NewList(disp, parameters) (*((disp)->NewList)) parameters
-#define GET_NewList(disp) ((disp)->NewList)
-#define SET_NewList(disp, fn) ((disp)->NewList = fn)
-#define CALL_EndList(disp, parameters) (*((disp)->EndList)) parameters
-#define GET_EndList(disp) ((disp)->EndList)
-#define SET_EndList(disp, fn) ((disp)->EndList = fn)
-#define CALL_CallList(disp, parameters) (*((disp)->CallList)) parameters
-#define GET_CallList(disp) ((disp)->CallList)
-#define SET_CallList(disp, fn) ((disp)->CallList = fn)
-#define CALL_CallLists(disp, parameters) (*((disp)->CallLists)) parameters
-#define GET_CallLists(disp) ((disp)->CallLists)
-#define SET_CallLists(disp, fn) ((disp)->CallLists = fn)
-#define CALL_DeleteLists(disp, parameters) (*((disp)->DeleteLists)) parameters
-#define GET_DeleteLists(disp) ((disp)->DeleteLists)
-#define SET_DeleteLists(disp, fn) ((disp)->DeleteLists = fn)
-#define CALL_GenLists(disp, parameters) (*((disp)->GenLists)) parameters
-#define GET_GenLists(disp) ((disp)->GenLists)
-#define SET_GenLists(disp, fn) ((disp)->GenLists = fn)
-#define CALL_ListBase(disp, parameters) (*((disp)->ListBase)) parameters
-#define GET_ListBase(disp) ((disp)->ListBase)
-#define SET_ListBase(disp, fn) ((disp)->ListBase = fn)
-#define CALL_Begin(disp, parameters) (*((disp)->Begin)) parameters
-#define GET_Begin(disp) ((disp)->Begin)
-#define SET_Begin(disp, fn) ((disp)->Begin = fn)
-#define CALL_Bitmap(disp, parameters) (*((disp)->Bitmap)) parameters
-#define GET_Bitmap(disp) ((disp)->Bitmap)
-#define SET_Bitmap(disp, fn) ((disp)->Bitmap = fn)
-#define CALL_Color3b(disp, parameters) (*((disp)->Color3b)) parameters
-#define GET_Color3b(disp) ((disp)->Color3b)
-#define SET_Color3b(disp, fn) ((disp)->Color3b = fn)
-#define CALL_Color3bv(disp, parameters) (*((disp)->Color3bv)) parameters
-#define GET_Color3bv(disp) ((disp)->Color3bv)
-#define SET_Color3bv(disp, fn) ((disp)->Color3bv = fn)
-#define CALL_Color3d(disp, parameters) (*((disp)->Color3d)) parameters
-#define GET_Color3d(disp) ((disp)->Color3d)
-#define SET_Color3d(disp, fn) ((disp)->Color3d = fn)
-#define CALL_Color3dv(disp, parameters) (*((disp)->Color3dv)) parameters
-#define GET_Color3dv(disp) ((disp)->Color3dv)
-#define SET_Color3dv(disp, fn) ((disp)->Color3dv = fn)
-#define CALL_Color3f(disp, parameters) (*((disp)->Color3f)) parameters
-#define GET_Color3f(disp) ((disp)->Color3f)
-#define SET_Color3f(disp, fn) ((disp)->Color3f = fn)
-#define CALL_Color3fv(disp, parameters) (*((disp)->Color3fv)) parameters
-#define GET_Color3fv(disp) ((disp)->Color3fv)
-#define SET_Color3fv(disp, fn) ((disp)->Color3fv = fn)
-#define CALL_Color3i(disp, parameters) (*((disp)->Color3i)) parameters
-#define GET_Color3i(disp) ((disp)->Color3i)
-#define SET_Color3i(disp, fn) ((disp)->Color3i = fn)
-#define CALL_Color3iv(disp, parameters) (*((disp)->Color3iv)) parameters
-#define GET_Color3iv(disp) ((disp)->Color3iv)
-#define SET_Color3iv(disp, fn) ((disp)->Color3iv = fn)
-#define CALL_Color3s(disp, parameters) (*((disp)->Color3s)) parameters
-#define GET_Color3s(disp) ((disp)->Color3s)
-#define SET_Color3s(disp, fn) ((disp)->Color3s = fn)
-#define CALL_Color3sv(disp, parameters) (*((disp)->Color3sv)) parameters
-#define GET_Color3sv(disp) ((disp)->Color3sv)
-#define SET_Color3sv(disp, fn) ((disp)->Color3sv = fn)
-#define CALL_Color3ub(disp, parameters) (*((disp)->Color3ub)) parameters
-#define GET_Color3ub(disp) ((disp)->Color3ub)
-#define SET_Color3ub(disp, fn) ((disp)->Color3ub = fn)
-#define CALL_Color3ubv(disp, parameters) (*((disp)->Color3ubv)) parameters
-#define GET_Color3ubv(disp) ((disp)->Color3ubv)
-#define SET_Color3ubv(disp, fn) ((disp)->Color3ubv = fn)
-#define CALL_Color3ui(disp, parameters) (*((disp)->Color3ui)) parameters
-#define GET_Color3ui(disp) ((disp)->Color3ui)
-#define SET_Color3ui(disp, fn) ((disp)->Color3ui = fn)
-#define CALL_Color3uiv(disp, parameters) (*((disp)->Color3uiv)) parameters
-#define GET_Color3uiv(disp) ((disp)->Color3uiv)
-#define SET_Color3uiv(disp, fn) ((disp)->Color3uiv = fn)
-#define CALL_Color3us(disp, parameters) (*((disp)->Color3us)) parameters
-#define GET_Color3us(disp) ((disp)->Color3us)
-#define SET_Color3us(disp, fn) ((disp)->Color3us = fn)
-#define CALL_Color3usv(disp, parameters) (*((disp)->Color3usv)) parameters
-#define GET_Color3usv(disp) ((disp)->Color3usv)
-#define SET_Color3usv(disp, fn) ((disp)->Color3usv = fn)
-#define CALL_Color4b(disp, parameters) (*((disp)->Color4b)) parameters
-#define GET_Color4b(disp) ((disp)->Color4b)
-#define SET_Color4b(disp, fn) ((disp)->Color4b = fn)
-#define CALL_Color4bv(disp, parameters) (*((disp)->Color4bv)) parameters
-#define GET_Color4bv(disp) ((disp)->Color4bv)
-#define SET_Color4bv(disp, fn) ((disp)->Color4bv = fn)
-#define CALL_Color4d(disp, parameters) (*((disp)->Color4d)) parameters
-#define GET_Color4d(disp) ((disp)->Color4d)
-#define SET_Color4d(disp, fn) ((disp)->Color4d = fn)
-#define CALL_Color4dv(disp, parameters) (*((disp)->Color4dv)) parameters
-#define GET_Color4dv(disp) ((disp)->Color4dv)
-#define SET_Color4dv(disp, fn) ((disp)->Color4dv = fn)
-#define CALL_Color4f(disp, parameters) (*((disp)->Color4f)) parameters
-#define GET_Color4f(disp) ((disp)->Color4f)
-#define SET_Color4f(disp, fn) ((disp)->Color4f = fn)
-#define CALL_Color4fv(disp, parameters) (*((disp)->Color4fv)) parameters
-#define GET_Color4fv(disp) ((disp)->Color4fv)
-#define SET_Color4fv(disp, fn) ((disp)->Color4fv = fn)
-#define CALL_Color4i(disp, parameters) (*((disp)->Color4i)) parameters
-#define GET_Color4i(disp) ((disp)->Color4i)
-#define SET_Color4i(disp, fn) ((disp)->Color4i = fn)
-#define CALL_Color4iv(disp, parameters) (*((disp)->Color4iv)) parameters
-#define GET_Color4iv(disp) ((disp)->Color4iv)
-#define SET_Color4iv(disp, fn) ((disp)->Color4iv = fn)
-#define CALL_Color4s(disp, parameters) (*((disp)->Color4s)) parameters
-#define GET_Color4s(disp) ((disp)->Color4s)
-#define SET_Color4s(disp, fn) ((disp)->Color4s = fn)
-#define CALL_Color4sv(disp, parameters) (*((disp)->Color4sv)) parameters
-#define GET_Color4sv(disp) ((disp)->Color4sv)
-#define SET_Color4sv(disp, fn) ((disp)->Color4sv = fn)
-#define CALL_Color4ub(disp, parameters) (*((disp)->Color4ub)) parameters
-#define GET_Color4ub(disp) ((disp)->Color4ub)
-#define SET_Color4ub(disp, fn) ((disp)->Color4ub = fn)
-#define CALL_Color4ubv(disp, parameters) (*((disp)->Color4ubv)) parameters
-#define GET_Color4ubv(disp) ((disp)->Color4ubv)
-#define SET_Color4ubv(disp, fn) ((disp)->Color4ubv = fn)
-#define CALL_Color4ui(disp, parameters) (*((disp)->Color4ui)) parameters
-#define GET_Color4ui(disp) ((disp)->Color4ui)
-#define SET_Color4ui(disp, fn) ((disp)->Color4ui = fn)
-#define CALL_Color4uiv(disp, parameters) (*((disp)->Color4uiv)) parameters
-#define GET_Color4uiv(disp) ((disp)->Color4uiv)
-#define SET_Color4uiv(disp, fn) ((disp)->Color4uiv = fn)
-#define CALL_Color4us(disp, parameters) (*((disp)->Color4us)) parameters
-#define GET_Color4us(disp) ((disp)->Color4us)
-#define SET_Color4us(disp, fn) ((disp)->Color4us = fn)
-#define CALL_Color4usv(disp, parameters) (*((disp)->Color4usv)) parameters
-#define GET_Color4usv(disp) ((disp)->Color4usv)
-#define SET_Color4usv(disp, fn) ((disp)->Color4usv = fn)
-#define CALL_EdgeFlag(disp, parameters) (*((disp)->EdgeFlag)) parameters
-#define GET_EdgeFlag(disp) ((disp)->EdgeFlag)
-#define SET_EdgeFlag(disp, fn) ((disp)->EdgeFlag = fn)
-#define CALL_EdgeFlagv(disp, parameters) (*((disp)->EdgeFlagv)) parameters
-#define GET_EdgeFlagv(disp) ((disp)->EdgeFlagv)
-#define SET_EdgeFlagv(disp, fn) ((disp)->EdgeFlagv = fn)
-#define CALL_End(disp, parameters) (*((disp)->End)) parameters
-#define GET_End(disp) ((disp)->End)
-#define SET_End(disp, fn) ((disp)->End = fn)
-#define CALL_Indexd(disp, parameters) (*((disp)->Indexd)) parameters
-#define GET_Indexd(disp) ((disp)->Indexd)
-#define SET_Indexd(disp, fn) ((disp)->Indexd = fn)
-#define CALL_Indexdv(disp, parameters) (*((disp)->Indexdv)) parameters
-#define GET_Indexdv(disp) ((disp)->Indexdv)
-#define SET_Indexdv(disp, fn) ((disp)->Indexdv = fn)
-#define CALL_Indexf(disp, parameters) (*((disp)->Indexf)) parameters
-#define GET_Indexf(disp) ((disp)->Indexf)
-#define SET_Indexf(disp, fn) ((disp)->Indexf = fn)
-#define CALL_Indexfv(disp, parameters) (*((disp)->Indexfv)) parameters
-#define GET_Indexfv(disp) ((disp)->Indexfv)
-#define SET_Indexfv(disp, fn) ((disp)->Indexfv = fn)
-#define CALL_Indexi(disp, parameters) (*((disp)->Indexi)) parameters
-#define GET_Indexi(disp) ((disp)->Indexi)
-#define SET_Indexi(disp, fn) ((disp)->Indexi = fn)
-#define CALL_Indexiv(disp, parameters) (*((disp)->Indexiv)) parameters
-#define GET_Indexiv(disp) ((disp)->Indexiv)
-#define SET_Indexiv(disp, fn) ((disp)->Indexiv = fn)
-#define CALL_Indexs(disp, parameters) (*((disp)->Indexs)) parameters
-#define GET_Indexs(disp) ((disp)->Indexs)
-#define SET_Indexs(disp, fn) ((disp)->Indexs = fn)
-#define CALL_Indexsv(disp, parameters) (*((disp)->Indexsv)) parameters
-#define GET_Indexsv(disp) ((disp)->Indexsv)
-#define SET_Indexsv(disp, fn) ((disp)->Indexsv = fn)
-#define CALL_Normal3b(disp, parameters) (*((disp)->Normal3b)) parameters
-#define GET_Normal3b(disp) ((disp)->Normal3b)
-#define SET_Normal3b(disp, fn) ((disp)->Normal3b = fn)
-#define CALL_Normal3bv(disp, parameters) (*((disp)->Normal3bv)) parameters
-#define GET_Normal3bv(disp) ((disp)->Normal3bv)
-#define SET_Normal3bv(disp, fn) ((disp)->Normal3bv = fn)
-#define CALL_Normal3d(disp, parameters) (*((disp)->Normal3d)) parameters
-#define GET_Normal3d(disp) ((disp)->Normal3d)
-#define SET_Normal3d(disp, fn) ((disp)->Normal3d = fn)
-#define CALL_Normal3dv(disp, parameters) (*((disp)->Normal3dv)) parameters
-#define GET_Normal3dv(disp) ((disp)->Normal3dv)
-#define SET_Normal3dv(disp, fn) ((disp)->Normal3dv = fn)
-#define CALL_Normal3f(disp, parameters) (*((disp)->Normal3f)) parameters
-#define GET_Normal3f(disp) ((disp)->Normal3f)
-#define SET_Normal3f(disp, fn) ((disp)->Normal3f = fn)
-#define CALL_Normal3fv(disp, parameters) (*((disp)->Normal3fv)) parameters
-#define GET_Normal3fv(disp) ((disp)->Normal3fv)
-#define SET_Normal3fv(disp, fn) ((disp)->Normal3fv = fn)
-#define CALL_Normal3i(disp, parameters) (*((disp)->Normal3i)) parameters
-#define GET_Normal3i(disp) ((disp)->Normal3i)
-#define SET_Normal3i(disp, fn) ((disp)->Normal3i = fn)
-#define CALL_Normal3iv(disp, parameters) (*((disp)->Normal3iv)) parameters
-#define GET_Normal3iv(disp) ((disp)->Normal3iv)
-#define SET_Normal3iv(disp, fn) ((disp)->Normal3iv = fn)
-#define CALL_Normal3s(disp, parameters) (*((disp)->Normal3s)) parameters
-#define GET_Normal3s(disp) ((disp)->Normal3s)
-#define SET_Normal3s(disp, fn) ((disp)->Normal3s = fn)
-#define CALL_Normal3sv(disp, parameters) (*((disp)->Normal3sv)) parameters
-#define GET_Normal3sv(disp) ((disp)->Normal3sv)
-#define SET_Normal3sv(disp, fn) ((disp)->Normal3sv = fn)
-#define CALL_RasterPos2d(disp, parameters) (*((disp)->RasterPos2d)) parameters
-#define GET_RasterPos2d(disp) ((disp)->RasterPos2d)
-#define SET_RasterPos2d(disp, fn) ((disp)->RasterPos2d = fn)
-#define CALL_RasterPos2dv(disp, parameters) (*((disp)->RasterPos2dv)) parameters
-#define GET_RasterPos2dv(disp) ((disp)->RasterPos2dv)
-#define SET_RasterPos2dv(disp, fn) ((disp)->RasterPos2dv = fn)
-#define CALL_RasterPos2f(disp, parameters) (*((disp)->RasterPos2f)) parameters
-#define GET_RasterPos2f(disp) ((disp)->RasterPos2f)
-#define SET_RasterPos2f(disp, fn) ((disp)->RasterPos2f = fn)
-#define CALL_RasterPos2fv(disp, parameters) (*((disp)->RasterPos2fv)) parameters
-#define GET_RasterPos2fv(disp) ((disp)->RasterPos2fv)
-#define SET_RasterPos2fv(disp, fn) ((disp)->RasterPos2fv = fn)
-#define CALL_RasterPos2i(disp, parameters) (*((disp)->RasterPos2i)) parameters
-#define GET_RasterPos2i(disp) ((disp)->RasterPos2i)
-#define SET_RasterPos2i(disp, fn) ((disp)->RasterPos2i = fn)
-#define CALL_RasterPos2iv(disp, parameters) (*((disp)->RasterPos2iv)) parameters
-#define GET_RasterPos2iv(disp) ((disp)->RasterPos2iv)
-#define SET_RasterPos2iv(disp, fn) ((disp)->RasterPos2iv = fn)
-#define CALL_RasterPos2s(disp, parameters) (*((disp)->RasterPos2s)) parameters
-#define GET_RasterPos2s(disp) ((disp)->RasterPos2s)
-#define SET_RasterPos2s(disp, fn) ((disp)->RasterPos2s = fn)
-#define CALL_RasterPos2sv(disp, parameters) (*((disp)->RasterPos2sv)) parameters
-#define GET_RasterPos2sv(disp) ((disp)->RasterPos2sv)
-#define SET_RasterPos2sv(disp, fn) ((disp)->RasterPos2sv = fn)
-#define CALL_RasterPos3d(disp, parameters) (*((disp)->RasterPos3d)) parameters
-#define GET_RasterPos3d(disp) ((disp)->RasterPos3d)
-#define SET_RasterPos3d(disp, fn) ((disp)->RasterPos3d = fn)
-#define CALL_RasterPos3dv(disp, parameters) (*((disp)->RasterPos3dv)) parameters
-#define GET_RasterPos3dv(disp) ((disp)->RasterPos3dv)
-#define SET_RasterPos3dv(disp, fn) ((disp)->RasterPos3dv = fn)
-#define CALL_RasterPos3f(disp, parameters) (*((disp)->RasterPos3f)) parameters
-#define GET_RasterPos3f(disp) ((disp)->RasterPos3f)
-#define SET_RasterPos3f(disp, fn) ((disp)->RasterPos3f = fn)
-#define CALL_RasterPos3fv(disp, parameters) (*((disp)->RasterPos3fv)) parameters
-#define GET_RasterPos3fv(disp) ((disp)->RasterPos3fv)
-#define SET_RasterPos3fv(disp, fn) ((disp)->RasterPos3fv = fn)
-#define CALL_RasterPos3i(disp, parameters) (*((disp)->RasterPos3i)) parameters
-#define GET_RasterPos3i(disp) ((disp)->RasterPos3i)
-#define SET_RasterPos3i(disp, fn) ((disp)->RasterPos3i = fn)
-#define CALL_RasterPos3iv(disp, parameters) (*((disp)->RasterPos3iv)) parameters
-#define GET_RasterPos3iv(disp) ((disp)->RasterPos3iv)
-#define SET_RasterPos3iv(disp, fn) ((disp)->RasterPos3iv = fn)
-#define CALL_RasterPos3s(disp, parameters) (*((disp)->RasterPos3s)) parameters
-#define GET_RasterPos3s(disp) ((disp)->RasterPos3s)
-#define SET_RasterPos3s(disp, fn) ((disp)->RasterPos3s = fn)
-#define CALL_RasterPos3sv(disp, parameters) (*((disp)->RasterPos3sv)) parameters
-#define GET_RasterPos3sv(disp) ((disp)->RasterPos3sv)
-#define SET_RasterPos3sv(disp, fn) ((disp)->RasterPos3sv = fn)
-#define CALL_RasterPos4d(disp, parameters) (*((disp)->RasterPos4d)) parameters
-#define GET_RasterPos4d(disp) ((disp)->RasterPos4d)
-#define SET_RasterPos4d(disp, fn) ((disp)->RasterPos4d = fn)
-#define CALL_RasterPos4dv(disp, parameters) (*((disp)->RasterPos4dv)) parameters
-#define GET_RasterPos4dv(disp) ((disp)->RasterPos4dv)
-#define SET_RasterPos4dv(disp, fn) ((disp)->RasterPos4dv = fn)
-#define CALL_RasterPos4f(disp, parameters) (*((disp)->RasterPos4f)) parameters
-#define GET_RasterPos4f(disp) ((disp)->RasterPos4f)
-#define SET_RasterPos4f(disp, fn) ((disp)->RasterPos4f = fn)
-#define CALL_RasterPos4fv(disp, parameters) (*((disp)->RasterPos4fv)) parameters
-#define GET_RasterPos4fv(disp) ((disp)->RasterPos4fv)
-#define SET_RasterPos4fv(disp, fn) ((disp)->RasterPos4fv = fn)
-#define CALL_RasterPos4i(disp, parameters) (*((disp)->RasterPos4i)) parameters
-#define GET_RasterPos4i(disp) ((disp)->RasterPos4i)
-#define SET_RasterPos4i(disp, fn) ((disp)->RasterPos4i = fn)
-#define CALL_RasterPos4iv(disp, parameters) (*((disp)->RasterPos4iv)) parameters
-#define GET_RasterPos4iv(disp) ((disp)->RasterPos4iv)
-#define SET_RasterPos4iv(disp, fn) ((disp)->RasterPos4iv = fn)
-#define CALL_RasterPos4s(disp, parameters) (*((disp)->RasterPos4s)) parameters
-#define GET_RasterPos4s(disp) ((disp)->RasterPos4s)
-#define SET_RasterPos4s(disp, fn) ((disp)->RasterPos4s = fn)
-#define CALL_RasterPos4sv(disp, parameters) (*((disp)->RasterPos4sv)) parameters
-#define GET_RasterPos4sv(disp) ((disp)->RasterPos4sv)
-#define SET_RasterPos4sv(disp, fn) ((disp)->RasterPos4sv = fn)
-#define CALL_Rectd(disp, parameters) (*((disp)->Rectd)) parameters
-#define GET_Rectd(disp) ((disp)->Rectd)
-#define SET_Rectd(disp, fn) ((disp)->Rectd = fn)
-#define CALL_Rectdv(disp, parameters) (*((disp)->Rectdv)) parameters
-#define GET_Rectdv(disp) ((disp)->Rectdv)
-#define SET_Rectdv(disp, fn) ((disp)->Rectdv = fn)
-#define CALL_Rectf(disp, parameters) (*((disp)->Rectf)) parameters
-#define GET_Rectf(disp) ((disp)->Rectf)
-#define SET_Rectf(disp, fn) ((disp)->Rectf = fn)
-#define CALL_Rectfv(disp, parameters) (*((disp)->Rectfv)) parameters
-#define GET_Rectfv(disp) ((disp)->Rectfv)
-#define SET_Rectfv(disp, fn) ((disp)->Rectfv = fn)
-#define CALL_Recti(disp, parameters) (*((disp)->Recti)) parameters
-#define GET_Recti(disp) ((disp)->Recti)
-#define SET_Recti(disp, fn) ((disp)->Recti = fn)
-#define CALL_Rectiv(disp, parameters) (*((disp)->Rectiv)) parameters
-#define GET_Rectiv(disp) ((disp)->Rectiv)
-#define SET_Rectiv(disp, fn) ((disp)->Rectiv = fn)
-#define CALL_Rects(disp, parameters) (*((disp)->Rects)) parameters
-#define GET_Rects(disp) ((disp)->Rects)
-#define SET_Rects(disp, fn) ((disp)->Rects = fn)
-#define CALL_Rectsv(disp, parameters) (*((disp)->Rectsv)) parameters
-#define GET_Rectsv(disp) ((disp)->Rectsv)
-#define SET_Rectsv(disp, fn) ((disp)->Rectsv = fn)
-#define CALL_TexCoord1d(disp, parameters) (*((disp)->TexCoord1d)) parameters
-#define GET_TexCoord1d(disp) ((disp)->TexCoord1d)
-#define SET_TexCoord1d(disp, fn) ((disp)->TexCoord1d = fn)
-#define CALL_TexCoord1dv(disp, parameters) (*((disp)->TexCoord1dv)) parameters
-#define GET_TexCoord1dv(disp) ((disp)->TexCoord1dv)
-#define SET_TexCoord1dv(disp, fn) ((disp)->TexCoord1dv = fn)
-#define CALL_TexCoord1f(disp, parameters) (*((disp)->TexCoord1f)) parameters
-#define GET_TexCoord1f(disp) ((disp)->TexCoord1f)
-#define SET_TexCoord1f(disp, fn) ((disp)->TexCoord1f = fn)
-#define CALL_TexCoord1fv(disp, parameters) (*((disp)->TexCoord1fv)) parameters
-#define GET_TexCoord1fv(disp) ((disp)->TexCoord1fv)
-#define SET_TexCoord1fv(disp, fn) ((disp)->TexCoord1fv = fn)
-#define CALL_TexCoord1i(disp, parameters) (*((disp)->TexCoord1i)) parameters
-#define GET_TexCoord1i(disp) ((disp)->TexCoord1i)
-#define SET_TexCoord1i(disp, fn) ((disp)->TexCoord1i = fn)
-#define CALL_TexCoord1iv(disp, parameters) (*((disp)->TexCoord1iv)) parameters
-#define GET_TexCoord1iv(disp) ((disp)->TexCoord1iv)
-#define SET_TexCoord1iv(disp, fn) ((disp)->TexCoord1iv = fn)
-#define CALL_TexCoord1s(disp, parameters) (*((disp)->TexCoord1s)) parameters
-#define GET_TexCoord1s(disp) ((disp)->TexCoord1s)
-#define SET_TexCoord1s(disp, fn) ((disp)->TexCoord1s = fn)
-#define CALL_TexCoord1sv(disp, parameters) (*((disp)->TexCoord1sv)) parameters
-#define GET_TexCoord1sv(disp) ((disp)->TexCoord1sv)
-#define SET_TexCoord1sv(disp, fn) ((disp)->TexCoord1sv = fn)
-#define CALL_TexCoord2d(disp, parameters) (*((disp)->TexCoord2d)) parameters
-#define GET_TexCoord2d(disp) ((disp)->TexCoord2d)
-#define SET_TexCoord2d(disp, fn) ((disp)->TexCoord2d = fn)
-#define CALL_TexCoord2dv(disp, parameters) (*((disp)->TexCoord2dv)) parameters
-#define GET_TexCoord2dv(disp) ((disp)->TexCoord2dv)
-#define SET_TexCoord2dv(disp, fn) ((disp)->TexCoord2dv = fn)
-#define CALL_TexCoord2f(disp, parameters) (*((disp)->TexCoord2f)) parameters
-#define GET_TexCoord2f(disp) ((disp)->TexCoord2f)
-#define SET_TexCoord2f(disp, fn) ((disp)->TexCoord2f = fn)
-#define CALL_TexCoord2fv(disp, parameters) (*((disp)->TexCoord2fv)) parameters
-#define GET_TexCoord2fv(disp) ((disp)->TexCoord2fv)
-#define SET_TexCoord2fv(disp, fn) ((disp)->TexCoord2fv = fn)
-#define CALL_TexCoord2i(disp, parameters) (*((disp)->TexCoord2i)) parameters
-#define GET_TexCoord2i(disp) ((disp)->TexCoord2i)
-#define SET_TexCoord2i(disp, fn) ((disp)->TexCoord2i = fn)
-#define CALL_TexCoord2iv(disp, parameters) (*((disp)->TexCoord2iv)) parameters
-#define GET_TexCoord2iv(disp) ((disp)->TexCoord2iv)
-#define SET_TexCoord2iv(disp, fn) ((disp)->TexCoord2iv = fn)
-#define CALL_TexCoord2s(disp, parameters) (*((disp)->TexCoord2s)) parameters
-#define GET_TexCoord2s(disp) ((disp)->TexCoord2s)
-#define SET_TexCoord2s(disp, fn) ((disp)->TexCoord2s = fn)
-#define CALL_TexCoord2sv(disp, parameters) (*((disp)->TexCoord2sv)) parameters
-#define GET_TexCoord2sv(disp) ((disp)->TexCoord2sv)
-#define SET_TexCoord2sv(disp, fn) ((disp)->TexCoord2sv = fn)
-#define CALL_TexCoord3d(disp, parameters) (*((disp)->TexCoord3d)) parameters
-#define GET_TexCoord3d(disp) ((disp)->TexCoord3d)
-#define SET_TexCoord3d(disp, fn) ((disp)->TexCoord3d = fn)
-#define CALL_TexCoord3dv(disp, parameters) (*((disp)->TexCoord3dv)) parameters
-#define GET_TexCoord3dv(disp) ((disp)->TexCoord3dv)
-#define SET_TexCoord3dv(disp, fn) ((disp)->TexCoord3dv = fn)
-#define CALL_TexCoord3f(disp, parameters) (*((disp)->TexCoord3f)) parameters
-#define GET_TexCoord3f(disp) ((disp)->TexCoord3f)
-#define SET_TexCoord3f(disp, fn) ((disp)->TexCoord3f = fn)
-#define CALL_TexCoord3fv(disp, parameters) (*((disp)->TexCoord3fv)) parameters
-#define GET_TexCoord3fv(disp) ((disp)->TexCoord3fv)
-#define SET_TexCoord3fv(disp, fn) ((disp)->TexCoord3fv = fn)
-#define CALL_TexCoord3i(disp, parameters) (*((disp)->TexCoord3i)) parameters
-#define GET_TexCoord3i(disp) ((disp)->TexCoord3i)
-#define SET_TexCoord3i(disp, fn) ((disp)->TexCoord3i = fn)
-#define CALL_TexCoord3iv(disp, parameters) (*((disp)->TexCoord3iv)) parameters
-#define GET_TexCoord3iv(disp) ((disp)->TexCoord3iv)
-#define SET_TexCoord3iv(disp, fn) ((disp)->TexCoord3iv = fn)
-#define CALL_TexCoord3s(disp, parameters) (*((disp)->TexCoord3s)) parameters
-#define GET_TexCoord3s(disp) ((disp)->TexCoord3s)
-#define SET_TexCoord3s(disp, fn) ((disp)->TexCoord3s = fn)
-#define CALL_TexCoord3sv(disp, parameters) (*((disp)->TexCoord3sv)) parameters
-#define GET_TexCoord3sv(disp) ((disp)->TexCoord3sv)
-#define SET_TexCoord3sv(disp, fn) ((disp)->TexCoord3sv = fn)
-#define CALL_TexCoord4d(disp, parameters) (*((disp)->TexCoord4d)) parameters
-#define GET_TexCoord4d(disp) ((disp)->TexCoord4d)
-#define SET_TexCoord4d(disp, fn) ((disp)->TexCoord4d = fn)
-#define CALL_TexCoord4dv(disp, parameters) (*((disp)->TexCoord4dv)) parameters
-#define GET_TexCoord4dv(disp) ((disp)->TexCoord4dv)
-#define SET_TexCoord4dv(disp, fn) ((disp)->TexCoord4dv = fn)
-#define CALL_TexCoord4f(disp, parameters) (*((disp)->TexCoord4f)) parameters
-#define GET_TexCoord4f(disp) ((disp)->TexCoord4f)
-#define SET_TexCoord4f(disp, fn) ((disp)->TexCoord4f = fn)
-#define CALL_TexCoord4fv(disp, parameters) (*((disp)->TexCoord4fv)) parameters
-#define GET_TexCoord4fv(disp) ((disp)->TexCoord4fv)
-#define SET_TexCoord4fv(disp, fn) ((disp)->TexCoord4fv = fn)
-#define CALL_TexCoord4i(disp, parameters) (*((disp)->TexCoord4i)) parameters
-#define GET_TexCoord4i(disp) ((disp)->TexCoord4i)
-#define SET_TexCoord4i(disp, fn) ((disp)->TexCoord4i = fn)
-#define CALL_TexCoord4iv(disp, parameters) (*((disp)->TexCoord4iv)) parameters
-#define GET_TexCoord4iv(disp) ((disp)->TexCoord4iv)
-#define SET_TexCoord4iv(disp, fn) ((disp)->TexCoord4iv = fn)
-#define CALL_TexCoord4s(disp, parameters) (*((disp)->TexCoord4s)) parameters
-#define GET_TexCoord4s(disp) ((disp)->TexCoord4s)
-#define SET_TexCoord4s(disp, fn) ((disp)->TexCoord4s = fn)
-#define CALL_TexCoord4sv(disp, parameters) (*((disp)->TexCoord4sv)) parameters
-#define GET_TexCoord4sv(disp) ((disp)->TexCoord4sv)
-#define SET_TexCoord4sv(disp, fn) ((disp)->TexCoord4sv = fn)
-#define CALL_Vertex2d(disp, parameters) (*((disp)->Vertex2d)) parameters
-#define GET_Vertex2d(disp) ((disp)->Vertex2d)
-#define SET_Vertex2d(disp, fn) ((disp)->Vertex2d = fn)
-#define CALL_Vertex2dv(disp, parameters) (*((disp)->Vertex2dv)) parameters
-#define GET_Vertex2dv(disp) ((disp)->Vertex2dv)
-#define SET_Vertex2dv(disp, fn) ((disp)->Vertex2dv = fn)
-#define CALL_Vertex2f(disp, parameters) (*((disp)->Vertex2f)) parameters
-#define GET_Vertex2f(disp) ((disp)->Vertex2f)
-#define SET_Vertex2f(disp, fn) ((disp)->Vertex2f = fn)
-#define CALL_Vertex2fv(disp, parameters) (*((disp)->Vertex2fv)) parameters
-#define GET_Vertex2fv(disp) ((disp)->Vertex2fv)
-#define SET_Vertex2fv(disp, fn) ((disp)->Vertex2fv = fn)
-#define CALL_Vertex2i(disp, parameters) (*((disp)->Vertex2i)) parameters
-#define GET_Vertex2i(disp) ((disp)->Vertex2i)
-#define SET_Vertex2i(disp, fn) ((disp)->Vertex2i = fn)
-#define CALL_Vertex2iv(disp, parameters) (*((disp)->Vertex2iv)) parameters
-#define GET_Vertex2iv(disp) ((disp)->Vertex2iv)
-#define SET_Vertex2iv(disp, fn) ((disp)->Vertex2iv = fn)
-#define CALL_Vertex2s(disp, parameters) (*((disp)->Vertex2s)) parameters
-#define GET_Vertex2s(disp) ((disp)->Vertex2s)
-#define SET_Vertex2s(disp, fn) ((disp)->Vertex2s = fn)
-#define CALL_Vertex2sv(disp, parameters) (*((disp)->Vertex2sv)) parameters
-#define GET_Vertex2sv(disp) ((disp)->Vertex2sv)
-#define SET_Vertex2sv(disp, fn) ((disp)->Vertex2sv = fn)
-#define CALL_Vertex3d(disp, parameters) (*((disp)->Vertex3d)) parameters
-#define GET_Vertex3d(disp) ((disp)->Vertex3d)
-#define SET_Vertex3d(disp, fn) ((disp)->Vertex3d = fn)
-#define CALL_Vertex3dv(disp, parameters) (*((disp)->Vertex3dv)) parameters
-#define GET_Vertex3dv(disp) ((disp)->Vertex3dv)
-#define SET_Vertex3dv(disp, fn) ((disp)->Vertex3dv = fn)
-#define CALL_Vertex3f(disp, parameters) (*((disp)->Vertex3f)) parameters
-#define GET_Vertex3f(disp) ((disp)->Vertex3f)
-#define SET_Vertex3f(disp, fn) ((disp)->Vertex3f = fn)
-#define CALL_Vertex3fv(disp, parameters) (*((disp)->Vertex3fv)) parameters
-#define GET_Vertex3fv(disp) ((disp)->Vertex3fv)
-#define SET_Vertex3fv(disp, fn) ((disp)->Vertex3fv = fn)
-#define CALL_Vertex3i(disp, parameters) (*((disp)->Vertex3i)) parameters
-#define GET_Vertex3i(disp) ((disp)->Vertex3i)
-#define SET_Vertex3i(disp, fn) ((disp)->Vertex3i = fn)
-#define CALL_Vertex3iv(disp, parameters) (*((disp)->Vertex3iv)) parameters
-#define GET_Vertex3iv(disp) ((disp)->Vertex3iv)
-#define SET_Vertex3iv(disp, fn) ((disp)->Vertex3iv = fn)
-#define CALL_Vertex3s(disp, parameters) (*((disp)->Vertex3s)) parameters
-#define GET_Vertex3s(disp) ((disp)->Vertex3s)
-#define SET_Vertex3s(disp, fn) ((disp)->Vertex3s = fn)
-#define CALL_Vertex3sv(disp, parameters) (*((disp)->Vertex3sv)) parameters
-#define GET_Vertex3sv(disp) ((disp)->Vertex3sv)
-#define SET_Vertex3sv(disp, fn) ((disp)->Vertex3sv = fn)
-#define CALL_Vertex4d(disp, parameters) (*((disp)->Vertex4d)) parameters
-#define GET_Vertex4d(disp) ((disp)->Vertex4d)
-#define SET_Vertex4d(disp, fn) ((disp)->Vertex4d = fn)
-#define CALL_Vertex4dv(disp, parameters) (*((disp)->Vertex4dv)) parameters
-#define GET_Vertex4dv(disp) ((disp)->Vertex4dv)
-#define SET_Vertex4dv(disp, fn) ((disp)->Vertex4dv = fn)
-#define CALL_Vertex4f(disp, parameters) (*((disp)->Vertex4f)) parameters
-#define GET_Vertex4f(disp) ((disp)->Vertex4f)
-#define SET_Vertex4f(disp, fn) ((disp)->Vertex4f = fn)
-#define CALL_Vertex4fv(disp, parameters) (*((disp)->Vertex4fv)) parameters
-#define GET_Vertex4fv(disp) ((disp)->Vertex4fv)
-#define SET_Vertex4fv(disp, fn) ((disp)->Vertex4fv = fn)
-#define CALL_Vertex4i(disp, parameters) (*((disp)->Vertex4i)) parameters
-#define GET_Vertex4i(disp) ((disp)->Vertex4i)
-#define SET_Vertex4i(disp, fn) ((disp)->Vertex4i = fn)
-#define CALL_Vertex4iv(disp, parameters) (*((disp)->Vertex4iv)) parameters
-#define GET_Vertex4iv(disp) ((disp)->Vertex4iv)
-#define SET_Vertex4iv(disp, fn) ((disp)->Vertex4iv = fn)
-#define CALL_Vertex4s(disp, parameters) (*((disp)->Vertex4s)) parameters
-#define GET_Vertex4s(disp) ((disp)->Vertex4s)
-#define SET_Vertex4s(disp, fn) ((disp)->Vertex4s = fn)
-#define CALL_Vertex4sv(disp, parameters) (*((disp)->Vertex4sv)) parameters
-#define GET_Vertex4sv(disp) ((disp)->Vertex4sv)
-#define SET_Vertex4sv(disp, fn) ((disp)->Vertex4sv = fn)
-#define CALL_ClipPlane(disp, parameters) (*((disp)->ClipPlane)) parameters
-#define GET_ClipPlane(disp) ((disp)->ClipPlane)
-#define SET_ClipPlane(disp, fn) ((disp)->ClipPlane = fn)
-#define CALL_ColorMaterial(disp, parameters) (*((disp)->ColorMaterial)) parameters
-#define GET_ColorMaterial(disp) ((disp)->ColorMaterial)
-#define SET_ColorMaterial(disp, fn) ((disp)->ColorMaterial = fn)
-#define CALL_CullFace(disp, parameters) (*((disp)->CullFace)) parameters
-#define GET_CullFace(disp) ((disp)->CullFace)
-#define SET_CullFace(disp, fn) ((disp)->CullFace = fn)
-#define CALL_Fogf(disp, parameters) (*((disp)->Fogf)) parameters
-#define GET_Fogf(disp) ((disp)->Fogf)
-#define SET_Fogf(disp, fn) ((disp)->Fogf = fn)
-#define CALL_Fogfv(disp, parameters) (*((disp)->Fogfv)) parameters
-#define GET_Fogfv(disp) ((disp)->Fogfv)
-#define SET_Fogfv(disp, fn) ((disp)->Fogfv = fn)
-#define CALL_Fogi(disp, parameters) (*((disp)->Fogi)) parameters
-#define GET_Fogi(disp) ((disp)->Fogi)
-#define SET_Fogi(disp, fn) ((disp)->Fogi = fn)
-#define CALL_Fogiv(disp, parameters) (*((disp)->Fogiv)) parameters
-#define GET_Fogiv(disp) ((disp)->Fogiv)
-#define SET_Fogiv(disp, fn) ((disp)->Fogiv = fn)
-#define CALL_FrontFace(disp, parameters) (*((disp)->FrontFace)) parameters
-#define GET_FrontFace(disp) ((disp)->FrontFace)
-#define SET_FrontFace(disp, fn) ((disp)->FrontFace = fn)
-#define CALL_Hint(disp, parameters) (*((disp)->Hint)) parameters
-#define GET_Hint(disp) ((disp)->Hint)
-#define SET_Hint(disp, fn) ((disp)->Hint = fn)
-#define CALL_Lightf(disp, parameters) (*((disp)->Lightf)) parameters
-#define GET_Lightf(disp) ((disp)->Lightf)
-#define SET_Lightf(disp, fn) ((disp)->Lightf = fn)
-#define CALL_Lightfv(disp, parameters) (*((disp)->Lightfv)) parameters
-#define GET_Lightfv(disp) ((disp)->Lightfv)
-#define SET_Lightfv(disp, fn) ((disp)->Lightfv = fn)
-#define CALL_Lighti(disp, parameters) (*((disp)->Lighti)) parameters
-#define GET_Lighti(disp) ((disp)->Lighti)
-#define SET_Lighti(disp, fn) ((disp)->Lighti = fn)
-#define CALL_Lightiv(disp, parameters) (*((disp)->Lightiv)) parameters
-#define GET_Lightiv(disp) ((disp)->Lightiv)
-#define SET_Lightiv(disp, fn) ((disp)->Lightiv = fn)
-#define CALL_LightModelf(disp, parameters) (*((disp)->LightModelf)) parameters
-#define GET_LightModelf(disp) ((disp)->LightModelf)
-#define SET_LightModelf(disp, fn) ((disp)->LightModelf = fn)
-#define CALL_LightModelfv(disp, parameters) (*((disp)->LightModelfv)) parameters
-#define GET_LightModelfv(disp) ((disp)->LightModelfv)
-#define SET_LightModelfv(disp, fn) ((disp)->LightModelfv = fn)
-#define CALL_LightModeli(disp, parameters) (*((disp)->LightModeli)) parameters
-#define GET_LightModeli(disp) ((disp)->LightModeli)
-#define SET_LightModeli(disp, fn) ((disp)->LightModeli = fn)
-#define CALL_LightModeliv(disp, parameters) (*((disp)->LightModeliv)) parameters
-#define GET_LightModeliv(disp) ((disp)->LightModeliv)
-#define SET_LightModeliv(disp, fn) ((disp)->LightModeliv = fn)
-#define CALL_LineStipple(disp, parameters) (*((disp)->LineStipple)) parameters
-#define GET_LineStipple(disp) ((disp)->LineStipple)
-#define SET_LineStipple(disp, fn) ((disp)->LineStipple = fn)
-#define CALL_LineWidth(disp, parameters) (*((disp)->LineWidth)) parameters
-#define GET_LineWidth(disp) ((disp)->LineWidth)
-#define SET_LineWidth(disp, fn) ((disp)->LineWidth = fn)
-#define CALL_Materialf(disp, parameters) (*((disp)->Materialf)) parameters
-#define GET_Materialf(disp) ((disp)->Materialf)
-#define SET_Materialf(disp, fn) ((disp)->Materialf = fn)
-#define CALL_Materialfv(disp, parameters) (*((disp)->Materialfv)) parameters
-#define GET_Materialfv(disp) ((disp)->Materialfv)
-#define SET_Materialfv(disp, fn) ((disp)->Materialfv = fn)
-#define CALL_Materiali(disp, parameters) (*((disp)->Materiali)) parameters
-#define GET_Materiali(disp) ((disp)->Materiali)
-#define SET_Materiali(disp, fn) ((disp)->Materiali = fn)
-#define CALL_Materialiv(disp, parameters) (*((disp)->Materialiv)) parameters
-#define GET_Materialiv(disp) ((disp)->Materialiv)
-#define SET_Materialiv(disp, fn) ((disp)->Materialiv = fn)
-#define CALL_PointSize(disp, parameters) (*((disp)->PointSize)) parameters
-#define GET_PointSize(disp) ((disp)->PointSize)
-#define SET_PointSize(disp, fn) ((disp)->PointSize = fn)
-#define CALL_PolygonMode(disp, parameters) (*((disp)->PolygonMode)) parameters
-#define GET_PolygonMode(disp) ((disp)->PolygonMode)
-#define SET_PolygonMode(disp, fn) ((disp)->PolygonMode = fn)
-#define CALL_PolygonStipple(disp, parameters) (*((disp)->PolygonStipple)) parameters
-#define GET_PolygonStipple(disp) ((disp)->PolygonStipple)
-#define SET_PolygonStipple(disp, fn) ((disp)->PolygonStipple = fn)
-#define CALL_Scissor(disp, parameters) (*((disp)->Scissor)) parameters
-#define GET_Scissor(disp) ((disp)->Scissor)
-#define SET_Scissor(disp, fn) ((disp)->Scissor = fn)
-#define CALL_ShadeModel(disp, parameters) (*((disp)->ShadeModel)) parameters
-#define GET_ShadeModel(disp) ((disp)->ShadeModel)
-#define SET_ShadeModel(disp, fn) ((disp)->ShadeModel = fn)
-#define CALL_TexParameterf(disp, parameters) (*((disp)->TexParameterf)) parameters
-#define GET_TexParameterf(disp) ((disp)->TexParameterf)
-#define SET_TexParameterf(disp, fn) ((disp)->TexParameterf = fn)
-#define CALL_TexParameterfv(disp, parameters) (*((disp)->TexParameterfv)) parameters
-#define GET_TexParameterfv(disp) ((disp)->TexParameterfv)
-#define SET_TexParameterfv(disp, fn) ((disp)->TexParameterfv = fn)
-#define CALL_TexParameteri(disp, parameters) (*((disp)->TexParameteri)) parameters
-#define GET_TexParameteri(disp) ((disp)->TexParameteri)
-#define SET_TexParameteri(disp, fn) ((disp)->TexParameteri = fn)
-#define CALL_TexParameteriv(disp, parameters) (*((disp)->TexParameteriv)) parameters
-#define GET_TexParameteriv(disp) ((disp)->TexParameteriv)
-#define SET_TexParameteriv(disp, fn) ((disp)->TexParameteriv = fn)
-#define CALL_TexImage1D(disp, parameters) (*((disp)->TexImage1D)) parameters
-#define GET_TexImage1D(disp) ((disp)->TexImage1D)
-#define SET_TexImage1D(disp, fn) ((disp)->TexImage1D = fn)
-#define CALL_TexImage2D(disp, parameters) (*((disp)->TexImage2D)) parameters
-#define GET_TexImage2D(disp) ((disp)->TexImage2D)
-#define SET_TexImage2D(disp, fn) ((disp)->TexImage2D = fn)
-#define CALL_TexEnvf(disp, parameters) (*((disp)->TexEnvf)) parameters
-#define GET_TexEnvf(disp) ((disp)->TexEnvf)
-#define SET_TexEnvf(disp, fn) ((disp)->TexEnvf = fn)
-#define CALL_TexEnvfv(disp, parameters) (*((disp)->TexEnvfv)) parameters
-#define GET_TexEnvfv(disp) ((disp)->TexEnvfv)
-#define SET_TexEnvfv(disp, fn) ((disp)->TexEnvfv = fn)
-#define CALL_TexEnvi(disp, parameters) (*((disp)->TexEnvi)) parameters
-#define GET_TexEnvi(disp) ((disp)->TexEnvi)
-#define SET_TexEnvi(disp, fn) ((disp)->TexEnvi = fn)
-#define CALL_TexEnviv(disp, parameters) (*((disp)->TexEnviv)) parameters
-#define GET_TexEnviv(disp) ((disp)->TexEnviv)
-#define SET_TexEnviv(disp, fn) ((disp)->TexEnviv = fn)
-#define CALL_TexGend(disp, parameters) (*((disp)->TexGend)) parameters
-#define GET_TexGend(disp) ((disp)->TexGend)
-#define SET_TexGend(disp, fn) ((disp)->TexGend = fn)
-#define CALL_TexGendv(disp, parameters) (*((disp)->TexGendv)) parameters
-#define GET_TexGendv(disp) ((disp)->TexGendv)
-#define SET_TexGendv(disp, fn) ((disp)->TexGendv = fn)
-#define CALL_TexGenf(disp, parameters) (*((disp)->TexGenf)) parameters
-#define GET_TexGenf(disp) ((disp)->TexGenf)
-#define SET_TexGenf(disp, fn) ((disp)->TexGenf = fn)
-#define CALL_TexGenfv(disp, parameters) (*((disp)->TexGenfv)) parameters
-#define GET_TexGenfv(disp) ((disp)->TexGenfv)
-#define SET_TexGenfv(disp, fn) ((disp)->TexGenfv = fn)
-#define CALL_TexGeni(disp, parameters) (*((disp)->TexGeni)) parameters
-#define GET_TexGeni(disp) ((disp)->TexGeni)
-#define SET_TexGeni(disp, fn) ((disp)->TexGeni = fn)
-#define CALL_TexGeniv(disp, parameters) (*((disp)->TexGeniv)) parameters
-#define GET_TexGeniv(disp) ((disp)->TexGeniv)
-#define SET_TexGeniv(disp, fn) ((disp)->TexGeniv = fn)
-#define CALL_FeedbackBuffer(disp, parameters) (*((disp)->FeedbackBuffer)) parameters
-#define GET_FeedbackBuffer(disp) ((disp)->FeedbackBuffer)
-#define SET_FeedbackBuffer(disp, fn) ((disp)->FeedbackBuffer = fn)
-#define CALL_SelectBuffer(disp, parameters) (*((disp)->SelectBuffer)) parameters
-#define GET_SelectBuffer(disp) ((disp)->SelectBuffer)
-#define SET_SelectBuffer(disp, fn) ((disp)->SelectBuffer = fn)
-#define CALL_RenderMode(disp, parameters) (*((disp)->RenderMode)) parameters
-#define GET_RenderMode(disp) ((disp)->RenderMode)
-#define SET_RenderMode(disp, fn) ((disp)->RenderMode = fn)
-#define CALL_InitNames(disp, parameters) (*((disp)->InitNames)) parameters
-#define GET_InitNames(disp) ((disp)->InitNames)
-#define SET_InitNames(disp, fn) ((disp)->InitNames = fn)
-#define CALL_LoadName(disp, parameters) (*((disp)->LoadName)) parameters
-#define GET_LoadName(disp) ((disp)->LoadName)
-#define SET_LoadName(disp, fn) ((disp)->LoadName = fn)
-#define CALL_PassThrough(disp, parameters) (*((disp)->PassThrough)) parameters
-#define GET_PassThrough(disp) ((disp)->PassThrough)
-#define SET_PassThrough(disp, fn) ((disp)->PassThrough = fn)
-#define CALL_PopName(disp, parameters) (*((disp)->PopName)) parameters
-#define GET_PopName(disp) ((disp)->PopName)
-#define SET_PopName(disp, fn) ((disp)->PopName = fn)
-#define CALL_PushName(disp, parameters) (*((disp)->PushName)) parameters
-#define GET_PushName(disp) ((disp)->PushName)
-#define SET_PushName(disp, fn) ((disp)->PushName = fn)
-#define CALL_DrawBuffer(disp, parameters) (*((disp)->DrawBuffer)) parameters
-#define GET_DrawBuffer(disp) ((disp)->DrawBuffer)
-#define SET_DrawBuffer(disp, fn) ((disp)->DrawBuffer = fn)
-#define CALL_Clear(disp, parameters) (*((disp)->Clear)) parameters
-#define GET_Clear(disp) ((disp)->Clear)
-#define SET_Clear(disp, fn) ((disp)->Clear = fn)
-#define CALL_ClearAccum(disp, parameters) (*((disp)->ClearAccum)) parameters
-#define GET_ClearAccum(disp) ((disp)->ClearAccum)
-#define SET_ClearAccum(disp, fn) ((disp)->ClearAccum = fn)
-#define CALL_ClearIndex(disp, parameters) (*((disp)->ClearIndex)) parameters
-#define GET_ClearIndex(disp) ((disp)->ClearIndex)
-#define SET_ClearIndex(disp, fn) ((disp)->ClearIndex = fn)
-#define CALL_ClearColor(disp, parameters) (*((disp)->ClearColor)) parameters
-#define GET_ClearColor(disp) ((disp)->ClearColor)
-#define SET_ClearColor(disp, fn) ((disp)->ClearColor = fn)
-#define CALL_ClearStencil(disp, parameters) (*((disp)->ClearStencil)) parameters
-#define GET_ClearStencil(disp) ((disp)->ClearStencil)
-#define SET_ClearStencil(disp, fn) ((disp)->ClearStencil = fn)
-#define CALL_ClearDepth(disp, parameters) (*((disp)->ClearDepth)) parameters
-#define GET_ClearDepth(disp) ((disp)->ClearDepth)
-#define SET_ClearDepth(disp, fn) ((disp)->ClearDepth = fn)
-#define CALL_StencilMask(disp, parameters) (*((disp)->StencilMask)) parameters
-#define GET_StencilMask(disp) ((disp)->StencilMask)
-#define SET_StencilMask(disp, fn) ((disp)->StencilMask = fn)
-#define CALL_ColorMask(disp, parameters) (*((disp)->ColorMask)) parameters
-#define GET_ColorMask(disp) ((disp)->ColorMask)
-#define SET_ColorMask(disp, fn) ((disp)->ColorMask = fn)
-#define CALL_DepthMask(disp, parameters) (*((disp)->DepthMask)) parameters
-#define GET_DepthMask(disp) ((disp)->DepthMask)
-#define SET_DepthMask(disp, fn) ((disp)->DepthMask = fn)
-#define CALL_IndexMask(disp, parameters) (*((disp)->IndexMask)) parameters
-#define GET_IndexMask(disp) ((disp)->IndexMask)
-#define SET_IndexMask(disp, fn) ((disp)->IndexMask = fn)
-#define CALL_Accum(disp, parameters) (*((disp)->Accum)) parameters
-#define GET_Accum(disp) ((disp)->Accum)
-#define SET_Accum(disp, fn) ((disp)->Accum = fn)
-#define CALL_Disable(disp, parameters) (*((disp)->Disable)) parameters
-#define GET_Disable(disp) ((disp)->Disable)
-#define SET_Disable(disp, fn) ((disp)->Disable = fn)
-#define CALL_Enable(disp, parameters) (*((disp)->Enable)) parameters
-#define GET_Enable(disp) ((disp)->Enable)
-#define SET_Enable(disp, fn) ((disp)->Enable = fn)
-#define CALL_Finish(disp, parameters) (*((disp)->Finish)) parameters
-#define GET_Finish(disp) ((disp)->Finish)
-#define SET_Finish(disp, fn) ((disp)->Finish = fn)
-#define CALL_Flush(disp, parameters) (*((disp)->Flush)) parameters
-#define GET_Flush(disp) ((disp)->Flush)
-#define SET_Flush(disp, fn) ((disp)->Flush = fn)
-#define CALL_PopAttrib(disp, parameters) (*((disp)->PopAttrib)) parameters
-#define GET_PopAttrib(disp) ((disp)->PopAttrib)
-#define SET_PopAttrib(disp, fn) ((disp)->PopAttrib = fn)
-#define CALL_PushAttrib(disp, parameters) (*((disp)->PushAttrib)) parameters
-#define GET_PushAttrib(disp) ((disp)->PushAttrib)
-#define SET_PushAttrib(disp, fn) ((disp)->PushAttrib = fn)
-#define CALL_Map1d(disp, parameters) (*((disp)->Map1d)) parameters
-#define GET_Map1d(disp) ((disp)->Map1d)
-#define SET_Map1d(disp, fn) ((disp)->Map1d = fn)
-#define CALL_Map1f(disp, parameters) (*((disp)->Map1f)) parameters
-#define GET_Map1f(disp) ((disp)->Map1f)
-#define SET_Map1f(disp, fn) ((disp)->Map1f = fn)
-#define CALL_Map2d(disp, parameters) (*((disp)->Map2d)) parameters
-#define GET_Map2d(disp) ((disp)->Map2d)
-#define SET_Map2d(disp, fn) ((disp)->Map2d = fn)
-#define CALL_Map2f(disp, parameters) (*((disp)->Map2f)) parameters
-#define GET_Map2f(disp) ((disp)->Map2f)
-#define SET_Map2f(disp, fn) ((disp)->Map2f = fn)
-#define CALL_MapGrid1d(disp, parameters) (*((disp)->MapGrid1d)) parameters
-#define GET_MapGrid1d(disp) ((disp)->MapGrid1d)
-#define SET_MapGrid1d(disp, fn) ((disp)->MapGrid1d = fn)
-#define CALL_MapGrid1f(disp, parameters) (*((disp)->MapGrid1f)) parameters
-#define GET_MapGrid1f(disp) ((disp)->MapGrid1f)
-#define SET_MapGrid1f(disp, fn) ((disp)->MapGrid1f = fn)
-#define CALL_MapGrid2d(disp, parameters) (*((disp)->MapGrid2d)) parameters
-#define GET_MapGrid2d(disp) ((disp)->MapGrid2d)
-#define SET_MapGrid2d(disp, fn) ((disp)->MapGrid2d = fn)
-#define CALL_MapGrid2f(disp, parameters) (*((disp)->MapGrid2f)) parameters
-#define GET_MapGrid2f(disp) ((disp)->MapGrid2f)
-#define SET_MapGrid2f(disp, fn) ((disp)->MapGrid2f = fn)
-#define CALL_EvalCoord1d(disp, parameters) (*((disp)->EvalCoord1d)) parameters
-#define GET_EvalCoord1d(disp) ((disp)->EvalCoord1d)
-#define SET_EvalCoord1d(disp, fn) ((disp)->EvalCoord1d = fn)
-#define CALL_EvalCoord1dv(disp, parameters) (*((disp)->EvalCoord1dv)) parameters
-#define GET_EvalCoord1dv(disp) ((disp)->EvalCoord1dv)
-#define SET_EvalCoord1dv(disp, fn) ((disp)->EvalCoord1dv = fn)
-#define CALL_EvalCoord1f(disp, parameters) (*((disp)->EvalCoord1f)) parameters
-#define GET_EvalCoord1f(disp) ((disp)->EvalCoord1f)
-#define SET_EvalCoord1f(disp, fn) ((disp)->EvalCoord1f = fn)
-#define CALL_EvalCoord1fv(disp, parameters) (*((disp)->EvalCoord1fv)) parameters
-#define GET_EvalCoord1fv(disp) ((disp)->EvalCoord1fv)
-#define SET_EvalCoord1fv(disp, fn) ((disp)->EvalCoord1fv = fn)
-#define CALL_EvalCoord2d(disp, parameters) (*((disp)->EvalCoord2d)) parameters
-#define GET_EvalCoord2d(disp) ((disp)->EvalCoord2d)
-#define SET_EvalCoord2d(disp, fn) ((disp)->EvalCoord2d = fn)
-#define CALL_EvalCoord2dv(disp, parameters) (*((disp)->EvalCoord2dv)) parameters
-#define GET_EvalCoord2dv(disp) ((disp)->EvalCoord2dv)
-#define SET_EvalCoord2dv(disp, fn) ((disp)->EvalCoord2dv = fn)
-#define CALL_EvalCoord2f(disp, parameters) (*((disp)->EvalCoord2f)) parameters
-#define GET_EvalCoord2f(disp) ((disp)->EvalCoord2f)
-#define SET_EvalCoord2f(disp, fn) ((disp)->EvalCoord2f = fn)
-#define CALL_EvalCoord2fv(disp, parameters) (*((disp)->EvalCoord2fv)) parameters
-#define GET_EvalCoord2fv(disp) ((disp)->EvalCoord2fv)
-#define SET_EvalCoord2fv(disp, fn) ((disp)->EvalCoord2fv = fn)
-#define CALL_EvalMesh1(disp, parameters) (*((disp)->EvalMesh1)) parameters
-#define GET_EvalMesh1(disp) ((disp)->EvalMesh1)
-#define SET_EvalMesh1(disp, fn) ((disp)->EvalMesh1 = fn)
-#define CALL_EvalPoint1(disp, parameters) (*((disp)->EvalPoint1)) parameters
-#define GET_EvalPoint1(disp) ((disp)->EvalPoint1)
-#define SET_EvalPoint1(disp, fn) ((disp)->EvalPoint1 = fn)
-#define CALL_EvalMesh2(disp, parameters) (*((disp)->EvalMesh2)) parameters
-#define GET_EvalMesh2(disp) ((disp)->EvalMesh2)
-#define SET_EvalMesh2(disp, fn) ((disp)->EvalMesh2 = fn)
-#define CALL_EvalPoint2(disp, parameters) (*((disp)->EvalPoint2)) parameters
-#define GET_EvalPoint2(disp) ((disp)->EvalPoint2)
-#define SET_EvalPoint2(disp, fn) ((disp)->EvalPoint2 = fn)
-#define CALL_AlphaFunc(disp, parameters) (*((disp)->AlphaFunc)) parameters
-#define GET_AlphaFunc(disp) ((disp)->AlphaFunc)
-#define SET_AlphaFunc(disp, fn) ((disp)->AlphaFunc = fn)
-#define CALL_BlendFunc(disp, parameters) (*((disp)->BlendFunc)) parameters
-#define GET_BlendFunc(disp) ((disp)->BlendFunc)
-#define SET_BlendFunc(disp, fn) ((disp)->BlendFunc = fn)
-#define CALL_LogicOp(disp, parameters) (*((disp)->LogicOp)) parameters
-#define GET_LogicOp(disp) ((disp)->LogicOp)
-#define SET_LogicOp(disp, fn) ((disp)->LogicOp = fn)
-#define CALL_StencilFunc(disp, parameters) (*((disp)->StencilFunc)) parameters
-#define GET_StencilFunc(disp) ((disp)->StencilFunc)
-#define SET_StencilFunc(disp, fn) ((disp)->StencilFunc = fn)
-#define CALL_StencilOp(disp, parameters) (*((disp)->StencilOp)) parameters
-#define GET_StencilOp(disp) ((disp)->StencilOp)
-#define SET_StencilOp(disp, fn) ((disp)->StencilOp = fn)
-#define CALL_DepthFunc(disp, parameters) (*((disp)->DepthFunc)) parameters
-#define GET_DepthFunc(disp) ((disp)->DepthFunc)
-#define SET_DepthFunc(disp, fn) ((disp)->DepthFunc = fn)
-#define CALL_PixelZoom(disp, parameters) (*((disp)->PixelZoom)) parameters
-#define GET_PixelZoom(disp) ((disp)->PixelZoom)
-#define SET_PixelZoom(disp, fn) ((disp)->PixelZoom = fn)
-#define CALL_PixelTransferf(disp, parameters) (*((disp)->PixelTransferf)) parameters
-#define GET_PixelTransferf(disp) ((disp)->PixelTransferf)
-#define SET_PixelTransferf(disp, fn) ((disp)->PixelTransferf = fn)
-#define CALL_PixelTransferi(disp, parameters) (*((disp)->PixelTransferi)) parameters
-#define GET_PixelTransferi(disp) ((disp)->PixelTransferi)
-#define SET_PixelTransferi(disp, fn) ((disp)->PixelTransferi = fn)
-#define CALL_PixelStoref(disp, parameters) (*((disp)->PixelStoref)) parameters
-#define GET_PixelStoref(disp) ((disp)->PixelStoref)
-#define SET_PixelStoref(disp, fn) ((disp)->PixelStoref = fn)
-#define CALL_PixelStorei(disp, parameters) (*((disp)->PixelStorei)) parameters
-#define GET_PixelStorei(disp) ((disp)->PixelStorei)
-#define SET_PixelStorei(disp, fn) ((disp)->PixelStorei = fn)
-#define CALL_PixelMapfv(disp, parameters) (*((disp)->PixelMapfv)) parameters
-#define GET_PixelMapfv(disp) ((disp)->PixelMapfv)
-#define SET_PixelMapfv(disp, fn) ((disp)->PixelMapfv = fn)
-#define CALL_PixelMapuiv(disp, parameters) (*((disp)->PixelMapuiv)) parameters
-#define GET_PixelMapuiv(disp) ((disp)->PixelMapuiv)
-#define SET_PixelMapuiv(disp, fn) ((disp)->PixelMapuiv = fn)
-#define CALL_PixelMapusv(disp, parameters) (*((disp)->PixelMapusv)) parameters
-#define GET_PixelMapusv(disp) ((disp)->PixelMapusv)
-#define SET_PixelMapusv(disp, fn) ((disp)->PixelMapusv = fn)
-#define CALL_ReadBuffer(disp, parameters) (*((disp)->ReadBuffer)) parameters
-#define GET_ReadBuffer(disp) ((disp)->ReadBuffer)
-#define SET_ReadBuffer(disp, fn) ((disp)->ReadBuffer = fn)
-#define CALL_CopyPixels(disp, parameters) (*((disp)->CopyPixels)) parameters
-#define GET_CopyPixels(disp) ((disp)->CopyPixels)
-#define SET_CopyPixels(disp, fn) ((disp)->CopyPixels = fn)
-#define CALL_ReadPixels(disp, parameters) (*((disp)->ReadPixels)) parameters
-#define GET_ReadPixels(disp) ((disp)->ReadPixels)
-#define SET_ReadPixels(disp, fn) ((disp)->ReadPixels = fn)
-#define CALL_DrawPixels(disp, parameters) (*((disp)->DrawPixels)) parameters
-#define GET_DrawPixels(disp) ((disp)->DrawPixels)
-#define SET_DrawPixels(disp, fn) ((disp)->DrawPixels = fn)
-#define CALL_GetBooleanv(disp, parameters) (*((disp)->GetBooleanv)) parameters
-#define GET_GetBooleanv(disp) ((disp)->GetBooleanv)
-#define SET_GetBooleanv(disp, fn) ((disp)->GetBooleanv = fn)
-#define CALL_GetClipPlane(disp, parameters) (*((disp)->GetClipPlane)) parameters
-#define GET_GetClipPlane(disp) ((disp)->GetClipPlane)
-#define SET_GetClipPlane(disp, fn) ((disp)->GetClipPlane = fn)
-#define CALL_GetDoublev(disp, parameters) (*((disp)->GetDoublev)) parameters
-#define GET_GetDoublev(disp) ((disp)->GetDoublev)
-#define SET_GetDoublev(disp, fn) ((disp)->GetDoublev = fn)
-#define CALL_GetError(disp, parameters) (*((disp)->GetError)) parameters
-#define GET_GetError(disp) ((disp)->GetError)
-#define SET_GetError(disp, fn) ((disp)->GetError = fn)
-#define CALL_GetFloatv(disp, parameters) (*((disp)->GetFloatv)) parameters
-#define GET_GetFloatv(disp) ((disp)->GetFloatv)
-#define SET_GetFloatv(disp, fn) ((disp)->GetFloatv = fn)
-#define CALL_GetIntegerv(disp, parameters) (*((disp)->GetIntegerv)) parameters
-#define GET_GetIntegerv(disp) ((disp)->GetIntegerv)
-#define SET_GetIntegerv(disp, fn) ((disp)->GetIntegerv = fn)
-#define CALL_GetLightfv(disp, parameters) (*((disp)->GetLightfv)) parameters
-#define GET_GetLightfv(disp) ((disp)->GetLightfv)
-#define SET_GetLightfv(disp, fn) ((disp)->GetLightfv = fn)
-#define CALL_GetLightiv(disp, parameters) (*((disp)->GetLightiv)) parameters
-#define GET_GetLightiv(disp) ((disp)->GetLightiv)
-#define SET_GetLightiv(disp, fn) ((disp)->GetLightiv = fn)
-#define CALL_GetMapdv(disp, parameters) (*((disp)->GetMapdv)) parameters
-#define GET_GetMapdv(disp) ((disp)->GetMapdv)
-#define SET_GetMapdv(disp, fn) ((disp)->GetMapdv = fn)
-#define CALL_GetMapfv(disp, parameters) (*((disp)->GetMapfv)) parameters
-#define GET_GetMapfv(disp) ((disp)->GetMapfv)
-#define SET_GetMapfv(disp, fn) ((disp)->GetMapfv = fn)
-#define CALL_GetMapiv(disp, parameters) (*((disp)->GetMapiv)) parameters
-#define GET_GetMapiv(disp) ((disp)->GetMapiv)
-#define SET_GetMapiv(disp, fn) ((disp)->GetMapiv = fn)
-#define CALL_GetMaterialfv(disp, parameters) (*((disp)->GetMaterialfv)) parameters
-#define GET_GetMaterialfv(disp) ((disp)->GetMaterialfv)
-#define SET_GetMaterialfv(disp, fn) ((disp)->GetMaterialfv = fn)
-#define CALL_GetMaterialiv(disp, parameters) (*((disp)->GetMaterialiv)) parameters
-#define GET_GetMaterialiv(disp) ((disp)->GetMaterialiv)
-#define SET_GetMaterialiv(disp, fn) ((disp)->GetMaterialiv = fn)
-#define CALL_GetPixelMapfv(disp, parameters) (*((disp)->GetPixelMapfv)) parameters
-#define GET_GetPixelMapfv(disp) ((disp)->GetPixelMapfv)
-#define SET_GetPixelMapfv(disp, fn) ((disp)->GetPixelMapfv = fn)
-#define CALL_GetPixelMapuiv(disp, parameters) (*((disp)->GetPixelMapuiv)) parameters
-#define GET_GetPixelMapuiv(disp) ((disp)->GetPixelMapuiv)
-#define SET_GetPixelMapuiv(disp, fn) ((disp)->GetPixelMapuiv = fn)
-#define CALL_GetPixelMapusv(disp, parameters) (*((disp)->GetPixelMapusv)) parameters
-#define GET_GetPixelMapusv(disp) ((disp)->GetPixelMapusv)
-#define SET_GetPixelMapusv(disp, fn) ((disp)->GetPixelMapusv = fn)
-#define CALL_GetPolygonStipple(disp, parameters) (*((disp)->GetPolygonStipple)) parameters
-#define GET_GetPolygonStipple(disp) ((disp)->GetPolygonStipple)
-#define SET_GetPolygonStipple(disp, fn) ((disp)->GetPolygonStipple = fn)
-#define CALL_GetString(disp, parameters) (*((disp)->GetString)) parameters
-#define GET_GetString(disp) ((disp)->GetString)
-#define SET_GetString(disp, fn) ((disp)->GetString = fn)
-#define CALL_GetTexEnvfv(disp, parameters) (*((disp)->GetTexEnvfv)) parameters
-#define GET_GetTexEnvfv(disp) ((disp)->GetTexEnvfv)
-#define SET_GetTexEnvfv(disp, fn) ((disp)->GetTexEnvfv = fn)
-#define CALL_GetTexEnviv(disp, parameters) (*((disp)->GetTexEnviv)) parameters
-#define GET_GetTexEnviv(disp) ((disp)->GetTexEnviv)
-#define SET_GetTexEnviv(disp, fn) ((disp)->GetTexEnviv = fn)
-#define CALL_GetTexGendv(disp, parameters) (*((disp)->GetTexGendv)) parameters
-#define GET_GetTexGendv(disp) ((disp)->GetTexGendv)
-#define SET_GetTexGendv(disp, fn) ((disp)->GetTexGendv = fn)
-#define CALL_GetTexGenfv(disp, parameters) (*((disp)->GetTexGenfv)) parameters
-#define GET_GetTexGenfv(disp) ((disp)->GetTexGenfv)
-#define SET_GetTexGenfv(disp, fn) ((disp)->GetTexGenfv = fn)
-#define CALL_GetTexGeniv(disp, parameters) (*((disp)->GetTexGeniv)) parameters
-#define GET_GetTexGeniv(disp) ((disp)->GetTexGeniv)
-#define SET_GetTexGeniv(disp, fn) ((disp)->GetTexGeniv = fn)
-#define CALL_GetTexImage(disp, parameters) (*((disp)->GetTexImage)) parameters
-#define GET_GetTexImage(disp) ((disp)->GetTexImage)
-#define SET_GetTexImage(disp, fn) ((disp)->GetTexImage = fn)
-#define CALL_GetTexParameterfv(disp, parameters) (*((disp)->GetTexParameterfv)) parameters
-#define GET_GetTexParameterfv(disp) ((disp)->GetTexParameterfv)
-#define SET_GetTexParameterfv(disp, fn) ((disp)->GetTexParameterfv = fn)
-#define CALL_GetTexParameteriv(disp, parameters) (*((disp)->GetTexParameteriv)) parameters
-#define GET_GetTexParameteriv(disp) ((disp)->GetTexParameteriv)
-#define SET_GetTexParameteriv(disp, fn) ((disp)->GetTexParameteriv = fn)
-#define CALL_GetTexLevelParameterfv(disp, parameters) (*((disp)->GetTexLevelParameterfv)) parameters
-#define GET_GetTexLevelParameterfv(disp) ((disp)->GetTexLevelParameterfv)
-#define SET_GetTexLevelParameterfv(disp, fn) ((disp)->GetTexLevelParameterfv = fn)
-#define CALL_GetTexLevelParameteriv(disp, parameters) (*((disp)->GetTexLevelParameteriv)) parameters
-#define GET_GetTexLevelParameteriv(disp) ((disp)->GetTexLevelParameteriv)
-#define SET_GetTexLevelParameteriv(disp, fn) ((disp)->GetTexLevelParameteriv = fn)
-#define CALL_IsEnabled(disp, parameters) (*((disp)->IsEnabled)) parameters
-#define GET_IsEnabled(disp) ((disp)->IsEnabled)
-#define SET_IsEnabled(disp, fn) ((disp)->IsEnabled = fn)
-#define CALL_IsList(disp, parameters) (*((disp)->IsList)) parameters
-#define GET_IsList(disp) ((disp)->IsList)
-#define SET_IsList(disp, fn) ((disp)->IsList = fn)
-#define CALL_DepthRange(disp, parameters) (*((disp)->DepthRange)) parameters
-#define GET_DepthRange(disp) ((disp)->DepthRange)
-#define SET_DepthRange(disp, fn) ((disp)->DepthRange = fn)
-#define CALL_Frustum(disp, parameters) (*((disp)->Frustum)) parameters
-#define GET_Frustum(disp) ((disp)->Frustum)
-#define SET_Frustum(disp, fn) ((disp)->Frustum = fn)
-#define CALL_LoadIdentity(disp, parameters) (*((disp)->LoadIdentity)) parameters
-#define GET_LoadIdentity(disp) ((disp)->LoadIdentity)
-#define SET_LoadIdentity(disp, fn) ((disp)->LoadIdentity = fn)
-#define CALL_LoadMatrixf(disp, parameters) (*((disp)->LoadMatrixf)) parameters
-#define GET_LoadMatrixf(disp) ((disp)->LoadMatrixf)
-#define SET_LoadMatrixf(disp, fn) ((disp)->LoadMatrixf = fn)
-#define CALL_LoadMatrixd(disp, parameters) (*((disp)->LoadMatrixd)) parameters
-#define GET_LoadMatrixd(disp) ((disp)->LoadMatrixd)
-#define SET_LoadMatrixd(disp, fn) ((disp)->LoadMatrixd = fn)
-#define CALL_MatrixMode(disp, parameters) (*((disp)->MatrixMode)) parameters
-#define GET_MatrixMode(disp) ((disp)->MatrixMode)
-#define SET_MatrixMode(disp, fn) ((disp)->MatrixMode = fn)
-#define CALL_MultMatrixf(disp, parameters) (*((disp)->MultMatrixf)) parameters
-#define GET_MultMatrixf(disp) ((disp)->MultMatrixf)
-#define SET_MultMatrixf(disp, fn) ((disp)->MultMatrixf = fn)
-#define CALL_MultMatrixd(disp, parameters) (*((disp)->MultMatrixd)) parameters
-#define GET_MultMatrixd(disp) ((disp)->MultMatrixd)
-#define SET_MultMatrixd(disp, fn) ((disp)->MultMatrixd = fn)
-#define CALL_Ortho(disp, parameters) (*((disp)->Ortho)) parameters
-#define GET_Ortho(disp) ((disp)->Ortho)
-#define SET_Ortho(disp, fn) ((disp)->Ortho = fn)
-#define CALL_PopMatrix(disp, parameters) (*((disp)->PopMatrix)) parameters
-#define GET_PopMatrix(disp) ((disp)->PopMatrix)
-#define SET_PopMatrix(disp, fn) ((disp)->PopMatrix = fn)
-#define CALL_PushMatrix(disp, parameters) (*((disp)->PushMatrix)) parameters
-#define GET_PushMatrix(disp) ((disp)->PushMatrix)
-#define SET_PushMatrix(disp, fn) ((disp)->PushMatrix = fn)
-#define CALL_Rotated(disp, parameters) (*((disp)->Rotated)) parameters
-#define GET_Rotated(disp) ((disp)->Rotated)
-#define SET_Rotated(disp, fn) ((disp)->Rotated = fn)
-#define CALL_Rotatef(disp, parameters) (*((disp)->Rotatef)) parameters
-#define GET_Rotatef(disp) ((disp)->Rotatef)
-#define SET_Rotatef(disp, fn) ((disp)->Rotatef = fn)
-#define CALL_Scaled(disp, parameters) (*((disp)->Scaled)) parameters
-#define GET_Scaled(disp) ((disp)->Scaled)
-#define SET_Scaled(disp, fn) ((disp)->Scaled = fn)
-#define CALL_Scalef(disp, parameters) (*((disp)->Scalef)) parameters
-#define GET_Scalef(disp) ((disp)->Scalef)
-#define SET_Scalef(disp, fn) ((disp)->Scalef = fn)
-#define CALL_Translated(disp, parameters) (*((disp)->Translated)) parameters
-#define GET_Translated(disp) ((disp)->Translated)
-#define SET_Translated(disp, fn) ((disp)->Translated = fn)
-#define CALL_Translatef(disp, parameters) (*((disp)->Translatef)) parameters
-#define GET_Translatef(disp) ((disp)->Translatef)
-#define SET_Translatef(disp, fn) ((disp)->Translatef = fn)
-#define CALL_Viewport(disp, parameters) (*((disp)->Viewport)) parameters
-#define GET_Viewport(disp) ((disp)->Viewport)
-#define SET_Viewport(disp, fn) ((disp)->Viewport = fn)
-#define CALL_ArrayElement(disp, parameters) (*((disp)->ArrayElement)) parameters
-#define GET_ArrayElement(disp) ((disp)->ArrayElement)
-#define SET_ArrayElement(disp, fn) ((disp)->ArrayElement = fn)
-#define CALL_BindTexture(disp, parameters) (*((disp)->BindTexture)) parameters
-#define GET_BindTexture(disp) ((disp)->BindTexture)
-#define SET_BindTexture(disp, fn) ((disp)->BindTexture = fn)
-#define CALL_ColorPointer(disp, parameters) (*((disp)->ColorPointer)) parameters
-#define GET_ColorPointer(disp) ((disp)->ColorPointer)
-#define SET_ColorPointer(disp, fn) ((disp)->ColorPointer = fn)
-#define CALL_DisableClientState(disp, parameters) (*((disp)->DisableClientState)) parameters
-#define GET_DisableClientState(disp) ((disp)->DisableClientState)
-#define SET_DisableClientState(disp, fn) ((disp)->DisableClientState = fn)
-#define CALL_DrawArrays(disp, parameters) (*((disp)->DrawArrays)) parameters
-#define GET_DrawArrays(disp) ((disp)->DrawArrays)
-#define SET_DrawArrays(disp, fn) ((disp)->DrawArrays = fn)
-#define CALL_DrawElements(disp, parameters) (*((disp)->DrawElements)) parameters
-#define GET_DrawElements(disp) ((disp)->DrawElements)
-#define SET_DrawElements(disp, fn) ((disp)->DrawElements = fn)
-#define CALL_EdgeFlagPointer(disp, parameters) (*((disp)->EdgeFlagPointer)) parameters
-#define GET_EdgeFlagPointer(disp) ((disp)->EdgeFlagPointer)
-#define SET_EdgeFlagPointer(disp, fn) ((disp)->EdgeFlagPointer = fn)
-#define CALL_EnableClientState(disp, parameters) (*((disp)->EnableClientState)) parameters
-#define GET_EnableClientState(disp) ((disp)->EnableClientState)
-#define SET_EnableClientState(disp, fn) ((disp)->EnableClientState = fn)
-#define CALL_IndexPointer(disp, parameters) (*((disp)->IndexPointer)) parameters
-#define GET_IndexPointer(disp) ((disp)->IndexPointer)
-#define SET_IndexPointer(disp, fn) ((disp)->IndexPointer = fn)
-#define CALL_Indexub(disp, parameters) (*((disp)->Indexub)) parameters
-#define GET_Indexub(disp) ((disp)->Indexub)
-#define SET_Indexub(disp, fn) ((disp)->Indexub = fn)
-#define CALL_Indexubv(disp, parameters) (*((disp)->Indexubv)) parameters
-#define GET_Indexubv(disp) ((disp)->Indexubv)
-#define SET_Indexubv(disp, fn) ((disp)->Indexubv = fn)
-#define CALL_InterleavedArrays(disp, parameters) (*((disp)->InterleavedArrays)) parameters
-#define GET_InterleavedArrays(disp) ((disp)->InterleavedArrays)
-#define SET_InterleavedArrays(disp, fn) ((disp)->InterleavedArrays = fn)
-#define CALL_NormalPointer(disp, parameters) (*((disp)->NormalPointer)) parameters
-#define GET_NormalPointer(disp) ((disp)->NormalPointer)
-#define SET_NormalPointer(disp, fn) ((disp)->NormalPointer = fn)
-#define CALL_PolygonOffset(disp, parameters) (*((disp)->PolygonOffset)) parameters
-#define GET_PolygonOffset(disp) ((disp)->PolygonOffset)
-#define SET_PolygonOffset(disp, fn) ((disp)->PolygonOffset = fn)
-#define CALL_TexCoordPointer(disp, parameters) (*((disp)->TexCoordPointer)) parameters
-#define GET_TexCoordPointer(disp) ((disp)->TexCoordPointer)
-#define SET_TexCoordPointer(disp, fn) ((disp)->TexCoordPointer = fn)
-#define CALL_VertexPointer(disp, parameters) (*((disp)->VertexPointer)) parameters
-#define GET_VertexPointer(disp) ((disp)->VertexPointer)
-#define SET_VertexPointer(disp, fn) ((disp)->VertexPointer = fn)
-#define CALL_AreTexturesResident(disp, parameters) (*((disp)->AreTexturesResident)) parameters
-#define GET_AreTexturesResident(disp) ((disp)->AreTexturesResident)
-#define SET_AreTexturesResident(disp, fn) ((disp)->AreTexturesResident = fn)
-#define CALL_CopyTexImage1D(disp, parameters) (*((disp)->CopyTexImage1D)) parameters
-#define GET_CopyTexImage1D(disp) ((disp)->CopyTexImage1D)
-#define SET_CopyTexImage1D(disp, fn) ((disp)->CopyTexImage1D = fn)
-#define CALL_CopyTexImage2D(disp, parameters) (*((disp)->CopyTexImage2D)) parameters
-#define GET_CopyTexImage2D(disp) ((disp)->CopyTexImage2D)
-#define SET_CopyTexImage2D(disp, fn) ((disp)->CopyTexImage2D = fn)
-#define CALL_CopyTexSubImage1D(disp, parameters) (*((disp)->CopyTexSubImage1D)) parameters
-#define GET_CopyTexSubImage1D(disp) ((disp)->CopyTexSubImage1D)
-#define SET_CopyTexSubImage1D(disp, fn) ((disp)->CopyTexSubImage1D = fn)
-#define CALL_CopyTexSubImage2D(disp, parameters) (*((disp)->CopyTexSubImage2D)) parameters
-#define GET_CopyTexSubImage2D(disp) ((disp)->CopyTexSubImage2D)
-#define SET_CopyTexSubImage2D(disp, fn) ((disp)->CopyTexSubImage2D = fn)
-#define CALL_DeleteTextures(disp, parameters) (*((disp)->DeleteTextures)) parameters
-#define GET_DeleteTextures(disp) ((disp)->DeleteTextures)
-#define SET_DeleteTextures(disp, fn) ((disp)->DeleteTextures = fn)
-#define CALL_GenTextures(disp, parameters) (*((disp)->GenTextures)) parameters
-#define GET_GenTextures(disp) ((disp)->GenTextures)
-#define SET_GenTextures(disp, fn) ((disp)->GenTextures = fn)
-#define CALL_GetPointerv(disp, parameters) (*((disp)->GetPointerv)) parameters
-#define GET_GetPointerv(disp) ((disp)->GetPointerv)
-#define SET_GetPointerv(disp, fn) ((disp)->GetPointerv = fn)
-#define CALL_IsTexture(disp, parameters) (*((disp)->IsTexture)) parameters
-#define GET_IsTexture(disp) ((disp)->IsTexture)
-#define SET_IsTexture(disp, fn) ((disp)->IsTexture = fn)
-#define CALL_PrioritizeTextures(disp, parameters) (*((disp)->PrioritizeTextures)) parameters
-#define GET_PrioritizeTextures(disp) ((disp)->PrioritizeTextures)
-#define SET_PrioritizeTextures(disp, fn) ((disp)->PrioritizeTextures = fn)
-#define CALL_TexSubImage1D(disp, parameters) (*((disp)->TexSubImage1D)) parameters
-#define GET_TexSubImage1D(disp) ((disp)->TexSubImage1D)
-#define SET_TexSubImage1D(disp, fn) ((disp)->TexSubImage1D = fn)
-#define CALL_TexSubImage2D(disp, parameters) (*((disp)->TexSubImage2D)) parameters
-#define GET_TexSubImage2D(disp) ((disp)->TexSubImage2D)
-#define SET_TexSubImage2D(disp, fn) ((disp)->TexSubImage2D = fn)
-#define CALL_PopClientAttrib(disp, parameters) (*((disp)->PopClientAttrib)) parameters
-#define GET_PopClientAttrib(disp) ((disp)->PopClientAttrib)
-#define SET_PopClientAttrib(disp, fn) ((disp)->PopClientAttrib = fn)
-#define CALL_PushClientAttrib(disp, parameters) (*((disp)->PushClientAttrib)) parameters
-#define GET_PushClientAttrib(disp) ((disp)->PushClientAttrib)
-#define SET_PushClientAttrib(disp, fn) ((disp)->PushClientAttrib = fn)
-#define CALL_BlendColor(disp, parameters) (*((disp)->BlendColor)) parameters
-#define GET_BlendColor(disp) ((disp)->BlendColor)
-#define SET_BlendColor(disp, fn) ((disp)->BlendColor = fn)
-#define CALL_BlendEquation(disp, parameters) (*((disp)->BlendEquation)) parameters
-#define GET_BlendEquation(disp) ((disp)->BlendEquation)
-#define SET_BlendEquation(disp, fn) ((disp)->BlendEquation = fn)
-#define CALL_DrawRangeElements(disp, parameters) (*((disp)->DrawRangeElements)) parameters
-#define GET_DrawRangeElements(disp) ((disp)->DrawRangeElements)
-#define SET_DrawRangeElements(disp, fn) ((disp)->DrawRangeElements = fn)
-#define CALL_ColorTable(disp, parameters) (*((disp)->ColorTable)) parameters
-#define GET_ColorTable(disp) ((disp)->ColorTable)
-#define SET_ColorTable(disp, fn) ((disp)->ColorTable = fn)
-#define CALL_ColorTableParameterfv(disp, parameters) (*((disp)->ColorTableParameterfv)) parameters
-#define GET_ColorTableParameterfv(disp) ((disp)->ColorTableParameterfv)
-#define SET_ColorTableParameterfv(disp, fn) ((disp)->ColorTableParameterfv = fn)
-#define CALL_ColorTableParameteriv(disp, parameters) (*((disp)->ColorTableParameteriv)) parameters
-#define GET_ColorTableParameteriv(disp) ((disp)->ColorTableParameteriv)
-#define SET_ColorTableParameteriv(disp, fn) ((disp)->ColorTableParameteriv = fn)
-#define CALL_CopyColorTable(disp, parameters) (*((disp)->CopyColorTable)) parameters
-#define GET_CopyColorTable(disp) ((disp)->CopyColorTable)
-#define SET_CopyColorTable(disp, fn) ((disp)->CopyColorTable = fn)
-#define CALL_GetColorTable(disp, parameters) (*((disp)->GetColorTable)) parameters
-#define GET_GetColorTable(disp) ((disp)->GetColorTable)
-#define SET_GetColorTable(disp, fn) ((disp)->GetColorTable = fn)
-#define CALL_GetColorTableParameterfv(disp, parameters) (*((disp)->GetColorTableParameterfv)) parameters
-#define GET_GetColorTableParameterfv(disp) ((disp)->GetColorTableParameterfv)
-#define SET_GetColorTableParameterfv(disp, fn) ((disp)->GetColorTableParameterfv = fn)
-#define CALL_GetColorTableParameteriv(disp, parameters) (*((disp)->GetColorTableParameteriv)) parameters
-#define GET_GetColorTableParameteriv(disp) ((disp)->GetColorTableParameteriv)
-#define SET_GetColorTableParameteriv(disp, fn) ((disp)->GetColorTableParameteriv = fn)
-#define CALL_ColorSubTable(disp, parameters) (*((disp)->ColorSubTable)) parameters
-#define GET_ColorSubTable(disp) ((disp)->ColorSubTable)
-#define SET_ColorSubTable(disp, fn) ((disp)->ColorSubTable = fn)
-#define CALL_CopyColorSubTable(disp, parameters) (*((disp)->CopyColorSubTable)) parameters
-#define GET_CopyColorSubTable(disp) ((disp)->CopyColorSubTable)
-#define SET_CopyColorSubTable(disp, fn) ((disp)->CopyColorSubTable = fn)
-#define CALL_ConvolutionFilter1D(disp, parameters) (*((disp)->ConvolutionFilter1D)) parameters
-#define GET_ConvolutionFilter1D(disp) ((disp)->ConvolutionFilter1D)
-#define SET_ConvolutionFilter1D(disp, fn) ((disp)->ConvolutionFilter1D = fn)
-#define CALL_ConvolutionFilter2D(disp, parameters) (*((disp)->ConvolutionFilter2D)) parameters
-#define GET_ConvolutionFilter2D(disp) ((disp)->ConvolutionFilter2D)
-#define SET_ConvolutionFilter2D(disp, fn) ((disp)->ConvolutionFilter2D = fn)
-#define CALL_ConvolutionParameterf(disp, parameters) (*((disp)->ConvolutionParameterf)) parameters
-#define GET_ConvolutionParameterf(disp) ((disp)->ConvolutionParameterf)
-#define SET_ConvolutionParameterf(disp, fn) ((disp)->ConvolutionParameterf = fn)
-#define CALL_ConvolutionParameterfv(disp, parameters) (*((disp)->ConvolutionParameterfv)) parameters
-#define GET_ConvolutionParameterfv(disp) ((disp)->ConvolutionParameterfv)
-#define SET_ConvolutionParameterfv(disp, fn) ((disp)->ConvolutionParameterfv = fn)
-#define CALL_ConvolutionParameteri(disp, parameters) (*((disp)->ConvolutionParameteri)) parameters
-#define GET_ConvolutionParameteri(disp) ((disp)->ConvolutionParameteri)
-#define SET_ConvolutionParameteri(disp, fn) ((disp)->ConvolutionParameteri = fn)
-#define CALL_ConvolutionParameteriv(disp, parameters) (*((disp)->ConvolutionParameteriv)) parameters
-#define GET_ConvolutionParameteriv(disp) ((disp)->ConvolutionParameteriv)
-#define SET_ConvolutionParameteriv(disp, fn) ((disp)->ConvolutionParameteriv = fn)
-#define CALL_CopyConvolutionFilter1D(disp, parameters) (*((disp)->CopyConvolutionFilter1D)) parameters
-#define GET_CopyConvolutionFilter1D(disp) ((disp)->CopyConvolutionFilter1D)
-#define SET_CopyConvolutionFilter1D(disp, fn) ((disp)->CopyConvolutionFilter1D = fn)
-#define CALL_CopyConvolutionFilter2D(disp, parameters) (*((disp)->CopyConvolutionFilter2D)) parameters
-#define GET_CopyConvolutionFilter2D(disp) ((disp)->CopyConvolutionFilter2D)
-#define SET_CopyConvolutionFilter2D(disp, fn) ((disp)->CopyConvolutionFilter2D = fn)
-#define CALL_GetConvolutionFilter(disp, parameters) (*((disp)->GetConvolutionFilter)) parameters
-#define GET_GetConvolutionFilter(disp) ((disp)->GetConvolutionFilter)
-#define SET_GetConvolutionFilter(disp, fn) ((disp)->GetConvolutionFilter = fn)
-#define CALL_GetConvolutionParameterfv(disp, parameters) (*((disp)->GetConvolutionParameterfv)) parameters
-#define GET_GetConvolutionParameterfv(disp) ((disp)->GetConvolutionParameterfv)
-#define SET_GetConvolutionParameterfv(disp, fn) ((disp)->GetConvolutionParameterfv = fn)
-#define CALL_GetConvolutionParameteriv(disp, parameters) (*((disp)->GetConvolutionParameteriv)) parameters
-#define GET_GetConvolutionParameteriv(disp) ((disp)->GetConvolutionParameteriv)
-#define SET_GetConvolutionParameteriv(disp, fn) ((disp)->GetConvolutionParameteriv = fn)
-#define CALL_GetSeparableFilter(disp, parameters) (*((disp)->GetSeparableFilter)) parameters
-#define GET_GetSeparableFilter(disp) ((disp)->GetSeparableFilter)
-#define SET_GetSeparableFilter(disp, fn) ((disp)->GetSeparableFilter = fn)
-#define CALL_SeparableFilter2D(disp, parameters) (*((disp)->SeparableFilter2D)) parameters
-#define GET_SeparableFilter2D(disp) ((disp)->SeparableFilter2D)
-#define SET_SeparableFilter2D(disp, fn) ((disp)->SeparableFilter2D = fn)
-#define CALL_GetHistogram(disp, parameters) (*((disp)->GetHistogram)) parameters
-#define GET_GetHistogram(disp) ((disp)->GetHistogram)
-#define SET_GetHistogram(disp, fn) ((disp)->GetHistogram = fn)
-#define CALL_GetHistogramParameterfv(disp, parameters) (*((disp)->GetHistogramParameterfv)) parameters
-#define GET_GetHistogramParameterfv(disp) ((disp)->GetHistogramParameterfv)
-#define SET_GetHistogramParameterfv(disp, fn) ((disp)->GetHistogramParameterfv = fn)
-#define CALL_GetHistogramParameteriv(disp, parameters) (*((disp)->GetHistogramParameteriv)) parameters
-#define GET_GetHistogramParameteriv(disp) ((disp)->GetHistogramParameteriv)
-#define SET_GetHistogramParameteriv(disp, fn) ((disp)->GetHistogramParameteriv = fn)
-#define CALL_GetMinmax(disp, parameters) (*((disp)->GetMinmax)) parameters
-#define GET_GetMinmax(disp) ((disp)->GetMinmax)
-#define SET_GetMinmax(disp, fn) ((disp)->GetMinmax = fn)
-#define CALL_GetMinmaxParameterfv(disp, parameters) (*((disp)->GetMinmaxParameterfv)) parameters
-#define GET_GetMinmaxParameterfv(disp) ((disp)->GetMinmaxParameterfv)
-#define SET_GetMinmaxParameterfv(disp, fn) ((disp)->GetMinmaxParameterfv = fn)
-#define CALL_GetMinmaxParameteriv(disp, parameters) (*((disp)->GetMinmaxParameteriv)) parameters
-#define GET_GetMinmaxParameteriv(disp) ((disp)->GetMinmaxParameteriv)
-#define SET_GetMinmaxParameteriv(disp, fn) ((disp)->GetMinmaxParameteriv = fn)
-#define CALL_Histogram(disp, parameters) (*((disp)->Histogram)) parameters
-#define GET_Histogram(disp) ((disp)->Histogram)
-#define SET_Histogram(disp, fn) ((disp)->Histogram = fn)
-#define CALL_Minmax(disp, parameters) (*((disp)->Minmax)) parameters
-#define GET_Minmax(disp) ((disp)->Minmax)
-#define SET_Minmax(disp, fn) ((disp)->Minmax = fn)
-#define CALL_ResetHistogram(disp, parameters) (*((disp)->ResetHistogram)) parameters
-#define GET_ResetHistogram(disp) ((disp)->ResetHistogram)
-#define SET_ResetHistogram(disp, fn) ((disp)->ResetHistogram = fn)
-#define CALL_ResetMinmax(disp, parameters) (*((disp)->ResetMinmax)) parameters
-#define GET_ResetMinmax(disp) ((disp)->ResetMinmax)
-#define SET_ResetMinmax(disp, fn) ((disp)->ResetMinmax = fn)
-#define CALL_TexImage3D(disp, parameters) (*((disp)->TexImage3D)) parameters
-#define GET_TexImage3D(disp) ((disp)->TexImage3D)
-#define SET_TexImage3D(disp, fn) ((disp)->TexImage3D = fn)
-#define CALL_TexSubImage3D(disp, parameters) (*((disp)->TexSubImage3D)) parameters
-#define GET_TexSubImage3D(disp) ((disp)->TexSubImage3D)
-#define SET_TexSubImage3D(disp, fn) ((disp)->TexSubImage3D = fn)
-#define CALL_CopyTexSubImage3D(disp, parameters) (*((disp)->CopyTexSubImage3D)) parameters
-#define GET_CopyTexSubImage3D(disp) ((disp)->CopyTexSubImage3D)
-#define SET_CopyTexSubImage3D(disp, fn) ((disp)->CopyTexSubImage3D = fn)
-#define CALL_ActiveTextureARB(disp, parameters) (*((disp)->ActiveTextureARB)) parameters
-#define GET_ActiveTextureARB(disp) ((disp)->ActiveTextureARB)
-#define SET_ActiveTextureARB(disp, fn) ((disp)->ActiveTextureARB = fn)
-#define CALL_ClientActiveTextureARB(disp, parameters) (*((disp)->ClientActiveTextureARB)) parameters
-#define GET_ClientActiveTextureARB(disp) ((disp)->ClientActiveTextureARB)
-#define SET_ClientActiveTextureARB(disp, fn) ((disp)->ClientActiveTextureARB = fn)
-#define CALL_MultiTexCoord1dARB(disp, parameters) (*((disp)->MultiTexCoord1dARB)) parameters
-#define GET_MultiTexCoord1dARB(disp) ((disp)->MultiTexCoord1dARB)
-#define SET_MultiTexCoord1dARB(disp, fn) ((disp)->MultiTexCoord1dARB = fn)
-#define CALL_MultiTexCoord1dvARB(disp, parameters) (*((disp)->MultiTexCoord1dvARB)) parameters
-#define GET_MultiTexCoord1dvARB(disp) ((disp)->MultiTexCoord1dvARB)
-#define SET_MultiTexCoord1dvARB(disp, fn) ((disp)->MultiTexCoord1dvARB = fn)
-#define CALL_MultiTexCoord1fARB(disp, parameters) (*((disp)->MultiTexCoord1fARB)) parameters
-#define GET_MultiTexCoord1fARB(disp) ((disp)->MultiTexCoord1fARB)
-#define SET_MultiTexCoord1fARB(disp, fn) ((disp)->MultiTexCoord1fARB = fn)
-#define CALL_MultiTexCoord1fvARB(disp, parameters) (*((disp)->MultiTexCoord1fvARB)) parameters
-#define GET_MultiTexCoord1fvARB(disp) ((disp)->MultiTexCoord1fvARB)
-#define SET_MultiTexCoord1fvARB(disp, fn) ((disp)->MultiTexCoord1fvARB = fn)
-#define CALL_MultiTexCoord1iARB(disp, parameters) (*((disp)->MultiTexCoord1iARB)) parameters
-#define GET_MultiTexCoord1iARB(disp) ((disp)->MultiTexCoord1iARB)
-#define SET_MultiTexCoord1iARB(disp, fn) ((disp)->MultiTexCoord1iARB = fn)
-#define CALL_MultiTexCoord1ivARB(disp, parameters) (*((disp)->MultiTexCoord1ivARB)) parameters
-#define GET_MultiTexCoord1ivARB(disp) ((disp)->MultiTexCoord1ivARB)
-#define SET_MultiTexCoord1ivARB(disp, fn) ((disp)->MultiTexCoord1ivARB = fn)
-#define CALL_MultiTexCoord1sARB(disp, parameters) (*((disp)->MultiTexCoord1sARB)) parameters
-#define GET_MultiTexCoord1sARB(disp) ((disp)->MultiTexCoord1sARB)
-#define SET_MultiTexCoord1sARB(disp, fn) ((disp)->MultiTexCoord1sARB = fn)
-#define CALL_MultiTexCoord1svARB(disp, parameters) (*((disp)->MultiTexCoord1svARB)) parameters
-#define GET_MultiTexCoord1svARB(disp) ((disp)->MultiTexCoord1svARB)
-#define SET_MultiTexCoord1svARB(disp, fn) ((disp)->MultiTexCoord1svARB = fn)
-#define CALL_MultiTexCoord2dARB(disp, parameters) (*((disp)->MultiTexCoord2dARB)) parameters
-#define GET_MultiTexCoord2dARB(disp) ((disp)->MultiTexCoord2dARB)
-#define SET_MultiTexCoord2dARB(disp, fn) ((disp)->MultiTexCoord2dARB = fn)
-#define CALL_MultiTexCoord2dvARB(disp, parameters) (*((disp)->MultiTexCoord2dvARB)) parameters
-#define GET_MultiTexCoord2dvARB(disp) ((disp)->MultiTexCoord2dvARB)
-#define SET_MultiTexCoord2dvARB(disp, fn) ((disp)->MultiTexCoord2dvARB = fn)
-#define CALL_MultiTexCoord2fARB(disp, parameters) (*((disp)->MultiTexCoord2fARB)) parameters
-#define GET_MultiTexCoord2fARB(disp) ((disp)->MultiTexCoord2fARB)
-#define SET_MultiTexCoord2fARB(disp, fn) ((disp)->MultiTexCoord2fARB = fn)
-#define CALL_MultiTexCoord2fvARB(disp, parameters) (*((disp)->MultiTexCoord2fvARB)) parameters
-#define GET_MultiTexCoord2fvARB(disp) ((disp)->MultiTexCoord2fvARB)
-#define SET_MultiTexCoord2fvARB(disp, fn) ((disp)->MultiTexCoord2fvARB = fn)
-#define CALL_MultiTexCoord2iARB(disp, parameters) (*((disp)->MultiTexCoord2iARB)) parameters
-#define GET_MultiTexCoord2iARB(disp) ((disp)->MultiTexCoord2iARB)
-#define SET_MultiTexCoord2iARB(disp, fn) ((disp)->MultiTexCoord2iARB = fn)
-#define CALL_MultiTexCoord2ivARB(disp, parameters) (*((disp)->MultiTexCoord2ivARB)) parameters
-#define GET_MultiTexCoord2ivARB(disp) ((disp)->MultiTexCoord2ivARB)
-#define SET_MultiTexCoord2ivARB(disp, fn) ((disp)->MultiTexCoord2ivARB = fn)
-#define CALL_MultiTexCoord2sARB(disp, parameters) (*((disp)->MultiTexCoord2sARB)) parameters
-#define GET_MultiTexCoord2sARB(disp) ((disp)->MultiTexCoord2sARB)
-#define SET_MultiTexCoord2sARB(disp, fn) ((disp)->MultiTexCoord2sARB = fn)
-#define CALL_MultiTexCoord2svARB(disp, parameters) (*((disp)->MultiTexCoord2svARB)) parameters
-#define GET_MultiTexCoord2svARB(disp) ((disp)->MultiTexCoord2svARB)
-#define SET_MultiTexCoord2svARB(disp, fn) ((disp)->MultiTexCoord2svARB = fn)
-#define CALL_MultiTexCoord3dARB(disp, parameters) (*((disp)->MultiTexCoord3dARB)) parameters
-#define GET_MultiTexCoord3dARB(disp) ((disp)->MultiTexCoord3dARB)
-#define SET_MultiTexCoord3dARB(disp, fn) ((disp)->MultiTexCoord3dARB = fn)
-#define CALL_MultiTexCoord3dvARB(disp, parameters) (*((disp)->MultiTexCoord3dvARB)) parameters
-#define GET_MultiTexCoord3dvARB(disp) ((disp)->MultiTexCoord3dvARB)
-#define SET_MultiTexCoord3dvARB(disp, fn) ((disp)->MultiTexCoord3dvARB = fn)
-#define CALL_MultiTexCoord3fARB(disp, parameters) (*((disp)->MultiTexCoord3fARB)) parameters
-#define GET_MultiTexCoord3fARB(disp) ((disp)->MultiTexCoord3fARB)
-#define SET_MultiTexCoord3fARB(disp, fn) ((disp)->MultiTexCoord3fARB = fn)
-#define CALL_MultiTexCoord3fvARB(disp, parameters) (*((disp)->MultiTexCoord3fvARB)) parameters
-#define GET_MultiTexCoord3fvARB(disp) ((disp)->MultiTexCoord3fvARB)
-#define SET_MultiTexCoord3fvARB(disp, fn) ((disp)->MultiTexCoord3fvARB = fn)
-#define CALL_MultiTexCoord3iARB(disp, parameters) (*((disp)->MultiTexCoord3iARB)) parameters
-#define GET_MultiTexCoord3iARB(disp) ((disp)->MultiTexCoord3iARB)
-#define SET_MultiTexCoord3iARB(disp, fn) ((disp)->MultiTexCoord3iARB = fn)
-#define CALL_MultiTexCoord3ivARB(disp, parameters) (*((disp)->MultiTexCoord3ivARB)) parameters
-#define GET_MultiTexCoord3ivARB(disp) ((disp)->MultiTexCoord3ivARB)
-#define SET_MultiTexCoord3ivARB(disp, fn) ((disp)->MultiTexCoord3ivARB = fn)
-#define CALL_MultiTexCoord3sARB(disp, parameters) (*((disp)->MultiTexCoord3sARB)) parameters
-#define GET_MultiTexCoord3sARB(disp) ((disp)->MultiTexCoord3sARB)
-#define SET_MultiTexCoord3sARB(disp, fn) ((disp)->MultiTexCoord3sARB = fn)
-#define CALL_MultiTexCoord3svARB(disp, parameters) (*((disp)->MultiTexCoord3svARB)) parameters
-#define GET_MultiTexCoord3svARB(disp) ((disp)->MultiTexCoord3svARB)
-#define SET_MultiTexCoord3svARB(disp, fn) ((disp)->MultiTexCoord3svARB = fn)
-#define CALL_MultiTexCoord4dARB(disp, parameters) (*((disp)->MultiTexCoord4dARB)) parameters
-#define GET_MultiTexCoord4dARB(disp) ((disp)->MultiTexCoord4dARB)
-#define SET_MultiTexCoord4dARB(disp, fn) ((disp)->MultiTexCoord4dARB = fn)
-#define CALL_MultiTexCoord4dvARB(disp, parameters) (*((disp)->MultiTexCoord4dvARB)) parameters
-#define GET_MultiTexCoord4dvARB(disp) ((disp)->MultiTexCoord4dvARB)
-#define SET_MultiTexCoord4dvARB(disp, fn) ((disp)->MultiTexCoord4dvARB = fn)
-#define CALL_MultiTexCoord4fARB(disp, parameters) (*((disp)->MultiTexCoord4fARB)) parameters
-#define GET_MultiTexCoord4fARB(disp) ((disp)->MultiTexCoord4fARB)
-#define SET_MultiTexCoord4fARB(disp, fn) ((disp)->MultiTexCoord4fARB = fn)
-#define CALL_MultiTexCoord4fvARB(disp, parameters) (*((disp)->MultiTexCoord4fvARB)) parameters
-#define GET_MultiTexCoord4fvARB(disp) ((disp)->MultiTexCoord4fvARB)
-#define SET_MultiTexCoord4fvARB(disp, fn) ((disp)->MultiTexCoord4fvARB = fn)
-#define CALL_MultiTexCoord4iARB(disp, parameters) (*((disp)->MultiTexCoord4iARB)) parameters
-#define GET_MultiTexCoord4iARB(disp) ((disp)->MultiTexCoord4iARB)
-#define SET_MultiTexCoord4iARB(disp, fn) ((disp)->MultiTexCoord4iARB = fn)
-#define CALL_MultiTexCoord4ivARB(disp, parameters) (*((disp)->MultiTexCoord4ivARB)) parameters
-#define GET_MultiTexCoord4ivARB(disp) ((disp)->MultiTexCoord4ivARB)
-#define SET_MultiTexCoord4ivARB(disp, fn) ((disp)->MultiTexCoord4ivARB = fn)
-#define CALL_MultiTexCoord4sARB(disp, parameters) (*((disp)->MultiTexCoord4sARB)) parameters
-#define GET_MultiTexCoord4sARB(disp) ((disp)->MultiTexCoord4sARB)
-#define SET_MultiTexCoord4sARB(disp, fn) ((disp)->MultiTexCoord4sARB = fn)
-#define CALL_MultiTexCoord4svARB(disp, parameters) (*((disp)->MultiTexCoord4svARB)) parameters
-#define GET_MultiTexCoord4svARB(disp) ((disp)->MultiTexCoord4svARB)
-#define SET_MultiTexCoord4svARB(disp, fn) ((disp)->MultiTexCoord4svARB = fn)
-
-#if !defined(IN_DRI_DRIVER)
-
-#define CALL_AttachShader(disp, parameters) (*((disp)->AttachShader)) parameters
-#define GET_AttachShader(disp) ((disp)->AttachShader)
-#define SET_AttachShader(disp, fn) ((disp)->AttachShader = fn)
-#define CALL_CreateProgram(disp, parameters) (*((disp)->CreateProgram)) parameters
-#define GET_CreateProgram(disp) ((disp)->CreateProgram)
-#define SET_CreateProgram(disp, fn) ((disp)->CreateProgram = fn)
-#define CALL_CreateShader(disp, parameters) (*((disp)->CreateShader)) parameters
-#define GET_CreateShader(disp) ((disp)->CreateShader)
-#define SET_CreateShader(disp, fn) ((disp)->CreateShader = fn)
-#define CALL_DeleteProgram(disp, parameters) (*((disp)->DeleteProgram)) parameters
-#define GET_DeleteProgram(disp) ((disp)->DeleteProgram)
-#define SET_DeleteProgram(disp, fn) ((disp)->DeleteProgram = fn)
-#define CALL_DeleteShader(disp, parameters) (*((disp)->DeleteShader)) parameters
-#define GET_DeleteShader(disp) ((disp)->DeleteShader)
-#define SET_DeleteShader(disp, fn) ((disp)->DeleteShader = fn)
-#define CALL_DetachShader(disp, parameters) (*((disp)->DetachShader)) parameters
-#define GET_DetachShader(disp) ((disp)->DetachShader)
-#define SET_DetachShader(disp, fn) ((disp)->DetachShader = fn)
-#define CALL_GetAttachedShaders(disp, parameters) (*((disp)->GetAttachedShaders)) parameters
-#define GET_GetAttachedShaders(disp) ((disp)->GetAttachedShaders)
-#define SET_GetAttachedShaders(disp, fn) ((disp)->GetAttachedShaders = fn)
-#define CALL_GetProgramInfoLog(disp, parameters) (*((disp)->GetProgramInfoLog)) parameters
-#define GET_GetProgramInfoLog(disp) ((disp)->GetProgramInfoLog)
-#define SET_GetProgramInfoLog(disp, fn) ((disp)->GetProgramInfoLog = fn)
-#define CALL_GetProgramiv(disp, parameters) (*((disp)->GetProgramiv)) parameters
-#define GET_GetProgramiv(disp) ((disp)->GetProgramiv)
-#define SET_GetProgramiv(disp, fn) ((disp)->GetProgramiv = fn)
-#define CALL_GetShaderInfoLog(disp, parameters) (*((disp)->GetShaderInfoLog)) parameters
-#define GET_GetShaderInfoLog(disp) ((disp)->GetShaderInfoLog)
-#define SET_GetShaderInfoLog(disp, fn) ((disp)->GetShaderInfoLog = fn)
-#define CALL_GetShaderiv(disp, parameters) (*((disp)->GetShaderiv)) parameters
-#define GET_GetShaderiv(disp) ((disp)->GetShaderiv)
-#define SET_GetShaderiv(disp, fn) ((disp)->GetShaderiv = fn)
-#define CALL_IsProgram(disp, parameters) (*((disp)->IsProgram)) parameters
-#define GET_IsProgram(disp) ((disp)->IsProgram)
-#define SET_IsProgram(disp, fn) ((disp)->IsProgram = fn)
-#define CALL_IsShader(disp, parameters) (*((disp)->IsShader)) parameters
-#define GET_IsShader(disp) ((disp)->IsShader)
-#define SET_IsShader(disp, fn) ((disp)->IsShader = fn)
-#define CALL_StencilFuncSeparate(disp, parameters) (*((disp)->StencilFuncSeparate)) parameters
-#define GET_StencilFuncSeparate(disp) ((disp)->StencilFuncSeparate)
-#define SET_StencilFuncSeparate(disp, fn) ((disp)->StencilFuncSeparate = fn)
-#define CALL_StencilMaskSeparate(disp, parameters) (*((disp)->StencilMaskSeparate)) parameters
-#define GET_StencilMaskSeparate(disp) ((disp)->StencilMaskSeparate)
-#define SET_StencilMaskSeparate(disp, fn) ((disp)->StencilMaskSeparate = fn)
-#define CALL_StencilOpSeparate(disp, parameters) (*((disp)->StencilOpSeparate)) parameters
-#define GET_StencilOpSeparate(disp) ((disp)->StencilOpSeparate)
-#define SET_StencilOpSeparate(disp, fn) ((disp)->StencilOpSeparate = fn)
-#define CALL_UniformMatrix2x3fv(disp, parameters) (*((disp)->UniformMatrix2x3fv)) parameters
-#define GET_UniformMatrix2x3fv(disp) ((disp)->UniformMatrix2x3fv)
-#define SET_UniformMatrix2x3fv(disp, fn) ((disp)->UniformMatrix2x3fv = fn)
-#define CALL_UniformMatrix2x4fv(disp, parameters) (*((disp)->UniformMatrix2x4fv)) parameters
-#define GET_UniformMatrix2x4fv(disp) ((disp)->UniformMatrix2x4fv)
-#define SET_UniformMatrix2x4fv(disp, fn) ((disp)->UniformMatrix2x4fv = fn)
-#define CALL_UniformMatrix3x2fv(disp, parameters) (*((disp)->UniformMatrix3x2fv)) parameters
-#define GET_UniformMatrix3x2fv(disp) ((disp)->UniformMatrix3x2fv)
-#define SET_UniformMatrix3x2fv(disp, fn) ((disp)->UniformMatrix3x2fv = fn)
-#define CALL_UniformMatrix3x4fv(disp, parameters) (*((disp)->UniformMatrix3x4fv)) parameters
-#define GET_UniformMatrix3x4fv(disp) ((disp)->UniformMatrix3x4fv)
-#define SET_UniformMatrix3x4fv(disp, fn) ((disp)->UniformMatrix3x4fv = fn)
-#define CALL_UniformMatrix4x2fv(disp, parameters) (*((disp)->UniformMatrix4x2fv)) parameters
-#define GET_UniformMatrix4x2fv(disp) ((disp)->UniformMatrix4x2fv)
-#define SET_UniformMatrix4x2fv(disp, fn) ((disp)->UniformMatrix4x2fv = fn)
-#define CALL_UniformMatrix4x3fv(disp, parameters) (*((disp)->UniformMatrix4x3fv)) parameters
-#define GET_UniformMatrix4x3fv(disp) ((disp)->UniformMatrix4x3fv)
-#define SET_UniformMatrix4x3fv(disp, fn) ((disp)->UniformMatrix4x3fv = fn)
-#define CALL_LoadTransposeMatrixdARB(disp, parameters) (*((disp)->LoadTransposeMatrixdARB)) parameters
-#define GET_LoadTransposeMatrixdARB(disp) ((disp)->LoadTransposeMatrixdARB)
-#define SET_LoadTransposeMatrixdARB(disp, fn) ((disp)->LoadTransposeMatrixdARB = fn)
-#define CALL_LoadTransposeMatrixfARB(disp, parameters) (*((disp)->LoadTransposeMatrixfARB)) parameters
-#define GET_LoadTransposeMatrixfARB(disp) ((disp)->LoadTransposeMatrixfARB)
-#define SET_LoadTransposeMatrixfARB(disp, fn) ((disp)->LoadTransposeMatrixfARB = fn)
-#define CALL_MultTransposeMatrixdARB(disp, parameters) (*((disp)->MultTransposeMatrixdARB)) parameters
-#define GET_MultTransposeMatrixdARB(disp) ((disp)->MultTransposeMatrixdARB)
-#define SET_MultTransposeMatrixdARB(disp, fn) ((disp)->MultTransposeMatrixdARB = fn)
-#define CALL_MultTransposeMatrixfARB(disp, parameters) (*((disp)->MultTransposeMatrixfARB)) parameters
-#define GET_MultTransposeMatrixfARB(disp) ((disp)->MultTransposeMatrixfARB)
-#define SET_MultTransposeMatrixfARB(disp, fn) ((disp)->MultTransposeMatrixfARB = fn)
-#define CALL_SampleCoverageARB(disp, parameters) (*((disp)->SampleCoverageARB)) parameters
-#define GET_SampleCoverageARB(disp) ((disp)->SampleCoverageARB)
-#define SET_SampleCoverageARB(disp, fn) ((disp)->SampleCoverageARB = fn)
-#define CALL_CompressedTexImage1DARB(disp, parameters) (*((disp)->CompressedTexImage1DARB)) parameters
-#define GET_CompressedTexImage1DARB(disp) ((disp)->CompressedTexImage1DARB)
-#define SET_CompressedTexImage1DARB(disp, fn) ((disp)->CompressedTexImage1DARB = fn)
-#define CALL_CompressedTexImage2DARB(disp, parameters) (*((disp)->CompressedTexImage2DARB)) parameters
-#define GET_CompressedTexImage2DARB(disp) ((disp)->CompressedTexImage2DARB)
-#define SET_CompressedTexImage2DARB(disp, fn) ((disp)->CompressedTexImage2DARB = fn)
-#define CALL_CompressedTexImage3DARB(disp, parameters) (*((disp)->CompressedTexImage3DARB)) parameters
-#define GET_CompressedTexImage3DARB(disp) ((disp)->CompressedTexImage3DARB)
-#define SET_CompressedTexImage3DARB(disp, fn) ((disp)->CompressedTexImage3DARB = fn)
-#define CALL_CompressedTexSubImage1DARB(disp, parameters) (*((disp)->CompressedTexSubImage1DARB)) parameters
-#define GET_CompressedTexSubImage1DARB(disp) ((disp)->CompressedTexSubImage1DARB)
-#define SET_CompressedTexSubImage1DARB(disp, fn) ((disp)->CompressedTexSubImage1DARB = fn)
-#define CALL_CompressedTexSubImage2DARB(disp, parameters) (*((disp)->CompressedTexSubImage2DARB)) parameters
-#define GET_CompressedTexSubImage2DARB(disp) ((disp)->CompressedTexSubImage2DARB)
-#define SET_CompressedTexSubImage2DARB(disp, fn) ((disp)->CompressedTexSubImage2DARB = fn)
-#define CALL_CompressedTexSubImage3DARB(disp, parameters) (*((disp)->CompressedTexSubImage3DARB)) parameters
-#define GET_CompressedTexSubImage3DARB(disp) ((disp)->CompressedTexSubImage3DARB)
-#define SET_CompressedTexSubImage3DARB(disp, fn) ((disp)->CompressedTexSubImage3DARB = fn)
-#define CALL_GetCompressedTexImageARB(disp, parameters) (*((disp)->GetCompressedTexImageARB)) parameters
-#define GET_GetCompressedTexImageARB(disp) ((disp)->GetCompressedTexImageARB)
-#define SET_GetCompressedTexImageARB(disp, fn) ((disp)->GetCompressedTexImageARB = fn)
-#define CALL_DisableVertexAttribArrayARB(disp, parameters) (*((disp)->DisableVertexAttribArrayARB)) parameters
-#define GET_DisableVertexAttribArrayARB(disp) ((disp)->DisableVertexAttribArrayARB)
-#define SET_DisableVertexAttribArrayARB(disp, fn) ((disp)->DisableVertexAttribArrayARB = fn)
-#define CALL_EnableVertexAttribArrayARB(disp, parameters) (*((disp)->EnableVertexAttribArrayARB)) parameters
-#define GET_EnableVertexAttribArrayARB(disp) ((disp)->EnableVertexAttribArrayARB)
-#define SET_EnableVertexAttribArrayARB(disp, fn) ((disp)->EnableVertexAttribArrayARB = fn)
-#define CALL_GetProgramEnvParameterdvARB(disp, parameters) (*((disp)->GetProgramEnvParameterdvARB)) parameters
-#define GET_GetProgramEnvParameterdvARB(disp) ((disp)->GetProgramEnvParameterdvARB)
-#define SET_GetProgramEnvParameterdvARB(disp, fn) ((disp)->GetProgramEnvParameterdvARB = fn)
-#define CALL_GetProgramEnvParameterfvARB(disp, parameters) (*((disp)->GetProgramEnvParameterfvARB)) parameters
-#define GET_GetProgramEnvParameterfvARB(disp) ((disp)->GetProgramEnvParameterfvARB)
-#define SET_GetProgramEnvParameterfvARB(disp, fn) ((disp)->GetProgramEnvParameterfvARB = fn)
-#define CALL_GetProgramLocalParameterdvARB(disp, parameters) (*((disp)->GetProgramLocalParameterdvARB)) parameters
-#define GET_GetProgramLocalParameterdvARB(disp) ((disp)->GetProgramLocalParameterdvARB)
-#define SET_GetProgramLocalParameterdvARB(disp, fn) ((disp)->GetProgramLocalParameterdvARB = fn)
-#define CALL_GetProgramLocalParameterfvARB(disp, parameters) (*((disp)->GetProgramLocalParameterfvARB)) parameters
-#define GET_GetProgramLocalParameterfvARB(disp) ((disp)->GetProgramLocalParameterfvARB)
-#define SET_GetProgramLocalParameterfvARB(disp, fn) ((disp)->GetProgramLocalParameterfvARB = fn)
-#define CALL_GetProgramStringARB(disp, parameters) (*((disp)->GetProgramStringARB)) parameters
-#define GET_GetProgramStringARB(disp) ((disp)->GetProgramStringARB)
-#define SET_GetProgramStringARB(disp, fn) ((disp)->GetProgramStringARB = fn)
-#define CALL_GetProgramivARB(disp, parameters) (*((disp)->GetProgramivARB)) parameters
-#define GET_GetProgramivARB(disp) ((disp)->GetProgramivARB)
-#define SET_GetProgramivARB(disp, fn) ((disp)->GetProgramivARB = fn)
-#define CALL_GetVertexAttribdvARB(disp, parameters) (*((disp)->GetVertexAttribdvARB)) parameters
-#define GET_GetVertexAttribdvARB(disp) ((disp)->GetVertexAttribdvARB)
-#define SET_GetVertexAttribdvARB(disp, fn) ((disp)->GetVertexAttribdvARB = fn)
-#define CALL_GetVertexAttribfvARB(disp, parameters) (*((disp)->GetVertexAttribfvARB)) parameters
-#define GET_GetVertexAttribfvARB(disp) ((disp)->GetVertexAttribfvARB)
-#define SET_GetVertexAttribfvARB(disp, fn) ((disp)->GetVertexAttribfvARB = fn)
-#define CALL_GetVertexAttribivARB(disp, parameters) (*((disp)->GetVertexAttribivARB)) parameters
-#define GET_GetVertexAttribivARB(disp) ((disp)->GetVertexAttribivARB)
-#define SET_GetVertexAttribivARB(disp, fn) ((disp)->GetVertexAttribivARB = fn)
-#define CALL_ProgramEnvParameter4dARB(disp, parameters) (*((disp)->ProgramEnvParameter4dARB)) parameters
-#define GET_ProgramEnvParameter4dARB(disp) ((disp)->ProgramEnvParameter4dARB)
-#define SET_ProgramEnvParameter4dARB(disp, fn) ((disp)->ProgramEnvParameter4dARB = fn)
-#define CALL_ProgramEnvParameter4dvARB(disp, parameters) (*((disp)->ProgramEnvParameter4dvARB)) parameters
-#define GET_ProgramEnvParameter4dvARB(disp) ((disp)->ProgramEnvParameter4dvARB)
-#define SET_ProgramEnvParameter4dvARB(disp, fn) ((disp)->ProgramEnvParameter4dvARB = fn)
-#define CALL_ProgramEnvParameter4fARB(disp, parameters) (*((disp)->ProgramEnvParameter4fARB)) parameters
-#define GET_ProgramEnvParameter4fARB(disp) ((disp)->ProgramEnvParameter4fARB)
-#define SET_ProgramEnvParameter4fARB(disp, fn) ((disp)->ProgramEnvParameter4fARB = fn)
-#define CALL_ProgramEnvParameter4fvARB(disp, parameters) (*((disp)->ProgramEnvParameter4fvARB)) parameters
-#define GET_ProgramEnvParameter4fvARB(disp) ((disp)->ProgramEnvParameter4fvARB)
-#define SET_ProgramEnvParameter4fvARB(disp, fn) ((disp)->ProgramEnvParameter4fvARB = fn)
-#define CALL_ProgramLocalParameter4dARB(disp, parameters) (*((disp)->ProgramLocalParameter4dARB)) parameters
-#define GET_ProgramLocalParameter4dARB(disp) ((disp)->ProgramLocalParameter4dARB)
-#define SET_ProgramLocalParameter4dARB(disp, fn) ((disp)->ProgramLocalParameter4dARB = fn)
-#define CALL_ProgramLocalParameter4dvARB(disp, parameters) (*((disp)->ProgramLocalParameter4dvARB)) parameters
-#define GET_ProgramLocalParameter4dvARB(disp) ((disp)->ProgramLocalParameter4dvARB)
-#define SET_ProgramLocalParameter4dvARB(disp, fn) ((disp)->ProgramLocalParameter4dvARB = fn)
-#define CALL_ProgramLocalParameter4fARB(disp, parameters) (*((disp)->ProgramLocalParameter4fARB)) parameters
-#define GET_ProgramLocalParameter4fARB(disp) ((disp)->ProgramLocalParameter4fARB)
-#define SET_ProgramLocalParameter4fARB(disp, fn) ((disp)->ProgramLocalParameter4fARB = fn)
-#define CALL_ProgramLocalParameter4fvARB(disp, parameters) (*((disp)->ProgramLocalParameter4fvARB)) parameters
-#define GET_ProgramLocalParameter4fvARB(disp) ((disp)->ProgramLocalParameter4fvARB)
-#define SET_ProgramLocalParameter4fvARB(disp, fn) ((disp)->ProgramLocalParameter4fvARB = fn)
-#define CALL_ProgramStringARB(disp, parameters) (*((disp)->ProgramStringARB)) parameters
-#define GET_ProgramStringARB(disp) ((disp)->ProgramStringARB)
-#define SET_ProgramStringARB(disp, fn) ((disp)->ProgramStringARB = fn)
-#define CALL_VertexAttrib1dARB(disp, parameters) (*((disp)->VertexAttrib1dARB)) parameters
-#define GET_VertexAttrib1dARB(disp) ((disp)->VertexAttrib1dARB)
-#define SET_VertexAttrib1dARB(disp, fn) ((disp)->VertexAttrib1dARB = fn)
-#define CALL_VertexAttrib1dvARB(disp, parameters) (*((disp)->VertexAttrib1dvARB)) parameters
-#define GET_VertexAttrib1dvARB(disp) ((disp)->VertexAttrib1dvARB)
-#define SET_VertexAttrib1dvARB(disp, fn) ((disp)->VertexAttrib1dvARB = fn)
-#define CALL_VertexAttrib1fARB(disp, parameters) (*((disp)->VertexAttrib1fARB)) parameters
-#define GET_VertexAttrib1fARB(disp) ((disp)->VertexAttrib1fARB)
-#define SET_VertexAttrib1fARB(disp, fn) ((disp)->VertexAttrib1fARB = fn)
-#define CALL_VertexAttrib1fvARB(disp, parameters) (*((disp)->VertexAttrib1fvARB)) parameters
-#define GET_VertexAttrib1fvARB(disp) ((disp)->VertexAttrib1fvARB)
-#define SET_VertexAttrib1fvARB(disp, fn) ((disp)->VertexAttrib1fvARB = fn)
-#define CALL_VertexAttrib1sARB(disp, parameters) (*((disp)->VertexAttrib1sARB)) parameters
-#define GET_VertexAttrib1sARB(disp) ((disp)->VertexAttrib1sARB)
-#define SET_VertexAttrib1sARB(disp, fn) ((disp)->VertexAttrib1sARB = fn)
-#define CALL_VertexAttrib1svARB(disp, parameters) (*((disp)->VertexAttrib1svARB)) parameters
-#define GET_VertexAttrib1svARB(disp) ((disp)->VertexAttrib1svARB)
-#define SET_VertexAttrib1svARB(disp, fn) ((disp)->VertexAttrib1svARB = fn)
-#define CALL_VertexAttrib2dARB(disp, parameters) (*((disp)->VertexAttrib2dARB)) parameters
-#define GET_VertexAttrib2dARB(disp) ((disp)->VertexAttrib2dARB)
-#define SET_VertexAttrib2dARB(disp, fn) ((disp)->VertexAttrib2dARB = fn)
-#define CALL_VertexAttrib2dvARB(disp, parameters) (*((disp)->VertexAttrib2dvARB)) parameters
-#define GET_VertexAttrib2dvARB(disp) ((disp)->VertexAttrib2dvARB)
-#define SET_VertexAttrib2dvARB(disp, fn) ((disp)->VertexAttrib2dvARB = fn)
-#define CALL_VertexAttrib2fARB(disp, parameters) (*((disp)->VertexAttrib2fARB)) parameters
-#define GET_VertexAttrib2fARB(disp) ((disp)->VertexAttrib2fARB)
-#define SET_VertexAttrib2fARB(disp, fn) ((disp)->VertexAttrib2fARB = fn)
-#define CALL_VertexAttrib2fvARB(disp, parameters) (*((disp)->VertexAttrib2fvARB)) parameters
-#define GET_VertexAttrib2fvARB(disp) ((disp)->VertexAttrib2fvARB)
-#define SET_VertexAttrib2fvARB(disp, fn) ((disp)->VertexAttrib2fvARB = fn)
-#define CALL_VertexAttrib2sARB(disp, parameters) (*((disp)->VertexAttrib2sARB)) parameters
-#define GET_VertexAttrib2sARB(disp) ((disp)->VertexAttrib2sARB)
-#define SET_VertexAttrib2sARB(disp, fn) ((disp)->VertexAttrib2sARB = fn)
-#define CALL_VertexAttrib2svARB(disp, parameters) (*((disp)->VertexAttrib2svARB)) parameters
-#define GET_VertexAttrib2svARB(disp) ((disp)->VertexAttrib2svARB)
-#define SET_VertexAttrib2svARB(disp, fn) ((disp)->VertexAttrib2svARB = fn)
-#define CALL_VertexAttrib3dARB(disp, parameters) (*((disp)->VertexAttrib3dARB)) parameters
-#define GET_VertexAttrib3dARB(disp) ((disp)->VertexAttrib3dARB)
-#define SET_VertexAttrib3dARB(disp, fn) ((disp)->VertexAttrib3dARB = fn)
-#define CALL_VertexAttrib3dvARB(disp, parameters) (*((disp)->VertexAttrib3dvARB)) parameters
-#define GET_VertexAttrib3dvARB(disp) ((disp)->VertexAttrib3dvARB)
-#define SET_VertexAttrib3dvARB(disp, fn) ((disp)->VertexAttrib3dvARB = fn)
-#define CALL_VertexAttrib3fARB(disp, parameters) (*((disp)->VertexAttrib3fARB)) parameters
-#define GET_VertexAttrib3fARB(disp) ((disp)->VertexAttrib3fARB)
-#define SET_VertexAttrib3fARB(disp, fn) ((disp)->VertexAttrib3fARB = fn)
-#define CALL_VertexAttrib3fvARB(disp, parameters) (*((disp)->VertexAttrib3fvARB)) parameters
-#define GET_VertexAttrib3fvARB(disp) ((disp)->VertexAttrib3fvARB)
-#define SET_VertexAttrib3fvARB(disp, fn) ((disp)->VertexAttrib3fvARB = fn)
-#define CALL_VertexAttrib3sARB(disp, parameters) (*((disp)->VertexAttrib3sARB)) parameters
-#define GET_VertexAttrib3sARB(disp) ((disp)->VertexAttrib3sARB)
-#define SET_VertexAttrib3sARB(disp, fn) ((disp)->VertexAttrib3sARB = fn)
-#define CALL_VertexAttrib3svARB(disp, parameters) (*((disp)->VertexAttrib3svARB)) parameters
-#define GET_VertexAttrib3svARB(disp) ((disp)->VertexAttrib3svARB)
-#define SET_VertexAttrib3svARB(disp, fn) ((disp)->VertexAttrib3svARB = fn)
-#define CALL_VertexAttrib4NbvARB(disp, parameters) (*((disp)->VertexAttrib4NbvARB)) parameters
-#define GET_VertexAttrib4NbvARB(disp) ((disp)->VertexAttrib4NbvARB)
-#define SET_VertexAttrib4NbvARB(disp, fn) ((disp)->VertexAttrib4NbvARB = fn)
-#define CALL_VertexAttrib4NivARB(disp, parameters) (*((disp)->VertexAttrib4NivARB)) parameters
-#define GET_VertexAttrib4NivARB(disp) ((disp)->VertexAttrib4NivARB)
-#define SET_VertexAttrib4NivARB(disp, fn) ((disp)->VertexAttrib4NivARB = fn)
-#define CALL_VertexAttrib4NsvARB(disp, parameters) (*((disp)->VertexAttrib4NsvARB)) parameters
-#define GET_VertexAttrib4NsvARB(disp) ((disp)->VertexAttrib4NsvARB)
-#define SET_VertexAttrib4NsvARB(disp, fn) ((disp)->VertexAttrib4NsvARB = fn)
-#define CALL_VertexAttrib4NubARB(disp, parameters) (*((disp)->VertexAttrib4NubARB)) parameters
-#define GET_VertexAttrib4NubARB(disp) ((disp)->VertexAttrib4NubARB)
-#define SET_VertexAttrib4NubARB(disp, fn) ((disp)->VertexAttrib4NubARB = fn)
-#define CALL_VertexAttrib4NubvARB(disp, parameters) (*((disp)->VertexAttrib4NubvARB)) parameters
-#define GET_VertexAttrib4NubvARB(disp) ((disp)->VertexAttrib4NubvARB)
-#define SET_VertexAttrib4NubvARB(disp, fn) ((disp)->VertexAttrib4NubvARB = fn)
-#define CALL_VertexAttrib4NuivARB(disp, parameters) (*((disp)->VertexAttrib4NuivARB)) parameters
-#define GET_VertexAttrib4NuivARB(disp) ((disp)->VertexAttrib4NuivARB)
-#define SET_VertexAttrib4NuivARB(disp, fn) ((disp)->VertexAttrib4NuivARB = fn)
-#define CALL_VertexAttrib4NusvARB(disp, parameters) (*((disp)->VertexAttrib4NusvARB)) parameters
-#define GET_VertexAttrib4NusvARB(disp) ((disp)->VertexAttrib4NusvARB)
-#define SET_VertexAttrib4NusvARB(disp, fn) ((disp)->VertexAttrib4NusvARB = fn)
-#define CALL_VertexAttrib4bvARB(disp, parameters) (*((disp)->VertexAttrib4bvARB)) parameters
-#define GET_VertexAttrib4bvARB(disp) ((disp)->VertexAttrib4bvARB)
-#define SET_VertexAttrib4bvARB(disp, fn) ((disp)->VertexAttrib4bvARB = fn)
-#define CALL_VertexAttrib4dARB(disp, parameters) (*((disp)->VertexAttrib4dARB)) parameters
-#define GET_VertexAttrib4dARB(disp) ((disp)->VertexAttrib4dARB)
-#define SET_VertexAttrib4dARB(disp, fn) ((disp)->VertexAttrib4dARB = fn)
-#define CALL_VertexAttrib4dvARB(disp, parameters) (*((disp)->VertexAttrib4dvARB)) parameters
-#define GET_VertexAttrib4dvARB(disp) ((disp)->VertexAttrib4dvARB)
-#define SET_VertexAttrib4dvARB(disp, fn) ((disp)->VertexAttrib4dvARB = fn)
-#define CALL_VertexAttrib4fARB(disp, parameters) (*((disp)->VertexAttrib4fARB)) parameters
-#define GET_VertexAttrib4fARB(disp) ((disp)->VertexAttrib4fARB)
-#define SET_VertexAttrib4fARB(disp, fn) ((disp)->VertexAttrib4fARB = fn)
-#define CALL_VertexAttrib4fvARB(disp, parameters) (*((disp)->VertexAttrib4fvARB)) parameters
-#define GET_VertexAttrib4fvARB(disp) ((disp)->VertexAttrib4fvARB)
-#define SET_VertexAttrib4fvARB(disp, fn) ((disp)->VertexAttrib4fvARB = fn)
-#define CALL_VertexAttrib4ivARB(disp, parameters) (*((disp)->VertexAttrib4ivARB)) parameters
-#define GET_VertexAttrib4ivARB(disp) ((disp)->VertexAttrib4ivARB)
-#define SET_VertexAttrib4ivARB(disp, fn) ((disp)->VertexAttrib4ivARB = fn)
-#define CALL_VertexAttrib4sARB(disp, parameters) (*((disp)->VertexAttrib4sARB)) parameters
-#define GET_VertexAttrib4sARB(disp) ((disp)->VertexAttrib4sARB)
-#define SET_VertexAttrib4sARB(disp, fn) ((disp)->VertexAttrib4sARB = fn)
-#define CALL_VertexAttrib4svARB(disp, parameters) (*((disp)->VertexAttrib4svARB)) parameters
-#define GET_VertexAttrib4svARB(disp) ((disp)->VertexAttrib4svARB)
-#define SET_VertexAttrib4svARB(disp, fn) ((disp)->VertexAttrib4svARB = fn)
-#define CALL_VertexAttrib4ubvARB(disp, parameters) (*((disp)->VertexAttrib4ubvARB)) parameters
-#define GET_VertexAttrib4ubvARB(disp) ((disp)->VertexAttrib4ubvARB)
-#define SET_VertexAttrib4ubvARB(disp, fn) ((disp)->VertexAttrib4ubvARB = fn)
-#define CALL_VertexAttrib4uivARB(disp, parameters) (*((disp)->VertexAttrib4uivARB)) parameters
-#define GET_VertexAttrib4uivARB(disp) ((disp)->VertexAttrib4uivARB)
-#define SET_VertexAttrib4uivARB(disp, fn) ((disp)->VertexAttrib4uivARB = fn)
-#define CALL_VertexAttrib4usvARB(disp, parameters) (*((disp)->VertexAttrib4usvARB)) parameters
-#define GET_VertexAttrib4usvARB(disp) ((disp)->VertexAttrib4usvARB)
-#define SET_VertexAttrib4usvARB(disp, fn) ((disp)->VertexAttrib4usvARB = fn)
-#define CALL_VertexAttribPointerARB(disp, parameters) (*((disp)->VertexAttribPointerARB)) parameters
-#define GET_VertexAttribPointerARB(disp) ((disp)->VertexAttribPointerARB)
-#define SET_VertexAttribPointerARB(disp, fn) ((disp)->VertexAttribPointerARB = fn)
-#define CALL_BindBufferARB(disp, parameters) (*((disp)->BindBufferARB)) parameters
-#define GET_BindBufferARB(disp) ((disp)->BindBufferARB)
-#define SET_BindBufferARB(disp, fn) ((disp)->BindBufferARB = fn)
-#define CALL_BufferDataARB(disp, parameters) (*((disp)->BufferDataARB)) parameters
-#define GET_BufferDataARB(disp) ((disp)->BufferDataARB)
-#define SET_BufferDataARB(disp, fn) ((disp)->BufferDataARB = fn)
-#define CALL_BufferSubDataARB(disp, parameters) (*((disp)->BufferSubDataARB)) parameters
-#define GET_BufferSubDataARB(disp) ((disp)->BufferSubDataARB)
-#define SET_BufferSubDataARB(disp, fn) ((disp)->BufferSubDataARB = fn)
-#define CALL_DeleteBuffersARB(disp, parameters) (*((disp)->DeleteBuffersARB)) parameters
-#define GET_DeleteBuffersARB(disp) ((disp)->DeleteBuffersARB)
-#define SET_DeleteBuffersARB(disp, fn) ((disp)->DeleteBuffersARB = fn)
-#define CALL_GenBuffersARB(disp, parameters) (*((disp)->GenBuffersARB)) parameters
-#define GET_GenBuffersARB(disp) ((disp)->GenBuffersARB)
-#define SET_GenBuffersARB(disp, fn) ((disp)->GenBuffersARB = fn)
-#define CALL_GetBufferParameterivARB(disp, parameters) (*((disp)->GetBufferParameterivARB)) parameters
-#define GET_GetBufferParameterivARB(disp) ((disp)->GetBufferParameterivARB)
-#define SET_GetBufferParameterivARB(disp, fn) ((disp)->GetBufferParameterivARB = fn)
-#define CALL_GetBufferPointervARB(disp, parameters) (*((disp)->GetBufferPointervARB)) parameters
-#define GET_GetBufferPointervARB(disp) ((disp)->GetBufferPointervARB)
-#define SET_GetBufferPointervARB(disp, fn) ((disp)->GetBufferPointervARB = fn)
-#define CALL_GetBufferSubDataARB(disp, parameters) (*((disp)->GetBufferSubDataARB)) parameters
-#define GET_GetBufferSubDataARB(disp) ((disp)->GetBufferSubDataARB)
-#define SET_GetBufferSubDataARB(disp, fn) ((disp)->GetBufferSubDataARB = fn)
-#define CALL_IsBufferARB(disp, parameters) (*((disp)->IsBufferARB)) parameters
-#define GET_IsBufferARB(disp) ((disp)->IsBufferARB)
-#define SET_IsBufferARB(disp, fn) ((disp)->IsBufferARB = fn)
-#define CALL_MapBufferARB(disp, parameters) (*((disp)->MapBufferARB)) parameters
-#define GET_MapBufferARB(disp) ((disp)->MapBufferARB)
-#define SET_MapBufferARB(disp, fn) ((disp)->MapBufferARB = fn)
-#define CALL_UnmapBufferARB(disp, parameters) (*((disp)->UnmapBufferARB)) parameters
-#define GET_UnmapBufferARB(disp) ((disp)->UnmapBufferARB)
-#define SET_UnmapBufferARB(disp, fn) ((disp)->UnmapBufferARB = fn)
-#define CALL_BeginQueryARB(disp, parameters) (*((disp)->BeginQueryARB)) parameters
-#define GET_BeginQueryARB(disp) ((disp)->BeginQueryARB)
-#define SET_BeginQueryARB(disp, fn) ((disp)->BeginQueryARB = fn)
-#define CALL_DeleteQueriesARB(disp, parameters) (*((disp)->DeleteQueriesARB)) parameters
-#define GET_DeleteQueriesARB(disp) ((disp)->DeleteQueriesARB)
-#define SET_DeleteQueriesARB(disp, fn) ((disp)->DeleteQueriesARB = fn)
-#define CALL_EndQueryARB(disp, parameters) (*((disp)->EndQueryARB)) parameters
-#define GET_EndQueryARB(disp) ((disp)->EndQueryARB)
-#define SET_EndQueryARB(disp, fn) ((disp)->EndQueryARB = fn)
-#define CALL_GenQueriesARB(disp, parameters) (*((disp)->GenQueriesARB)) parameters
-#define GET_GenQueriesARB(disp) ((disp)->GenQueriesARB)
-#define SET_GenQueriesARB(disp, fn) ((disp)->GenQueriesARB = fn)
-#define CALL_GetQueryObjectivARB(disp, parameters) (*((disp)->GetQueryObjectivARB)) parameters
-#define GET_GetQueryObjectivARB(disp) ((disp)->GetQueryObjectivARB)
-#define SET_GetQueryObjectivARB(disp, fn) ((disp)->GetQueryObjectivARB = fn)
-#define CALL_GetQueryObjectuivARB(disp, parameters) (*((disp)->GetQueryObjectuivARB)) parameters
-#define GET_GetQueryObjectuivARB(disp) ((disp)->GetQueryObjectuivARB)
-#define SET_GetQueryObjectuivARB(disp, fn) ((disp)->GetQueryObjectuivARB = fn)
-#define CALL_GetQueryivARB(disp, parameters) (*((disp)->GetQueryivARB)) parameters
-#define GET_GetQueryivARB(disp) ((disp)->GetQueryivARB)
-#define SET_GetQueryivARB(disp, fn) ((disp)->GetQueryivARB = fn)
-#define CALL_IsQueryARB(disp, parameters) (*((disp)->IsQueryARB)) parameters
-#define GET_IsQueryARB(disp) ((disp)->IsQueryARB)
-#define SET_IsQueryARB(disp, fn) ((disp)->IsQueryARB = fn)
-#define CALL_AttachObjectARB(disp, parameters) (*((disp)->AttachObjectARB)) parameters
-#define GET_AttachObjectARB(disp) ((disp)->AttachObjectARB)
-#define SET_AttachObjectARB(disp, fn) ((disp)->AttachObjectARB = fn)
-#define CALL_CompileShaderARB(disp, parameters) (*((disp)->CompileShaderARB)) parameters
-#define GET_CompileShaderARB(disp) ((disp)->CompileShaderARB)
-#define SET_CompileShaderARB(disp, fn) ((disp)->CompileShaderARB = fn)
-#define CALL_CreateProgramObjectARB(disp, parameters) (*((disp)->CreateProgramObjectARB)) parameters
-#define GET_CreateProgramObjectARB(disp) ((disp)->CreateProgramObjectARB)
-#define SET_CreateProgramObjectARB(disp, fn) ((disp)->CreateProgramObjectARB = fn)
-#define CALL_CreateShaderObjectARB(disp, parameters) (*((disp)->CreateShaderObjectARB)) parameters
-#define GET_CreateShaderObjectARB(disp) ((disp)->CreateShaderObjectARB)
-#define SET_CreateShaderObjectARB(disp, fn) ((disp)->CreateShaderObjectARB = fn)
-#define CALL_DeleteObjectARB(disp, parameters) (*((disp)->DeleteObjectARB)) parameters
-#define GET_DeleteObjectARB(disp) ((disp)->DeleteObjectARB)
-#define SET_DeleteObjectARB(disp, fn) ((disp)->DeleteObjectARB = fn)
-#define CALL_DetachObjectARB(disp, parameters) (*((disp)->DetachObjectARB)) parameters
-#define GET_DetachObjectARB(disp) ((disp)->DetachObjectARB)
-#define SET_DetachObjectARB(disp, fn) ((disp)->DetachObjectARB = fn)
-#define CALL_GetActiveUniformARB(disp, parameters) (*((disp)->GetActiveUniformARB)) parameters
-#define GET_GetActiveUniformARB(disp) ((disp)->GetActiveUniformARB)
-#define SET_GetActiveUniformARB(disp, fn) ((disp)->GetActiveUniformARB = fn)
-#define CALL_GetAttachedObjectsARB(disp, parameters) (*((disp)->GetAttachedObjectsARB)) parameters
-#define GET_GetAttachedObjectsARB(disp) ((disp)->GetAttachedObjectsARB)
-#define SET_GetAttachedObjectsARB(disp, fn) ((disp)->GetAttachedObjectsARB = fn)
-#define CALL_GetHandleARB(disp, parameters) (*((disp)->GetHandleARB)) parameters
-#define GET_GetHandleARB(disp) ((disp)->GetHandleARB)
-#define SET_GetHandleARB(disp, fn) ((disp)->GetHandleARB = fn)
-#define CALL_GetInfoLogARB(disp, parameters) (*((disp)->GetInfoLogARB)) parameters
-#define GET_GetInfoLogARB(disp) ((disp)->GetInfoLogARB)
-#define SET_GetInfoLogARB(disp, fn) ((disp)->GetInfoLogARB = fn)
-#define CALL_GetObjectParameterfvARB(disp, parameters) (*((disp)->GetObjectParameterfvARB)) parameters
-#define GET_GetObjectParameterfvARB(disp) ((disp)->GetObjectParameterfvARB)
-#define SET_GetObjectParameterfvARB(disp, fn) ((disp)->GetObjectParameterfvARB = fn)
-#define CALL_GetObjectParameterivARB(disp, parameters) (*((disp)->GetObjectParameterivARB)) parameters
-#define GET_GetObjectParameterivARB(disp) ((disp)->GetObjectParameterivARB)
-#define SET_GetObjectParameterivARB(disp, fn) ((disp)->GetObjectParameterivARB = fn)
-#define CALL_GetShaderSourceARB(disp, parameters) (*((disp)->GetShaderSourceARB)) parameters
-#define GET_GetShaderSourceARB(disp) ((disp)->GetShaderSourceARB)
-#define SET_GetShaderSourceARB(disp, fn) ((disp)->GetShaderSourceARB = fn)
-#define CALL_GetUniformLocationARB(disp, parameters) (*((disp)->GetUniformLocationARB)) parameters
-#define GET_GetUniformLocationARB(disp) ((disp)->GetUniformLocationARB)
-#define SET_GetUniformLocationARB(disp, fn) ((disp)->GetUniformLocationARB = fn)
-#define CALL_GetUniformfvARB(disp, parameters) (*((disp)->GetUniformfvARB)) parameters
-#define GET_GetUniformfvARB(disp) ((disp)->GetUniformfvARB)
-#define SET_GetUniformfvARB(disp, fn) ((disp)->GetUniformfvARB = fn)
-#define CALL_GetUniformivARB(disp, parameters) (*((disp)->GetUniformivARB)) parameters
-#define GET_GetUniformivARB(disp) ((disp)->GetUniformivARB)
-#define SET_GetUniformivARB(disp, fn) ((disp)->GetUniformivARB = fn)
-#define CALL_LinkProgramARB(disp, parameters) (*((disp)->LinkProgramARB)) parameters
-#define GET_LinkProgramARB(disp) ((disp)->LinkProgramARB)
-#define SET_LinkProgramARB(disp, fn) ((disp)->LinkProgramARB = fn)
-#define CALL_ShaderSourceARB(disp, parameters) (*((disp)->ShaderSourceARB)) parameters
-#define GET_ShaderSourceARB(disp) ((disp)->ShaderSourceARB)
-#define SET_ShaderSourceARB(disp, fn) ((disp)->ShaderSourceARB = fn)
-#define CALL_Uniform1fARB(disp, parameters) (*((disp)->Uniform1fARB)) parameters
-#define GET_Uniform1fARB(disp) ((disp)->Uniform1fARB)
-#define SET_Uniform1fARB(disp, fn) ((disp)->Uniform1fARB = fn)
-#define CALL_Uniform1fvARB(disp, parameters) (*((disp)->Uniform1fvARB)) parameters
-#define GET_Uniform1fvARB(disp) ((disp)->Uniform1fvARB)
-#define SET_Uniform1fvARB(disp, fn) ((disp)->Uniform1fvARB = fn)
-#define CALL_Uniform1iARB(disp, parameters) (*((disp)->Uniform1iARB)) parameters
-#define GET_Uniform1iARB(disp) ((disp)->Uniform1iARB)
-#define SET_Uniform1iARB(disp, fn) ((disp)->Uniform1iARB = fn)
-#define CALL_Uniform1ivARB(disp, parameters) (*((disp)->Uniform1ivARB)) parameters
-#define GET_Uniform1ivARB(disp) ((disp)->Uniform1ivARB)
-#define SET_Uniform1ivARB(disp, fn) ((disp)->Uniform1ivARB = fn)
-#define CALL_Uniform2fARB(disp, parameters) (*((disp)->Uniform2fARB)) parameters
-#define GET_Uniform2fARB(disp) ((disp)->Uniform2fARB)
-#define SET_Uniform2fARB(disp, fn) ((disp)->Uniform2fARB = fn)
-#define CALL_Uniform2fvARB(disp, parameters) (*((disp)->Uniform2fvARB)) parameters
-#define GET_Uniform2fvARB(disp) ((disp)->Uniform2fvARB)
-#define SET_Uniform2fvARB(disp, fn) ((disp)->Uniform2fvARB = fn)
-#define CALL_Uniform2iARB(disp, parameters) (*((disp)->Uniform2iARB)) parameters
-#define GET_Uniform2iARB(disp) ((disp)->Uniform2iARB)
-#define SET_Uniform2iARB(disp, fn) ((disp)->Uniform2iARB = fn)
-#define CALL_Uniform2ivARB(disp, parameters) (*((disp)->Uniform2ivARB)) parameters
-#define GET_Uniform2ivARB(disp) ((disp)->Uniform2ivARB)
-#define SET_Uniform2ivARB(disp, fn) ((disp)->Uniform2ivARB = fn)
-#define CALL_Uniform3fARB(disp, parameters) (*((disp)->Uniform3fARB)) parameters
-#define GET_Uniform3fARB(disp) ((disp)->Uniform3fARB)
-#define SET_Uniform3fARB(disp, fn) ((disp)->Uniform3fARB = fn)
-#define CALL_Uniform3fvARB(disp, parameters) (*((disp)->Uniform3fvARB)) parameters
-#define GET_Uniform3fvARB(disp) ((disp)->Uniform3fvARB)
-#define SET_Uniform3fvARB(disp, fn) ((disp)->Uniform3fvARB = fn)
-#define CALL_Uniform3iARB(disp, parameters) (*((disp)->Uniform3iARB)) parameters
-#define GET_Uniform3iARB(disp) ((disp)->Uniform3iARB)
-#define SET_Uniform3iARB(disp, fn) ((disp)->Uniform3iARB = fn)
-#define CALL_Uniform3ivARB(disp, parameters) (*((disp)->Uniform3ivARB)) parameters
-#define GET_Uniform3ivARB(disp) ((disp)->Uniform3ivARB)
-#define SET_Uniform3ivARB(disp, fn) ((disp)->Uniform3ivARB = fn)
-#define CALL_Uniform4fARB(disp, parameters) (*((disp)->Uniform4fARB)) parameters
-#define GET_Uniform4fARB(disp) ((disp)->Uniform4fARB)
-#define SET_Uniform4fARB(disp, fn) ((disp)->Uniform4fARB = fn)
-#define CALL_Uniform4fvARB(disp, parameters) (*((disp)->Uniform4fvARB)) parameters
-#define GET_Uniform4fvARB(disp) ((disp)->Uniform4fvARB)
-#define SET_Uniform4fvARB(disp, fn) ((disp)->Uniform4fvARB = fn)
-#define CALL_Uniform4iARB(disp, parameters) (*((disp)->Uniform4iARB)) parameters
-#define GET_Uniform4iARB(disp) ((disp)->Uniform4iARB)
-#define SET_Uniform4iARB(disp, fn) ((disp)->Uniform4iARB = fn)
-#define CALL_Uniform4ivARB(disp, parameters) (*((disp)->Uniform4ivARB)) parameters
-#define GET_Uniform4ivARB(disp) ((disp)->Uniform4ivARB)
-#define SET_Uniform4ivARB(disp, fn) ((disp)->Uniform4ivARB = fn)
-#define CALL_UniformMatrix2fvARB(disp, parameters) (*((disp)->UniformMatrix2fvARB)) parameters
-#define GET_UniformMatrix2fvARB(disp) ((disp)->UniformMatrix2fvARB)
-#define SET_UniformMatrix2fvARB(disp, fn) ((disp)->UniformMatrix2fvARB = fn)
-#define CALL_UniformMatrix3fvARB(disp, parameters) (*((disp)->UniformMatrix3fvARB)) parameters
-#define GET_UniformMatrix3fvARB(disp) ((disp)->UniformMatrix3fvARB)
-#define SET_UniformMatrix3fvARB(disp, fn) ((disp)->UniformMatrix3fvARB = fn)
-#define CALL_UniformMatrix4fvARB(disp, parameters) (*((disp)->UniformMatrix4fvARB)) parameters
-#define GET_UniformMatrix4fvARB(disp) ((disp)->UniformMatrix4fvARB)
-#define SET_UniformMatrix4fvARB(disp, fn) ((disp)->UniformMatrix4fvARB = fn)
-#define CALL_UseProgramObjectARB(disp, parameters) (*((disp)->UseProgramObjectARB)) parameters
-#define GET_UseProgramObjectARB(disp) ((disp)->UseProgramObjectARB)
-#define SET_UseProgramObjectARB(disp, fn) ((disp)->UseProgramObjectARB = fn)
-#define CALL_ValidateProgramARB(disp, parameters) (*((disp)->ValidateProgramARB)) parameters
-#define GET_ValidateProgramARB(disp) ((disp)->ValidateProgramARB)
-#define SET_ValidateProgramARB(disp, fn) ((disp)->ValidateProgramARB = fn)
-#define CALL_BindAttribLocationARB(disp, parameters) (*((disp)->BindAttribLocationARB)) parameters
-#define GET_BindAttribLocationARB(disp) ((disp)->BindAttribLocationARB)
-#define SET_BindAttribLocationARB(disp, fn) ((disp)->BindAttribLocationARB = fn)
-#define CALL_GetActiveAttribARB(disp, parameters) (*((disp)->GetActiveAttribARB)) parameters
-#define GET_GetActiveAttribARB(disp) ((disp)->GetActiveAttribARB)
-#define SET_GetActiveAttribARB(disp, fn) ((disp)->GetActiveAttribARB = fn)
-#define CALL_GetAttribLocationARB(disp, parameters) (*((disp)->GetAttribLocationARB)) parameters
-#define GET_GetAttribLocationARB(disp) ((disp)->GetAttribLocationARB)
-#define SET_GetAttribLocationARB(disp, fn) ((disp)->GetAttribLocationARB = fn)
-#define CALL_DrawBuffersARB(disp, parameters) (*((disp)->DrawBuffersARB)) parameters
-#define GET_DrawBuffersARB(disp) ((disp)->DrawBuffersARB)
-#define SET_DrawBuffersARB(disp, fn) ((disp)->DrawBuffersARB = fn)
-#define CALL_PolygonOffsetEXT(disp, parameters) (*((disp)->PolygonOffsetEXT)) parameters
-#define GET_PolygonOffsetEXT(disp) ((disp)->PolygonOffsetEXT)
-#define SET_PolygonOffsetEXT(disp, fn) ((disp)->PolygonOffsetEXT = fn)
-#define CALL_GetPixelTexGenParameterfvSGIS(disp, parameters) (*((disp)->GetPixelTexGenParameterfvSGIS)) parameters
-#define GET_GetPixelTexGenParameterfvSGIS(disp) ((disp)->GetPixelTexGenParameterfvSGIS)
-#define SET_GetPixelTexGenParameterfvSGIS(disp, fn) ((disp)->GetPixelTexGenParameterfvSGIS = fn)
-#define CALL_GetPixelTexGenParameterivSGIS(disp, parameters) (*((disp)->GetPixelTexGenParameterivSGIS)) parameters
-#define GET_GetPixelTexGenParameterivSGIS(disp) ((disp)->GetPixelTexGenParameterivSGIS)
-#define SET_GetPixelTexGenParameterivSGIS(disp, fn) ((disp)->GetPixelTexGenParameterivSGIS = fn)
-#define CALL_PixelTexGenParameterfSGIS(disp, parameters) (*((disp)->PixelTexGenParameterfSGIS)) parameters
-#define GET_PixelTexGenParameterfSGIS(disp) ((disp)->PixelTexGenParameterfSGIS)
-#define SET_PixelTexGenParameterfSGIS(disp, fn) ((disp)->PixelTexGenParameterfSGIS = fn)
-#define CALL_PixelTexGenParameterfvSGIS(disp, parameters) (*((disp)->PixelTexGenParameterfvSGIS)) parameters
-#define GET_PixelTexGenParameterfvSGIS(disp) ((disp)->PixelTexGenParameterfvSGIS)
-#define SET_PixelTexGenParameterfvSGIS(disp, fn) ((disp)->PixelTexGenParameterfvSGIS = fn)
-#define CALL_PixelTexGenParameteriSGIS(disp, parameters) (*((disp)->PixelTexGenParameteriSGIS)) parameters
-#define GET_PixelTexGenParameteriSGIS(disp) ((disp)->PixelTexGenParameteriSGIS)
-#define SET_PixelTexGenParameteriSGIS(disp, fn) ((disp)->PixelTexGenParameteriSGIS = fn)
-#define CALL_PixelTexGenParameterivSGIS(disp, parameters) (*((disp)->PixelTexGenParameterivSGIS)) parameters
-#define GET_PixelTexGenParameterivSGIS(disp) ((disp)->PixelTexGenParameterivSGIS)
-#define SET_PixelTexGenParameterivSGIS(disp, fn) ((disp)->PixelTexGenParameterivSGIS = fn)
-#define CALL_SampleMaskSGIS(disp, parameters) (*((disp)->SampleMaskSGIS)) parameters
-#define GET_SampleMaskSGIS(disp) ((disp)->SampleMaskSGIS)
-#define SET_SampleMaskSGIS(disp, fn) ((disp)->SampleMaskSGIS = fn)
-#define CALL_SamplePatternSGIS(disp, parameters) (*((disp)->SamplePatternSGIS)) parameters
-#define GET_SamplePatternSGIS(disp) ((disp)->SamplePatternSGIS)
-#define SET_SamplePatternSGIS(disp, fn) ((disp)->SamplePatternSGIS = fn)
-#define CALL_ColorPointerEXT(disp, parameters) (*((disp)->ColorPointerEXT)) parameters
-#define GET_ColorPointerEXT(disp) ((disp)->ColorPointerEXT)
-#define SET_ColorPointerEXT(disp, fn) ((disp)->ColorPointerEXT = fn)
-#define CALL_EdgeFlagPointerEXT(disp, parameters) (*((disp)->EdgeFlagPointerEXT)) parameters
-#define GET_EdgeFlagPointerEXT(disp) ((disp)->EdgeFlagPointerEXT)
-#define SET_EdgeFlagPointerEXT(disp, fn) ((disp)->EdgeFlagPointerEXT = fn)
-#define CALL_IndexPointerEXT(disp, parameters) (*((disp)->IndexPointerEXT)) parameters
-#define GET_IndexPointerEXT(disp) ((disp)->IndexPointerEXT)
-#define SET_IndexPointerEXT(disp, fn) ((disp)->IndexPointerEXT = fn)
-#define CALL_NormalPointerEXT(disp, parameters) (*((disp)->NormalPointerEXT)) parameters
-#define GET_NormalPointerEXT(disp) ((disp)->NormalPointerEXT)
-#define SET_NormalPointerEXT(disp, fn) ((disp)->NormalPointerEXT = fn)
-#define CALL_TexCoordPointerEXT(disp, parameters) (*((disp)->TexCoordPointerEXT)) parameters
-#define GET_TexCoordPointerEXT(disp) ((disp)->TexCoordPointerEXT)
-#define SET_TexCoordPointerEXT(disp, fn) ((disp)->TexCoordPointerEXT = fn)
-#define CALL_VertexPointerEXT(disp, parameters) (*((disp)->VertexPointerEXT)) parameters
-#define GET_VertexPointerEXT(disp) ((disp)->VertexPointerEXT)
-#define SET_VertexPointerEXT(disp, fn) ((disp)->VertexPointerEXT = fn)
-#define CALL_PointParameterfEXT(disp, parameters) (*((disp)->PointParameterfEXT)) parameters
-#define GET_PointParameterfEXT(disp) ((disp)->PointParameterfEXT)
-#define SET_PointParameterfEXT(disp, fn) ((disp)->PointParameterfEXT = fn)
-#define CALL_PointParameterfvEXT(disp, parameters) (*((disp)->PointParameterfvEXT)) parameters
-#define GET_PointParameterfvEXT(disp) ((disp)->PointParameterfvEXT)
-#define SET_PointParameterfvEXT(disp, fn) ((disp)->PointParameterfvEXT = fn)
-#define CALL_LockArraysEXT(disp, parameters) (*((disp)->LockArraysEXT)) parameters
-#define GET_LockArraysEXT(disp) ((disp)->LockArraysEXT)
-#define SET_LockArraysEXT(disp, fn) ((disp)->LockArraysEXT = fn)
-#define CALL_UnlockArraysEXT(disp, parameters) (*((disp)->UnlockArraysEXT)) parameters
-#define GET_UnlockArraysEXT(disp) ((disp)->UnlockArraysEXT)
-#define SET_UnlockArraysEXT(disp, fn) ((disp)->UnlockArraysEXT = fn)
-#define CALL_CullParameterdvEXT(disp, parameters) (*((disp)->CullParameterdvEXT)) parameters
-#define GET_CullParameterdvEXT(disp) ((disp)->CullParameterdvEXT)
-#define SET_CullParameterdvEXT(disp, fn) ((disp)->CullParameterdvEXT = fn)
-#define CALL_CullParameterfvEXT(disp, parameters) (*((disp)->CullParameterfvEXT)) parameters
-#define GET_CullParameterfvEXT(disp) ((disp)->CullParameterfvEXT)
-#define SET_CullParameterfvEXT(disp, fn) ((disp)->CullParameterfvEXT = fn)
-#define CALL_SecondaryColor3bEXT(disp, parameters) (*((disp)->SecondaryColor3bEXT)) parameters
-#define GET_SecondaryColor3bEXT(disp) ((disp)->SecondaryColor3bEXT)
-#define SET_SecondaryColor3bEXT(disp, fn) ((disp)->SecondaryColor3bEXT = fn)
-#define CALL_SecondaryColor3bvEXT(disp, parameters) (*((disp)->SecondaryColor3bvEXT)) parameters
-#define GET_SecondaryColor3bvEXT(disp) ((disp)->SecondaryColor3bvEXT)
-#define SET_SecondaryColor3bvEXT(disp, fn) ((disp)->SecondaryColor3bvEXT = fn)
-#define CALL_SecondaryColor3dEXT(disp, parameters) (*((disp)->SecondaryColor3dEXT)) parameters
-#define GET_SecondaryColor3dEXT(disp) ((disp)->SecondaryColor3dEXT)
-#define SET_SecondaryColor3dEXT(disp, fn) ((disp)->SecondaryColor3dEXT = fn)
-#define CALL_SecondaryColor3dvEXT(disp, parameters) (*((disp)->SecondaryColor3dvEXT)) parameters
-#define GET_SecondaryColor3dvEXT(disp) ((disp)->SecondaryColor3dvEXT)
-#define SET_SecondaryColor3dvEXT(disp, fn) ((disp)->SecondaryColor3dvEXT = fn)
-#define CALL_SecondaryColor3fEXT(disp, parameters) (*((disp)->SecondaryColor3fEXT)) parameters
-#define GET_SecondaryColor3fEXT(disp) ((disp)->SecondaryColor3fEXT)
-#define SET_SecondaryColor3fEXT(disp, fn) ((disp)->SecondaryColor3fEXT = fn)
-#define CALL_SecondaryColor3fvEXT(disp, parameters) (*((disp)->SecondaryColor3fvEXT)) parameters
-#define GET_SecondaryColor3fvEXT(disp) ((disp)->SecondaryColor3fvEXT)
-#define SET_SecondaryColor3fvEXT(disp, fn) ((disp)->SecondaryColor3fvEXT = fn)
-#define CALL_SecondaryColor3iEXT(disp, parameters) (*((disp)->SecondaryColor3iEXT)) parameters
-#define GET_SecondaryColor3iEXT(disp) ((disp)->SecondaryColor3iEXT)
-#define SET_SecondaryColor3iEXT(disp, fn) ((disp)->SecondaryColor3iEXT = fn)
-#define CALL_SecondaryColor3ivEXT(disp, parameters) (*((disp)->SecondaryColor3ivEXT)) parameters
-#define GET_SecondaryColor3ivEXT(disp) ((disp)->SecondaryColor3ivEXT)
-#define SET_SecondaryColor3ivEXT(disp, fn) ((disp)->SecondaryColor3ivEXT = fn)
-#define CALL_SecondaryColor3sEXT(disp, parameters) (*((disp)->SecondaryColor3sEXT)) parameters
-#define GET_SecondaryColor3sEXT(disp) ((disp)->SecondaryColor3sEXT)
-#define SET_SecondaryColor3sEXT(disp, fn) ((disp)->SecondaryColor3sEXT = fn)
-#define CALL_SecondaryColor3svEXT(disp, parameters) (*((disp)->SecondaryColor3svEXT)) parameters
-#define GET_SecondaryColor3svEXT(disp) ((disp)->SecondaryColor3svEXT)
-#define SET_SecondaryColor3svEXT(disp, fn) ((disp)->SecondaryColor3svEXT = fn)
-#define CALL_SecondaryColor3ubEXT(disp, parameters) (*((disp)->SecondaryColor3ubEXT)) parameters
-#define GET_SecondaryColor3ubEXT(disp) ((disp)->SecondaryColor3ubEXT)
-#define SET_SecondaryColor3ubEXT(disp, fn) ((disp)->SecondaryColor3ubEXT = fn)
-#define CALL_SecondaryColor3ubvEXT(disp, parameters) (*((disp)->SecondaryColor3ubvEXT)) parameters
-#define GET_SecondaryColor3ubvEXT(disp) ((disp)->SecondaryColor3ubvEXT)
-#define SET_SecondaryColor3ubvEXT(disp, fn) ((disp)->SecondaryColor3ubvEXT = fn)
-#define CALL_SecondaryColor3uiEXT(disp, parameters) (*((disp)->SecondaryColor3uiEXT)) parameters
-#define GET_SecondaryColor3uiEXT(disp) ((disp)->SecondaryColor3uiEXT)
-#define SET_SecondaryColor3uiEXT(disp, fn) ((disp)->SecondaryColor3uiEXT = fn)
-#define CALL_SecondaryColor3uivEXT(disp, parameters) (*((disp)->SecondaryColor3uivEXT)) parameters
-#define GET_SecondaryColor3uivEXT(disp) ((disp)->SecondaryColor3uivEXT)
-#define SET_SecondaryColor3uivEXT(disp, fn) ((disp)->SecondaryColor3uivEXT = fn)
-#define CALL_SecondaryColor3usEXT(disp, parameters) (*((disp)->SecondaryColor3usEXT)) parameters
-#define GET_SecondaryColor3usEXT(disp) ((disp)->SecondaryColor3usEXT)
-#define SET_SecondaryColor3usEXT(disp, fn) ((disp)->SecondaryColor3usEXT = fn)
-#define CALL_SecondaryColor3usvEXT(disp, parameters) (*((disp)->SecondaryColor3usvEXT)) parameters
-#define GET_SecondaryColor3usvEXT(disp) ((disp)->SecondaryColor3usvEXT)
-#define SET_SecondaryColor3usvEXT(disp, fn) ((disp)->SecondaryColor3usvEXT = fn)
-#define CALL_SecondaryColorPointerEXT(disp, parameters) (*((disp)->SecondaryColorPointerEXT)) parameters
-#define GET_SecondaryColorPointerEXT(disp) ((disp)->SecondaryColorPointerEXT)
-#define SET_SecondaryColorPointerEXT(disp, fn) ((disp)->SecondaryColorPointerEXT = fn)
-#define CALL_MultiDrawArraysEXT(disp, parameters) (*((disp)->MultiDrawArraysEXT)) parameters
-#define GET_MultiDrawArraysEXT(disp) ((disp)->MultiDrawArraysEXT)
-#define SET_MultiDrawArraysEXT(disp, fn) ((disp)->MultiDrawArraysEXT = fn)
-#define CALL_MultiDrawElementsEXT(disp, parameters) (*((disp)->MultiDrawElementsEXT)) parameters
-#define GET_MultiDrawElementsEXT(disp) ((disp)->MultiDrawElementsEXT)
-#define SET_MultiDrawElementsEXT(disp, fn) ((disp)->MultiDrawElementsEXT = fn)
-#define CALL_FogCoordPointerEXT(disp, parameters) (*((disp)->FogCoordPointerEXT)) parameters
-#define GET_FogCoordPointerEXT(disp) ((disp)->FogCoordPointerEXT)
-#define SET_FogCoordPointerEXT(disp, fn) ((disp)->FogCoordPointerEXT = fn)
-#define CALL_FogCoorddEXT(disp, parameters) (*((disp)->FogCoorddEXT)) parameters
-#define GET_FogCoorddEXT(disp) ((disp)->FogCoorddEXT)
-#define SET_FogCoorddEXT(disp, fn) ((disp)->FogCoorddEXT = fn)
-#define CALL_FogCoorddvEXT(disp, parameters) (*((disp)->FogCoorddvEXT)) parameters
-#define GET_FogCoorddvEXT(disp) ((disp)->FogCoorddvEXT)
-#define SET_FogCoorddvEXT(disp, fn) ((disp)->FogCoorddvEXT = fn)
-#define CALL_FogCoordfEXT(disp, parameters) (*((disp)->FogCoordfEXT)) parameters
-#define GET_FogCoordfEXT(disp) ((disp)->FogCoordfEXT)
-#define SET_FogCoordfEXT(disp, fn) ((disp)->FogCoordfEXT = fn)
-#define CALL_FogCoordfvEXT(disp, parameters) (*((disp)->FogCoordfvEXT)) parameters
-#define GET_FogCoordfvEXT(disp) ((disp)->FogCoordfvEXT)
-#define SET_FogCoordfvEXT(disp, fn) ((disp)->FogCoordfvEXT = fn)
-#define CALL_PixelTexGenSGIX(disp, parameters) (*((disp)->PixelTexGenSGIX)) parameters
-#define GET_PixelTexGenSGIX(disp) ((disp)->PixelTexGenSGIX)
-#define SET_PixelTexGenSGIX(disp, fn) ((disp)->PixelTexGenSGIX = fn)
-#define CALL_BlendFuncSeparateEXT(disp, parameters) (*((disp)->BlendFuncSeparateEXT)) parameters
-#define GET_BlendFuncSeparateEXT(disp) ((disp)->BlendFuncSeparateEXT)
-#define SET_BlendFuncSeparateEXT(disp, fn) ((disp)->BlendFuncSeparateEXT = fn)
-#define CALL_FlushVertexArrayRangeNV(disp, parameters) (*((disp)->FlushVertexArrayRangeNV)) parameters
-#define GET_FlushVertexArrayRangeNV(disp) ((disp)->FlushVertexArrayRangeNV)
-#define SET_FlushVertexArrayRangeNV(disp, fn) ((disp)->FlushVertexArrayRangeNV = fn)
-#define CALL_VertexArrayRangeNV(disp, parameters) (*((disp)->VertexArrayRangeNV)) parameters
-#define GET_VertexArrayRangeNV(disp) ((disp)->VertexArrayRangeNV)
-#define SET_VertexArrayRangeNV(disp, fn) ((disp)->VertexArrayRangeNV = fn)
-#define CALL_CombinerInputNV(disp, parameters) (*((disp)->CombinerInputNV)) parameters
-#define GET_CombinerInputNV(disp) ((disp)->CombinerInputNV)
-#define SET_CombinerInputNV(disp, fn) ((disp)->CombinerInputNV = fn)
-#define CALL_CombinerOutputNV(disp, parameters) (*((disp)->CombinerOutputNV)) parameters
-#define GET_CombinerOutputNV(disp) ((disp)->CombinerOutputNV)
-#define SET_CombinerOutputNV(disp, fn) ((disp)->CombinerOutputNV = fn)
-#define CALL_CombinerParameterfNV(disp, parameters) (*((disp)->CombinerParameterfNV)) parameters
-#define GET_CombinerParameterfNV(disp) ((disp)->CombinerParameterfNV)
-#define SET_CombinerParameterfNV(disp, fn) ((disp)->CombinerParameterfNV = fn)
-#define CALL_CombinerParameterfvNV(disp, parameters) (*((disp)->CombinerParameterfvNV)) parameters
-#define GET_CombinerParameterfvNV(disp) ((disp)->CombinerParameterfvNV)
-#define SET_CombinerParameterfvNV(disp, fn) ((disp)->CombinerParameterfvNV = fn)
-#define CALL_CombinerParameteriNV(disp, parameters) (*((disp)->CombinerParameteriNV)) parameters
-#define GET_CombinerParameteriNV(disp) ((disp)->CombinerParameteriNV)
-#define SET_CombinerParameteriNV(disp, fn) ((disp)->CombinerParameteriNV = fn)
-#define CALL_CombinerParameterivNV(disp, parameters) (*((disp)->CombinerParameterivNV)) parameters
-#define GET_CombinerParameterivNV(disp) ((disp)->CombinerParameterivNV)
-#define SET_CombinerParameterivNV(disp, fn) ((disp)->CombinerParameterivNV = fn)
-#define CALL_FinalCombinerInputNV(disp, parameters) (*((disp)->FinalCombinerInputNV)) parameters
-#define GET_FinalCombinerInputNV(disp) ((disp)->FinalCombinerInputNV)
-#define SET_FinalCombinerInputNV(disp, fn) ((disp)->FinalCombinerInputNV = fn)
-#define CALL_GetCombinerInputParameterfvNV(disp, parameters) (*((disp)->GetCombinerInputParameterfvNV)) parameters
-#define GET_GetCombinerInputParameterfvNV(disp) ((disp)->GetCombinerInputParameterfvNV)
-#define SET_GetCombinerInputParameterfvNV(disp, fn) ((disp)->GetCombinerInputParameterfvNV = fn)
-#define CALL_GetCombinerInputParameterivNV(disp, parameters) (*((disp)->GetCombinerInputParameterivNV)) parameters
-#define GET_GetCombinerInputParameterivNV(disp) ((disp)->GetCombinerInputParameterivNV)
-#define SET_GetCombinerInputParameterivNV(disp, fn) ((disp)->GetCombinerInputParameterivNV = fn)
-#define CALL_GetCombinerOutputParameterfvNV(disp, parameters) (*((disp)->GetCombinerOutputParameterfvNV)) parameters
-#define GET_GetCombinerOutputParameterfvNV(disp) ((disp)->GetCombinerOutputParameterfvNV)
-#define SET_GetCombinerOutputParameterfvNV(disp, fn) ((disp)->GetCombinerOutputParameterfvNV = fn)
-#define CALL_GetCombinerOutputParameterivNV(disp, parameters) (*((disp)->GetCombinerOutputParameterivNV)) parameters
-#define GET_GetCombinerOutputParameterivNV(disp) ((disp)->GetCombinerOutputParameterivNV)
-#define SET_GetCombinerOutputParameterivNV(disp, fn) ((disp)->GetCombinerOutputParameterivNV = fn)
-#define CALL_GetFinalCombinerInputParameterfvNV(disp, parameters) (*((disp)->GetFinalCombinerInputParameterfvNV)) parameters
-#define GET_GetFinalCombinerInputParameterfvNV(disp) ((disp)->GetFinalCombinerInputParameterfvNV)
-#define SET_GetFinalCombinerInputParameterfvNV(disp, fn) ((disp)->GetFinalCombinerInputParameterfvNV = fn)
-#define CALL_GetFinalCombinerInputParameterivNV(disp, parameters) (*((disp)->GetFinalCombinerInputParameterivNV)) parameters
-#define GET_GetFinalCombinerInputParameterivNV(disp) ((disp)->GetFinalCombinerInputParameterivNV)
-#define SET_GetFinalCombinerInputParameterivNV(disp, fn) ((disp)->GetFinalCombinerInputParameterivNV = fn)
-#define CALL_ResizeBuffersMESA(disp, parameters) (*((disp)->ResizeBuffersMESA)) parameters
-#define GET_ResizeBuffersMESA(disp) ((disp)->ResizeBuffersMESA)
-#define SET_ResizeBuffersMESA(disp, fn) ((disp)->ResizeBuffersMESA = fn)
-#define CALL_WindowPos2dMESA(disp, parameters) (*((disp)->WindowPos2dMESA)) parameters
-#define GET_WindowPos2dMESA(disp) ((disp)->WindowPos2dMESA)
-#define SET_WindowPos2dMESA(disp, fn) ((disp)->WindowPos2dMESA = fn)
-#define CALL_WindowPos2dvMESA(disp, parameters) (*((disp)->WindowPos2dvMESA)) parameters
-#define GET_WindowPos2dvMESA(disp) ((disp)->WindowPos2dvMESA)
-#define SET_WindowPos2dvMESA(disp, fn) ((disp)->WindowPos2dvMESA = fn)
-#define CALL_WindowPos2fMESA(disp, parameters) (*((disp)->WindowPos2fMESA)) parameters
-#define GET_WindowPos2fMESA(disp) ((disp)->WindowPos2fMESA)
-#define SET_WindowPos2fMESA(disp, fn) ((disp)->WindowPos2fMESA = fn)
-#define CALL_WindowPos2fvMESA(disp, parameters) (*((disp)->WindowPos2fvMESA)) parameters
-#define GET_WindowPos2fvMESA(disp) ((disp)->WindowPos2fvMESA)
-#define SET_WindowPos2fvMESA(disp, fn) ((disp)->WindowPos2fvMESA = fn)
-#define CALL_WindowPos2iMESA(disp, parameters) (*((disp)->WindowPos2iMESA)) parameters
-#define GET_WindowPos2iMESA(disp) ((disp)->WindowPos2iMESA)
-#define SET_WindowPos2iMESA(disp, fn) ((disp)->WindowPos2iMESA = fn)
-#define CALL_WindowPos2ivMESA(disp, parameters) (*((disp)->WindowPos2ivMESA)) parameters
-#define GET_WindowPos2ivMESA(disp) ((disp)->WindowPos2ivMESA)
-#define SET_WindowPos2ivMESA(disp, fn) ((disp)->WindowPos2ivMESA = fn)
-#define CALL_WindowPos2sMESA(disp, parameters) (*((disp)->WindowPos2sMESA)) parameters
-#define GET_WindowPos2sMESA(disp) ((disp)->WindowPos2sMESA)
-#define SET_WindowPos2sMESA(disp, fn) ((disp)->WindowPos2sMESA = fn)
-#define CALL_WindowPos2svMESA(disp, parameters) (*((disp)->WindowPos2svMESA)) parameters
-#define GET_WindowPos2svMESA(disp) ((disp)->WindowPos2svMESA)
-#define SET_WindowPos2svMESA(disp, fn) ((disp)->WindowPos2svMESA = fn)
-#define CALL_WindowPos3dMESA(disp, parameters) (*((disp)->WindowPos3dMESA)) parameters
-#define GET_WindowPos3dMESA(disp) ((disp)->WindowPos3dMESA)
-#define SET_WindowPos3dMESA(disp, fn) ((disp)->WindowPos3dMESA = fn)
-#define CALL_WindowPos3dvMESA(disp, parameters) (*((disp)->WindowPos3dvMESA)) parameters
-#define GET_WindowPos3dvMESA(disp) ((disp)->WindowPos3dvMESA)
-#define SET_WindowPos3dvMESA(disp, fn) ((disp)->WindowPos3dvMESA = fn)
-#define CALL_WindowPos3fMESA(disp, parameters) (*((disp)->WindowPos3fMESA)) parameters
-#define GET_WindowPos3fMESA(disp) ((disp)->WindowPos3fMESA)
-#define SET_WindowPos3fMESA(disp, fn) ((disp)->WindowPos3fMESA = fn)
-#define CALL_WindowPos3fvMESA(disp, parameters) (*((disp)->WindowPos3fvMESA)) parameters
-#define GET_WindowPos3fvMESA(disp) ((disp)->WindowPos3fvMESA)
-#define SET_WindowPos3fvMESA(disp, fn) ((disp)->WindowPos3fvMESA = fn)
-#define CALL_WindowPos3iMESA(disp, parameters) (*((disp)->WindowPos3iMESA)) parameters
-#define GET_WindowPos3iMESA(disp) ((disp)->WindowPos3iMESA)
-#define SET_WindowPos3iMESA(disp, fn) ((disp)->WindowPos3iMESA = fn)
-#define CALL_WindowPos3ivMESA(disp, parameters) (*((disp)->WindowPos3ivMESA)) parameters
-#define GET_WindowPos3ivMESA(disp) ((disp)->WindowPos3ivMESA)
-#define SET_WindowPos3ivMESA(disp, fn) ((disp)->WindowPos3ivMESA = fn)
-#define CALL_WindowPos3sMESA(disp, parameters) (*((disp)->WindowPos3sMESA)) parameters
-#define GET_WindowPos3sMESA(disp) ((disp)->WindowPos3sMESA)
-#define SET_WindowPos3sMESA(disp, fn) ((disp)->WindowPos3sMESA = fn)
-#define CALL_WindowPos3svMESA(disp, parameters) (*((disp)->WindowPos3svMESA)) parameters
-#define GET_WindowPos3svMESA(disp) ((disp)->WindowPos3svMESA)
-#define SET_WindowPos3svMESA(disp, fn) ((disp)->WindowPos3svMESA = fn)
-#define CALL_WindowPos4dMESA(disp, parameters) (*((disp)->WindowPos4dMESA)) parameters
-#define GET_WindowPos4dMESA(disp) ((disp)->WindowPos4dMESA)
-#define SET_WindowPos4dMESA(disp, fn) ((disp)->WindowPos4dMESA = fn)
-#define CALL_WindowPos4dvMESA(disp, parameters) (*((disp)->WindowPos4dvMESA)) parameters
-#define GET_WindowPos4dvMESA(disp) ((disp)->WindowPos4dvMESA)
-#define SET_WindowPos4dvMESA(disp, fn) ((disp)->WindowPos4dvMESA = fn)
-#define CALL_WindowPos4fMESA(disp, parameters) (*((disp)->WindowPos4fMESA)) parameters
-#define GET_WindowPos4fMESA(disp) ((disp)->WindowPos4fMESA)
-#define SET_WindowPos4fMESA(disp, fn) ((disp)->WindowPos4fMESA = fn)
-#define CALL_WindowPos4fvMESA(disp, parameters) (*((disp)->WindowPos4fvMESA)) parameters
-#define GET_WindowPos4fvMESA(disp) ((disp)->WindowPos4fvMESA)
-#define SET_WindowPos4fvMESA(disp, fn) ((disp)->WindowPos4fvMESA = fn)
-#define CALL_WindowPos4iMESA(disp, parameters) (*((disp)->WindowPos4iMESA)) parameters
-#define GET_WindowPos4iMESA(disp) ((disp)->WindowPos4iMESA)
-#define SET_WindowPos4iMESA(disp, fn) ((disp)->WindowPos4iMESA = fn)
-#define CALL_WindowPos4ivMESA(disp, parameters) (*((disp)->WindowPos4ivMESA)) parameters
-#define GET_WindowPos4ivMESA(disp) ((disp)->WindowPos4ivMESA)
-#define SET_WindowPos4ivMESA(disp, fn) ((disp)->WindowPos4ivMESA = fn)
-#define CALL_WindowPos4sMESA(disp, parameters) (*((disp)->WindowPos4sMESA)) parameters
-#define GET_WindowPos4sMESA(disp) ((disp)->WindowPos4sMESA)
-#define SET_WindowPos4sMESA(disp, fn) ((disp)->WindowPos4sMESA = fn)
-#define CALL_WindowPos4svMESA(disp, parameters) (*((disp)->WindowPos4svMESA)) parameters
-#define GET_WindowPos4svMESA(disp) ((disp)->WindowPos4svMESA)
-#define SET_WindowPos4svMESA(disp, fn) ((disp)->WindowPos4svMESA = fn)
-#define CALL_MultiModeDrawArraysIBM(disp, parameters) (*((disp)->MultiModeDrawArraysIBM)) parameters
-#define GET_MultiModeDrawArraysIBM(disp) ((disp)->MultiModeDrawArraysIBM)
-#define SET_MultiModeDrawArraysIBM(disp, fn) ((disp)->MultiModeDrawArraysIBM = fn)
-#define CALL_MultiModeDrawElementsIBM(disp, parameters) (*((disp)->MultiModeDrawElementsIBM)) parameters
-#define GET_MultiModeDrawElementsIBM(disp) ((disp)->MultiModeDrawElementsIBM)
-#define SET_MultiModeDrawElementsIBM(disp, fn) ((disp)->MultiModeDrawElementsIBM = fn)
-#define CALL_DeleteFencesNV(disp, parameters) (*((disp)->DeleteFencesNV)) parameters
-#define GET_DeleteFencesNV(disp) ((disp)->DeleteFencesNV)
-#define SET_DeleteFencesNV(disp, fn) ((disp)->DeleteFencesNV = fn)
-#define CALL_FinishFenceNV(disp, parameters) (*((disp)->FinishFenceNV)) parameters
-#define GET_FinishFenceNV(disp) ((disp)->FinishFenceNV)
-#define SET_FinishFenceNV(disp, fn) ((disp)->FinishFenceNV = fn)
-#define CALL_GenFencesNV(disp, parameters) (*((disp)->GenFencesNV)) parameters
-#define GET_GenFencesNV(disp) ((disp)->GenFencesNV)
-#define SET_GenFencesNV(disp, fn) ((disp)->GenFencesNV = fn)
-#define CALL_GetFenceivNV(disp, parameters) (*((disp)->GetFenceivNV)) parameters
-#define GET_GetFenceivNV(disp) ((disp)->GetFenceivNV)
-#define SET_GetFenceivNV(disp, fn) ((disp)->GetFenceivNV = fn)
-#define CALL_IsFenceNV(disp, parameters) (*((disp)->IsFenceNV)) parameters
-#define GET_IsFenceNV(disp) ((disp)->IsFenceNV)
-#define SET_IsFenceNV(disp, fn) ((disp)->IsFenceNV = fn)
-#define CALL_SetFenceNV(disp, parameters) (*((disp)->SetFenceNV)) parameters
-#define GET_SetFenceNV(disp) ((disp)->SetFenceNV)
-#define SET_SetFenceNV(disp, fn) ((disp)->SetFenceNV = fn)
-#define CALL_TestFenceNV(disp, parameters) (*((disp)->TestFenceNV)) parameters
-#define GET_TestFenceNV(disp) ((disp)->TestFenceNV)
-#define SET_TestFenceNV(disp, fn) ((disp)->TestFenceNV = fn)
-#define CALL_AreProgramsResidentNV(disp, parameters) (*((disp)->AreProgramsResidentNV)) parameters
-#define GET_AreProgramsResidentNV(disp) ((disp)->AreProgramsResidentNV)
-#define SET_AreProgramsResidentNV(disp, fn) ((disp)->AreProgramsResidentNV = fn)
-#define CALL_BindProgramNV(disp, parameters) (*((disp)->BindProgramNV)) parameters
-#define GET_BindProgramNV(disp) ((disp)->BindProgramNV)
-#define SET_BindProgramNV(disp, fn) ((disp)->BindProgramNV = fn)
-#define CALL_DeleteProgramsNV(disp, parameters) (*((disp)->DeleteProgramsNV)) parameters
-#define GET_DeleteProgramsNV(disp) ((disp)->DeleteProgramsNV)
-#define SET_DeleteProgramsNV(disp, fn) ((disp)->DeleteProgramsNV = fn)
-#define CALL_ExecuteProgramNV(disp, parameters) (*((disp)->ExecuteProgramNV)) parameters
-#define GET_ExecuteProgramNV(disp) ((disp)->ExecuteProgramNV)
-#define SET_ExecuteProgramNV(disp, fn) ((disp)->ExecuteProgramNV = fn)
-#define CALL_GenProgramsNV(disp, parameters) (*((disp)->GenProgramsNV)) parameters
-#define GET_GenProgramsNV(disp) ((disp)->GenProgramsNV)
-#define SET_GenProgramsNV(disp, fn) ((disp)->GenProgramsNV = fn)
-#define CALL_GetProgramParameterdvNV(disp, parameters) (*((disp)->GetProgramParameterdvNV)) parameters
-#define GET_GetProgramParameterdvNV(disp) ((disp)->GetProgramParameterdvNV)
-#define SET_GetProgramParameterdvNV(disp, fn) ((disp)->GetProgramParameterdvNV = fn)
-#define CALL_GetProgramParameterfvNV(disp, parameters) (*((disp)->GetProgramParameterfvNV)) parameters
-#define GET_GetProgramParameterfvNV(disp) ((disp)->GetProgramParameterfvNV)
-#define SET_GetProgramParameterfvNV(disp, fn) ((disp)->GetProgramParameterfvNV = fn)
-#define CALL_GetProgramStringNV(disp, parameters) (*((disp)->GetProgramStringNV)) parameters
-#define GET_GetProgramStringNV(disp) ((disp)->GetProgramStringNV)
-#define SET_GetProgramStringNV(disp, fn) ((disp)->GetProgramStringNV = fn)
-#define CALL_GetProgramivNV(disp, parameters) (*((disp)->GetProgramivNV)) parameters
-#define GET_GetProgramivNV(disp) ((disp)->GetProgramivNV)
-#define SET_GetProgramivNV(disp, fn) ((disp)->GetProgramivNV = fn)
-#define CALL_GetTrackMatrixivNV(disp, parameters) (*((disp)->GetTrackMatrixivNV)) parameters
-#define GET_GetTrackMatrixivNV(disp) ((disp)->GetTrackMatrixivNV)
-#define SET_GetTrackMatrixivNV(disp, fn) ((disp)->GetTrackMatrixivNV = fn)
-#define CALL_GetVertexAttribPointervNV(disp, parameters) (*((disp)->GetVertexAttribPointervNV)) parameters
-#define GET_GetVertexAttribPointervNV(disp) ((disp)->GetVertexAttribPointervNV)
-#define SET_GetVertexAttribPointervNV(disp, fn) ((disp)->GetVertexAttribPointervNV = fn)
-#define CALL_GetVertexAttribdvNV(disp, parameters) (*((disp)->GetVertexAttribdvNV)) parameters
-#define GET_GetVertexAttribdvNV(disp) ((disp)->GetVertexAttribdvNV)
-#define SET_GetVertexAttribdvNV(disp, fn) ((disp)->GetVertexAttribdvNV = fn)
-#define CALL_GetVertexAttribfvNV(disp, parameters) (*((disp)->GetVertexAttribfvNV)) parameters
-#define GET_GetVertexAttribfvNV(disp) ((disp)->GetVertexAttribfvNV)
-#define SET_GetVertexAttribfvNV(disp, fn) ((disp)->GetVertexAttribfvNV = fn)
-#define CALL_GetVertexAttribivNV(disp, parameters) (*((disp)->GetVertexAttribivNV)) parameters
-#define GET_GetVertexAttribivNV(disp) ((disp)->GetVertexAttribivNV)
-#define SET_GetVertexAttribivNV(disp, fn) ((disp)->GetVertexAttribivNV = fn)
-#define CALL_IsProgramNV(disp, parameters) (*((disp)->IsProgramNV)) parameters
-#define GET_IsProgramNV(disp) ((disp)->IsProgramNV)
-#define SET_IsProgramNV(disp, fn) ((disp)->IsProgramNV = fn)
-#define CALL_LoadProgramNV(disp, parameters) (*((disp)->LoadProgramNV)) parameters
-#define GET_LoadProgramNV(disp) ((disp)->LoadProgramNV)
-#define SET_LoadProgramNV(disp, fn) ((disp)->LoadProgramNV = fn)
-#define CALL_ProgramParameters4dvNV(disp, parameters) (*((disp)->ProgramParameters4dvNV)) parameters
-#define GET_ProgramParameters4dvNV(disp) ((disp)->ProgramParameters4dvNV)
-#define SET_ProgramParameters4dvNV(disp, fn) ((disp)->ProgramParameters4dvNV = fn)
-#define CALL_ProgramParameters4fvNV(disp, parameters) (*((disp)->ProgramParameters4fvNV)) parameters
-#define GET_ProgramParameters4fvNV(disp) ((disp)->ProgramParameters4fvNV)
-#define SET_ProgramParameters4fvNV(disp, fn) ((disp)->ProgramParameters4fvNV = fn)
-#define CALL_RequestResidentProgramsNV(disp, parameters) (*((disp)->RequestResidentProgramsNV)) parameters
-#define GET_RequestResidentProgramsNV(disp) ((disp)->RequestResidentProgramsNV)
-#define SET_RequestResidentProgramsNV(disp, fn) ((disp)->RequestResidentProgramsNV = fn)
-#define CALL_TrackMatrixNV(disp, parameters) (*((disp)->TrackMatrixNV)) parameters
-#define GET_TrackMatrixNV(disp) ((disp)->TrackMatrixNV)
-#define SET_TrackMatrixNV(disp, fn) ((disp)->TrackMatrixNV = fn)
-#define CALL_VertexAttrib1dNV(disp, parameters) (*((disp)->VertexAttrib1dNV)) parameters
-#define GET_VertexAttrib1dNV(disp) ((disp)->VertexAttrib1dNV)
-#define SET_VertexAttrib1dNV(disp, fn) ((disp)->VertexAttrib1dNV = fn)
-#define CALL_VertexAttrib1dvNV(disp, parameters) (*((disp)->VertexAttrib1dvNV)) parameters
-#define GET_VertexAttrib1dvNV(disp) ((disp)->VertexAttrib1dvNV)
-#define SET_VertexAttrib1dvNV(disp, fn) ((disp)->VertexAttrib1dvNV = fn)
-#define CALL_VertexAttrib1fNV(disp, parameters) (*((disp)->VertexAttrib1fNV)) parameters
-#define GET_VertexAttrib1fNV(disp) ((disp)->VertexAttrib1fNV)
-#define SET_VertexAttrib1fNV(disp, fn) ((disp)->VertexAttrib1fNV = fn)
-#define CALL_VertexAttrib1fvNV(disp, parameters) (*((disp)->VertexAttrib1fvNV)) parameters
-#define GET_VertexAttrib1fvNV(disp) ((disp)->VertexAttrib1fvNV)
-#define SET_VertexAttrib1fvNV(disp, fn) ((disp)->VertexAttrib1fvNV = fn)
-#define CALL_VertexAttrib1sNV(disp, parameters) (*((disp)->VertexAttrib1sNV)) parameters
-#define GET_VertexAttrib1sNV(disp) ((disp)->VertexAttrib1sNV)
-#define SET_VertexAttrib1sNV(disp, fn) ((disp)->VertexAttrib1sNV = fn)
-#define CALL_VertexAttrib1svNV(disp, parameters) (*((disp)->VertexAttrib1svNV)) parameters
-#define GET_VertexAttrib1svNV(disp) ((disp)->VertexAttrib1svNV)
-#define SET_VertexAttrib1svNV(disp, fn) ((disp)->VertexAttrib1svNV = fn)
-#define CALL_VertexAttrib2dNV(disp, parameters) (*((disp)->VertexAttrib2dNV)) parameters
-#define GET_VertexAttrib2dNV(disp) ((disp)->VertexAttrib2dNV)
-#define SET_VertexAttrib2dNV(disp, fn) ((disp)->VertexAttrib2dNV = fn)
-#define CALL_VertexAttrib2dvNV(disp, parameters) (*((disp)->VertexAttrib2dvNV)) parameters
-#define GET_VertexAttrib2dvNV(disp) ((disp)->VertexAttrib2dvNV)
-#define SET_VertexAttrib2dvNV(disp, fn) ((disp)->VertexAttrib2dvNV = fn)
-#define CALL_VertexAttrib2fNV(disp, parameters) (*((disp)->VertexAttrib2fNV)) parameters
-#define GET_VertexAttrib2fNV(disp) ((disp)->VertexAttrib2fNV)
-#define SET_VertexAttrib2fNV(disp, fn) ((disp)->VertexAttrib2fNV = fn)
-#define CALL_VertexAttrib2fvNV(disp, parameters) (*((disp)->VertexAttrib2fvNV)) parameters
-#define GET_VertexAttrib2fvNV(disp) ((disp)->VertexAttrib2fvNV)
-#define SET_VertexAttrib2fvNV(disp, fn) ((disp)->VertexAttrib2fvNV = fn)
-#define CALL_VertexAttrib2sNV(disp, parameters) (*((disp)->VertexAttrib2sNV)) parameters
-#define GET_VertexAttrib2sNV(disp) ((disp)->VertexAttrib2sNV)
-#define SET_VertexAttrib2sNV(disp, fn) ((disp)->VertexAttrib2sNV = fn)
-#define CALL_VertexAttrib2svNV(disp, parameters) (*((disp)->VertexAttrib2svNV)) parameters
-#define GET_VertexAttrib2svNV(disp) ((disp)->VertexAttrib2svNV)
-#define SET_VertexAttrib2svNV(disp, fn) ((disp)->VertexAttrib2svNV = fn)
-#define CALL_VertexAttrib3dNV(disp, parameters) (*((disp)->VertexAttrib3dNV)) parameters
-#define GET_VertexAttrib3dNV(disp) ((disp)->VertexAttrib3dNV)
-#define SET_VertexAttrib3dNV(disp, fn) ((disp)->VertexAttrib3dNV = fn)
-#define CALL_VertexAttrib3dvNV(disp, parameters) (*((disp)->VertexAttrib3dvNV)) parameters
-#define GET_VertexAttrib3dvNV(disp) ((disp)->VertexAttrib3dvNV)
-#define SET_VertexAttrib3dvNV(disp, fn) ((disp)->VertexAttrib3dvNV = fn)
-#define CALL_VertexAttrib3fNV(disp, parameters) (*((disp)->VertexAttrib3fNV)) parameters
-#define GET_VertexAttrib3fNV(disp) ((disp)->VertexAttrib3fNV)
-#define SET_VertexAttrib3fNV(disp, fn) ((disp)->VertexAttrib3fNV = fn)
-#define CALL_VertexAttrib3fvNV(disp, parameters) (*((disp)->VertexAttrib3fvNV)) parameters
-#define GET_VertexAttrib3fvNV(disp) ((disp)->VertexAttrib3fvNV)
-#define SET_VertexAttrib3fvNV(disp, fn) ((disp)->VertexAttrib3fvNV = fn)
-#define CALL_VertexAttrib3sNV(disp, parameters) (*((disp)->VertexAttrib3sNV)) parameters
-#define GET_VertexAttrib3sNV(disp) ((disp)->VertexAttrib3sNV)
-#define SET_VertexAttrib3sNV(disp, fn) ((disp)->VertexAttrib3sNV = fn)
-#define CALL_VertexAttrib3svNV(disp, parameters) (*((disp)->VertexAttrib3svNV)) parameters
-#define GET_VertexAttrib3svNV(disp) ((disp)->VertexAttrib3svNV)
-#define SET_VertexAttrib3svNV(disp, fn) ((disp)->VertexAttrib3svNV = fn)
-#define CALL_VertexAttrib4dNV(disp, parameters) (*((disp)->VertexAttrib4dNV)) parameters
-#define GET_VertexAttrib4dNV(disp) ((disp)->VertexAttrib4dNV)
-#define SET_VertexAttrib4dNV(disp, fn) ((disp)->VertexAttrib4dNV = fn)
-#define CALL_VertexAttrib4dvNV(disp, parameters) (*((disp)->VertexAttrib4dvNV)) parameters
-#define GET_VertexAttrib4dvNV(disp) ((disp)->VertexAttrib4dvNV)
-#define SET_VertexAttrib4dvNV(disp, fn) ((disp)->VertexAttrib4dvNV = fn)
-#define CALL_VertexAttrib4fNV(disp, parameters) (*((disp)->VertexAttrib4fNV)) parameters
-#define GET_VertexAttrib4fNV(disp) ((disp)->VertexAttrib4fNV)
-#define SET_VertexAttrib4fNV(disp, fn) ((disp)->VertexAttrib4fNV = fn)
-#define CALL_VertexAttrib4fvNV(disp, parameters) (*((disp)->VertexAttrib4fvNV)) parameters
-#define GET_VertexAttrib4fvNV(disp) ((disp)->VertexAttrib4fvNV)
-#define SET_VertexAttrib4fvNV(disp, fn) ((disp)->VertexAttrib4fvNV = fn)
-#define CALL_VertexAttrib4sNV(disp, parameters) (*((disp)->VertexAttrib4sNV)) parameters
-#define GET_VertexAttrib4sNV(disp) ((disp)->VertexAttrib4sNV)
-#define SET_VertexAttrib4sNV(disp, fn) ((disp)->VertexAttrib4sNV = fn)
-#define CALL_VertexAttrib4svNV(disp, parameters) (*((disp)->VertexAttrib4svNV)) parameters
-#define GET_VertexAttrib4svNV(disp) ((disp)->VertexAttrib4svNV)
-#define SET_VertexAttrib4svNV(disp, fn) ((disp)->VertexAttrib4svNV = fn)
-#define CALL_VertexAttrib4ubNV(disp, parameters) (*((disp)->VertexAttrib4ubNV)) parameters
-#define GET_VertexAttrib4ubNV(disp) ((disp)->VertexAttrib4ubNV)
-#define SET_VertexAttrib4ubNV(disp, fn) ((disp)->VertexAttrib4ubNV = fn)
-#define CALL_VertexAttrib4ubvNV(disp, parameters) (*((disp)->VertexAttrib4ubvNV)) parameters
-#define GET_VertexAttrib4ubvNV(disp) ((disp)->VertexAttrib4ubvNV)
-#define SET_VertexAttrib4ubvNV(disp, fn) ((disp)->VertexAttrib4ubvNV = fn)
-#define CALL_VertexAttribPointerNV(disp, parameters) (*((disp)->VertexAttribPointerNV)) parameters
-#define GET_VertexAttribPointerNV(disp) ((disp)->VertexAttribPointerNV)
-#define SET_VertexAttribPointerNV(disp, fn) ((disp)->VertexAttribPointerNV = fn)
-#define CALL_VertexAttribs1dvNV(disp, parameters) (*((disp)->VertexAttribs1dvNV)) parameters
-#define GET_VertexAttribs1dvNV(disp) ((disp)->VertexAttribs1dvNV)
-#define SET_VertexAttribs1dvNV(disp, fn) ((disp)->VertexAttribs1dvNV = fn)
-#define CALL_VertexAttribs1fvNV(disp, parameters) (*((disp)->VertexAttribs1fvNV)) parameters
-#define GET_VertexAttribs1fvNV(disp) ((disp)->VertexAttribs1fvNV)
-#define SET_VertexAttribs1fvNV(disp, fn) ((disp)->VertexAttribs1fvNV = fn)
-#define CALL_VertexAttribs1svNV(disp, parameters) (*((disp)->VertexAttribs1svNV)) parameters
-#define GET_VertexAttribs1svNV(disp) ((disp)->VertexAttribs1svNV)
-#define SET_VertexAttribs1svNV(disp, fn) ((disp)->VertexAttribs1svNV = fn)
-#define CALL_VertexAttribs2dvNV(disp, parameters) (*((disp)->VertexAttribs2dvNV)) parameters
-#define GET_VertexAttribs2dvNV(disp) ((disp)->VertexAttribs2dvNV)
-#define SET_VertexAttribs2dvNV(disp, fn) ((disp)->VertexAttribs2dvNV = fn)
-#define CALL_VertexAttribs2fvNV(disp, parameters) (*((disp)->VertexAttribs2fvNV)) parameters
-#define GET_VertexAttribs2fvNV(disp) ((disp)->VertexAttribs2fvNV)
-#define SET_VertexAttribs2fvNV(disp, fn) ((disp)->VertexAttribs2fvNV = fn)
-#define CALL_VertexAttribs2svNV(disp, parameters) (*((disp)->VertexAttribs2svNV)) parameters
-#define GET_VertexAttribs2svNV(disp) ((disp)->VertexAttribs2svNV)
-#define SET_VertexAttribs2svNV(disp, fn) ((disp)->VertexAttribs2svNV = fn)
-#define CALL_VertexAttribs3dvNV(disp, parameters) (*((disp)->VertexAttribs3dvNV)) parameters
-#define GET_VertexAttribs3dvNV(disp) ((disp)->VertexAttribs3dvNV)
-#define SET_VertexAttribs3dvNV(disp, fn) ((disp)->VertexAttribs3dvNV = fn)
-#define CALL_VertexAttribs3fvNV(disp, parameters) (*((disp)->VertexAttribs3fvNV)) parameters
-#define GET_VertexAttribs3fvNV(disp) ((disp)->VertexAttribs3fvNV)
-#define SET_VertexAttribs3fvNV(disp, fn) ((disp)->VertexAttribs3fvNV = fn)
-#define CALL_VertexAttribs3svNV(disp, parameters) (*((disp)->VertexAttribs3svNV)) parameters
-#define GET_VertexAttribs3svNV(disp) ((disp)->VertexAttribs3svNV)
-#define SET_VertexAttribs3svNV(disp, fn) ((disp)->VertexAttribs3svNV = fn)
-#define CALL_VertexAttribs4dvNV(disp, parameters) (*((disp)->VertexAttribs4dvNV)) parameters
-#define GET_VertexAttribs4dvNV(disp) ((disp)->VertexAttribs4dvNV)
-#define SET_VertexAttribs4dvNV(disp, fn) ((disp)->VertexAttribs4dvNV = fn)
-#define CALL_VertexAttribs4fvNV(disp, parameters) (*((disp)->VertexAttribs4fvNV)) parameters
-#define GET_VertexAttribs4fvNV(disp) ((disp)->VertexAttribs4fvNV)
-#define SET_VertexAttribs4fvNV(disp, fn) ((disp)->VertexAttribs4fvNV = fn)
-#define CALL_VertexAttribs4svNV(disp, parameters) (*((disp)->VertexAttribs4svNV)) parameters
-#define GET_VertexAttribs4svNV(disp) ((disp)->VertexAttribs4svNV)
-#define SET_VertexAttribs4svNV(disp, fn) ((disp)->VertexAttribs4svNV = fn)
-#define CALL_VertexAttribs4ubvNV(disp, parameters) (*((disp)->VertexAttribs4ubvNV)) parameters
-#define GET_VertexAttribs4ubvNV(disp) ((disp)->VertexAttribs4ubvNV)
-#define SET_VertexAttribs4ubvNV(disp, fn) ((disp)->VertexAttribs4ubvNV = fn)
-#define CALL_AlphaFragmentOp1ATI(disp, parameters) (*((disp)->AlphaFragmentOp1ATI)) parameters
-#define GET_AlphaFragmentOp1ATI(disp) ((disp)->AlphaFragmentOp1ATI)
-#define SET_AlphaFragmentOp1ATI(disp, fn) ((disp)->AlphaFragmentOp1ATI = fn)
-#define CALL_AlphaFragmentOp2ATI(disp, parameters) (*((disp)->AlphaFragmentOp2ATI)) parameters
-#define GET_AlphaFragmentOp2ATI(disp) ((disp)->AlphaFragmentOp2ATI)
-#define SET_AlphaFragmentOp2ATI(disp, fn) ((disp)->AlphaFragmentOp2ATI = fn)
-#define CALL_AlphaFragmentOp3ATI(disp, parameters) (*((disp)->AlphaFragmentOp3ATI)) parameters
-#define GET_AlphaFragmentOp3ATI(disp) ((disp)->AlphaFragmentOp3ATI)
-#define SET_AlphaFragmentOp3ATI(disp, fn) ((disp)->AlphaFragmentOp3ATI = fn)
-#define CALL_BeginFragmentShaderATI(disp, parameters) (*((disp)->BeginFragmentShaderATI)) parameters
-#define GET_BeginFragmentShaderATI(disp) ((disp)->BeginFragmentShaderATI)
-#define SET_BeginFragmentShaderATI(disp, fn) ((disp)->BeginFragmentShaderATI = fn)
-#define CALL_BindFragmentShaderATI(disp, parameters) (*((disp)->BindFragmentShaderATI)) parameters
-#define GET_BindFragmentShaderATI(disp) ((disp)->BindFragmentShaderATI)
-#define SET_BindFragmentShaderATI(disp, fn) ((disp)->BindFragmentShaderATI = fn)
-#define CALL_ColorFragmentOp1ATI(disp, parameters) (*((disp)->ColorFragmentOp1ATI)) parameters
-#define GET_ColorFragmentOp1ATI(disp) ((disp)->ColorFragmentOp1ATI)
-#define SET_ColorFragmentOp1ATI(disp, fn) ((disp)->ColorFragmentOp1ATI = fn)
-#define CALL_ColorFragmentOp2ATI(disp, parameters) (*((disp)->ColorFragmentOp2ATI)) parameters
-#define GET_ColorFragmentOp2ATI(disp) ((disp)->ColorFragmentOp2ATI)
-#define SET_ColorFragmentOp2ATI(disp, fn) ((disp)->ColorFragmentOp2ATI = fn)
-#define CALL_ColorFragmentOp3ATI(disp, parameters) (*((disp)->ColorFragmentOp3ATI)) parameters
-#define GET_ColorFragmentOp3ATI(disp) ((disp)->ColorFragmentOp3ATI)
-#define SET_ColorFragmentOp3ATI(disp, fn) ((disp)->ColorFragmentOp3ATI = fn)
-#define CALL_DeleteFragmentShaderATI(disp, parameters) (*((disp)->DeleteFragmentShaderATI)) parameters
-#define GET_DeleteFragmentShaderATI(disp) ((disp)->DeleteFragmentShaderATI)
-#define SET_DeleteFragmentShaderATI(disp, fn) ((disp)->DeleteFragmentShaderATI = fn)
-#define CALL_EndFragmentShaderATI(disp, parameters) (*((disp)->EndFragmentShaderATI)) parameters
-#define GET_EndFragmentShaderATI(disp) ((disp)->EndFragmentShaderATI)
-#define SET_EndFragmentShaderATI(disp, fn) ((disp)->EndFragmentShaderATI = fn)
-#define CALL_GenFragmentShadersATI(disp, parameters) (*((disp)->GenFragmentShadersATI)) parameters
-#define GET_GenFragmentShadersATI(disp) ((disp)->GenFragmentShadersATI)
-#define SET_GenFragmentShadersATI(disp, fn) ((disp)->GenFragmentShadersATI = fn)
-#define CALL_PassTexCoordATI(disp, parameters) (*((disp)->PassTexCoordATI)) parameters
-#define GET_PassTexCoordATI(disp) ((disp)->PassTexCoordATI)
-#define SET_PassTexCoordATI(disp, fn) ((disp)->PassTexCoordATI = fn)
-#define CALL_SampleMapATI(disp, parameters) (*((disp)->SampleMapATI)) parameters
-#define GET_SampleMapATI(disp) ((disp)->SampleMapATI)
-#define SET_SampleMapATI(disp, fn) ((disp)->SampleMapATI = fn)
-#define CALL_SetFragmentShaderConstantATI(disp, parameters) (*((disp)->SetFragmentShaderConstantATI)) parameters
-#define GET_SetFragmentShaderConstantATI(disp) ((disp)->SetFragmentShaderConstantATI)
-#define SET_SetFragmentShaderConstantATI(disp, fn) ((disp)->SetFragmentShaderConstantATI = fn)
-#define CALL_PointParameteriNV(disp, parameters) (*((disp)->PointParameteriNV)) parameters
-#define GET_PointParameteriNV(disp) ((disp)->PointParameteriNV)
-#define SET_PointParameteriNV(disp, fn) ((disp)->PointParameteriNV = fn)
-#define CALL_PointParameterivNV(disp, parameters) (*((disp)->PointParameterivNV)) parameters
-#define GET_PointParameterivNV(disp) ((disp)->PointParameterivNV)
-#define SET_PointParameterivNV(disp, fn) ((disp)->PointParameterivNV = fn)
-#define CALL_ActiveStencilFaceEXT(disp, parameters) (*((disp)->ActiveStencilFaceEXT)) parameters
-#define GET_ActiveStencilFaceEXT(disp) ((disp)->ActiveStencilFaceEXT)
-#define SET_ActiveStencilFaceEXT(disp, fn) ((disp)->ActiveStencilFaceEXT = fn)
-#define CALL_BindVertexArrayAPPLE(disp, parameters) (*((disp)->BindVertexArrayAPPLE)) parameters
-#define GET_BindVertexArrayAPPLE(disp) ((disp)->BindVertexArrayAPPLE)
-#define SET_BindVertexArrayAPPLE(disp, fn) ((disp)->BindVertexArrayAPPLE = fn)
-#define CALL_DeleteVertexArraysAPPLE(disp, parameters) (*((disp)->DeleteVertexArraysAPPLE)) parameters
-#define GET_DeleteVertexArraysAPPLE(disp) ((disp)->DeleteVertexArraysAPPLE)
-#define SET_DeleteVertexArraysAPPLE(disp, fn) ((disp)->DeleteVertexArraysAPPLE = fn)
-#define CALL_GenVertexArraysAPPLE(disp, parameters) (*((disp)->GenVertexArraysAPPLE)) parameters
-#define GET_GenVertexArraysAPPLE(disp) ((disp)->GenVertexArraysAPPLE)
-#define SET_GenVertexArraysAPPLE(disp, fn) ((disp)->GenVertexArraysAPPLE = fn)
-#define CALL_IsVertexArrayAPPLE(disp, parameters) (*((disp)->IsVertexArrayAPPLE)) parameters
-#define GET_IsVertexArrayAPPLE(disp) ((disp)->IsVertexArrayAPPLE)
-#define SET_IsVertexArrayAPPLE(disp, fn) ((disp)->IsVertexArrayAPPLE = fn)
-#define CALL_GetProgramNamedParameterdvNV(disp, parameters) (*((disp)->GetProgramNamedParameterdvNV)) parameters
-#define GET_GetProgramNamedParameterdvNV(disp) ((disp)->GetProgramNamedParameterdvNV)
-#define SET_GetProgramNamedParameterdvNV(disp, fn) ((disp)->GetProgramNamedParameterdvNV = fn)
-#define CALL_GetProgramNamedParameterfvNV(disp, parameters) (*((disp)->GetProgramNamedParameterfvNV)) parameters
-#define GET_GetProgramNamedParameterfvNV(disp) ((disp)->GetProgramNamedParameterfvNV)
-#define SET_GetProgramNamedParameterfvNV(disp, fn) ((disp)->GetProgramNamedParameterfvNV = fn)
-#define CALL_ProgramNamedParameter4dNV(disp, parameters) (*((disp)->ProgramNamedParameter4dNV)) parameters
-#define GET_ProgramNamedParameter4dNV(disp) ((disp)->ProgramNamedParameter4dNV)
-#define SET_ProgramNamedParameter4dNV(disp, fn) ((disp)->ProgramNamedParameter4dNV = fn)
-#define CALL_ProgramNamedParameter4dvNV(disp, parameters) (*((disp)->ProgramNamedParameter4dvNV)) parameters
-#define GET_ProgramNamedParameter4dvNV(disp) ((disp)->ProgramNamedParameter4dvNV)
-#define SET_ProgramNamedParameter4dvNV(disp, fn) ((disp)->ProgramNamedParameter4dvNV = fn)
-#define CALL_ProgramNamedParameter4fNV(disp, parameters) (*((disp)->ProgramNamedParameter4fNV)) parameters
-#define GET_ProgramNamedParameter4fNV(disp) ((disp)->ProgramNamedParameter4fNV)
-#define SET_ProgramNamedParameter4fNV(disp, fn) ((disp)->ProgramNamedParameter4fNV = fn)
-#define CALL_ProgramNamedParameter4fvNV(disp, parameters) (*((disp)->ProgramNamedParameter4fvNV)) parameters
-#define GET_ProgramNamedParameter4fvNV(disp) ((disp)->ProgramNamedParameter4fvNV)
-#define SET_ProgramNamedParameter4fvNV(disp, fn) ((disp)->ProgramNamedParameter4fvNV = fn)
-#define CALL_DepthBoundsEXT(disp, parameters) (*((disp)->DepthBoundsEXT)) parameters
-#define GET_DepthBoundsEXT(disp) ((disp)->DepthBoundsEXT)
-#define SET_DepthBoundsEXT(disp, fn) ((disp)->DepthBoundsEXT = fn)
-#define CALL_BlendEquationSeparateEXT(disp, parameters) (*((disp)->BlendEquationSeparateEXT)) parameters
-#define GET_BlendEquationSeparateEXT(disp) ((disp)->BlendEquationSeparateEXT)
-#define SET_BlendEquationSeparateEXT(disp, fn) ((disp)->BlendEquationSeparateEXT = fn)
-#define CALL_BindFramebufferEXT(disp, parameters) (*((disp)->BindFramebufferEXT)) parameters
-#define GET_BindFramebufferEXT(disp) ((disp)->BindFramebufferEXT)
-#define SET_BindFramebufferEXT(disp, fn) ((disp)->BindFramebufferEXT = fn)
-#define CALL_BindRenderbufferEXT(disp, parameters) (*((disp)->BindRenderbufferEXT)) parameters
-#define GET_BindRenderbufferEXT(disp) ((disp)->BindRenderbufferEXT)
-#define SET_BindRenderbufferEXT(disp, fn) ((disp)->BindRenderbufferEXT = fn)
-#define CALL_CheckFramebufferStatusEXT(disp, parameters) (*((disp)->CheckFramebufferStatusEXT)) parameters
-#define GET_CheckFramebufferStatusEXT(disp) ((disp)->CheckFramebufferStatusEXT)
-#define SET_CheckFramebufferStatusEXT(disp, fn) ((disp)->CheckFramebufferStatusEXT = fn)
-#define CALL_DeleteFramebuffersEXT(disp, parameters) (*((disp)->DeleteFramebuffersEXT)) parameters
-#define GET_DeleteFramebuffersEXT(disp) ((disp)->DeleteFramebuffersEXT)
-#define SET_DeleteFramebuffersEXT(disp, fn) ((disp)->DeleteFramebuffersEXT = fn)
-#define CALL_DeleteRenderbuffersEXT(disp, parameters) (*((disp)->DeleteRenderbuffersEXT)) parameters
-#define GET_DeleteRenderbuffersEXT(disp) ((disp)->DeleteRenderbuffersEXT)
-#define SET_DeleteRenderbuffersEXT(disp, fn) ((disp)->DeleteRenderbuffersEXT = fn)
-#define CALL_FramebufferRenderbufferEXT(disp, parameters) (*((disp)->FramebufferRenderbufferEXT)) parameters
-#define GET_FramebufferRenderbufferEXT(disp) ((disp)->FramebufferRenderbufferEXT)
-#define SET_FramebufferRenderbufferEXT(disp, fn) ((disp)->FramebufferRenderbufferEXT = fn)
-#define CALL_FramebufferTexture1DEXT(disp, parameters) (*((disp)->FramebufferTexture1DEXT)) parameters
-#define GET_FramebufferTexture1DEXT(disp) ((disp)->FramebufferTexture1DEXT)
-#define SET_FramebufferTexture1DEXT(disp, fn) ((disp)->FramebufferTexture1DEXT = fn)
-#define CALL_FramebufferTexture2DEXT(disp, parameters) (*((disp)->FramebufferTexture2DEXT)) parameters
-#define GET_FramebufferTexture2DEXT(disp) ((disp)->FramebufferTexture2DEXT)
-#define SET_FramebufferTexture2DEXT(disp, fn) ((disp)->FramebufferTexture2DEXT = fn)
-#define CALL_FramebufferTexture3DEXT(disp, parameters) (*((disp)->FramebufferTexture3DEXT)) parameters
-#define GET_FramebufferTexture3DEXT(disp) ((disp)->FramebufferTexture3DEXT)
-#define SET_FramebufferTexture3DEXT(disp, fn) ((disp)->FramebufferTexture3DEXT = fn)
-#define CALL_GenFramebuffersEXT(disp, parameters) (*((disp)->GenFramebuffersEXT)) parameters
-#define GET_GenFramebuffersEXT(disp) ((disp)->GenFramebuffersEXT)
-#define SET_GenFramebuffersEXT(disp, fn) ((disp)->GenFramebuffersEXT = fn)
-#define CALL_GenRenderbuffersEXT(disp, parameters) (*((disp)->GenRenderbuffersEXT)) parameters
-#define GET_GenRenderbuffersEXT(disp) ((disp)->GenRenderbuffersEXT)
-#define SET_GenRenderbuffersEXT(disp, fn) ((disp)->GenRenderbuffersEXT = fn)
-#define CALL_GenerateMipmapEXT(disp, parameters) (*((disp)->GenerateMipmapEXT)) parameters
-#define GET_GenerateMipmapEXT(disp) ((disp)->GenerateMipmapEXT)
-#define SET_GenerateMipmapEXT(disp, fn) ((disp)->GenerateMipmapEXT = fn)
-#define CALL_GetFramebufferAttachmentParameterivEXT(disp, parameters) (*((disp)->GetFramebufferAttachmentParameterivEXT)) parameters
-#define GET_GetFramebufferAttachmentParameterivEXT(disp) ((disp)->GetFramebufferAttachmentParameterivEXT)
-#define SET_GetFramebufferAttachmentParameterivEXT(disp, fn) ((disp)->GetFramebufferAttachmentParameterivEXT = fn)
-#define CALL_GetRenderbufferParameterivEXT(disp, parameters) (*((disp)->GetRenderbufferParameterivEXT)) parameters
-#define GET_GetRenderbufferParameterivEXT(disp) ((disp)->GetRenderbufferParameterivEXT)
-#define SET_GetRenderbufferParameterivEXT(disp, fn) ((disp)->GetRenderbufferParameterivEXT = fn)
-#define CALL_IsFramebufferEXT(disp, parameters) (*((disp)->IsFramebufferEXT)) parameters
-#define GET_IsFramebufferEXT(disp) ((disp)->IsFramebufferEXT)
-#define SET_IsFramebufferEXT(disp, fn) ((disp)->IsFramebufferEXT = fn)
-#define CALL_IsRenderbufferEXT(disp, parameters) (*((disp)->IsRenderbufferEXT)) parameters
-#define GET_IsRenderbufferEXT(disp) ((disp)->IsRenderbufferEXT)
-#define SET_IsRenderbufferEXT(disp, fn) ((disp)->IsRenderbufferEXT = fn)
-#define CALL_RenderbufferStorageEXT(disp, parameters) (*((disp)->RenderbufferStorageEXT)) parameters
-#define GET_RenderbufferStorageEXT(disp) ((disp)->RenderbufferStorageEXT)
-#define SET_RenderbufferStorageEXT(disp, fn) ((disp)->RenderbufferStorageEXT = fn)
-#define CALL_BlitFramebufferEXT(disp, parameters) (*((disp)->BlitFramebufferEXT)) parameters
-#define GET_BlitFramebufferEXT(disp) ((disp)->BlitFramebufferEXT)
-#define SET_BlitFramebufferEXT(disp, fn) ((disp)->BlitFramebufferEXT = fn)
-#define CALL_FramebufferTextureLayerEXT(disp, parameters) (*((disp)->FramebufferTextureLayerEXT)) parameters
-#define GET_FramebufferTextureLayerEXT(disp) ((disp)->FramebufferTextureLayerEXT)
-#define SET_FramebufferTextureLayerEXT(disp, fn) ((disp)->FramebufferTextureLayerEXT = fn)
-#define CALL_StencilFuncSeparateATI(disp, parameters) (*((disp)->StencilFuncSeparateATI)) parameters
-#define GET_StencilFuncSeparateATI(disp) ((disp)->StencilFuncSeparateATI)
-#define SET_StencilFuncSeparateATI(disp, fn) ((disp)->StencilFuncSeparateATI = fn)
-#define CALL_ProgramEnvParameters4fvEXT(disp, parameters) (*((disp)->ProgramEnvParameters4fvEXT)) parameters
-#define GET_ProgramEnvParameters4fvEXT(disp) ((disp)->ProgramEnvParameters4fvEXT)
-#define SET_ProgramEnvParameters4fvEXT(disp, fn) ((disp)->ProgramEnvParameters4fvEXT = fn)
-#define CALL_ProgramLocalParameters4fvEXT(disp, parameters) (*((disp)->ProgramLocalParameters4fvEXT)) parameters
-#define GET_ProgramLocalParameters4fvEXT(disp) ((disp)->ProgramLocalParameters4fvEXT)
-#define SET_ProgramLocalParameters4fvEXT(disp, fn) ((disp)->ProgramLocalParameters4fvEXT = fn)
-#define CALL_GetQueryObjecti64vEXT(disp, parameters) (*((disp)->GetQueryObjecti64vEXT)) parameters
-#define GET_GetQueryObjecti64vEXT(disp) ((disp)->GetQueryObjecti64vEXT)
-#define SET_GetQueryObjecti64vEXT(disp, fn) ((disp)->GetQueryObjecti64vEXT = fn)
-#define CALL_GetQueryObjectui64vEXT(disp, parameters) (*((disp)->GetQueryObjectui64vEXT)) parameters
-#define GET_GetQueryObjectui64vEXT(disp) ((disp)->GetQueryObjectui64vEXT)
-#define SET_GetQueryObjectui64vEXT(disp, fn) ((disp)->GetQueryObjectui64vEXT = fn)
-
-#else
-
-#define driDispatchRemapTable_size 362
-extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
-
-#define AttachShader_remap_index 0
-#define CreateProgram_remap_index 1
-#define CreateShader_remap_index 2
-#define DeleteProgram_remap_index 3
-#define DeleteShader_remap_index 4
-#define DetachShader_remap_index 5
-#define GetAttachedShaders_remap_index 6
-#define GetProgramInfoLog_remap_index 7
-#define GetProgramiv_remap_index 8
-#define GetShaderInfoLog_remap_index 9
-#define GetShaderiv_remap_index 10
-#define IsProgram_remap_index 11
-#define IsShader_remap_index 12
-#define StencilFuncSeparate_remap_index 13
-#define StencilMaskSeparate_remap_index 14
-#define StencilOpSeparate_remap_index 15
-#define UniformMatrix2x3fv_remap_index 16
-#define UniformMatrix2x4fv_remap_index 17
-#define UniformMatrix3x2fv_remap_index 18
-#define UniformMatrix3x4fv_remap_index 19
-#define UniformMatrix4x2fv_remap_index 20
-#define UniformMatrix4x3fv_remap_index 21
-#define LoadTransposeMatrixdARB_remap_index 22
-#define LoadTransposeMatrixfARB_remap_index 23
-#define MultTransposeMatrixdARB_remap_index 24
-#define MultTransposeMatrixfARB_remap_index 25
-#define SampleCoverageARB_remap_index 26
-#define CompressedTexImage1DARB_remap_index 27
-#define CompressedTexImage2DARB_remap_index 28
-#define CompressedTexImage3DARB_remap_index 29
-#define CompressedTexSubImage1DARB_remap_index 30
-#define CompressedTexSubImage2DARB_remap_index 31
-#define CompressedTexSubImage3DARB_remap_index 32
-#define GetCompressedTexImageARB_remap_index 33
-#define DisableVertexAttribArrayARB_remap_index 34
-#define EnableVertexAttribArrayARB_remap_index 35
-#define GetProgramEnvParameterdvARB_remap_index 36
-#define GetProgramEnvParameterfvARB_remap_index 37
-#define GetProgramLocalParameterdvARB_remap_index 38
-#define GetProgramLocalParameterfvARB_remap_index 39
-#define GetProgramStringARB_remap_index 40
-#define GetProgramivARB_remap_index 41
-#define GetVertexAttribdvARB_remap_index 42
-#define GetVertexAttribfvARB_remap_index 43
-#define GetVertexAttribivARB_remap_index 44
-#define ProgramEnvParameter4dARB_remap_index 45
-#define ProgramEnvParameter4dvARB_remap_index 46
-#define ProgramEnvParameter4fARB_remap_index 47
-#define ProgramEnvParameter4fvARB_remap_index 48
-#define ProgramLocalParameter4dARB_remap_index 49
-#define ProgramLocalParameter4dvARB_remap_index 50
-#define ProgramLocalParameter4fARB_remap_index 51
-#define ProgramLocalParameter4fvARB_remap_index 52
-#define ProgramStringARB_remap_index 53
-#define VertexAttrib1dARB_remap_index 54
-#define VertexAttrib1dvARB_remap_index 55
-#define VertexAttrib1fARB_remap_index 56
-#define VertexAttrib1fvARB_remap_index 57
-#define VertexAttrib1sARB_remap_index 58
-#define VertexAttrib1svARB_remap_index 59
-#define VertexAttrib2dARB_remap_index 60
-#define VertexAttrib2dvARB_remap_index 61
-#define VertexAttrib2fARB_remap_index 62
-#define VertexAttrib2fvARB_remap_index 63
-#define VertexAttrib2sARB_remap_index 64
-#define VertexAttrib2svARB_remap_index 65
-#define VertexAttrib3dARB_remap_index 66
-#define VertexAttrib3dvARB_remap_index 67
-#define VertexAttrib3fARB_remap_index 68
-#define VertexAttrib3fvARB_remap_index 69
-#define VertexAttrib3sARB_remap_index 70
-#define VertexAttrib3svARB_remap_index 71
-#define VertexAttrib4NbvARB_remap_index 72
-#define VertexAttrib4NivARB_remap_index 73
-#define VertexAttrib4NsvARB_remap_index 74
-#define VertexAttrib4NubARB_remap_index 75
-#define VertexAttrib4NubvARB_remap_index 76
-#define VertexAttrib4NuivARB_remap_index 77
-#define VertexAttrib4NusvARB_remap_index 78
-#define VertexAttrib4bvARB_remap_index 79
-#define VertexAttrib4dARB_remap_index 80
-#define VertexAttrib4dvARB_remap_index 81
-#define VertexAttrib4fARB_remap_index 82
-#define VertexAttrib4fvARB_remap_index 83
-#define VertexAttrib4ivARB_remap_index 84
-#define VertexAttrib4sARB_remap_index 85
-#define VertexAttrib4svARB_remap_index 86
-#define VertexAttrib4ubvARB_remap_index 87
-#define VertexAttrib4uivARB_remap_index 88
-#define VertexAttrib4usvARB_remap_index 89
-#define VertexAttribPointerARB_remap_index 90
-#define BindBufferARB_remap_index 91
-#define BufferDataARB_remap_index 92
-#define BufferSubDataARB_remap_index 93
-#define DeleteBuffersARB_remap_index 94
-#define GenBuffersARB_remap_index 95
-#define GetBufferParameterivARB_remap_index 96
-#define GetBufferPointervARB_remap_index 97
-#define GetBufferSubDataARB_remap_index 98
-#define IsBufferARB_remap_index 99
-#define MapBufferARB_remap_index 100
-#define UnmapBufferARB_remap_index 101
-#define BeginQueryARB_remap_index 102
-#define DeleteQueriesARB_remap_index 103
-#define EndQueryARB_remap_index 104
-#define GenQueriesARB_remap_index 105
-#define GetQueryObjectivARB_remap_index 106
-#define GetQueryObjectuivARB_remap_index 107
-#define GetQueryivARB_remap_index 108
-#define IsQueryARB_remap_index 109
-#define AttachObjectARB_remap_index 110
-#define CompileShaderARB_remap_index 111
-#define CreateProgramObjectARB_remap_index 112
-#define CreateShaderObjectARB_remap_index 113
-#define DeleteObjectARB_remap_index 114
-#define DetachObjectARB_remap_index 115
-#define GetActiveUniformARB_remap_index 116
-#define GetAttachedObjectsARB_remap_index 117
-#define GetHandleARB_remap_index 118
-#define GetInfoLogARB_remap_index 119
-#define GetObjectParameterfvARB_remap_index 120
-#define GetObjectParameterivARB_remap_index 121
-#define GetShaderSourceARB_remap_index 122
-#define GetUniformLocationARB_remap_index 123
-#define GetUniformfvARB_remap_index 124
-#define GetUniformivARB_remap_index 125
-#define LinkProgramARB_remap_index 126
-#define ShaderSourceARB_remap_index 127
-#define Uniform1fARB_remap_index 128
-#define Uniform1fvARB_remap_index 129
-#define Uniform1iARB_remap_index 130
-#define Uniform1ivARB_remap_index 131
-#define Uniform2fARB_remap_index 132
-#define Uniform2fvARB_remap_index 133
-#define Uniform2iARB_remap_index 134
-#define Uniform2ivARB_remap_index 135
-#define Uniform3fARB_remap_index 136
-#define Uniform3fvARB_remap_index 137
-#define Uniform3iARB_remap_index 138
-#define Uniform3ivARB_remap_index 139
-#define Uniform4fARB_remap_index 140
-#define Uniform4fvARB_remap_index 141
-#define Uniform4iARB_remap_index 142
-#define Uniform4ivARB_remap_index 143
-#define UniformMatrix2fvARB_remap_index 144
-#define UniformMatrix3fvARB_remap_index 145
-#define UniformMatrix4fvARB_remap_index 146
-#define UseProgramObjectARB_remap_index 147
-#define ValidateProgramARB_remap_index 148
-#define BindAttribLocationARB_remap_index 149
-#define GetActiveAttribARB_remap_index 150
-#define GetAttribLocationARB_remap_index 151
-#define DrawBuffersARB_remap_index 152
-#define PolygonOffsetEXT_remap_index 153
-#define GetPixelTexGenParameterfvSGIS_remap_index 154
-#define GetPixelTexGenParameterivSGIS_remap_index 155
-#define PixelTexGenParameterfSGIS_remap_index 156
-#define PixelTexGenParameterfvSGIS_remap_index 157
-#define PixelTexGenParameteriSGIS_remap_index 158
-#define PixelTexGenParameterivSGIS_remap_index 159
-#define SampleMaskSGIS_remap_index 160
-#define SamplePatternSGIS_remap_index 161
-#define ColorPointerEXT_remap_index 162
-#define EdgeFlagPointerEXT_remap_index 163
-#define IndexPointerEXT_remap_index 164
-#define NormalPointerEXT_remap_index 165
-#define TexCoordPointerEXT_remap_index 166
-#define VertexPointerEXT_remap_index 167
-#define PointParameterfEXT_remap_index 168
-#define PointParameterfvEXT_remap_index 169
-#define LockArraysEXT_remap_index 170
-#define UnlockArraysEXT_remap_index 171
-#define CullParameterdvEXT_remap_index 172
-#define CullParameterfvEXT_remap_index 173
-#define SecondaryColor3bEXT_remap_index 174
-#define SecondaryColor3bvEXT_remap_index 175
-#define SecondaryColor3dEXT_remap_index 176
-#define SecondaryColor3dvEXT_remap_index 177
-#define SecondaryColor3fEXT_remap_index 178
-#define SecondaryColor3fvEXT_remap_index 179
-#define SecondaryColor3iEXT_remap_index 180
-#define SecondaryColor3ivEXT_remap_index 181
-#define SecondaryColor3sEXT_remap_index 182
-#define SecondaryColor3svEXT_remap_index 183
-#define SecondaryColor3ubEXT_remap_index 184
-#define SecondaryColor3ubvEXT_remap_index 185
-#define SecondaryColor3uiEXT_remap_index 186
-#define SecondaryColor3uivEXT_remap_index 187
-#define SecondaryColor3usEXT_remap_index 188
-#define SecondaryColor3usvEXT_remap_index 189
-#define SecondaryColorPointerEXT_remap_index 190
-#define MultiDrawArraysEXT_remap_index 191
-#define MultiDrawElementsEXT_remap_index 192
-#define FogCoordPointerEXT_remap_index 193
-#define FogCoorddEXT_remap_index 194
-#define FogCoorddvEXT_remap_index 195
-#define FogCoordfEXT_remap_index 196
-#define FogCoordfvEXT_remap_index 197
-#define PixelTexGenSGIX_remap_index 198
-#define BlendFuncSeparateEXT_remap_index 199
-#define FlushVertexArrayRangeNV_remap_index 200
-#define VertexArrayRangeNV_remap_index 201
-#define CombinerInputNV_remap_index 202
-#define CombinerOutputNV_remap_index 203
-#define CombinerParameterfNV_remap_index 204
-#define CombinerParameterfvNV_remap_index 205
-#define CombinerParameteriNV_remap_index 206
-#define CombinerParameterivNV_remap_index 207
-#define FinalCombinerInputNV_remap_index 208
-#define GetCombinerInputParameterfvNV_remap_index 209
-#define GetCombinerInputParameterivNV_remap_index 210
-#define GetCombinerOutputParameterfvNV_remap_index 211
-#define GetCombinerOutputParameterivNV_remap_index 212
-#define GetFinalCombinerInputParameterfvNV_remap_index 213
-#define GetFinalCombinerInputParameterivNV_remap_index 214
-#define ResizeBuffersMESA_remap_index 215
-#define WindowPos2dMESA_remap_index 216
-#define WindowPos2dvMESA_remap_index 217
-#define WindowPos2fMESA_remap_index 218
-#define WindowPos2fvMESA_remap_index 219
-#define WindowPos2iMESA_remap_index 220
-#define WindowPos2ivMESA_remap_index 221
-#define WindowPos2sMESA_remap_index 222
-#define WindowPos2svMESA_remap_index 223
-#define WindowPos3dMESA_remap_index 224
-#define WindowPos3dvMESA_remap_index 225
-#define WindowPos3fMESA_remap_index 226
-#define WindowPos3fvMESA_remap_index 227
-#define WindowPos3iMESA_remap_index 228
-#define WindowPos3ivMESA_remap_index 229
-#define WindowPos3sMESA_remap_index 230
-#define WindowPos3svMESA_remap_index 231
-#define WindowPos4dMESA_remap_index 232
-#define WindowPos4dvMESA_remap_index 233
-#define WindowPos4fMESA_remap_index 234
-#define WindowPos4fvMESA_remap_index 235
-#define WindowPos4iMESA_remap_index 236
-#define WindowPos4ivMESA_remap_index 237
-#define WindowPos4sMESA_remap_index 238
-#define WindowPos4svMESA_remap_index 239
-#define MultiModeDrawArraysIBM_remap_index 240
-#define MultiModeDrawElementsIBM_remap_index 241
-#define DeleteFencesNV_remap_index 242
-#define FinishFenceNV_remap_index 243
-#define GenFencesNV_remap_index 244
-#define GetFenceivNV_remap_index 245
-#define IsFenceNV_remap_index 246
-#define SetFenceNV_remap_index 247
-#define TestFenceNV_remap_index 248
-#define AreProgramsResidentNV_remap_index 249
-#define BindProgramNV_remap_index 250
-#define DeleteProgramsNV_remap_index 251
-#define ExecuteProgramNV_remap_index 252
-#define GenProgramsNV_remap_index 253
-#define GetProgramParameterdvNV_remap_index 254
-#define GetProgramParameterfvNV_remap_index 255
-#define GetProgramStringNV_remap_index 256
-#define GetProgramivNV_remap_index 257
-#define GetTrackMatrixivNV_remap_index 258
-#define GetVertexAttribPointervNV_remap_index 259
-#define GetVertexAttribdvNV_remap_index 260
-#define GetVertexAttribfvNV_remap_index 261
-#define GetVertexAttribivNV_remap_index 262
-#define IsProgramNV_remap_index 263
-#define LoadProgramNV_remap_index 264
-#define ProgramParameters4dvNV_remap_index 265
-#define ProgramParameters4fvNV_remap_index 266
-#define RequestResidentProgramsNV_remap_index 267
-#define TrackMatrixNV_remap_index 268
-#define VertexAttrib1dNV_remap_index 269
-#define VertexAttrib1dvNV_remap_index 270
-#define VertexAttrib1fNV_remap_index 271
-#define VertexAttrib1fvNV_remap_index 272
-#define VertexAttrib1sNV_remap_index 273
-#define VertexAttrib1svNV_remap_index 274
-#define VertexAttrib2dNV_remap_index 275
-#define VertexAttrib2dvNV_remap_index 276
-#define VertexAttrib2fNV_remap_index 277
-#define VertexAttrib2fvNV_remap_index 278
-#define VertexAttrib2sNV_remap_index 279
-#define VertexAttrib2svNV_remap_index 280
-#define VertexAttrib3dNV_remap_index 281
-#define VertexAttrib3dvNV_remap_index 282
-#define VertexAttrib3fNV_remap_index 283
-#define VertexAttrib3fvNV_remap_index 284
-#define VertexAttrib3sNV_remap_index 285
-#define VertexAttrib3svNV_remap_index 286
-#define VertexAttrib4dNV_remap_index 287
-#define VertexAttrib4dvNV_remap_index 288
-#define VertexAttrib4fNV_remap_index 289
-#define VertexAttrib4fvNV_remap_index 290
-#define VertexAttrib4sNV_remap_index 291
-#define VertexAttrib4svNV_remap_index 292
-#define VertexAttrib4ubNV_remap_index 293
-#define VertexAttrib4ubvNV_remap_index 294
-#define VertexAttribPointerNV_remap_index 295
-#define VertexAttribs1dvNV_remap_index 296
-#define VertexAttribs1fvNV_remap_index 297
-#define VertexAttribs1svNV_remap_index 298
-#define VertexAttribs2dvNV_remap_index 299
-#define VertexAttribs2fvNV_remap_index 300
-#define VertexAttribs2svNV_remap_index 301
-#define VertexAttribs3dvNV_remap_index 302
-#define VertexAttribs3fvNV_remap_index 303
-#define VertexAttribs3svNV_remap_index 304
-#define VertexAttribs4dvNV_remap_index 305
-#define VertexAttribs4fvNV_remap_index 306
-#define VertexAttribs4svNV_remap_index 307
-#define VertexAttribs4ubvNV_remap_index 308
-#define AlphaFragmentOp1ATI_remap_index 309
-#define AlphaFragmentOp2ATI_remap_index 310
-#define AlphaFragmentOp3ATI_remap_index 311
-#define BeginFragmentShaderATI_remap_index 312
-#define BindFragmentShaderATI_remap_index 313
-#define ColorFragmentOp1ATI_remap_index 314
-#define ColorFragmentOp2ATI_remap_index 315
-#define ColorFragmentOp3ATI_remap_index 316
-#define DeleteFragmentShaderATI_remap_index 317
-#define EndFragmentShaderATI_remap_index 318
-#define GenFragmentShadersATI_remap_index 319
-#define PassTexCoordATI_remap_index 320
-#define SampleMapATI_remap_index 321
-#define SetFragmentShaderConstantATI_remap_index 322
-#define PointParameteriNV_remap_index 323
-#define PointParameterivNV_remap_index 324
-#define ActiveStencilFaceEXT_remap_index 325
-#define BindVertexArrayAPPLE_remap_index 326
-#define DeleteVertexArraysAPPLE_remap_index 327
-#define GenVertexArraysAPPLE_remap_index 328
-#define IsVertexArrayAPPLE_remap_index 329
-#define GetProgramNamedParameterdvNV_remap_index 330
-#define GetProgramNamedParameterfvNV_remap_index 331
-#define ProgramNamedParameter4dNV_remap_index 332
-#define ProgramNamedParameter4dvNV_remap_index 333
-#define ProgramNamedParameter4fNV_remap_index 334
-#define ProgramNamedParameter4fvNV_remap_index 335
-#define DepthBoundsEXT_remap_index 336
-#define BlendEquationSeparateEXT_remap_index 337
-#define BindFramebufferEXT_remap_index 338
-#define BindRenderbufferEXT_remap_index 339
-#define CheckFramebufferStatusEXT_remap_index 340
-#define DeleteFramebuffersEXT_remap_index 341
-#define DeleteRenderbuffersEXT_remap_index 342
-#define FramebufferRenderbufferEXT_remap_index 343
-#define FramebufferTexture1DEXT_remap_index 344
-#define FramebufferTexture2DEXT_remap_index 345
-#define FramebufferTexture3DEXT_remap_index 346
-#define GenFramebuffersEXT_remap_index 347
-#define GenRenderbuffersEXT_remap_index 348
-#define GenerateMipmapEXT_remap_index 349
-#define GetFramebufferAttachmentParameterivEXT_remap_index 350
-#define GetRenderbufferParameterivEXT_remap_index 351
-#define IsFramebufferEXT_remap_index 352
-#define IsRenderbufferEXT_remap_index 353
-#define RenderbufferStorageEXT_remap_index 354
-#define BlitFramebufferEXT_remap_index 355
-#define FramebufferTextureLayerEXT_remap_index 356
-#define StencilFuncSeparateATI_remap_index 357
-#define ProgramEnvParameters4fvEXT_remap_index 358
-#define ProgramLocalParameters4fvEXT_remap_index 359
-#define GetQueryObjecti64vEXT_remap_index 360
-#define GetQueryObjectui64vEXT_remap_index 361
-
-#define CALL_AttachShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), driDispatchRemapTable[AttachShader_remap_index], parameters)
-#define GET_AttachShader(disp) GET_by_offset(disp, driDispatchRemapTable[AttachShader_remap_index])
-#define SET_AttachShader(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AttachShader_remap_index], fn)
-#define CALL_CreateProgram(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(void)), driDispatchRemapTable[CreateProgram_remap_index], parameters)
-#define GET_CreateProgram(disp) GET_by_offset(disp, driDispatchRemapTable[CreateProgram_remap_index])
-#define SET_CreateProgram(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CreateProgram_remap_index], fn)
-#define CALL_CreateShader(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[CreateShader_remap_index], parameters)
-#define GET_CreateShader(disp) GET_by_offset(disp, driDispatchRemapTable[CreateShader_remap_index])
-#define SET_CreateShader(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CreateShader_remap_index], fn)
-#define CALL_DeleteProgram(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[DeleteProgram_remap_index], parameters)
-#define GET_DeleteProgram(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteProgram_remap_index])
-#define SET_DeleteProgram(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteProgram_remap_index], fn)
-#define CALL_DeleteShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[DeleteShader_remap_index], parameters)
-#define GET_DeleteShader(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteShader_remap_index])
-#define SET_DeleteShader(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteShader_remap_index], fn)
-#define CALL_DetachShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), driDispatchRemapTable[DetachShader_remap_index], parameters)
-#define GET_DetachShader(disp) GET_by_offset(disp, driDispatchRemapTable[DetachShader_remap_index])
-#define SET_DetachShader(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DetachShader_remap_index], fn)
-#define CALL_GetAttachedShaders(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, GLsizei *, GLuint *)), driDispatchRemapTable[GetAttachedShaders_remap_index], parameters)
-#define GET_GetAttachedShaders(disp) GET_by_offset(disp, driDispatchRemapTable[GetAttachedShaders_remap_index])
-#define SET_GetAttachedShaders(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetAttachedShaders_remap_index], fn)
-#define CALL_GetProgramInfoLog(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, GLsizei *, GLchar *)), driDispatchRemapTable[GetProgramInfoLog_remap_index], parameters)
-#define GET_GetProgramInfoLog(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramInfoLog_remap_index])
-#define SET_GetProgramInfoLog(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramInfoLog_remap_index], fn)
-#define CALL_GetProgramiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetProgramiv_remap_index], parameters)
-#define GET_GetProgramiv(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramiv_remap_index])
-#define SET_GetProgramiv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramiv_remap_index], fn)
-#define CALL_GetShaderInfoLog(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, GLsizei *, GLchar *)), driDispatchRemapTable[GetShaderInfoLog_remap_index], parameters)
-#define GET_GetShaderInfoLog(disp) GET_by_offset(disp, driDispatchRemapTable[GetShaderInfoLog_remap_index])
-#define SET_GetShaderInfoLog(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetShaderInfoLog_remap_index], fn)
-#define CALL_GetShaderiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetShaderiv_remap_index], parameters)
-#define GET_GetShaderiv(disp) GET_by_offset(disp, driDispatchRemapTable[GetShaderiv_remap_index])
-#define SET_GetShaderiv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetShaderiv_remap_index], fn)
-#define CALL_IsProgram(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsProgram_remap_index], parameters)
-#define GET_IsProgram(disp) GET_by_offset(disp, driDispatchRemapTable[IsProgram_remap_index])
-#define SET_IsProgram(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsProgram_remap_index], fn)
-#define CALL_IsShader(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsShader_remap_index], parameters)
-#define GET_IsShader(disp) GET_by_offset(disp, driDispatchRemapTable[IsShader_remap_index])
-#define SET_IsShader(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsShader_remap_index], fn)
-#define CALL_StencilFuncSeparate(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint, GLuint)), driDispatchRemapTable[StencilFuncSeparate_remap_index], parameters)
-#define GET_StencilFuncSeparate(disp) GET_by_offset(disp, driDispatchRemapTable[StencilFuncSeparate_remap_index])
-#define SET_StencilFuncSeparate(disp, fn) SET_by_offset(disp, driDispatchRemapTable[StencilFuncSeparate_remap_index], fn)
-#define CALL_StencilMaskSeparate(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[StencilMaskSeparate_remap_index], parameters)
-#define GET_StencilMaskSeparate(disp) GET_by_offset(disp, driDispatchRemapTable[StencilMaskSeparate_remap_index])
-#define SET_StencilMaskSeparate(disp, fn) SET_by_offset(disp, driDispatchRemapTable[StencilMaskSeparate_remap_index], fn)
-#define CALL_StencilOpSeparate(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum)), driDispatchRemapTable[StencilOpSeparate_remap_index], parameters)
-#define GET_StencilOpSeparate(disp) GET_by_offset(disp, driDispatchRemapTable[StencilOpSeparate_remap_index])
-#define SET_StencilOpSeparate(disp, fn) SET_by_offset(disp, driDispatchRemapTable[StencilOpSeparate_remap_index], fn)
-#define CALL_UniformMatrix2x3fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix2x3fv_remap_index], parameters)
-#define GET_UniformMatrix2x3fv(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix2x3fv_remap_index])
-#define SET_UniformMatrix2x3fv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix2x3fv_remap_index], fn)
-#define CALL_UniformMatrix2x4fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix2x4fv_remap_index], parameters)
-#define GET_UniformMatrix2x4fv(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix2x4fv_remap_index])
-#define SET_UniformMatrix2x4fv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix2x4fv_remap_index], fn)
-#define CALL_UniformMatrix3x2fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix3x2fv_remap_index], parameters)
-#define GET_UniformMatrix3x2fv(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix3x2fv_remap_index])
-#define SET_UniformMatrix3x2fv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix3x2fv_remap_index], fn)
-#define CALL_UniformMatrix3x4fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix3x4fv_remap_index], parameters)
-#define GET_UniformMatrix3x4fv(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix3x4fv_remap_index])
-#define SET_UniformMatrix3x4fv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix3x4fv_remap_index], fn)
-#define CALL_UniformMatrix4x2fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix4x2fv_remap_index], parameters)
-#define GET_UniformMatrix4x2fv(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix4x2fv_remap_index])
-#define SET_UniformMatrix4x2fv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix4x2fv_remap_index], fn)
-#define CALL_UniformMatrix4x3fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix4x3fv_remap_index], parameters)
-#define GET_UniformMatrix4x3fv(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix4x3fv_remap_index])
-#define SET_UniformMatrix4x3fv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix4x3fv_remap_index], fn)
-#define CALL_LoadTransposeMatrixdARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[LoadTransposeMatrixdARB_remap_index], parameters)
-#define GET_LoadTransposeMatrixdARB(disp) GET_by_offset(disp, driDispatchRemapTable[LoadTransposeMatrixdARB_remap_index])
-#define SET_LoadTransposeMatrixdARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[LoadTransposeMatrixdARB_remap_index], fn)
-#define CALL_LoadTransposeMatrixfARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[LoadTransposeMatrixfARB_remap_index], parameters)
-#define GET_LoadTransposeMatrixfARB(disp) GET_by_offset(disp, driDispatchRemapTable[LoadTransposeMatrixfARB_remap_index])
-#define SET_LoadTransposeMatrixfARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[LoadTransposeMatrixfARB_remap_index], fn)
-#define CALL_MultTransposeMatrixdARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[MultTransposeMatrixdARB_remap_index], parameters)
-#define GET_MultTransposeMatrixdARB(disp) GET_by_offset(disp, driDispatchRemapTable[MultTransposeMatrixdARB_remap_index])
-#define SET_MultTransposeMatrixdARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultTransposeMatrixdARB_remap_index], fn)
-#define CALL_MultTransposeMatrixfARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[MultTransposeMatrixfARB_remap_index], parameters)
-#define GET_MultTransposeMatrixfARB(disp) GET_by_offset(disp, driDispatchRemapTable[MultTransposeMatrixfARB_remap_index])
-#define SET_MultTransposeMatrixfARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultTransposeMatrixfARB_remap_index], fn)
-#define CALL_SampleCoverageARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampf, GLboolean)), driDispatchRemapTable[SampleCoverageARB_remap_index], parameters)
-#define GET_SampleCoverageARB(disp) GET_by_offset(disp, driDispatchRemapTable[SampleCoverageARB_remap_index])
-#define SET_SampleCoverageARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SampleCoverageARB_remap_index], fn)
-#define CALL_CompressedTexImage1DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *)), driDispatchRemapTable[CompressedTexImage1DARB_remap_index], parameters)
-#define GET_CompressedTexImage1DARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompressedTexImage1DARB_remap_index])
-#define SET_CompressedTexImage1DARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompressedTexImage1DARB_remap_index], fn)
-#define CALL_CompressedTexImage2DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)), driDispatchRemapTable[CompressedTexImage2DARB_remap_index], parameters)
-#define GET_CompressedTexImage2DARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompressedTexImage2DARB_remap_index])
-#define SET_CompressedTexImage2DARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompressedTexImage2DARB_remap_index], fn)
-#define CALL_CompressedTexImage3DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)), driDispatchRemapTable[CompressedTexImage3DARB_remap_index], parameters)
-#define GET_CompressedTexImage3DARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompressedTexImage3DARB_remap_index])
-#define SET_CompressedTexImage3DARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompressedTexImage3DARB_remap_index], fn)
-#define CALL_CompressedTexSubImage1DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[CompressedTexSubImage1DARB_remap_index], parameters)
-#define GET_CompressedTexSubImage1DARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompressedTexSubImage1DARB_remap_index])
-#define SET_CompressedTexSubImage1DARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompressedTexSubImage1DARB_remap_index], fn)
-#define CALL_CompressedTexSubImage2DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[CompressedTexSubImage2DARB_remap_index], parameters)
-#define GET_CompressedTexSubImage2DARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompressedTexSubImage2DARB_remap_index])
-#define SET_CompressedTexSubImage2DARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompressedTexSubImage2DARB_remap_index], fn)
-#define CALL_CompressedTexSubImage3DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[CompressedTexSubImage3DARB_remap_index], parameters)
-#define GET_CompressedTexSubImage3DARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompressedTexSubImage3DARB_remap_index])
-#define SET_CompressedTexSubImage3DARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompressedTexSubImage3DARB_remap_index], fn)
-#define CALL_GetCompressedTexImageARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLvoid *)), driDispatchRemapTable[GetCompressedTexImageARB_remap_index], parameters)
-#define GET_GetCompressedTexImageARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetCompressedTexImageARB_remap_index])
-#define SET_GetCompressedTexImageARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetCompressedTexImageARB_remap_index], fn)
-#define CALL_DisableVertexAttribArrayARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[DisableVertexAttribArrayARB_remap_index], parameters)
-#define GET_DisableVertexAttribArrayARB(disp) GET_by_offset(disp, driDispatchRemapTable[DisableVertexAttribArrayARB_remap_index])
-#define SET_DisableVertexAttribArrayARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DisableVertexAttribArrayARB_remap_index], fn)
-#define CALL_EnableVertexAttribArrayARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[EnableVertexAttribArrayARB_remap_index], parameters)
-#define GET_EnableVertexAttribArrayARB(disp) GET_by_offset(disp, driDispatchRemapTable[EnableVertexAttribArrayARB_remap_index])
-#define SET_EnableVertexAttribArrayARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EnableVertexAttribArrayARB_remap_index], fn)
-#define CALL_GetProgramEnvParameterdvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLdouble *)), driDispatchRemapTable[GetProgramEnvParameterdvARB_remap_index], parameters)
-#define GET_GetProgramEnvParameterdvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramEnvParameterdvARB_remap_index])
-#define SET_GetProgramEnvParameterdvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramEnvParameterdvARB_remap_index], fn)
-#define CALL_GetProgramEnvParameterfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLfloat *)), driDispatchRemapTable[GetProgramEnvParameterfvARB_remap_index], parameters)
-#define GET_GetProgramEnvParameterfvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramEnvParameterfvARB_remap_index])
-#define SET_GetProgramEnvParameterfvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramEnvParameterfvARB_remap_index], fn)
-#define CALL_GetProgramLocalParameterdvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLdouble *)), driDispatchRemapTable[GetProgramLocalParameterdvARB_remap_index], parameters)
-#define GET_GetProgramLocalParameterdvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramLocalParameterdvARB_remap_index])
-#define SET_GetProgramLocalParameterdvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramLocalParameterdvARB_remap_index], fn)
-#define CALL_GetProgramLocalParameterfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLfloat *)), driDispatchRemapTable[GetProgramLocalParameterfvARB_remap_index], parameters)
-#define GET_GetProgramLocalParameterfvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramLocalParameterfvARB_remap_index])
-#define SET_GetProgramLocalParameterfvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramLocalParameterfvARB_remap_index], fn)
-#define CALL_GetProgramStringARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLvoid *)), driDispatchRemapTable[GetProgramStringARB_remap_index], parameters)
-#define GET_GetProgramStringARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramStringARB_remap_index])
-#define SET_GetProgramStringARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramStringARB_remap_index], fn)
-#define CALL_GetProgramivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetProgramivARB_remap_index], parameters)
-#define GET_GetProgramivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramivARB_remap_index])
-#define SET_GetProgramivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramivARB_remap_index], fn)
-#define CALL_GetVertexAttribdvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLdouble *)), driDispatchRemapTable[GetVertexAttribdvARB_remap_index], parameters)
-#define GET_GetVertexAttribdvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribdvARB_remap_index])
-#define SET_GetVertexAttribdvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribdvARB_remap_index], fn)
-#define CALL_GetVertexAttribfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLfloat *)), driDispatchRemapTable[GetVertexAttribfvARB_remap_index], parameters)
-#define GET_GetVertexAttribfvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribfvARB_remap_index])
-#define SET_GetVertexAttribfvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribfvARB_remap_index], fn)
-#define CALL_GetVertexAttribivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetVertexAttribivARB_remap_index], parameters)
-#define GET_GetVertexAttribivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribivARB_remap_index])
-#define SET_GetVertexAttribivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribivARB_remap_index], fn)
-#define CALL_ProgramEnvParameter4dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[ProgramEnvParameter4dARB_remap_index], parameters)
-#define GET_ProgramEnvParameter4dARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4dARB_remap_index])
-#define SET_ProgramEnvParameter4dARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4dARB_remap_index], fn)
-#define CALL_ProgramEnvParameter4dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLdouble *)), driDispatchRemapTable[ProgramEnvParameter4dvARB_remap_index], parameters)
-#define GET_ProgramEnvParameter4dvARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4dvARB_remap_index])
-#define SET_ProgramEnvParameter4dvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4dvARB_remap_index], fn)
-#define CALL_ProgramEnvParameter4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[ProgramEnvParameter4fARB_remap_index], parameters)
-#define GET_ProgramEnvParameter4fARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4fARB_remap_index])
-#define SET_ProgramEnvParameter4fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4fARB_remap_index], fn)
-#define CALL_ProgramEnvParameter4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLfloat *)), driDispatchRemapTable[ProgramEnvParameter4fvARB_remap_index], parameters)
-#define GET_ProgramEnvParameter4fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4fvARB_remap_index])
-#define SET_ProgramEnvParameter4fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4fvARB_remap_index], fn)
-#define CALL_ProgramLocalParameter4dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[ProgramLocalParameter4dARB_remap_index], parameters)
-#define GET_ProgramLocalParameter4dARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4dARB_remap_index])
-#define SET_ProgramLocalParameter4dARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4dARB_remap_index], fn)
-#define CALL_ProgramLocalParameter4dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLdouble *)), driDispatchRemapTable[ProgramLocalParameter4dvARB_remap_index], parameters)
-#define GET_ProgramLocalParameter4dvARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4dvARB_remap_index])
-#define SET_ProgramLocalParameter4dvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4dvARB_remap_index], fn)
-#define CALL_ProgramLocalParameter4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[ProgramLocalParameter4fARB_remap_index], parameters)
-#define GET_ProgramLocalParameter4fARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4fARB_remap_index])
-#define SET_ProgramLocalParameter4fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4fARB_remap_index], fn)
-#define CALL_ProgramLocalParameter4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLfloat *)), driDispatchRemapTable[ProgramLocalParameter4fvARB_remap_index], parameters)
-#define GET_ProgramLocalParameter4fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4fvARB_remap_index])
-#define SET_ProgramLocalParameter4fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4fvARB_remap_index], fn)
-#define CALL_ProgramStringARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[ProgramStringARB_remap_index], parameters)
-#define GET_ProgramStringARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramStringARB_remap_index])
-#define SET_ProgramStringARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramStringARB_remap_index], fn)
-#define CALL_VertexAttrib1dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble)), driDispatchRemapTable[VertexAttrib1dARB_remap_index], parameters)
-#define GET_VertexAttrib1dARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dARB_remap_index])
-#define SET_VertexAttrib1dARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dARB_remap_index], fn)
-#define CALL_VertexAttrib1dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib1dvARB_remap_index], parameters)
-#define GET_VertexAttrib1dvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dvARB_remap_index])
-#define SET_VertexAttrib1dvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dvARB_remap_index], fn)
-#define CALL_VertexAttrib1fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat)), driDispatchRemapTable[VertexAttrib1fARB_remap_index], parameters)
-#define GET_VertexAttrib1fARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fARB_remap_index])
-#define SET_VertexAttrib1fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fARB_remap_index], fn)
-#define CALL_VertexAttrib1fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib1fvARB_remap_index], parameters)
-#define GET_VertexAttrib1fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fvARB_remap_index])
-#define SET_VertexAttrib1fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fvARB_remap_index], fn)
-#define CALL_VertexAttrib1sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort)), driDispatchRemapTable[VertexAttrib1sARB_remap_index], parameters)
-#define GET_VertexAttrib1sARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1sARB_remap_index])
-#define SET_VertexAttrib1sARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1sARB_remap_index], fn)
-#define CALL_VertexAttrib1svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib1svARB_remap_index], parameters)
-#define GET_VertexAttrib1svARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1svARB_remap_index])
-#define SET_VertexAttrib1svARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1svARB_remap_index], fn)
-#define CALL_VertexAttrib2dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble)), driDispatchRemapTable[VertexAttrib2dARB_remap_index], parameters)
-#define GET_VertexAttrib2dARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dARB_remap_index])
-#define SET_VertexAttrib2dARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dARB_remap_index], fn)
-#define CALL_VertexAttrib2dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib2dvARB_remap_index], parameters)
-#define GET_VertexAttrib2dvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dvARB_remap_index])
-#define SET_VertexAttrib2dvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dvARB_remap_index], fn)
-#define CALL_VertexAttrib2fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat)), driDispatchRemapTable[VertexAttrib2fARB_remap_index], parameters)
-#define GET_VertexAttrib2fARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fARB_remap_index])
-#define SET_VertexAttrib2fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fARB_remap_index], fn)
-#define CALL_VertexAttrib2fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib2fvARB_remap_index], parameters)
-#define GET_VertexAttrib2fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fvARB_remap_index])
-#define SET_VertexAttrib2fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fvARB_remap_index], fn)
-#define CALL_VertexAttrib2sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort)), driDispatchRemapTable[VertexAttrib2sARB_remap_index], parameters)
-#define GET_VertexAttrib2sARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2sARB_remap_index])
-#define SET_VertexAttrib2sARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2sARB_remap_index], fn)
-#define CALL_VertexAttrib2svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib2svARB_remap_index], parameters)
-#define GET_VertexAttrib2svARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2svARB_remap_index])
-#define SET_VertexAttrib2svARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2svARB_remap_index], fn)
-#define CALL_VertexAttrib3dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[VertexAttrib3dARB_remap_index], parameters)
-#define GET_VertexAttrib3dARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dARB_remap_index])
-#define SET_VertexAttrib3dARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dARB_remap_index], fn)
-#define CALL_VertexAttrib3dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib3dvARB_remap_index], parameters)
-#define GET_VertexAttrib3dvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dvARB_remap_index])
-#define SET_VertexAttrib3dvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dvARB_remap_index], fn)
-#define CALL_VertexAttrib3fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[VertexAttrib3fARB_remap_index], parameters)
-#define GET_VertexAttrib3fARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fARB_remap_index])
-#define SET_VertexAttrib3fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fARB_remap_index], fn)
-#define CALL_VertexAttrib3fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib3fvARB_remap_index], parameters)
-#define GET_VertexAttrib3fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fvARB_remap_index])
-#define SET_VertexAttrib3fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fvARB_remap_index], fn)
-#define CALL_VertexAttrib3sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort, GLshort)), driDispatchRemapTable[VertexAttrib3sARB_remap_index], parameters)
-#define GET_VertexAttrib3sARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3sARB_remap_index])
-#define SET_VertexAttrib3sARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3sARB_remap_index], fn)
-#define CALL_VertexAttrib3svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib3svARB_remap_index], parameters)
-#define GET_VertexAttrib3svARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3svARB_remap_index])
-#define SET_VertexAttrib3svARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3svARB_remap_index], fn)
-#define CALL_VertexAttrib4NbvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLbyte *)), driDispatchRemapTable[VertexAttrib4NbvARB_remap_index], parameters)
-#define GET_VertexAttrib4NbvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NbvARB_remap_index])
-#define SET_VertexAttrib4NbvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NbvARB_remap_index], fn)
-#define CALL_VertexAttrib4NivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLint *)), driDispatchRemapTable[VertexAttrib4NivARB_remap_index], parameters)
-#define GET_VertexAttrib4NivARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NivARB_remap_index])
-#define SET_VertexAttrib4NivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NivARB_remap_index], fn)
-#define CALL_VertexAttrib4NsvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib4NsvARB_remap_index], parameters)
-#define GET_VertexAttrib4NsvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NsvARB_remap_index])
-#define SET_VertexAttrib4NsvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NsvARB_remap_index], fn)
-#define CALL_VertexAttrib4NubARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)), driDispatchRemapTable[VertexAttrib4NubARB_remap_index], parameters)
-#define GET_VertexAttrib4NubARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NubARB_remap_index])
-#define SET_VertexAttrib4NubARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NubARB_remap_index], fn)
-#define CALL_VertexAttrib4NubvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLubyte *)), driDispatchRemapTable[VertexAttrib4NubvARB_remap_index], parameters)
-#define GET_VertexAttrib4NubvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NubvARB_remap_index])
-#define SET_VertexAttrib4NubvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NubvARB_remap_index], fn)
-#define CALL_VertexAttrib4NuivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLuint *)), driDispatchRemapTable[VertexAttrib4NuivARB_remap_index], parameters)
-#define GET_VertexAttrib4NuivARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NuivARB_remap_index])
-#define SET_VertexAttrib4NuivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NuivARB_remap_index], fn)
-#define CALL_VertexAttrib4NusvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLushort *)), driDispatchRemapTable[VertexAttrib4NusvARB_remap_index], parameters)
-#define GET_VertexAttrib4NusvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NusvARB_remap_index])
-#define SET_VertexAttrib4NusvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NusvARB_remap_index], fn)
-#define CALL_VertexAttrib4bvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLbyte *)), driDispatchRemapTable[VertexAttrib4bvARB_remap_index], parameters)
-#define GET_VertexAttrib4bvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4bvARB_remap_index])
-#define SET_VertexAttrib4bvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4bvARB_remap_index], fn)
-#define CALL_VertexAttrib4dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[VertexAttrib4dARB_remap_index], parameters)
-#define GET_VertexAttrib4dARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dARB_remap_index])
-#define SET_VertexAttrib4dARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dARB_remap_index], fn)
-#define CALL_VertexAttrib4dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib4dvARB_remap_index], parameters)
-#define GET_VertexAttrib4dvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dvARB_remap_index])
-#define SET_VertexAttrib4dvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dvARB_remap_index], fn)
-#define CALL_VertexAttrib4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[VertexAttrib4fARB_remap_index], parameters)
-#define GET_VertexAttrib4fARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fARB_remap_index])
-#define SET_VertexAttrib4fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fARB_remap_index], fn)
-#define CALL_VertexAttrib4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib4fvARB_remap_index], parameters)
-#define GET_VertexAttrib4fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fvARB_remap_index])
-#define SET_VertexAttrib4fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fvARB_remap_index], fn)
-#define CALL_VertexAttrib4ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLint *)), driDispatchRemapTable[VertexAttrib4ivARB_remap_index], parameters)
-#define GET_VertexAttrib4ivARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ivARB_remap_index])
-#define SET_VertexAttrib4ivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ivARB_remap_index], fn)
-#define CALL_VertexAttrib4sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort, GLshort, GLshort)), driDispatchRemapTable[VertexAttrib4sARB_remap_index], parameters)
-#define GET_VertexAttrib4sARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4sARB_remap_index])
-#define SET_VertexAttrib4sARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4sARB_remap_index], fn)
-#define CALL_VertexAttrib4svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib4svARB_remap_index], parameters)
-#define GET_VertexAttrib4svARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4svARB_remap_index])
-#define SET_VertexAttrib4svARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4svARB_remap_index], fn)
-#define CALL_VertexAttrib4ubvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLubyte *)), driDispatchRemapTable[VertexAttrib4ubvARB_remap_index], parameters)
-#define GET_VertexAttrib4ubvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ubvARB_remap_index])
-#define SET_VertexAttrib4ubvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ubvARB_remap_index], fn)
-#define CALL_VertexAttrib4uivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLuint *)), driDispatchRemapTable[VertexAttrib4uivARB_remap_index], parameters)
-#define GET_VertexAttrib4uivARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4uivARB_remap_index])
-#define SET_VertexAttrib4uivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4uivARB_remap_index], fn)
-#define CALL_VertexAttrib4usvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLushort *)), driDispatchRemapTable[VertexAttrib4usvARB_remap_index], parameters)
-#define GET_VertexAttrib4usvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4usvARB_remap_index])
-#define SET_VertexAttrib4usvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4usvARB_remap_index], fn)
-#define CALL_VertexAttribPointerARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *)), driDispatchRemapTable[VertexAttribPointerARB_remap_index], parameters)
-#define GET_VertexAttribPointerARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribPointerARB_remap_index])
-#define SET_VertexAttribPointerARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribPointerARB_remap_index], fn)
-#define CALL_BindBufferARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[BindBufferARB_remap_index], parameters)
-#define GET_BindBufferARB(disp) GET_by_offset(disp, driDispatchRemapTable[BindBufferARB_remap_index])
-#define SET_BindBufferARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindBufferARB_remap_index], fn)
-#define CALL_BufferDataARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizeiptrARB, const GLvoid *, GLenum)), driDispatchRemapTable[BufferDataARB_remap_index], parameters)
-#define GET_BufferDataARB(disp) GET_by_offset(disp, driDispatchRemapTable[BufferDataARB_remap_index])
-#define SET_BufferDataARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BufferDataARB_remap_index], fn)
-#define CALL_BufferSubDataARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *)), driDispatchRemapTable[BufferSubDataARB_remap_index], parameters)
-#define GET_BufferSubDataARB(disp) GET_by_offset(disp, driDispatchRemapTable[BufferSubDataARB_remap_index])
-#define SET_BufferSubDataARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BufferSubDataARB_remap_index], fn)
-#define CALL_DeleteBuffersARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteBuffersARB_remap_index], parameters)
-#define GET_DeleteBuffersARB(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteBuffersARB_remap_index])
-#define SET_DeleteBuffersARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteBuffersARB_remap_index], fn)
-#define CALL_GenBuffersARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenBuffersARB_remap_index], parameters)
-#define GET_GenBuffersARB(disp) GET_by_offset(disp, driDispatchRemapTable[GenBuffersARB_remap_index])
-#define SET_GenBuffersARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenBuffersARB_remap_index], fn)
-#define CALL_GetBufferParameterivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetBufferParameterivARB_remap_index], parameters)
-#define GET_GetBufferParameterivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetBufferParameterivARB_remap_index])
-#define SET_GetBufferParameterivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetBufferParameterivARB_remap_index], fn)
-#define CALL_GetBufferPointervARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLvoid **)), driDispatchRemapTable[GetBufferPointervARB_remap_index], parameters)
-#define GET_GetBufferPointervARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetBufferPointervARB_remap_index])
-#define SET_GetBufferPointervARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetBufferPointervARB_remap_index], fn)
-#define CALL_GetBufferSubDataARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *)), driDispatchRemapTable[GetBufferSubDataARB_remap_index], parameters)
-#define GET_GetBufferSubDataARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetBufferSubDataARB_remap_index])
-#define SET_GetBufferSubDataARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetBufferSubDataARB_remap_index], fn)
-#define CALL_IsBufferARB(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsBufferARB_remap_index], parameters)
-#define GET_IsBufferARB(disp) GET_by_offset(disp, driDispatchRemapTable[IsBufferARB_remap_index])
-#define SET_IsBufferARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsBufferARB_remap_index], fn)
-#define CALL_MapBufferARB(disp, parameters) CALL_by_offset(disp, (GLvoid * (GLAPIENTRYP)(GLenum, GLenum)), driDispatchRemapTable[MapBufferARB_remap_index], parameters)
-#define GET_MapBufferARB(disp) GET_by_offset(disp, driDispatchRemapTable[MapBufferARB_remap_index])
-#define SET_MapBufferARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MapBufferARB_remap_index], fn)
-#define CALL_UnmapBufferARB(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[UnmapBufferARB_remap_index], parameters)
-#define GET_UnmapBufferARB(disp) GET_by_offset(disp, driDispatchRemapTable[UnmapBufferARB_remap_index])
-#define SET_UnmapBufferARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UnmapBufferARB_remap_index], fn)
-#define CALL_BeginQueryARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[BeginQueryARB_remap_index], parameters)
-#define GET_BeginQueryARB(disp) GET_by_offset(disp, driDispatchRemapTable[BeginQueryARB_remap_index])
-#define SET_BeginQueryARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BeginQueryARB_remap_index], fn)
-#define CALL_DeleteQueriesARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteQueriesARB_remap_index], parameters)
-#define GET_DeleteQueriesARB(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteQueriesARB_remap_index])
-#define SET_DeleteQueriesARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteQueriesARB_remap_index], fn)
-#define CALL_EndQueryARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[EndQueryARB_remap_index], parameters)
-#define GET_EndQueryARB(disp) GET_by_offset(disp, driDispatchRemapTable[EndQueryARB_remap_index])
-#define SET_EndQueryARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EndQueryARB_remap_index], fn)
-#define CALL_GenQueriesARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenQueriesARB_remap_index], parameters)
-#define GET_GenQueriesARB(disp) GET_by_offset(disp, driDispatchRemapTable[GenQueriesARB_remap_index])
-#define SET_GenQueriesARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenQueriesARB_remap_index], fn)
-#define CALL_GetQueryObjectivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetQueryObjectivARB_remap_index], parameters)
-#define GET_GetQueryObjectivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryObjectivARB_remap_index])
-#define SET_GetQueryObjectivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryObjectivARB_remap_index], fn)
-#define CALL_GetQueryObjectuivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLuint *)), driDispatchRemapTable[GetQueryObjectuivARB_remap_index], parameters)
-#define GET_GetQueryObjectuivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryObjectuivARB_remap_index])
-#define SET_GetQueryObjectuivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryObjectuivARB_remap_index], fn)
-#define CALL_GetQueryivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetQueryivARB_remap_index], parameters)
-#define GET_GetQueryivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryivARB_remap_index])
-#define SET_GetQueryivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryivARB_remap_index], fn)
-#define CALL_IsQueryARB(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsQueryARB_remap_index], parameters)
-#define GET_IsQueryARB(disp) GET_by_offset(disp, driDispatchRemapTable[IsQueryARB_remap_index])
-#define SET_IsQueryARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsQueryARB_remap_index], fn)
-#define CALL_AttachObjectARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLhandleARB)), driDispatchRemapTable[AttachObjectARB_remap_index], parameters)
-#define GET_AttachObjectARB(disp) GET_by_offset(disp, driDispatchRemapTable[AttachObjectARB_remap_index])
-#define SET_AttachObjectARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AttachObjectARB_remap_index], fn)
-#define CALL_CompileShaderARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), driDispatchRemapTable[CompileShaderARB_remap_index], parameters)
-#define GET_CompileShaderARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompileShaderARB_remap_index])
-#define SET_CompileShaderARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompileShaderARB_remap_index], fn)
-#define CALL_CreateProgramObjectARB(disp, parameters) CALL_by_offset(disp, (GLhandleARB (GLAPIENTRYP)(void)), driDispatchRemapTable[CreateProgramObjectARB_remap_index], parameters)
-#define GET_CreateProgramObjectARB(disp) GET_by_offset(disp, driDispatchRemapTable[CreateProgramObjectARB_remap_index])
-#define SET_CreateProgramObjectARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CreateProgramObjectARB_remap_index], fn)
-#define CALL_CreateShaderObjectARB(disp, parameters) CALL_by_offset(disp, (GLhandleARB (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[CreateShaderObjectARB_remap_index], parameters)
-#define GET_CreateShaderObjectARB(disp) GET_by_offset(disp, driDispatchRemapTable[CreateShaderObjectARB_remap_index])
-#define SET_CreateShaderObjectARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CreateShaderObjectARB_remap_index], fn)
-#define CALL_DeleteObjectARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), driDispatchRemapTable[DeleteObjectARB_remap_index], parameters)
-#define GET_DeleteObjectARB(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteObjectARB_remap_index])
-#define SET_DeleteObjectARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteObjectARB_remap_index], fn)
-#define CALL_DetachObjectARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLhandleARB)), driDispatchRemapTable[DetachObjectARB_remap_index], parameters)
-#define GET_DetachObjectARB(disp) GET_by_offset(disp, driDispatchRemapTable[DetachObjectARB_remap_index])
-#define SET_DetachObjectARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DetachObjectARB_remap_index], fn)
-#define CALL_GetActiveUniformARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *)), driDispatchRemapTable[GetActiveUniformARB_remap_index], parameters)
-#define GET_GetActiveUniformARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetActiveUniformARB_remap_index])
-#define SET_GetActiveUniformARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetActiveUniformARB_remap_index], fn)
-#define CALL_GetAttachedObjectsARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLsizei, GLsizei *, GLhandleARB *)), driDispatchRemapTable[GetAttachedObjectsARB_remap_index], parameters)
-#define GET_GetAttachedObjectsARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetAttachedObjectsARB_remap_index])
-#define SET_GetAttachedObjectsARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetAttachedObjectsARB_remap_index], fn)
-#define CALL_GetHandleARB(disp, parameters) CALL_by_offset(disp, (GLhandleARB (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[GetHandleARB_remap_index], parameters)
-#define GET_GetHandleARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetHandleARB_remap_index])
-#define SET_GetHandleARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetHandleARB_remap_index], fn)
-#define CALL_GetInfoLogARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *)), driDispatchRemapTable[GetInfoLogARB_remap_index], parameters)
-#define GET_GetInfoLogARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetInfoLogARB_remap_index])
-#define SET_GetInfoLogARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetInfoLogARB_remap_index], fn)
-#define CALL_GetObjectParameterfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLenum, GLfloat *)), driDispatchRemapTable[GetObjectParameterfvARB_remap_index], parameters)
-#define GET_GetObjectParameterfvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetObjectParameterfvARB_remap_index])
-#define SET_GetObjectParameterfvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetObjectParameterfvARB_remap_index], fn)
-#define CALL_GetObjectParameterivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLenum, GLint *)), driDispatchRemapTable[GetObjectParameterivARB_remap_index], parameters)
-#define GET_GetObjectParameterivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetObjectParameterivARB_remap_index])
-#define SET_GetObjectParameterivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetObjectParameterivARB_remap_index], fn)
-#define CALL_GetShaderSourceARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *)), driDispatchRemapTable[GetShaderSourceARB_remap_index], parameters)
-#define GET_GetShaderSourceARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetShaderSourceARB_remap_index])
-#define SET_GetShaderSourceARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetShaderSourceARB_remap_index], fn)
-#define CALL_GetUniformLocationARB(disp, parameters) CALL_by_offset(disp, (GLint (GLAPIENTRYP)(GLhandleARB, const GLcharARB *)), driDispatchRemapTable[GetUniformLocationARB_remap_index], parameters)
-#define GET_GetUniformLocationARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetUniformLocationARB_remap_index])
-#define SET_GetUniformLocationARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetUniformLocationARB_remap_index], fn)
-#define CALL_GetUniformfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLint, GLfloat *)), driDispatchRemapTable[GetUniformfvARB_remap_index], parameters)
-#define GET_GetUniformfvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetUniformfvARB_remap_index])
-#define SET_GetUniformfvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetUniformfvARB_remap_index], fn)
-#define CALL_GetUniformivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLint, GLint *)), driDispatchRemapTable[GetUniformivARB_remap_index], parameters)
-#define GET_GetUniformivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetUniformivARB_remap_index])
-#define SET_GetUniformivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetUniformivARB_remap_index], fn)
-#define CALL_LinkProgramARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), driDispatchRemapTable[LinkProgramARB_remap_index], parameters)
-#define GET_LinkProgramARB(disp) GET_by_offset(disp, driDispatchRemapTable[LinkProgramARB_remap_index])
-#define SET_LinkProgramARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[LinkProgramARB_remap_index], fn)
-#define CALL_ShaderSourceARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLsizei, const GLcharARB **, const GLint *)), driDispatchRemapTable[ShaderSourceARB_remap_index], parameters)
-#define GET_ShaderSourceARB(disp) GET_by_offset(disp, driDispatchRemapTable[ShaderSourceARB_remap_index])
-#define SET_ShaderSourceARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ShaderSourceARB_remap_index], fn)
-#define CALL_Uniform1fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat)), driDispatchRemapTable[Uniform1fARB_remap_index], parameters)
-#define GET_Uniform1fARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform1fARB_remap_index])
-#define SET_Uniform1fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform1fARB_remap_index], fn)
-#define CALL_Uniform1fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLfloat *)), driDispatchRemapTable[Uniform1fvARB_remap_index], parameters)
-#define GET_Uniform1fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform1fvARB_remap_index])
-#define SET_Uniform1fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform1fvARB_remap_index], fn)
-#define CALL_Uniform1iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint)), driDispatchRemapTable[Uniform1iARB_remap_index], parameters)
-#define GET_Uniform1iARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform1iARB_remap_index])
-#define SET_Uniform1iARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform1iARB_remap_index], fn)
-#define CALL_Uniform1ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLint *)), driDispatchRemapTable[Uniform1ivARB_remap_index], parameters)
-#define GET_Uniform1ivARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform1ivARB_remap_index])
-#define SET_Uniform1ivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform1ivARB_remap_index], fn)
-#define CALL_Uniform2fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat, GLfloat)), driDispatchRemapTable[Uniform2fARB_remap_index], parameters)
-#define GET_Uniform2fARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform2fARB_remap_index])
-#define SET_Uniform2fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform2fARB_remap_index], fn)
-#define CALL_Uniform2fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLfloat *)), driDispatchRemapTable[Uniform2fvARB_remap_index], parameters)
-#define GET_Uniform2fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform2fvARB_remap_index])
-#define SET_Uniform2fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform2fvARB_remap_index], fn)
-#define CALL_Uniform2iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), driDispatchRemapTable[Uniform2iARB_remap_index], parameters)
-#define GET_Uniform2iARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform2iARB_remap_index])
-#define SET_Uniform2iARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform2iARB_remap_index], fn)
-#define CALL_Uniform2ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLint *)), driDispatchRemapTable[Uniform2ivARB_remap_index], parameters)
-#define GET_Uniform2ivARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform2ivARB_remap_index])
-#define SET_Uniform2ivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform2ivARB_remap_index], fn)
-#define CALL_Uniform3fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[Uniform3fARB_remap_index], parameters)
-#define GET_Uniform3fARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform3fARB_remap_index])
-#define SET_Uniform3fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform3fARB_remap_index], fn)
-#define CALL_Uniform3fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLfloat *)), driDispatchRemapTable[Uniform3fvARB_remap_index], parameters)
-#define GET_Uniform3fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform3fvARB_remap_index])
-#define SET_Uniform3fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform3fvARB_remap_index], fn)
-#define CALL_Uniform3iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), driDispatchRemapTable[Uniform3iARB_remap_index], parameters)
-#define GET_Uniform3iARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform3iARB_remap_index])
-#define SET_Uniform3iARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform3iARB_remap_index], fn)
-#define CALL_Uniform3ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLint *)), driDispatchRemapTable[Uniform3ivARB_remap_index], parameters)
-#define GET_Uniform3ivARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform3ivARB_remap_index])
-#define SET_Uniform3ivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform3ivARB_remap_index], fn)
-#define CALL_Uniform4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[Uniform4fARB_remap_index], parameters)
-#define GET_Uniform4fARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform4fARB_remap_index])
-#define SET_Uniform4fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform4fARB_remap_index], fn)
-#define CALL_Uniform4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLfloat *)), driDispatchRemapTable[Uniform4fvARB_remap_index], parameters)
-#define GET_Uniform4fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform4fvARB_remap_index])
-#define SET_Uniform4fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform4fvARB_remap_index], fn)
-#define CALL_Uniform4iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint, GLint)), driDispatchRemapTable[Uniform4iARB_remap_index], parameters)
-#define GET_Uniform4iARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform4iARB_remap_index])
-#define SET_Uniform4iARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform4iARB_remap_index], fn)
-#define CALL_Uniform4ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLint *)), driDispatchRemapTable[Uniform4ivARB_remap_index], parameters)
-#define GET_Uniform4ivARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform4ivARB_remap_index])
-#define SET_Uniform4ivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform4ivARB_remap_index], fn)
-#define CALL_UniformMatrix2fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix2fvARB_remap_index], parameters)
-#define GET_UniformMatrix2fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix2fvARB_remap_index])
-#define SET_UniformMatrix2fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix2fvARB_remap_index], fn)
-#define CALL_UniformMatrix3fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix3fvARB_remap_index], parameters)
-#define GET_UniformMatrix3fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix3fvARB_remap_index])
-#define SET_UniformMatrix3fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix3fvARB_remap_index], fn)
-#define CALL_UniformMatrix4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix4fvARB_remap_index], parameters)
-#define GET_UniformMatrix4fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix4fvARB_remap_index])
-#define SET_UniformMatrix4fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix4fvARB_remap_index], fn)
-#define CALL_UseProgramObjectARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), driDispatchRemapTable[UseProgramObjectARB_remap_index], parameters)
-#define GET_UseProgramObjectARB(disp) GET_by_offset(disp, driDispatchRemapTable[UseProgramObjectARB_remap_index])
-#define SET_UseProgramObjectARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UseProgramObjectARB_remap_index], fn)
-#define CALL_ValidateProgramARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), driDispatchRemapTable[ValidateProgramARB_remap_index], parameters)
-#define GET_ValidateProgramARB(disp) GET_by_offset(disp, driDispatchRemapTable[ValidateProgramARB_remap_index])
-#define SET_ValidateProgramARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ValidateProgramARB_remap_index], fn)
-#define CALL_BindAttribLocationARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLuint, const GLcharARB *)), driDispatchRemapTable[BindAttribLocationARB_remap_index], parameters)
-#define GET_BindAttribLocationARB(disp) GET_by_offset(disp, driDispatchRemapTable[BindAttribLocationARB_remap_index])
-#define SET_BindAttribLocationARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindAttribLocationARB_remap_index], fn)
-#define CALL_GetActiveAttribARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *)), driDispatchRemapTable[GetActiveAttribARB_remap_index], parameters)
-#define GET_GetActiveAttribARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetActiveAttribARB_remap_index])
-#define SET_GetActiveAttribARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetActiveAttribARB_remap_index], fn)
-#define CALL_GetAttribLocationARB(disp, parameters) CALL_by_offset(disp, (GLint (GLAPIENTRYP)(GLhandleARB, const GLcharARB *)), driDispatchRemapTable[GetAttribLocationARB_remap_index], parameters)
-#define GET_GetAttribLocationARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetAttribLocationARB_remap_index])
-#define SET_GetAttribLocationARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetAttribLocationARB_remap_index], fn)
-#define CALL_DrawBuffersARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLenum *)), driDispatchRemapTable[DrawBuffersARB_remap_index], parameters)
-#define GET_DrawBuffersARB(disp) GET_by_offset(disp, driDispatchRemapTable[DrawBuffersARB_remap_index])
-#define SET_DrawBuffersARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DrawBuffersARB_remap_index], fn)
-#define CALL_PolygonOffsetEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), driDispatchRemapTable[PolygonOffsetEXT_remap_index], parameters)
-#define GET_PolygonOffsetEXT(disp) GET_by_offset(disp, driDispatchRemapTable[PolygonOffsetEXT_remap_index])
-#define SET_PolygonOffsetEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PolygonOffsetEXT_remap_index], fn)
-#define CALL_GetPixelTexGenParameterfvSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat *)), driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index], parameters)
-#define GET_GetPixelTexGenParameterfvSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index])
-#define SET_GetPixelTexGenParameterfvSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index], fn)
-#define CALL_GetPixelTexGenParameterivSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint *)), driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index], parameters)
-#define GET_GetPixelTexGenParameterivSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index])
-#define SET_GetPixelTexGenParameterivSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index], fn)
-#define CALL_PixelTexGenParameterfSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), driDispatchRemapTable[PixelTexGenParameterfSGIS_remap_index], parameters)
-#define GET_PixelTexGenParameterfSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameterfSGIS_remap_index])
-#define SET_PixelTexGenParameterfSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameterfSGIS_remap_index], fn)
-#define CALL_PixelTexGenParameterfvSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), driDispatchRemapTable[PixelTexGenParameterfvSGIS_remap_index], parameters)
-#define GET_PixelTexGenParameterfvSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameterfvSGIS_remap_index])
-#define SET_PixelTexGenParameterfvSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameterfvSGIS_remap_index], fn)
-#define CALL_PixelTexGenParameteriSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), driDispatchRemapTable[PixelTexGenParameteriSGIS_remap_index], parameters)
-#define GET_PixelTexGenParameteriSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameteriSGIS_remap_index])
-#define SET_PixelTexGenParameteriSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameteriSGIS_remap_index], fn)
-#define CALL_PixelTexGenParameterivSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), driDispatchRemapTable[PixelTexGenParameterivSGIS_remap_index], parameters)
-#define GET_PixelTexGenParameterivSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameterivSGIS_remap_index])
-#define SET_PixelTexGenParameterivSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameterivSGIS_remap_index], fn)
-#define CALL_SampleMaskSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampf, GLboolean)), driDispatchRemapTable[SampleMaskSGIS_remap_index], parameters)
-#define GET_SampleMaskSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[SampleMaskSGIS_remap_index])
-#define SET_SampleMaskSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SampleMaskSGIS_remap_index], fn)
-#define CALL_SamplePatternSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[SamplePatternSGIS_remap_index], parameters)
-#define GET_SamplePatternSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[SamplePatternSGIS_remap_index])
-#define SET_SamplePatternSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SamplePatternSGIS_remap_index], fn)
-#define CALL_ColorPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *)), driDispatchRemapTable[ColorPointerEXT_remap_index], parameters)
-#define GET_ColorPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ColorPointerEXT_remap_index])
-#define SET_ColorPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ColorPointerEXT_remap_index], fn)
-#define CALL_EdgeFlagPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLsizei, const GLboolean *)), driDispatchRemapTable[EdgeFlagPointerEXT_remap_index], parameters)
-#define GET_EdgeFlagPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[EdgeFlagPointerEXT_remap_index])
-#define SET_EdgeFlagPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EdgeFlagPointerEXT_remap_index], fn)
-#define CALL_IndexPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLsizei, const GLvoid *)), driDispatchRemapTable[IndexPointerEXT_remap_index], parameters)
-#define GET_IndexPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[IndexPointerEXT_remap_index])
-#define SET_IndexPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IndexPointerEXT_remap_index], fn)
-#define CALL_NormalPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLsizei, const GLvoid *)), driDispatchRemapTable[NormalPointerEXT_remap_index], parameters)
-#define GET_NormalPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[NormalPointerEXT_remap_index])
-#define SET_NormalPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[NormalPointerEXT_remap_index], fn)
-#define CALL_TexCoordPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *)), driDispatchRemapTable[TexCoordPointerEXT_remap_index], parameters)
-#define GET_TexCoordPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[TexCoordPointerEXT_remap_index])
-#define SET_TexCoordPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[TexCoordPointerEXT_remap_index], fn)
-#define CALL_VertexPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *)), driDispatchRemapTable[VertexPointerEXT_remap_index], parameters)
-#define GET_VertexPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[VertexPointerEXT_remap_index])
-#define SET_VertexPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexPointerEXT_remap_index], fn)
-#define CALL_PointParameterfEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), driDispatchRemapTable[PointParameterfEXT_remap_index], parameters)
-#define GET_PointParameterfEXT(disp) GET_by_offset(disp, driDispatchRemapTable[PointParameterfEXT_remap_index])
-#define SET_PointParameterfEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PointParameterfEXT_remap_index], fn)
-#define CALL_PointParameterfvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), driDispatchRemapTable[PointParameterfvEXT_remap_index], parameters)
-#define GET_PointParameterfvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[PointParameterfvEXT_remap_index])
-#define SET_PointParameterfvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PointParameterfvEXT_remap_index], fn)
-#define CALL_LockArraysEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei)), driDispatchRemapTable[LockArraysEXT_remap_index], parameters)
-#define GET_LockArraysEXT(disp) GET_by_offset(disp, driDispatchRemapTable[LockArraysEXT_remap_index])
-#define SET_LockArraysEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[LockArraysEXT_remap_index], fn)
-#define CALL_UnlockArraysEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[UnlockArraysEXT_remap_index], parameters)
-#define GET_UnlockArraysEXT(disp) GET_by_offset(disp, driDispatchRemapTable[UnlockArraysEXT_remap_index])
-#define SET_UnlockArraysEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UnlockArraysEXT_remap_index], fn)
-#define CALL_CullParameterdvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLdouble *)), driDispatchRemapTable[CullParameterdvEXT_remap_index], parameters)
-#define GET_CullParameterdvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[CullParameterdvEXT_remap_index])
-#define SET_CullParameterdvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CullParameterdvEXT_remap_index], fn)
-#define CALL_CullParameterfvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat *)), driDispatchRemapTable[CullParameterfvEXT_remap_index], parameters)
-#define GET_CullParameterfvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[CullParameterfvEXT_remap_index])
-#define SET_CullParameterfvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CullParameterfvEXT_remap_index], fn)
-#define CALL_SecondaryColor3bEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLbyte, GLbyte, GLbyte)), driDispatchRemapTable[SecondaryColor3bEXT_remap_index], parameters)
-#define GET_SecondaryColor3bEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3bEXT_remap_index])
-#define SET_SecondaryColor3bEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3bEXT_remap_index], fn)
-#define CALL_SecondaryColor3bvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLbyte *)), driDispatchRemapTable[SecondaryColor3bvEXT_remap_index], parameters)
-#define GET_SecondaryColor3bvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3bvEXT_remap_index])
-#define SET_SecondaryColor3bvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3bvEXT_remap_index], fn)
-#define CALL_SecondaryColor3dEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[SecondaryColor3dEXT_remap_index], parameters)
-#define GET_SecondaryColor3dEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3dEXT_remap_index])
-#define SET_SecondaryColor3dEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3dEXT_remap_index], fn)
-#define CALL_SecondaryColor3dvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[SecondaryColor3dvEXT_remap_index], parameters)
-#define GET_SecondaryColor3dvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3dvEXT_remap_index])
-#define SET_SecondaryColor3dvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3dvEXT_remap_index], fn)
-#define CALL_SecondaryColor3fEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[SecondaryColor3fEXT_remap_index], parameters)
-#define GET_SecondaryColor3fEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3fEXT_remap_index])
-#define SET_SecondaryColor3fEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3fEXT_remap_index], fn)
-#define CALL_SecondaryColor3fvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[SecondaryColor3fvEXT_remap_index], parameters)
-#define GET_SecondaryColor3fvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3fvEXT_remap_index])
-#define SET_SecondaryColor3fvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3fvEXT_remap_index], fn)
-#define CALL_SecondaryColor3iEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), driDispatchRemapTable[SecondaryColor3iEXT_remap_index], parameters)
-#define GET_SecondaryColor3iEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3iEXT_remap_index])
-#define SET_SecondaryColor3iEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3iEXT_remap_index], fn)
-#define CALL_SecondaryColor3ivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), driDispatchRemapTable[SecondaryColor3ivEXT_remap_index], parameters)
-#define GET_SecondaryColor3ivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3ivEXT_remap_index])
-#define SET_SecondaryColor3ivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3ivEXT_remap_index], fn)
-#define CALL_SecondaryColor3sEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort)), driDispatchRemapTable[SecondaryColor3sEXT_remap_index], parameters)
-#define GET_SecondaryColor3sEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3sEXT_remap_index])
-#define SET_SecondaryColor3sEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3sEXT_remap_index], fn)
-#define CALL_SecondaryColor3svEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), driDispatchRemapTable[SecondaryColor3svEXT_remap_index], parameters)
-#define GET_SecondaryColor3svEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3svEXT_remap_index])
-#define SET_SecondaryColor3svEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3svEXT_remap_index], fn)
-#define CALL_SecondaryColor3ubEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLubyte, GLubyte, GLubyte)), driDispatchRemapTable[SecondaryColor3ubEXT_remap_index], parameters)
-#define GET_SecondaryColor3ubEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3ubEXT_remap_index])
-#define SET_SecondaryColor3ubEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3ubEXT_remap_index], fn)
-#define CALL_SecondaryColor3ubvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLubyte *)), driDispatchRemapTable[SecondaryColor3ubvEXT_remap_index], parameters)
-#define GET_SecondaryColor3ubvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3ubvEXT_remap_index])
-#define SET_SecondaryColor3ubvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3ubvEXT_remap_index], fn)
-#define CALL_SecondaryColor3uiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLuint)), driDispatchRemapTable[SecondaryColor3uiEXT_remap_index], parameters)
-#define GET_SecondaryColor3uiEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3uiEXT_remap_index])
-#define SET_SecondaryColor3uiEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3uiEXT_remap_index], fn)
-#define CALL_SecondaryColor3uivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLuint *)), driDispatchRemapTable[SecondaryColor3uivEXT_remap_index], parameters)
-#define GET_SecondaryColor3uivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3uivEXT_remap_index])
-#define SET_SecondaryColor3uivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3uivEXT_remap_index], fn)
-#define CALL_SecondaryColor3usEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLushort, GLushort, GLushort)), driDispatchRemapTable[SecondaryColor3usEXT_remap_index], parameters)
-#define GET_SecondaryColor3usEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3usEXT_remap_index])
-#define SET_SecondaryColor3usEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3usEXT_remap_index], fn)
-#define CALL_SecondaryColor3usvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLushort *)), driDispatchRemapTable[SecondaryColor3usvEXT_remap_index], parameters)
-#define GET_SecondaryColor3usvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3usvEXT_remap_index])
-#define SET_SecondaryColor3usvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3usvEXT_remap_index], fn)
-#define CALL_SecondaryColorPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[SecondaryColorPointerEXT_remap_index], parameters)
-#define GET_SecondaryColorPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColorPointerEXT_remap_index])
-#define SET_SecondaryColorPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColorPointerEXT_remap_index], fn)
-#define CALL_MultiDrawArraysEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint *, GLsizei *, GLsizei)), driDispatchRemapTable[MultiDrawArraysEXT_remap_index], parameters)
-#define GET_MultiDrawArraysEXT(disp) GET_by_offset(disp, driDispatchRemapTable[MultiDrawArraysEXT_remap_index])
-#define SET_MultiDrawArraysEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultiDrawArraysEXT_remap_index], fn)
-#define CALL_MultiDrawElementsEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei)), driDispatchRemapTable[MultiDrawElementsEXT_remap_index], parameters)
-#define GET_MultiDrawElementsEXT(disp) GET_by_offset(disp, driDispatchRemapTable[MultiDrawElementsEXT_remap_index])
-#define SET_MultiDrawElementsEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultiDrawElementsEXT_remap_index], fn)
-#define CALL_FogCoordPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[FogCoordPointerEXT_remap_index], parameters)
-#define GET_FogCoordPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FogCoordPointerEXT_remap_index])
-#define SET_FogCoordPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FogCoordPointerEXT_remap_index], fn)
-#define CALL_FogCoorddEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble)), driDispatchRemapTable[FogCoorddEXT_remap_index], parameters)
-#define GET_FogCoorddEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FogCoorddEXT_remap_index])
-#define SET_FogCoorddEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FogCoorddEXT_remap_index], fn)
-#define CALL_FogCoorddvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[FogCoorddvEXT_remap_index], parameters)
-#define GET_FogCoorddvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FogCoorddvEXT_remap_index])
-#define SET_FogCoorddvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FogCoorddvEXT_remap_index], fn)
-#define CALL_FogCoordfEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat)), driDispatchRemapTable[FogCoordfEXT_remap_index], parameters)
-#define GET_FogCoordfEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FogCoordfEXT_remap_index])
-#define SET_FogCoordfEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FogCoordfEXT_remap_index], fn)
-#define CALL_FogCoordfvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[FogCoordfvEXT_remap_index], parameters)
-#define GET_FogCoordfvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FogCoordfvEXT_remap_index])
-#define SET_FogCoordfvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FogCoordfvEXT_remap_index], fn)
-#define CALL_PixelTexGenSGIX(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[PixelTexGenSGIX_remap_index], parameters)
-#define GET_PixelTexGenSGIX(disp) GET_by_offset(disp, driDispatchRemapTable[PixelTexGenSGIX_remap_index])
-#define SET_PixelTexGenSGIX(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PixelTexGenSGIX_remap_index], fn)
-#define CALL_BlendFuncSeparateEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum)), driDispatchRemapTable[BlendFuncSeparateEXT_remap_index], parameters)
-#define GET_BlendFuncSeparateEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BlendFuncSeparateEXT_remap_index])
-#define SET_BlendFuncSeparateEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BlendFuncSeparateEXT_remap_index], fn)
-#define CALL_FlushVertexArrayRangeNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[FlushVertexArrayRangeNV_remap_index], parameters)
-#define GET_FlushVertexArrayRangeNV(disp) GET_by_offset(disp, driDispatchRemapTable[FlushVertexArrayRangeNV_remap_index])
-#define SET_FlushVertexArrayRangeNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FlushVertexArrayRangeNV_remap_index], fn)
-#define CALL_VertexArrayRangeNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLvoid *)), driDispatchRemapTable[VertexArrayRangeNV_remap_index], parameters)
-#define GET_VertexArrayRangeNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexArrayRangeNV_remap_index])
-#define SET_VertexArrayRangeNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexArrayRangeNV_remap_index], fn)
-#define CALL_CombinerInputNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum)), driDispatchRemapTable[CombinerInputNV_remap_index], parameters)
-#define GET_CombinerInputNV(disp) GET_by_offset(disp, driDispatchRemapTable[CombinerInputNV_remap_index])
-#define SET_CombinerInputNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CombinerInputNV_remap_index], fn)
-#define CALL_CombinerOutputNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean)), driDispatchRemapTable[CombinerOutputNV_remap_index], parameters)
-#define GET_CombinerOutputNV(disp) GET_by_offset(disp, driDispatchRemapTable[CombinerOutputNV_remap_index])
-#define SET_CombinerOutputNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CombinerOutputNV_remap_index], fn)
-#define CALL_CombinerParameterfNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), driDispatchRemapTable[CombinerParameterfNV_remap_index], parameters)
-#define GET_CombinerParameterfNV(disp) GET_by_offset(disp, driDispatchRemapTable[CombinerParameterfNV_remap_index])
-#define SET_CombinerParameterfNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CombinerParameterfNV_remap_index], fn)
-#define CALL_CombinerParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), driDispatchRemapTable[CombinerParameterfvNV_remap_index], parameters)
-#define GET_CombinerParameterfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[CombinerParameterfvNV_remap_index])
-#define SET_CombinerParameterfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CombinerParameterfvNV_remap_index], fn)
-#define CALL_CombinerParameteriNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), driDispatchRemapTable[CombinerParameteriNV_remap_index], parameters)
-#define GET_CombinerParameteriNV(disp) GET_by_offset(disp, driDispatchRemapTable[CombinerParameteriNV_remap_index])
-#define SET_CombinerParameteriNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CombinerParameteriNV_remap_index], fn)
-#define CALL_CombinerParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), driDispatchRemapTable[CombinerParameterivNV_remap_index], parameters)
-#define GET_CombinerParameterivNV(disp) GET_by_offset(disp, driDispatchRemapTable[CombinerParameterivNV_remap_index])
-#define SET_CombinerParameterivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CombinerParameterivNV_remap_index], fn)
-#define CALL_FinalCombinerInputNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum)), driDispatchRemapTable[FinalCombinerInputNV_remap_index], parameters)
-#define GET_FinalCombinerInputNV(disp) GET_by_offset(disp, driDispatchRemapTable[FinalCombinerInputNV_remap_index])
-#define SET_FinalCombinerInputNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FinalCombinerInputNV_remap_index], fn)
-#define CALL_GetCombinerInputParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum, GLfloat *)), driDispatchRemapTable[GetCombinerInputParameterfvNV_remap_index], parameters)
-#define GET_GetCombinerInputParameterfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetCombinerInputParameterfvNV_remap_index])
-#define SET_GetCombinerInputParameterfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetCombinerInputParameterfvNV_remap_index], fn)
-#define CALL_GetCombinerInputParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum, GLint *)), driDispatchRemapTable[GetCombinerInputParameterivNV_remap_index], parameters)
-#define GET_GetCombinerInputParameterivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetCombinerInputParameterivNV_remap_index])
-#define SET_GetCombinerInputParameterivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetCombinerInputParameterivNV_remap_index], fn)
-#define CALL_GetCombinerOutputParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLfloat *)), driDispatchRemapTable[GetCombinerOutputParameterfvNV_remap_index], parameters)
-#define GET_GetCombinerOutputParameterfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetCombinerOutputParameterfvNV_remap_index])
-#define SET_GetCombinerOutputParameterfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetCombinerOutputParameterfvNV_remap_index], fn)
-#define CALL_GetCombinerOutputParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLint *)), driDispatchRemapTable[GetCombinerOutputParameterivNV_remap_index], parameters)
-#define GET_GetCombinerOutputParameterivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetCombinerOutputParameterivNV_remap_index])
-#define SET_GetCombinerOutputParameterivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetCombinerOutputParameterivNV_remap_index], fn)
-#define CALL_GetFinalCombinerInputParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), driDispatchRemapTable[GetFinalCombinerInputParameterfvNV_remap_index], parameters)
-#define GET_GetFinalCombinerInputParameterfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetFinalCombinerInputParameterfvNV_remap_index])
-#define SET_GetFinalCombinerInputParameterfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetFinalCombinerInputParameterfvNV_remap_index], fn)
-#define CALL_GetFinalCombinerInputParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetFinalCombinerInputParameterivNV_remap_index], parameters)
-#define GET_GetFinalCombinerInputParameterivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetFinalCombinerInputParameterivNV_remap_index])
-#define SET_GetFinalCombinerInputParameterivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetFinalCombinerInputParameterivNV_remap_index], fn)
-#define CALL_ResizeBuffersMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[ResizeBuffersMESA_remap_index], parameters)
-#define GET_ResizeBuffersMESA(disp) GET_by_offset(disp, driDispatchRemapTable[ResizeBuffersMESA_remap_index])
-#define SET_ResizeBuffersMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ResizeBuffersMESA_remap_index], fn)
-#define CALL_WindowPos2dMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble)), driDispatchRemapTable[WindowPos2dMESA_remap_index], parameters)
-#define GET_WindowPos2dMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2dMESA_remap_index])
-#define SET_WindowPos2dMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2dMESA_remap_index], fn)
-#define CALL_WindowPos2dvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[WindowPos2dvMESA_remap_index], parameters)
-#define GET_WindowPos2dvMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2dvMESA_remap_index])
-#define SET_WindowPos2dvMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2dvMESA_remap_index], fn)
-#define CALL_WindowPos2fMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), driDispatchRemapTable[WindowPos2fMESA_remap_index], parameters)
-#define GET_WindowPos2fMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2fMESA_remap_index])
-#define SET_WindowPos2fMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2fMESA_remap_index], fn)
-#define CALL_WindowPos2fvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[WindowPos2fvMESA_remap_index], parameters)
-#define GET_WindowPos2fvMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2fvMESA_remap_index])
-#define SET_WindowPos2fvMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2fvMESA_remap_index], fn)
-#define CALL_WindowPos2iMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint)), driDispatchRemapTable[WindowPos2iMESA_remap_index], parameters)
-#define GET_WindowPos2iMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2iMESA_remap_index])
-#define SET_WindowPos2iMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2iMESA_remap_index], fn)
-#define CALL_WindowPos2ivMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), driDispatchRemapTable[WindowPos2ivMESA_remap_index], parameters)
-#define GET_WindowPos2ivMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2ivMESA_remap_index])
-#define SET_WindowPos2ivMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2ivMESA_remap_index], fn)
-#define CALL_WindowPos2sMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort)), driDispatchRemapTable[WindowPos2sMESA_remap_index], parameters)
-#define GET_WindowPos2sMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2sMESA_remap_index])
-#define SET_WindowPos2sMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2sMESA_remap_index], fn)
-#define CALL_WindowPos2svMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), driDispatchRemapTable[WindowPos2svMESA_remap_index], parameters)
-#define GET_WindowPos2svMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2svMESA_remap_index])
-#define SET_WindowPos2svMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2svMESA_remap_index], fn)
-#define CALL_WindowPos3dMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[WindowPos3dMESA_remap_index], parameters)
-#define GET_WindowPos3dMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3dMESA_remap_index])
-#define SET_WindowPos3dMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3dMESA_remap_index], fn)
-#define CALL_WindowPos3dvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[WindowPos3dvMESA_remap_index], parameters)
-#define GET_WindowPos3dvMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3dvMESA_remap_index])
-#define SET_WindowPos3dvMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3dvMESA_remap_index], fn)
-#define CALL_WindowPos3fMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[WindowPos3fMESA_remap_index], parameters)
-#define GET_WindowPos3fMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3fMESA_remap_index])
-#define SET_WindowPos3fMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3fMESA_remap_index], fn)
-#define CALL_WindowPos3fvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[WindowPos3fvMESA_remap_index], parameters)
-#define GET_WindowPos3fvMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3fvMESA_remap_index])
-#define SET_WindowPos3fvMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3fvMESA_remap_index], fn)
-#define CALL_WindowPos3iMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), driDispatchRemapTable[WindowPos3iMESA_remap_index], parameters)
-#define GET_WindowPos3iMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3iMESA_remap_index])
-#define SET_WindowPos3iMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3iMESA_remap_index], fn)
-#define CALL_WindowPos3ivMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), driDispatchRemapTable[WindowPos3ivMESA_remap_index], parameters)
-#define GET_WindowPos3ivMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3ivMESA_remap_index])
-#define SET_WindowPos3ivMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3ivMESA_remap_index], fn)
-#define CALL_WindowPos3sMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort)), driDispatchRemapTable[WindowPos3sMESA_remap_index], parameters)
-#define GET_WindowPos3sMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3sMESA_remap_index])
-#define SET_WindowPos3sMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3sMESA_remap_index], fn)
-#define CALL_WindowPos3svMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), driDispatchRemapTable[WindowPos3svMESA_remap_index], parameters)
-#define GET_WindowPos3svMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3svMESA_remap_index])
-#define SET_WindowPos3svMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3svMESA_remap_index], fn)
-#define CALL_WindowPos4dMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[WindowPos4dMESA_remap_index], parameters)
-#define GET_WindowPos4dMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4dMESA_remap_index])
-#define SET_WindowPos4dMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4dMESA_remap_index], fn)
-#define CALL_WindowPos4dvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[WindowPos4dvMESA_remap_index], parameters)
-#define GET_WindowPos4dvMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4dvMESA_remap_index])
-#define SET_WindowPos4dvMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4dvMESA_remap_index], fn)
-#define CALL_WindowPos4fMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[WindowPos4fMESA_remap_index], parameters)
-#define GET_WindowPos4fMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4fMESA_remap_index])
-#define SET_WindowPos4fMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4fMESA_remap_index], fn)
-#define CALL_WindowPos4fvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[WindowPos4fvMESA_remap_index], parameters)
-#define GET_WindowPos4fvMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4fvMESA_remap_index])
-#define SET_WindowPos4fvMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4fvMESA_remap_index], fn)
-#define CALL_WindowPos4iMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), driDispatchRemapTable[WindowPos4iMESA_remap_index], parameters)
-#define GET_WindowPos4iMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4iMESA_remap_index])
-#define SET_WindowPos4iMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4iMESA_remap_index], fn)
-#define CALL_WindowPos4ivMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), driDispatchRemapTable[WindowPos4ivMESA_remap_index], parameters)
-#define GET_WindowPos4ivMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4ivMESA_remap_index])
-#define SET_WindowPos4ivMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4ivMESA_remap_index], fn)
-#define CALL_WindowPos4sMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort, GLshort)), driDispatchRemapTable[WindowPos4sMESA_remap_index], parameters)
-#define GET_WindowPos4sMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4sMESA_remap_index])
-#define SET_WindowPos4sMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4sMESA_remap_index], fn)
-#define CALL_WindowPos4svMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), driDispatchRemapTable[WindowPos4svMESA_remap_index], parameters)
-#define GET_WindowPos4svMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4svMESA_remap_index])
-#define SET_WindowPos4svMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4svMESA_remap_index], fn)
-#define CALL_MultiModeDrawArraysIBM(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLenum *, const GLint *, const GLsizei *, GLsizei, GLint)), driDispatchRemapTable[MultiModeDrawArraysIBM_remap_index], parameters)
-#define GET_MultiModeDrawArraysIBM(disp) GET_by_offset(disp, driDispatchRemapTable[MultiModeDrawArraysIBM_remap_index])
-#define SET_MultiModeDrawArraysIBM(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultiModeDrawArraysIBM_remap_index], fn)
-#define CALL_MultiModeDrawElementsIBM(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLenum *, const GLsizei *, GLenum, const GLvoid * const *, GLsizei, GLint)), driDispatchRemapTable[MultiModeDrawElementsIBM_remap_index], parameters)
-#define GET_MultiModeDrawElementsIBM(disp) GET_by_offset(disp, driDispatchRemapTable[MultiModeDrawElementsIBM_remap_index])
-#define SET_MultiModeDrawElementsIBM(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultiModeDrawElementsIBM_remap_index], fn)
-#define CALL_DeleteFencesNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteFencesNV_remap_index], parameters)
-#define GET_DeleteFencesNV(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteFencesNV_remap_index])
-#define SET_DeleteFencesNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteFencesNV_remap_index], fn)
-#define CALL_FinishFenceNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[FinishFenceNV_remap_index], parameters)
-#define GET_FinishFenceNV(disp) GET_by_offset(disp, driDispatchRemapTable[FinishFenceNV_remap_index])
-#define SET_FinishFenceNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FinishFenceNV_remap_index], fn)
-#define CALL_GenFencesNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenFencesNV_remap_index], parameters)
-#define GET_GenFencesNV(disp) GET_by_offset(disp, driDispatchRemapTable[GenFencesNV_remap_index])
-#define SET_GenFencesNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenFencesNV_remap_index], fn)
-#define CALL_GetFenceivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetFenceivNV_remap_index], parameters)
-#define GET_GetFenceivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetFenceivNV_remap_index])
-#define SET_GetFenceivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetFenceivNV_remap_index], fn)
-#define CALL_IsFenceNV(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsFenceNV_remap_index], parameters)
-#define GET_IsFenceNV(disp) GET_by_offset(disp, driDispatchRemapTable[IsFenceNV_remap_index])
-#define SET_IsFenceNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsFenceNV_remap_index], fn)
-#define CALL_SetFenceNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum)), driDispatchRemapTable[SetFenceNV_remap_index], parameters)
-#define GET_SetFenceNV(disp) GET_by_offset(disp, driDispatchRemapTable[SetFenceNV_remap_index])
-#define SET_SetFenceNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SetFenceNV_remap_index], fn)
-#define CALL_TestFenceNV(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[TestFenceNV_remap_index], parameters)
-#define GET_TestFenceNV(disp) GET_by_offset(disp, driDispatchRemapTable[TestFenceNV_remap_index])
-#define SET_TestFenceNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[TestFenceNV_remap_index], fn)
-#define CALL_AreProgramsResidentNV(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLsizei, const GLuint *, GLboolean *)), driDispatchRemapTable[AreProgramsResidentNV_remap_index], parameters)
-#define GET_AreProgramsResidentNV(disp) GET_by_offset(disp, driDispatchRemapTable[AreProgramsResidentNV_remap_index])
-#define SET_AreProgramsResidentNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AreProgramsResidentNV_remap_index], fn)
-#define CALL_BindProgramNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[BindProgramNV_remap_index], parameters)
-#define GET_BindProgramNV(disp) GET_by_offset(disp, driDispatchRemapTable[BindProgramNV_remap_index])
-#define SET_BindProgramNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindProgramNV_remap_index], fn)
-#define CALL_DeleteProgramsNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteProgramsNV_remap_index], parameters)
-#define GET_DeleteProgramsNV(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteProgramsNV_remap_index])
-#define SET_DeleteProgramsNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteProgramsNV_remap_index], fn)
-#define CALL_ExecuteProgramNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLfloat *)), driDispatchRemapTable[ExecuteProgramNV_remap_index], parameters)
-#define GET_ExecuteProgramNV(disp) GET_by_offset(disp, driDispatchRemapTable[ExecuteProgramNV_remap_index])
-#define SET_ExecuteProgramNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ExecuteProgramNV_remap_index], fn)
-#define CALL_GenProgramsNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenProgramsNV_remap_index], parameters)
-#define GET_GenProgramsNV(disp) GET_by_offset(disp, driDispatchRemapTable[GenProgramsNV_remap_index])
-#define SET_GenProgramsNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenProgramsNV_remap_index], fn)
-#define CALL_GetProgramParameterdvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLdouble *)), driDispatchRemapTable[GetProgramParameterdvNV_remap_index], parameters)
-#define GET_GetProgramParameterdvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramParameterdvNV_remap_index])
-#define SET_GetProgramParameterdvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramParameterdvNV_remap_index], fn)
-#define CALL_GetProgramParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLfloat *)), driDispatchRemapTable[GetProgramParameterfvNV_remap_index], parameters)
-#define GET_GetProgramParameterfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramParameterfvNV_remap_index])
-#define SET_GetProgramParameterfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramParameterfvNV_remap_index], fn)
-#define CALL_GetProgramStringNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLubyte *)), driDispatchRemapTable[GetProgramStringNV_remap_index], parameters)
-#define GET_GetProgramStringNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramStringNV_remap_index])
-#define SET_GetProgramStringNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramStringNV_remap_index], fn)
-#define CALL_GetProgramivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetProgramivNV_remap_index], parameters)
-#define GET_GetProgramivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramivNV_remap_index])
-#define SET_GetProgramivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramivNV_remap_index], fn)
-#define CALL_GetTrackMatrixivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLint *)), driDispatchRemapTable[GetTrackMatrixivNV_remap_index], parameters)
-#define GET_GetTrackMatrixivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetTrackMatrixivNV_remap_index])
-#define SET_GetTrackMatrixivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetTrackMatrixivNV_remap_index], fn)
-#define CALL_GetVertexAttribPointervNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLvoid **)), driDispatchRemapTable[GetVertexAttribPointervNV_remap_index], parameters)
-#define GET_GetVertexAttribPointervNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribPointervNV_remap_index])
-#define SET_GetVertexAttribPointervNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribPointervNV_remap_index], fn)
-#define CALL_GetVertexAttribdvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLdouble *)), driDispatchRemapTable[GetVertexAttribdvNV_remap_index], parameters)
-#define GET_GetVertexAttribdvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribdvNV_remap_index])
-#define SET_GetVertexAttribdvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribdvNV_remap_index], fn)
-#define CALL_GetVertexAttribfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLfloat *)), driDispatchRemapTable[GetVertexAttribfvNV_remap_index], parameters)
-#define GET_GetVertexAttribfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribfvNV_remap_index])
-#define SET_GetVertexAttribfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribfvNV_remap_index], fn)
-#define CALL_GetVertexAttribivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetVertexAttribivNV_remap_index], parameters)
-#define GET_GetVertexAttribivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribivNV_remap_index])
-#define SET_GetVertexAttribivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribivNV_remap_index], fn)
-#define CALL_IsProgramNV(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsProgramNV_remap_index], parameters)
-#define GET_IsProgramNV(disp) GET_by_offset(disp, driDispatchRemapTable[IsProgramNV_remap_index])
-#define SET_IsProgramNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsProgramNV_remap_index], fn)
-#define CALL_LoadProgramNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLsizei, const GLubyte *)), driDispatchRemapTable[LoadProgramNV_remap_index], parameters)
-#define GET_LoadProgramNV(disp) GET_by_offset(disp, driDispatchRemapTable[LoadProgramNV_remap_index])
-#define SET_LoadProgramNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[LoadProgramNV_remap_index], fn)
-#define CALL_ProgramParameters4dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, const GLdouble *)), driDispatchRemapTable[ProgramParameters4dvNV_remap_index], parameters)
-#define GET_ProgramParameters4dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramParameters4dvNV_remap_index])
-#define SET_ProgramParameters4dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramParameters4dvNV_remap_index], fn)
-#define CALL_ProgramParameters4fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, const GLfloat *)), driDispatchRemapTable[ProgramParameters4fvNV_remap_index], parameters)
-#define GET_ProgramParameters4fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramParameters4fvNV_remap_index])
-#define SET_ProgramParameters4fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramParameters4fvNV_remap_index], fn)
-#define CALL_RequestResidentProgramsNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[RequestResidentProgramsNV_remap_index], parameters)
-#define GET_RequestResidentProgramsNV(disp) GET_by_offset(disp, driDispatchRemapTable[RequestResidentProgramsNV_remap_index])
-#define SET_RequestResidentProgramsNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[RequestResidentProgramsNV_remap_index], fn)
-#define CALL_TrackMatrixNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLenum)), driDispatchRemapTable[TrackMatrixNV_remap_index], parameters)
-#define GET_TrackMatrixNV(disp) GET_by_offset(disp, driDispatchRemapTable[TrackMatrixNV_remap_index])
-#define SET_TrackMatrixNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[TrackMatrixNV_remap_index], fn)
-#define CALL_VertexAttrib1dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble)), driDispatchRemapTable[VertexAttrib1dNV_remap_index], parameters)
-#define GET_VertexAttrib1dNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dNV_remap_index])
-#define SET_VertexAttrib1dNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dNV_remap_index], fn)
-#define CALL_VertexAttrib1dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib1dvNV_remap_index], parameters)
-#define GET_VertexAttrib1dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dvNV_remap_index])
-#define SET_VertexAttrib1dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dvNV_remap_index], fn)
-#define CALL_VertexAttrib1fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat)), driDispatchRemapTable[VertexAttrib1fNV_remap_index], parameters)
-#define GET_VertexAttrib1fNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fNV_remap_index])
-#define SET_VertexAttrib1fNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fNV_remap_index], fn)
-#define CALL_VertexAttrib1fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib1fvNV_remap_index], parameters)
-#define GET_VertexAttrib1fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fvNV_remap_index])
-#define SET_VertexAttrib1fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fvNV_remap_index], fn)
-#define CALL_VertexAttrib1sNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort)), driDispatchRemapTable[VertexAttrib1sNV_remap_index], parameters)
-#define GET_VertexAttrib1sNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1sNV_remap_index])
-#define SET_VertexAttrib1sNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1sNV_remap_index], fn)
-#define CALL_VertexAttrib1svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib1svNV_remap_index], parameters)
-#define GET_VertexAttrib1svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1svNV_remap_index])
-#define SET_VertexAttrib1svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1svNV_remap_index], fn)
-#define CALL_VertexAttrib2dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble)), driDispatchRemapTable[VertexAttrib2dNV_remap_index], parameters)
-#define GET_VertexAttrib2dNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dNV_remap_index])
-#define SET_VertexAttrib2dNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dNV_remap_index], fn)
-#define CALL_VertexAttrib2dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib2dvNV_remap_index], parameters)
-#define GET_VertexAttrib2dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dvNV_remap_index])
-#define SET_VertexAttrib2dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dvNV_remap_index], fn)
-#define CALL_VertexAttrib2fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat)), driDispatchRemapTable[VertexAttrib2fNV_remap_index], parameters)
-#define GET_VertexAttrib2fNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fNV_remap_index])
-#define SET_VertexAttrib2fNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fNV_remap_index], fn)
-#define CALL_VertexAttrib2fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib2fvNV_remap_index], parameters)
-#define GET_VertexAttrib2fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fvNV_remap_index])
-#define SET_VertexAttrib2fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fvNV_remap_index], fn)
-#define CALL_VertexAttrib2sNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort)), driDispatchRemapTable[VertexAttrib2sNV_remap_index], parameters)
-#define GET_VertexAttrib2sNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2sNV_remap_index])
-#define SET_VertexAttrib2sNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2sNV_remap_index], fn)
-#define CALL_VertexAttrib2svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib2svNV_remap_index], parameters)
-#define GET_VertexAttrib2svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2svNV_remap_index])
-#define SET_VertexAttrib2svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2svNV_remap_index], fn)
-#define CALL_VertexAttrib3dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[VertexAttrib3dNV_remap_index], parameters)
-#define GET_VertexAttrib3dNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dNV_remap_index])
-#define SET_VertexAttrib3dNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dNV_remap_index], fn)
-#define CALL_VertexAttrib3dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib3dvNV_remap_index], parameters)
-#define GET_VertexAttrib3dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dvNV_remap_index])
-#define SET_VertexAttrib3dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dvNV_remap_index], fn)
-#define CALL_VertexAttrib3fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[VertexAttrib3fNV_remap_index], parameters)
-#define GET_VertexAttrib3fNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fNV_remap_index])
-#define SET_VertexAttrib3fNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fNV_remap_index], fn)
-#define CALL_VertexAttrib3fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib3fvNV_remap_index], parameters)
-#define GET_VertexAttrib3fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fvNV_remap_index])
-#define SET_VertexAttrib3fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fvNV_remap_index], fn)
-#define CALL_VertexAttrib3sNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort, GLshort)), driDispatchRemapTable[VertexAttrib3sNV_remap_index], parameters)
-#define GET_VertexAttrib3sNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3sNV_remap_index])
-#define SET_VertexAttrib3sNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3sNV_remap_index], fn)
-#define CALL_VertexAttrib3svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib3svNV_remap_index], parameters)
-#define GET_VertexAttrib3svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3svNV_remap_index])
-#define SET_VertexAttrib3svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3svNV_remap_index], fn)
-#define CALL_VertexAttrib4dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[VertexAttrib4dNV_remap_index], parameters)
-#define GET_VertexAttrib4dNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dNV_remap_index])
-#define SET_VertexAttrib4dNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dNV_remap_index], fn)
-#define CALL_VertexAttrib4dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib4dvNV_remap_index], parameters)
-#define GET_VertexAttrib4dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dvNV_remap_index])
-#define SET_VertexAttrib4dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dvNV_remap_index], fn)
-#define CALL_VertexAttrib4fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[VertexAttrib4fNV_remap_index], parameters)
-#define GET_VertexAttrib4fNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fNV_remap_index])
-#define SET_VertexAttrib4fNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fNV_remap_index], fn)
-#define CALL_VertexAttrib4fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib4fvNV_remap_index], parameters)
-#define GET_VertexAttrib4fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fvNV_remap_index])
-#define SET_VertexAttrib4fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fvNV_remap_index], fn)
-#define CALL_VertexAttrib4sNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort, GLshort, GLshort)), driDispatchRemapTable[VertexAttrib4sNV_remap_index], parameters)
-#define GET_VertexAttrib4sNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4sNV_remap_index])
-#define SET_VertexAttrib4sNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4sNV_remap_index], fn)
-#define CALL_VertexAttrib4svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib4svNV_remap_index], parameters)
-#define GET_VertexAttrib4svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4svNV_remap_index])
-#define SET_VertexAttrib4svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4svNV_remap_index], fn)
-#define CALL_VertexAttrib4ubNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)), driDispatchRemapTable[VertexAttrib4ubNV_remap_index], parameters)
-#define GET_VertexAttrib4ubNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ubNV_remap_index])
-#define SET_VertexAttrib4ubNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ubNV_remap_index], fn)
-#define CALL_VertexAttrib4ubvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLubyte *)), driDispatchRemapTable[VertexAttrib4ubvNV_remap_index], parameters)
-#define GET_VertexAttrib4ubvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ubvNV_remap_index])
-#define SET_VertexAttrib4ubvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ubvNV_remap_index], fn)
-#define CALL_VertexAttribPointerNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLint, GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[VertexAttribPointerNV_remap_index], parameters)
-#define GET_VertexAttribPointerNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribPointerNV_remap_index])
-#define SET_VertexAttribPointerNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribPointerNV_remap_index], fn)
-#define CALL_VertexAttribs1dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLdouble *)), driDispatchRemapTable[VertexAttribs1dvNV_remap_index], parameters)
-#define GET_VertexAttribs1dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs1dvNV_remap_index])
-#define SET_VertexAttribs1dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs1dvNV_remap_index], fn)
-#define CALL_VertexAttribs1fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[VertexAttribs1fvNV_remap_index], parameters)
-#define GET_VertexAttribs1fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs1fvNV_remap_index])
-#define SET_VertexAttribs1fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs1fvNV_remap_index], fn)
-#define CALL_VertexAttribs1svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLshort *)), driDispatchRemapTable[VertexAttribs1svNV_remap_index], parameters)
-#define GET_VertexAttribs1svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs1svNV_remap_index])
-#define SET_VertexAttribs1svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs1svNV_remap_index], fn)
-#define CALL_VertexAttribs2dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLdouble *)), driDispatchRemapTable[VertexAttribs2dvNV_remap_index], parameters)
-#define GET_VertexAttribs2dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs2dvNV_remap_index])
-#define SET_VertexAttribs2dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs2dvNV_remap_index], fn)
-#define CALL_VertexAttribs2fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[VertexAttribs2fvNV_remap_index], parameters)
-#define GET_VertexAttribs2fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs2fvNV_remap_index])
-#define SET_VertexAttribs2fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs2fvNV_remap_index], fn)
-#define CALL_VertexAttribs2svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLshort *)), driDispatchRemapTable[VertexAttribs2svNV_remap_index], parameters)
-#define GET_VertexAttribs2svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs2svNV_remap_index])
-#define SET_VertexAttribs2svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs2svNV_remap_index], fn)
-#define CALL_VertexAttribs3dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLdouble *)), driDispatchRemapTable[VertexAttribs3dvNV_remap_index], parameters)
-#define GET_VertexAttribs3dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs3dvNV_remap_index])
-#define SET_VertexAttribs3dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs3dvNV_remap_index], fn)
-#define CALL_VertexAttribs3fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[VertexAttribs3fvNV_remap_index], parameters)
-#define GET_VertexAttribs3fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs3fvNV_remap_index])
-#define SET_VertexAttribs3fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs3fvNV_remap_index], fn)
-#define CALL_VertexAttribs3svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLshort *)), driDispatchRemapTable[VertexAttribs3svNV_remap_index], parameters)
-#define GET_VertexAttribs3svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs3svNV_remap_index])
-#define SET_VertexAttribs3svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs3svNV_remap_index], fn)
-#define CALL_VertexAttribs4dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLdouble *)), driDispatchRemapTable[VertexAttribs4dvNV_remap_index], parameters)
-#define GET_VertexAttribs4dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs4dvNV_remap_index])
-#define SET_VertexAttribs4dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs4dvNV_remap_index], fn)
-#define CALL_VertexAttribs4fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[VertexAttribs4fvNV_remap_index], parameters)
-#define GET_VertexAttribs4fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs4fvNV_remap_index])
-#define SET_VertexAttribs4fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs4fvNV_remap_index], fn)
-#define CALL_VertexAttribs4svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLshort *)), driDispatchRemapTable[VertexAttribs4svNV_remap_index], parameters)
-#define GET_VertexAttribs4svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs4svNV_remap_index])
-#define SET_VertexAttribs4svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs4svNV_remap_index], fn)
-#define CALL_VertexAttribs4ubvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *)), driDispatchRemapTable[VertexAttribs4ubvNV_remap_index], parameters)
-#define GET_VertexAttribs4ubvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs4ubvNV_remap_index])
-#define SET_VertexAttribs4ubvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs4ubvNV_remap_index], fn)
-#define CALL_AlphaFragmentOp1ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[AlphaFragmentOp1ATI_remap_index], parameters)
-#define GET_AlphaFragmentOp1ATI(disp) GET_by_offset(disp, driDispatchRemapTable[AlphaFragmentOp1ATI_remap_index])
-#define SET_AlphaFragmentOp1ATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AlphaFragmentOp1ATI_remap_index], fn)
-#define CALL_AlphaFragmentOp2ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[AlphaFragmentOp2ATI_remap_index], parameters)
-#define GET_AlphaFragmentOp2ATI(disp) GET_by_offset(disp, driDispatchRemapTable[AlphaFragmentOp2ATI_remap_index])
-#define SET_AlphaFragmentOp2ATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AlphaFragmentOp2ATI_remap_index], fn)
-#define CALL_AlphaFragmentOp3ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[AlphaFragmentOp3ATI_remap_index], parameters)
-#define GET_AlphaFragmentOp3ATI(disp) GET_by_offset(disp, driDispatchRemapTable[AlphaFragmentOp3ATI_remap_index])
-#define SET_AlphaFragmentOp3ATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AlphaFragmentOp3ATI_remap_index], fn)
-#define CALL_BeginFragmentShaderATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[BeginFragmentShaderATI_remap_index], parameters)
-#define GET_BeginFragmentShaderATI(disp) GET_by_offset(disp, driDispatchRemapTable[BeginFragmentShaderATI_remap_index])
-#define SET_BeginFragmentShaderATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BeginFragmentShaderATI_remap_index], fn)
-#define CALL_BindFragmentShaderATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[BindFragmentShaderATI_remap_index], parameters)
-#define GET_BindFragmentShaderATI(disp) GET_by_offset(disp, driDispatchRemapTable[BindFragmentShaderATI_remap_index])
-#define SET_BindFragmentShaderATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindFragmentShaderATI_remap_index], fn)
-#define CALL_ColorFragmentOp1ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[ColorFragmentOp1ATI_remap_index], parameters)
-#define GET_ColorFragmentOp1ATI(disp) GET_by_offset(disp, driDispatchRemapTable[ColorFragmentOp1ATI_remap_index])
-#define SET_ColorFragmentOp1ATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ColorFragmentOp1ATI_remap_index], fn)
-#define CALL_ColorFragmentOp2ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[ColorFragmentOp2ATI_remap_index], parameters)
-#define GET_ColorFragmentOp2ATI(disp) GET_by_offset(disp, driDispatchRemapTable[ColorFragmentOp2ATI_remap_index])
-#define SET_ColorFragmentOp2ATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ColorFragmentOp2ATI_remap_index], fn)
-#define CALL_ColorFragmentOp3ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[ColorFragmentOp3ATI_remap_index], parameters)
-#define GET_ColorFragmentOp3ATI(disp) GET_by_offset(disp, driDispatchRemapTable[ColorFragmentOp3ATI_remap_index])
-#define SET_ColorFragmentOp3ATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ColorFragmentOp3ATI_remap_index], fn)
-#define CALL_DeleteFragmentShaderATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[DeleteFragmentShaderATI_remap_index], parameters)
-#define GET_DeleteFragmentShaderATI(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteFragmentShaderATI_remap_index])
-#define SET_DeleteFragmentShaderATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteFragmentShaderATI_remap_index], fn)
-#define CALL_EndFragmentShaderATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[EndFragmentShaderATI_remap_index], parameters)
-#define GET_EndFragmentShaderATI(disp) GET_by_offset(disp, driDispatchRemapTable[EndFragmentShaderATI_remap_index])
-#define SET_EndFragmentShaderATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EndFragmentShaderATI_remap_index], fn)
-#define CALL_GenFragmentShadersATI(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[GenFragmentShadersATI_remap_index], parameters)
-#define GET_GenFragmentShadersATI(disp) GET_by_offset(disp, driDispatchRemapTable[GenFragmentShadersATI_remap_index])
-#define SET_GenFragmentShadersATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenFragmentShadersATI_remap_index], fn)
-#define CALL_PassTexCoordATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLenum)), driDispatchRemapTable[PassTexCoordATI_remap_index], parameters)
-#define GET_PassTexCoordATI(disp) GET_by_offset(disp, driDispatchRemapTable[PassTexCoordATI_remap_index])
-#define SET_PassTexCoordATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PassTexCoordATI_remap_index], fn)
-#define CALL_SampleMapATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLenum)), driDispatchRemapTable[SampleMapATI_remap_index], parameters)
-#define GET_SampleMapATI(disp) GET_by_offset(disp, driDispatchRemapTable[SampleMapATI_remap_index])
-#define SET_SampleMapATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SampleMapATI_remap_index], fn)
-#define CALL_SetFragmentShaderConstantATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[SetFragmentShaderConstantATI_remap_index], parameters)
-#define GET_SetFragmentShaderConstantATI(disp) GET_by_offset(disp, driDispatchRemapTable[SetFragmentShaderConstantATI_remap_index])
-#define SET_SetFragmentShaderConstantATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SetFragmentShaderConstantATI_remap_index], fn)
-#define CALL_PointParameteriNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), driDispatchRemapTable[PointParameteriNV_remap_index], parameters)
-#define GET_PointParameteriNV(disp) GET_by_offset(disp, driDispatchRemapTable[PointParameteriNV_remap_index])
-#define SET_PointParameteriNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PointParameteriNV_remap_index], fn)
-#define CALL_PointParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), driDispatchRemapTable[PointParameterivNV_remap_index], parameters)
-#define GET_PointParameterivNV(disp) GET_by_offset(disp, driDispatchRemapTable[PointParameterivNV_remap_index])
-#define SET_PointParameterivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PointParameterivNV_remap_index], fn)
-#define CALL_ActiveStencilFaceEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[ActiveStencilFaceEXT_remap_index], parameters)
-#define GET_ActiveStencilFaceEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ActiveStencilFaceEXT_remap_index])
-#define SET_ActiveStencilFaceEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ActiveStencilFaceEXT_remap_index], fn)
-#define CALL_BindVertexArrayAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[BindVertexArrayAPPLE_remap_index], parameters)
-#define GET_BindVertexArrayAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[BindVertexArrayAPPLE_remap_index])
-#define SET_BindVertexArrayAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindVertexArrayAPPLE_remap_index], fn)
-#define CALL_DeleteVertexArraysAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteVertexArraysAPPLE_remap_index], parameters)
-#define GET_DeleteVertexArraysAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteVertexArraysAPPLE_remap_index])
-#define SET_DeleteVertexArraysAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteVertexArraysAPPLE_remap_index], fn)
-#define CALL_GenVertexArraysAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenVertexArraysAPPLE_remap_index], parameters)
-#define GET_GenVertexArraysAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[GenVertexArraysAPPLE_remap_index])
-#define SET_GenVertexArraysAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenVertexArraysAPPLE_remap_index], fn)
-#define CALL_IsVertexArrayAPPLE(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsVertexArrayAPPLE_remap_index], parameters)
-#define GET_IsVertexArrayAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[IsVertexArrayAPPLE_remap_index])
-#define SET_IsVertexArrayAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsVertexArrayAPPLE_remap_index], fn)
-#define CALL_GetProgramNamedParameterdvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, GLdouble *)), driDispatchRemapTable[GetProgramNamedParameterdvNV_remap_index], parameters)
-#define GET_GetProgramNamedParameterdvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramNamedParameterdvNV_remap_index])
-#define SET_GetProgramNamedParameterdvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramNamedParameterdvNV_remap_index], fn)
-#define CALL_GetProgramNamedParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, GLfloat *)), driDispatchRemapTable[GetProgramNamedParameterfvNV_remap_index], parameters)
-#define GET_GetProgramNamedParameterfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramNamedParameterfvNV_remap_index])
-#define SET_GetProgramNamedParameterfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramNamedParameterfvNV_remap_index], fn)
-#define CALL_ProgramNamedParameter4dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, GLdouble, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[ProgramNamedParameter4dNV_remap_index], parameters)
-#define GET_ProgramNamedParameter4dNV(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4dNV_remap_index])
-#define SET_ProgramNamedParameter4dNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4dNV_remap_index], fn)
-#define CALL_ProgramNamedParameter4dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, const GLdouble *)), driDispatchRemapTable[ProgramNamedParameter4dvNV_remap_index], parameters)
-#define GET_ProgramNamedParameter4dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4dvNV_remap_index])
-#define SET_ProgramNamedParameter4dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4dvNV_remap_index], fn)
-#define CALL_ProgramNamedParameter4fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[ProgramNamedParameter4fNV_remap_index], parameters)
-#define GET_ProgramNamedParameter4fNV(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4fNV_remap_index])
-#define SET_ProgramNamedParameter4fNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4fNV_remap_index], fn)
-#define CALL_ProgramNamedParameter4fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, const GLfloat *)), driDispatchRemapTable[ProgramNamedParameter4fvNV_remap_index], parameters)
-#define GET_ProgramNamedParameter4fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4fvNV_remap_index])
-#define SET_ProgramNamedParameter4fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4fvNV_remap_index], fn)
-#define CALL_DepthBoundsEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampd, GLclampd)), driDispatchRemapTable[DepthBoundsEXT_remap_index], parameters)
-#define GET_DepthBoundsEXT(disp) GET_by_offset(disp, driDispatchRemapTable[DepthBoundsEXT_remap_index])
-#define SET_DepthBoundsEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DepthBoundsEXT_remap_index], fn)
-#define CALL_BlendEquationSeparateEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum)), driDispatchRemapTable[BlendEquationSeparateEXT_remap_index], parameters)
-#define GET_BlendEquationSeparateEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BlendEquationSeparateEXT_remap_index])
-#define SET_BlendEquationSeparateEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BlendEquationSeparateEXT_remap_index], fn)
-#define CALL_BindFramebufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[BindFramebufferEXT_remap_index], parameters)
-#define GET_BindFramebufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BindFramebufferEXT_remap_index])
-#define SET_BindFramebufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindFramebufferEXT_remap_index], fn)
-#define CALL_BindRenderbufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[BindRenderbufferEXT_remap_index], parameters)
-#define GET_BindRenderbufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BindRenderbufferEXT_remap_index])
-#define SET_BindRenderbufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindRenderbufferEXT_remap_index], fn)
-#define CALL_CheckFramebufferStatusEXT(disp, parameters) CALL_by_offset(disp, (GLenum (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[CheckFramebufferStatusEXT_remap_index], parameters)
-#define GET_CheckFramebufferStatusEXT(disp) GET_by_offset(disp, driDispatchRemapTable[CheckFramebufferStatusEXT_remap_index])
-#define SET_CheckFramebufferStatusEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CheckFramebufferStatusEXT_remap_index], fn)
-#define CALL_DeleteFramebuffersEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteFramebuffersEXT_remap_index], parameters)
-#define GET_DeleteFramebuffersEXT(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteFramebuffersEXT_remap_index])
-#define SET_DeleteFramebuffersEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteFramebuffersEXT_remap_index], fn)
-#define CALL_DeleteRenderbuffersEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteRenderbuffersEXT_remap_index], parameters)
-#define GET_DeleteRenderbuffersEXT(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteRenderbuffersEXT_remap_index])
-#define SET_DeleteRenderbuffersEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteRenderbuffersEXT_remap_index], fn)
-#define CALL_FramebufferRenderbufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLuint)), driDispatchRemapTable[FramebufferRenderbufferEXT_remap_index], parameters)
-#define GET_FramebufferRenderbufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferRenderbufferEXT_remap_index])
-#define SET_FramebufferRenderbufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferRenderbufferEXT_remap_index], fn)
-#define CALL_FramebufferTexture1DEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLuint, GLint)), driDispatchRemapTable[FramebufferTexture1DEXT_remap_index], parameters)
-#define GET_FramebufferTexture1DEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTexture1DEXT_remap_index])
-#define SET_FramebufferTexture1DEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTexture1DEXT_remap_index], fn)
-#define CALL_FramebufferTexture2DEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLuint, GLint)), driDispatchRemapTable[FramebufferTexture2DEXT_remap_index], parameters)
-#define GET_FramebufferTexture2DEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTexture2DEXT_remap_index])
-#define SET_FramebufferTexture2DEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTexture2DEXT_remap_index], fn)
-#define CALL_FramebufferTexture3DEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLuint, GLint, GLint)), driDispatchRemapTable[FramebufferTexture3DEXT_remap_index], parameters)
-#define GET_FramebufferTexture3DEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTexture3DEXT_remap_index])
-#define SET_FramebufferTexture3DEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTexture3DEXT_remap_index], fn)
-#define CALL_GenFramebuffersEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenFramebuffersEXT_remap_index], parameters)
-#define GET_GenFramebuffersEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GenFramebuffersEXT_remap_index])
-#define SET_GenFramebuffersEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenFramebuffersEXT_remap_index], fn)
-#define CALL_GenRenderbuffersEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenRenderbuffersEXT_remap_index], parameters)
-#define GET_GenRenderbuffersEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GenRenderbuffersEXT_remap_index])
-#define SET_GenRenderbuffersEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenRenderbuffersEXT_remap_index], fn)
-#define CALL_GenerateMipmapEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[GenerateMipmapEXT_remap_index], parameters)
-#define GET_GenerateMipmapEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GenerateMipmapEXT_remap_index])
-#define SET_GenerateMipmapEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenerateMipmapEXT_remap_index], fn)
-#define CALL_GetFramebufferAttachmentParameterivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLint *)), driDispatchRemapTable[GetFramebufferAttachmentParameterivEXT_remap_index], parameters)
-#define GET_GetFramebufferAttachmentParameterivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetFramebufferAttachmentParameterivEXT_remap_index])
-#define SET_GetFramebufferAttachmentParameterivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetFramebufferAttachmentParameterivEXT_remap_index], fn)
-#define CALL_GetRenderbufferParameterivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetRenderbufferParameterivEXT_remap_index], parameters)
-#define GET_GetRenderbufferParameterivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetRenderbufferParameterivEXT_remap_index])
-#define SET_GetRenderbufferParameterivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetRenderbufferParameterivEXT_remap_index], fn)
-#define CALL_IsFramebufferEXT(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsFramebufferEXT_remap_index], parameters)
-#define GET_IsFramebufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[IsFramebufferEXT_remap_index])
-#define SET_IsFramebufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsFramebufferEXT_remap_index], fn)
-#define CALL_IsRenderbufferEXT(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsRenderbufferEXT_remap_index], parameters)
-#define GET_IsRenderbufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[IsRenderbufferEXT_remap_index])
-#define SET_IsRenderbufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsRenderbufferEXT_remap_index], fn)
-#define CALL_RenderbufferStorageEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLsizei, GLsizei)), driDispatchRemapTable[RenderbufferStorageEXT_remap_index], parameters)
-#define GET_RenderbufferStorageEXT(disp) GET_by_offset(disp, driDispatchRemapTable[RenderbufferStorageEXT_remap_index])
-#define SET_RenderbufferStorageEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[RenderbufferStorageEXT_remap_index], fn)
-#define CALL_BlitFramebufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum)), driDispatchRemapTable[BlitFramebufferEXT_remap_index], parameters)
-#define GET_BlitFramebufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BlitFramebufferEXT_remap_index])
-#define SET_BlitFramebufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BlitFramebufferEXT_remap_index], fn)
-#define CALL_FramebufferTextureLayerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint, GLint, GLint)), driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index], parameters)
-#define GET_FramebufferTextureLayerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index])
-#define SET_FramebufferTextureLayerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index], fn)
-#define CALL_StencilFuncSeparateATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint, GLuint)), driDispatchRemapTable[StencilFuncSeparateATI_remap_index], parameters)
-#define GET_StencilFuncSeparateATI(disp) GET_by_offset(disp, driDispatchRemapTable[StencilFuncSeparateATI_remap_index])
-#define SET_StencilFuncSeparateATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[StencilFuncSeparateATI_remap_index], fn)
-#define CALL_ProgramEnvParameters4fvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index], parameters)
-#define GET_ProgramEnvParameters4fvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index])
-#define SET_ProgramEnvParameters4fvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index], fn)
-#define CALL_ProgramLocalParameters4fvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index], parameters)
-#define GET_ProgramLocalParameters4fvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index])
-#define SET_ProgramLocalParameters4fvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index], fn)
-#define CALL_GetQueryObjecti64vEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint64EXT *)), driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index], parameters)
-#define GET_GetQueryObjecti64vEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index])
-#define SET_GetQueryObjecti64vEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index], fn)
-#define CALL_GetQueryObjectui64vEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLuint64EXT *)), driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index], parameters)
-#define GET_GetQueryObjectui64vEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index])
-#define SET_GetQueryObjectui64vEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index], fn)
-
-#endif /* !defined(IN_DRI_DRIVER) */
-
-#endif /* !defined( _DISPATCH_H_ ) */
diff --git a/GL/glx/extension_string.c b/GL/glx/extension_string.c
deleted file mode 100644
index a4b202a..0000000
--- a/GL/glx/extension_string.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * (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 support forced 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), Y, },
-   { 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(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
deleted file mode 100644
index 98e91bc..0000000
--- a/GL/glx/extension_string.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * (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/g_disptab.h b/GL/glx/g_disptab.h
deleted file mode 100644
index 946e86b..0000000
--- a/GL/glx/g_disptab.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef _GLX_g_disptab_h_
-#define _GLX_g_disptab_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.
-*/
-
-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_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);
-
-#endif /* _GLX_g_disptab_h_ */
diff --git a/GL/glx/glapi.c b/GL/glx/glapi.c
deleted file mode 100644
index c4d101a..0000000
--- a/GL/glx/glapi.c
+++ /dev/null
@@ -1,1064 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  6.5
- *
- * Copyright (C) 1999-2006  Brian Paul   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, sublicense,
- * 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL
- * BRIAN PAUL 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.
- */
-
-
-/*
- * This file manages the OpenGL API dispatch layer.
- * The dispatch table (struct _glapi_table) is basically just a list
- * of function pointers.
- * There are functions to set/get the current dispatch table for the
- * current thread and to manage registration/dispatch of dynamically
- * added extension functions.
- *
- * It's intended that this file and the other glapi*.[ch] files are
- * flexible enough to be reused in several places:  XFree86, DRI-
- * based libGL.so, and perhaps the SGI SI.
- *
- * NOTE: There are no dependencies on Mesa in this code.
- *
- * Versions (API changes):
- *   2000/02/23  - original version for Mesa 3.3 and XFree86 4.0
- *   2001/01/16  - added dispatch override feature for Mesa 3.5
- *   2002/06/28  - added _glapi_set_warning_func(), Mesa 4.1.
- *   2002/10/01  - _glapi_get_proc_address() will now generate new entrypoints
- *                 itself (using offset ~0).  _glapi_add_entrypoint() can be
- *                 called afterward and it'll fill in the correct dispatch
- *                 offset.  This allows DRI libGL to avoid probing for DRI
- *                 drivers!  No changes to the public glapi interface.
- */
-
-
-
-#ifdef HAVE_DIX_CONFIG_H
-
-#include <dix-config.h>
-#define PUBLIC
-
-#else
-
-#include "glheader.h"
-
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "glapi.h"
-#include "glapioffsets.h"
-#include "glapitable.h"
-
-/***** BEGIN NO-OP DISPATCH *****/
-
-static GLboolean WarnFlag = GL_FALSE;
-static _glapi_warning_func warning_func;
-
-#if defined(PTHREADS) || defined(GLX_USE_TLS)
-static void init_glapi_relocs(void);
-#endif
-
-static _glapi_proc generate_entrypoint(GLuint functionOffset);
-static void fill_in_entrypoint_offset(_glapi_proc entrypoint, GLuint offset);
-
-/*
- * Enable/disable printing of warning messages.
- */
-PUBLIC void
-_glapi_noop_enable_warnings(GLboolean enable)
-{
-   WarnFlag = enable;
-}
-
-/*
- * Register a callback function for reporting errors.
- */
-PUBLIC void
-_glapi_set_warning_func( _glapi_warning_func func )
-{
-   warning_func = func;
-}
-
-static GLboolean
-warn(void)
-{
-   if ((WarnFlag || getenv("MESA_DEBUG") || getenv("LIBGL_DEBUG"))
-       && warning_func) {
-      return GL_TRUE;
-   }
-   else {
-      return GL_FALSE;
-   }
-}
-
-
-#define KEYWORD1 static
-#define KEYWORD1_ALT static
-#define KEYWORD2 GLAPIENTRY
-#define NAME(func)  NoOp##func
-
-#define F NULL
-
-#define DISPATCH(func, args, msg)					      \
-   if (warn()) {							      \
-      warning_func(NULL, "GL User Error: called without context: %s", #func); \
-   }
-
-#define RETURN_DISPATCH(func, args, msg)				      \
-   if (warn()) {							      \
-      warning_func(NULL, "GL User Error: called without context: %s", #func); \
-   }									      \
-   return 0
-
-#define DISPATCH_TABLE_NAME __glapi_noop_table
-#define UNUSED_TABLE_NAME __unused_noop_functions
-
-#define TABLE_ENTRY(name) (_glapi_proc) NoOp##name
-
-static GLint NoOpUnused(void)
-{
-   if (warn()) {
-      warning_func(NULL, "GL User Error: calling extension function without a current context\n");
-   }
-   return 0;
-}
-
-#include "glapitemp.h"
-
-/***** END NO-OP DISPATCH *****/
-
-
-
-/**
- * \name Current dispatch and current context control variables
- *
- * Depending on whether or not multithreading is support, and the type of
- * support available, several variables are used to store the current context
- * pointer and the current dispatch table pointer.  In the non-threaded case,
- * the variables \c _glapi_Dispatch and \c _glapi_Context are used for this
- * purpose.
- *
- * In the "normal" threaded case, the variables \c _glapi_Dispatch and
- * \c _glapi_Context will be \c NULL if an application is detected as being
- * multithreaded.  Single-threaded applications will use \c _glapi_Dispatch
- * and \c _glapi_Context just like the case without any threading support.
- * When \c _glapi_Dispatch and \c _glapi_Context are \c NULL, the thread state
- * data \c _gl_DispatchTSD and \c ContextTSD are used.  Drivers and the
- * static dispatch functions access these variables via \c _glapi_get_dispatch
- * and \c _glapi_get_context.
- *
- * There is a race condition in setting \c _glapi_Dispatch to \c NULL.  It is
- * possible for the original thread to be setting it at the same instant a new
- * thread, perhaps running on a different processor, is clearing it.  Because
- * of that, \c ThreadSafe, which can only ever be changed to \c GL_TRUE, is
- * used to determine whether or not the application is multithreaded.
- * 
- * In the TLS case, the variables \c _glapi_Dispatch and \c _glapi_Context are
- * hardcoded to \c NULL.  Instead the TLS variables \c _glapi_tls_Dispatch and
- * \c _glapi_tls_Context are used.  Having \c _glapi_Dispatch and
- * \c _glapi_Context be hardcoded to \c NULL maintains binary compatability
- * between TLS enabled loaders and non-TLS DRI drivers.
- */
-/*@{*/
-#if defined(GLX_USE_TLS)
-
-PUBLIC __thread struct _glapi_table * _glapi_tls_Dispatch
-    __attribute__((tls_model("initial-exec")))
-    = (struct _glapi_table *) __glapi_noop_table;
-
-PUBLIC __thread void * _glapi_tls_Context
-    __attribute__((tls_model("initial-exec")));
-
-PUBLIC const struct _glapi_table *_glapi_Dispatch = NULL;
-PUBLIC const void *_glapi_Context = NULL;
-
-#else
-
-#if defined(THREADS)
-
-static GLboolean ThreadSafe = GL_FALSE;  /**< In thread-safe mode? */
-_glthread_TSD _gl_DispatchTSD;           /**< Per-thread dispatch pointer */
-static _glthread_TSD ContextTSD;         /**< Per-thread context pointer */
-
-#if defined(WIN32_THREADS)
-void FreeTSD(_glthread_TSD *p);
-void FreeAllTSD(void)
-{
-   FreeTSD(&_gl_DispatchTSD);
-   FreeTSD(&ContextTSD);
-}
-#endif /* defined(WIN32_THREADS) */
-
-#endif /* defined(THREADS) */
-
-PUBLIC struct _glapi_table *_glapi_Dispatch = 
-  (struct _glapi_table *) __glapi_noop_table;
-PUBLIC void *_glapi_Context = NULL;
-
-#endif /* defined(GLX_USE_TLS) */
-/*@}*/
-
-
-/**
- * strdup() is actually not a standard ANSI C or POSIX routine.
- * Irix will not define it if ANSI mode is in effect.
- */
-static char *
-str_dup(const char *str)
-{
-   char *copy;
-   copy = (char*) malloc(strlen(str) + 1);
-   if (!copy)
-      return NULL;
-   strcpy(copy, str);
-   return copy;
-}
-
-
-
-/**
- * We should call this periodically from a function such as glXMakeCurrent
- * in order to test if multiple threads are being used.
- */
-void
-_glapi_check_multithread(void)
-{
-#if defined(THREADS) && !defined(GLX_USE_TLS)
-   if (!ThreadSafe) {
-      static unsigned long knownID;
-      static GLboolean firstCall = GL_TRUE;
-      if (firstCall) {
-         knownID = _glthread_GetID();
-         firstCall = GL_FALSE;
-      }
-      else if (knownID != _glthread_GetID()) {
-         ThreadSafe = GL_TRUE;
-         _glapi_set_dispatch(NULL);
-         _glapi_set_context(NULL);
-      }
-   }
-   else if (!_glapi_get_dispatch()) {
-      /* make sure that this thread's dispatch pointer isn't null */
-      _glapi_set_dispatch(NULL);
-   }
-#endif
-}
-
-
-
-/**
- * Set the current context pointer for this thread.
- * The context pointer is an opaque type which should be cast to
- * void from the real context pointer type.
- */
-PUBLIC void
-_glapi_set_context(void *context)
-{
-   (void) __unused_noop_functions; /* silence a warning */
-#if defined(GLX_USE_TLS)
-   _glapi_tls_Context = context;
-#elif defined(THREADS)
-   _glthread_SetTSD(&ContextTSD, context);
-   _glapi_Context = (ThreadSafe) ? NULL : context;
-#else
-   _glapi_Context = context;
-#endif
-}
-
-
-
-/**
- * Get the current context pointer for this thread.
- * The context pointer is an opaque type which should be cast from
- * void to the real context pointer type.
- */
-PUBLIC void *
-_glapi_get_context(void)
-{
-#if defined(GLX_USE_TLS)
-   return _glapi_tls_Context;
-#elif defined(THREADS)
-   if (ThreadSafe) {
-      return _glthread_GetTSD(&ContextTSD);
-   }
-   else {
-      return _glapi_Context;
-   }
-#else
-   return _glapi_Context;
-#endif
-}
-
-
-
-/**
- * Set the global or per-thread dispatch table pointer.
- * If the dispatch parameter is NULL we'll plug in the no-op dispatch
- * table (__glapi_noop_table).
- */
-PUBLIC void
-_glapi_set_dispatch(struct _glapi_table *dispatch)
-{
-#if defined(PTHREADS) || defined(GLX_USE_TLS)
-   static pthread_once_t once_control = PTHREAD_ONCE_INIT;
-   pthread_once( & once_control, init_glapi_relocs );
-#endif
-
-   if (!dispatch) {
-      /* use the no-op functions */
-      dispatch = (struct _glapi_table *) __glapi_noop_table;
-   }
-#ifdef DEBUG
-   else {
-      _glapi_check_table(dispatch);
-   }
-#endif
-
-#if defined(GLX_USE_TLS)
-   _glapi_tls_Dispatch = dispatch;
-#elif defined(THREADS)
-   _glthread_SetTSD(&_gl_DispatchTSD, (void *) dispatch);
-   _glapi_Dispatch = (ThreadSafe) ? NULL : dispatch;
-#else /*THREADS*/
-   _glapi_Dispatch = dispatch;
-#endif /*THREADS*/
-}
-
-
-
-/**
- * Return pointer to current dispatch table for calling thread.
- */
-PUBLIC struct _glapi_table *
-_glapi_get_dispatch(void)
-{
-   struct _glapi_table * api;
-#if defined(GLX_USE_TLS)
-   api = _glapi_tls_Dispatch;
-#elif defined(THREADS)
-   api = (ThreadSafe)
-     ? (struct _glapi_table *) _glthread_GetTSD(&_gl_DispatchTSD)
-     : _glapi_Dispatch;
-#else
-   api = _glapi_Dispatch;
-#endif
-   return api;
-}
-
-
-
-/***
- *** The rest of this file is pretty much concerned with GetProcAddress
- *** functionality.
- ***/
-
-#if defined(USE_X64_64_ASM) && defined(GLX_USE_TLS)
-# define DISPATCH_FUNCTION_SIZE  16
-#elif defined(USE_X86_ASM)
-# if defined(THREADS) && !defined(GLX_USE_TLS)
-#  define DISPATCH_FUNCTION_SIZE  32
-# else
-#  define DISPATCH_FUNCTION_SIZE  16
-# endif
-#endif
-
-#if !defined(DISPATCH_FUNCTION_SIZE) && !defined(XFree86Server) && !defined(XGLServer)
-# define NEED_FUNCTION_POINTER
-#endif
-
-/* The code in this file is auto-generated with Python */
-#include "glprocs.h"
-
-
-/**
- * Search the table of static entrypoint functions for the named function
- * and return the corresponding glprocs_table_t entry.
- */
-static const glprocs_table_t *
-find_entry( const char * n )
-{
-   GLuint i;
-   for (i = 0; static_functions[i].Name_offset >= 0; i++) {
-      const char *testName = gl_string_table + static_functions[i].Name_offset;
-      if (strcmp(testName, n) == 0) {
-	 return &static_functions[i];
-      }
-   }
-   return NULL;
-}
-
-
-/**
- * Return dispatch table offset of the named static (built-in) function.
- * Return -1 if function not found.
- */
-static GLint
-get_static_proc_offset(const char *funcName)
-{
-   const glprocs_table_t * const f = find_entry( funcName );
-   if (f) {
-      return f->Offset;
-   }
-   return -1;
-}
-
-
-#if !defined(XFree86Server) && !defined(XGLServer)
-#ifdef USE_X86_ASM
-
-#if defined( GLX_USE_TLS )
-extern       GLubyte gl_dispatch_functions_start[];
-extern       GLubyte gl_dispatch_functions_end[];
-#else
-extern const GLubyte gl_dispatch_functions_start[];
-#endif
-
-#endif /* USE_X86_ASM */
-
-
-/**
- * Return dispatch function address for the named static (built-in) function.
- * Return NULL if function not found.
- */
-static _glapi_proc
-get_static_proc_address(const char *funcName)
-{
-   const glprocs_table_t * const f = find_entry( funcName );
-   if (f) {
-#if defined(DISPATCH_FUNCTION_SIZE) && defined(GLX_INDIRECT_RENDERING)
-      return (f->Address == NULL)
-	 ? (_glapi_proc) (gl_dispatch_functions_start
-			  + (DISPATCH_FUNCTION_SIZE * f->Offset))
-         : f->Address;
-#elif defined(DISPATCH_FUNCTION_SIZE)
-      return (_glapi_proc) (gl_dispatch_functions_start 
-                            + (DISPATCH_FUNCTION_SIZE * f->Offset));
-#else
-      return f->Address;
-#endif
-   }
-   else {
-      return NULL;
-   }
-}
-
-#endif /* !defined(XFree86Server) && !defined(XGLServer) */
-
-
-
-/**
- * Return the name of the function at the given offset in the dispatch
- * table.  For debugging only.
- */
-static const char *
-get_static_proc_name( GLuint offset )
-{
-   GLuint i;
-   for (i = 0; static_functions[i].Name_offset >= 0; i++) {
-      if (static_functions[i].Offset == offset) {
-	 return gl_string_table + static_functions[i].Name_offset;
-      }
-   }
-   return NULL;
-}
-
-
-
-/**********************************************************************
- * Extension function management.
- */
-
-/*
- * Number of extension functions which we can dynamically add at runtime.
- */
-#define MAX_EXTENSION_FUNCS 300
-
-
-/*
- * The dispatch table size (number of entries) is the size of the
- * _glapi_table struct plus the number of dynamic entries we can add.
- * The extra slots can be filled in by DRI drivers that register new extension
- * functions.
- */
-#define DISPATCH_TABLE_SIZE (sizeof(struct _glapi_table) / sizeof(void *) + MAX_EXTENSION_FUNCS)
-
-
-/**
- * Track information about a function added to the GL API.
- */
-struct _glapi_function {
-   /**
-    * Name of the function.
-    */
-   const char * name;
-
-
-   /**
-    * Text string that describes the types of the parameters passed to the
-    * named function.   Parameter types are converted to characters using the
-    * following rules:
-    *   - 'i' for \c GLint, \c GLuint, and \c GLenum
-    *   - 'p' for any pointer type
-    *   - 'f' for \c GLfloat and \c GLclampf
-    *   - 'd' for \c GLdouble and \c GLclampd
-    */
-   const char * parameter_signature;
-
-
-   /**
-    * Offset in the dispatch table where the pointer to the real function is
-    * located.  If the driver has not requested that the named function be
-    * added to the dispatch table, this will have the value ~0.
-    */
-   unsigned dispatch_offset;
-
-
-   /**
-    * Pointer to the dispatch stub for the named function.
-    * 
-    * \todo
-    * The semantic of this field should be changed slightly.  Currently, it
-    * is always expected to be non-\c NULL.  However, it would be better to
-    * only allocate the entry-point stub when the application requests the
-    * function via \c glXGetProcAddress.  This would save memory for all the
-    * functions that the driver exports but that the application never wants
-    * to call.
-    */
-   _glapi_proc dispatch_stub;
-};
-
-
-static struct _glapi_function ExtEntryTable[MAX_EXTENSION_FUNCS];
-static GLuint NumExtEntryPoints = 0;
-
-#ifdef USE_SPARC_ASM
-extern void __glapi_sparc_icache_flush(unsigned int *);
-#endif
-
-/**
- * Generate a dispatch function (entrypoint) which jumps through
- * the given slot number (offset) in the current dispatch table.
- * We need assembly language in order to accomplish this.
- */
-static _glapi_proc
-generate_entrypoint(GLuint functionOffset)
-{
-#if defined(USE_X86_ASM)
-   /* 32 is chosen as something of a magic offset.  For x86, the dispatch
-    * at offset 32 is the first one where the offset in the
-    * "jmp OFFSET*4(%eax)" can't be encoded in a single byte.
-    */
-   const GLubyte * const template_func = gl_dispatch_functions_start 
-     + (DISPATCH_FUNCTION_SIZE * 32);
-   GLubyte * const code = (GLubyte *) malloc(DISPATCH_FUNCTION_SIZE);
-
-
-   if ( code != NULL ) {
-      (void) memcpy(code, template_func, DISPATCH_FUNCTION_SIZE);
-      fill_in_entrypoint_offset( (_glapi_proc) code, functionOffset );
-   }
-
-   return (_glapi_proc) code;
-#elif defined(USE_SPARC_ASM)
-
-#ifdef __arch64__
-   static const unsigned int insn_template[] = {
-	   0x05000000,	/* sethi	%uhi(_glapi_Dispatch), %g2	*/
-	   0x03000000,	/* sethi	%hi(_glapi_Dispatch), %g1	*/
-	   0x8410a000,	/* or		%g2, %ulo(_glapi_Dispatch), %g2	*/
-	   0x82106000,	/* or		%g1, %lo(_glapi_Dispatch), %g1	*/
-	   0x8528b020,	/* sllx		%g2, 32, %g2			*/
-	   0xc2584002,	/* ldx		[%g1 + %g2], %g1		*/
-	   0x05000000,	/* sethi	%hi(8 * glapioffset), %g2	*/
-	   0x8410a000,	/* or		%g2, %lo(8 * glapioffset), %g2	*/
-	   0xc6584002,	/* ldx		[%g1 + %g2], %g3		*/
-	   0x81c0c000,	/* jmpl		%g3, %g0			*/
-	   0x01000000	/*  nop						*/
-   };
-#else
-   static const unsigned int insn_template[] = {
-	   0x03000000,	/* sethi	%hi(_glapi_Dispatch), %g1	  */
-	   0xc2006000,	/* ld		[%g1 + %lo(_glapi_Dispatch)], %g1 */
-	   0xc6006000,	/* ld		[%g1 + %lo(4*glapioffset)], %g3	  */
-	   0x81c0c000,	/* jmpl		%g3, %g0			  */
-	   0x01000000	/*  nop						  */
-   };
-#endif /* __arch64__ */
-   unsigned int *code = (unsigned int *) malloc(sizeof(insn_template));
-   unsigned long glapi_addr = (unsigned long) &_glapi_Dispatch;
-   if (code) {
-      memcpy(code, insn_template, sizeof(insn_template));
-
-#ifdef __arch64__
-      code[0] |= (glapi_addr >> (32 + 10));
-      code[1] |= ((glapi_addr & 0xffffffff) >> 10);
-      __glapi_sparc_icache_flush(&code[0]);
-      code[2] |= ((glapi_addr >> 32) & ((1 << 10) - 1));
-      code[3] |= (glapi_addr & ((1 << 10) - 1));
-      __glapi_sparc_icache_flush(&code[2]);
-      code[6] |= ((functionOffset * 8) >> 10);
-      code[7] |= ((functionOffset * 8) & ((1 << 10) - 1));
-      __glapi_sparc_icache_flush(&code[6]);
-#else
-      code[0] |= (glapi_addr >> 10);
-      code[1] |= (glapi_addr & ((1 << 10) - 1));
-      __glapi_sparc_icache_flush(&code[0]);
-      code[2] |= (functionOffset * 4);
-      __glapi_sparc_icache_flush(&code[2]);
-#endif /* __arch64__ */
-   }
-   return (_glapi_proc) code;
-#else
-   (void) functionOffset;
-   return NULL;
-#endif /* USE_*_ASM */
-}
-
-
-/**
- * This function inserts a new dispatch offset into the assembly language
- * stub that was generated with the preceeding function.
- */
-static void
-fill_in_entrypoint_offset(_glapi_proc entrypoint, GLuint offset)
-{
-#if defined(USE_X86_ASM)
-   GLubyte * const code = (GLubyte *) entrypoint;
-
-#if DISPATCH_FUNCTION_SIZE == 32
-   *((unsigned int *)(code + 11)) = 4 * offset;
-   *((unsigned int *)(code + 22)) = 4 * offset;
-#elif DISPATCH_FUNCTION_SIZE == 16 && defined( GLX_USE_TLS )
-   *((unsigned int *)(code +  8)) = 4 * offset;
-#elif DISPATCH_FUNCTION_SIZE == 16
-   *((unsigned int *)(code +  7)) = 4 * offset;
-#else
-# error Invalid DISPATCH_FUNCTION_SIZE!
-#endif
-
-#elif defined(USE_SPARC_ASM)
-
-   /* XXX this hasn't been tested! */
-   unsigned int *code = (unsigned int *) entrypoint;
-#ifdef __arch64__
-   code[6] = 0x05000000;  /* sethi	%hi(8 * glapioffset), %g2	*/
-   code[7] = 0x8410a000;  /* or		%g2, %lo(8 * glapioffset), %g2	*/
-   code[6] |= ((offset * 8) >> 10);
-   code[7] |= ((offset * 8) & ((1 << 10) - 1));
-   __glapi_sparc_icache_flush(&code[6]);
-#else /* __arch64__ */
-   code[2] = 0xc6006000;  /* ld		[%g1 + %lo(4*glapioffset)], %g3	  */
-   code[2] |= (offset * 4);
-   __glapi_sparc_icache_flush(&code[2]);
-#endif /* __arch64__ */
-
-#else
-
-   /* an unimplemented architecture */
-   (void) entrypoint;
-   (void) offset;
-
-#endif /* USE_*_ASM */
-}
-
-
-/**
- * Generate new entrypoint
- *
- * Use a temporary dispatch offset of ~0 (i.e. -1).  Later, when the driver
- * calls \c _glapi_add_dispatch we'll put in the proper offset.  If that
- * never happens, and the user calls this function, he'll segfault.  That's
- * what you get when you try calling a GL function that doesn't really exist.
- * 
- * \param funcName  Name of the function to create an entry-point for.
- * 
- * \sa _glapi_add_entrypoint
- */
-
-static struct _glapi_function *
-add_function_name( const char * funcName )
-{
-   struct _glapi_function * entry = NULL;
-   
-   if (NumExtEntryPoints < MAX_EXTENSION_FUNCS) {
-      _glapi_proc entrypoint = generate_entrypoint(~0);
-      if (entrypoint != NULL) {
-	 entry = & ExtEntryTable[NumExtEntryPoints];
-
-	 ExtEntryTable[NumExtEntryPoints].name = str_dup(funcName);
-	 ExtEntryTable[NumExtEntryPoints].parameter_signature = NULL;
-	 ExtEntryTable[NumExtEntryPoints].dispatch_offset = ~0;
-	 ExtEntryTable[NumExtEntryPoints].dispatch_stub = entrypoint;
-	 NumExtEntryPoints++;
-      }
-   }
-
-   return entry;
-}
-
-
-/**
- * Fill-in the dispatch stub for the named function.
- * 
- * This function is intended to be called by a hardware driver.  When called,
- * a dispatch stub may be created created for the function.  A pointer to this
- * dispatch function will be returned by glXGetProcAddress.
- *
- * \param function_names       Array of pointers to function names that should
- *                             share a common dispatch offset.
- * \param parameter_signature  String representing the types of the parameters
- *                             passed to the named function.  Parameter types
- *                             are converted to characters using the following
- *                             rules:
- *                               - 'i' for \c GLint, \c GLuint, and \c GLenum
- *                               - 'p' for any pointer type
- *                               - 'f' for \c GLfloat and \c GLclampf
- *                               - 'd' for \c GLdouble and \c GLclampd
- *
- * \returns
- * The offset in the dispatch table of the named function.  A pointer to the
- * driver's implementation of the named function should be stored at
- * \c dispatch_table[\c offset].
- *
- * \sa glXGetProcAddress
- *
- * \warning
- * This function can only handle up to 8 names at a time.  As far as I know,
- * the maximum number of names ever associated with an existing GL function is
- * 4 (\c glPointParameterfSGIS, \c glPointParameterfEXT,
- * \c glPointParameterfARB, and \c glPointParameterf), so this should not be
- * too painful of a limitation.
- *
- * \todo
- * Determine whether or not \c parameter_signature should be allowed to be
- * \c NULL.  It doesn't seem like much of a hardship for drivers to have to
- * pass in an empty string.
- *
- * \todo
- * Determine if code should be added to reject function names that start with
- * 'glX'.
- * 
- * \bug
- * Add code to compare \c parameter_signature with the parameter signature of
- * a static function.  In order to do that, we need to find a way to \b get
- * the parameter signature of a static function.
- */
-
-PUBLIC int
-_glapi_add_dispatch( const char * const * function_names,
-		     const char * parameter_signature )
-{
-   static int next_dynamic_offset = _gloffset_FIRST_DYNAMIC;
-   const char * const real_sig = (parameter_signature != NULL)
-     ? parameter_signature : "";
-   struct _glapi_function * entry[8];
-   GLboolean is_static[8];
-   unsigned i;
-   unsigned j;
-   int offset = ~0;
-   int new_offset;
-
-
-   (void) memset( is_static, 0, sizeof( is_static ) );
-   (void) memset( entry, 0, sizeof( entry ) );
-
-   for ( i = 0 ; function_names[i] != NULL ; i++ ) {
-      /* Do some trivial validation on the name of the function.
-       */
-
-      if (!function_names[i] || function_names[i][0] != 'g' || function_names[i][1] != 'l')
-	return GL_FALSE;
-   
-      /* Determine if the named function already exists.  If the function does
-       * exist, it must have the same parameter signature as the function
-       * being added.
-       */
-
-      new_offset = get_static_proc_offset(function_names[i]);
-      if (new_offset >= 0) {
-	 /* FIXME: Make sure the parameter signatures match!  How do we get
-	  * FIXME: the parameter signature for static functions?
-	  */
-
-	 if ( (offset != ~0) && (new_offset != offset) ) {
-	    return -1;
-	 }
-
-	 is_static[i] = GL_TRUE;
-	 offset = new_offset;
-      }
-   
-   
-      for ( j = 0 ; j < NumExtEntryPoints ; j++ ) {
-	 if (strcmp(ExtEntryTable[j].name, function_names[i]) == 0) {
-	    /* The offset may be ~0 if the function name was added by
-	     * glXGetProcAddress but never filled in by the driver.
-	     */
-
-	    if (ExtEntryTable[j].dispatch_offset != ~0) {
-	       if (strcmp(real_sig, ExtEntryTable[j].parameter_signature) 
-		   != 0) {
-		  return -1;
-	       }
-
-	       if ( (offset != ~0) && (ExtEntryTable[j].dispatch_offset != offset) ) {
-		  return -1;
-	       }
-
-	       offset = ExtEntryTable[j].dispatch_offset;
-	    }
-	    
-	    entry[i] = & ExtEntryTable[j];
-	    break;
-	 }
-      }
-   }
-
-   if (offset == ~0) {
-      offset = next_dynamic_offset;
-      next_dynamic_offset++;
-   }
-
-   for ( i = 0 ; function_names[i] != NULL ; i++ ) {
-      if (! is_static[i] ) {
-	 if (entry[i] == NULL) {
-	    entry[i] = add_function_name( function_names[i] );
-	    if (entry[i] == NULL) {
-	       /* FIXME: Possible memory leak here.
-		*/
-	       return -1;
-	    }
-	 }
-
-	 entry[i]->parameter_signature = str_dup(real_sig);
-	 fill_in_entrypoint_offset(entry[i]->dispatch_stub, offset);
-	 entry[i]->dispatch_offset = offset;
-      }
-   }
-   
-   return offset;
-}
-
-
-/**
- * Return offset of entrypoint for named function within dispatch table.
- */
-PUBLIC GLint
-_glapi_get_proc_offset(const char *funcName)
-{
-   /* search extension functions first */
-   GLuint i;
-   for (i = 0; i < NumExtEntryPoints; i++) {
-      if (strcmp(ExtEntryTable[i].name, funcName) == 0) {
-         return ExtEntryTable[i].dispatch_offset;
-      }
-   }
-   /* search static functions */
-   return get_static_proc_offset(funcName);
-}
-
-
-
-/**
- * Return pointer to the named function.  If the function name isn't found
- * in the name of static functions, try generating a new API entrypoint on
- * the fly with assembly language.
- */
-_glapi_proc
-_glapi_get_proc_address(const char *funcName)
-{
-   struct _glapi_function * entry;
-   GLuint i;
-
-#ifdef MANGLE
-   if (funcName[0] != 'm' || funcName[1] != 'g' || funcName[2] != 'l')
-      return NULL;
-#else
-   if (funcName[0] != 'g' || funcName[1] != 'l')
-      return NULL;
-#endif
-
-   /* search extension functions first */
-   for (i = 0; i < NumExtEntryPoints; i++) {
-      if (strcmp(ExtEntryTable[i].name, funcName) == 0) {
-         return ExtEntryTable[i].dispatch_stub;
-      }
-   }
-
-#if !defined( XFree86Server ) && !defined( XGLServer )
-   /* search static functions */
-   {
-      const _glapi_proc func = get_static_proc_address(funcName);
-      if (func)
-         return func;
-   }
-#endif /* !defined( XFree86Server ) */
-
-   entry = add_function_name(funcName);
-   return (entry == NULL) ? NULL : entry->dispatch_stub;
-}
-
-
-
-/**
- * Return the name of the function at the given dispatch offset.
- * This is only intended for debugging.
- */
-const char *
-_glapi_get_proc_name(GLuint offset)
-{
-   GLuint i;
-   const char * n;
-
-   /* search built-in functions */
-   n = get_static_proc_name(offset);
-   if ( n != NULL ) {
-      return n;
-   }
-
-   /* search added extension functions */
-   for (i = 0; i < NumExtEntryPoints; i++) {
-      if (ExtEntryTable[i].dispatch_offset == offset) {
-         return ExtEntryTable[i].name;
-      }
-   }
-   return NULL;
-}
-
-
-
-/**
- * Return size of dispatch table struct as number of functions (or
- * slots).
- */
-PUBLIC GLuint
-_glapi_get_dispatch_table_size(void)
-{
-   return DISPATCH_TABLE_SIZE;
-}
-
-
-
-/**
- * Make sure there are no NULL pointers in the given dispatch table.
- * Intended for debugging purposes.
- */
-void
-_glapi_check_table(const struct _glapi_table *table)
-{
-#ifdef DEBUG
-   const GLuint entries = _glapi_get_dispatch_table_size();
-   const void **tab = (const void **) table;
-   GLuint i;
-   for (i = 1; i < entries; i++) {
-      assert(tab[i]);
-   }
-
-   /* Do some spot checks to be sure that the dispatch table
-    * slots are assigned correctly.
-    */
-   {
-      GLuint BeginOffset = _glapi_get_proc_offset("glBegin");
-      char *BeginFunc = (char*) &table->Begin;
-      GLuint offset = (BeginFunc - (char *) table) / sizeof(void *);
-      assert(BeginOffset == _gloffset_Begin);
-      assert(BeginOffset == offset);
-   }
-   {
-      GLuint viewportOffset = _glapi_get_proc_offset("glViewport");
-      char *viewportFunc = (char*) &table->Viewport;
-      GLuint offset = (viewportFunc - (char *) table) / sizeof(void *);
-      assert(viewportOffset == _gloffset_Viewport);
-      assert(viewportOffset == offset);
-   }
-   {
-      GLuint VertexPointerOffset = _glapi_get_proc_offset("glVertexPointer");
-      char *VertexPointerFunc = (char*) &table->VertexPointer;
-      GLuint offset = (VertexPointerFunc - (char *) table) / sizeof(void *);
-      assert(VertexPointerOffset == _gloffset_VertexPointer);
-      assert(VertexPointerOffset == offset);
-   }
-   {
-      GLuint ResetMinMaxOffset = _glapi_get_proc_offset("glResetMinmax");
-      char *ResetMinMaxFunc = (char*) &table->ResetMinmax;
-      GLuint offset = (ResetMinMaxFunc - (char *) table) / sizeof(void *);
-      assert(ResetMinMaxOffset == _gloffset_ResetMinmax);
-      assert(ResetMinMaxOffset == offset);
-   }
-   {
-      GLuint blendColorOffset = _glapi_get_proc_offset("glBlendColor");
-      char *blendColorFunc = (char*) &table->BlendColor;
-      GLuint offset = (blendColorFunc - (char *) table) / sizeof(void *);
-      assert(blendColorOffset == _gloffset_BlendColor);
-      assert(blendColorOffset == offset);
-   }
-   {
-      GLuint secondaryColor3fOffset = _glapi_get_proc_offset("glSecondaryColor3fEXT");
-      char *secondaryColor3fFunc = (char*) &table->SecondaryColor3fEXT;
-      GLuint offset = (secondaryColor3fFunc - (char *) table) / sizeof(void *);
-      assert(secondaryColor3fOffset == _gloffset_SecondaryColor3fEXT);
-      assert(secondaryColor3fOffset == offset);
-   }
-   {
-      GLuint pointParameterivOffset = _glapi_get_proc_offset("glPointParameterivNV");
-      char *pointParameterivFunc = (char*) &table->PointParameterivNV;
-      GLuint offset = (pointParameterivFunc - (char *) table) / sizeof(void *);
-      assert(pointParameterivOffset == _gloffset_PointParameterivNV);
-      assert(pointParameterivOffset == offset);
-   }
-   {
-      GLuint setFenceOffset = _glapi_get_proc_offset("glSetFenceNV");
-      char *setFenceFunc = (char*) &table->SetFenceNV;
-      GLuint offset = (setFenceFunc - (char *) table) / sizeof(void *);
-      assert(setFenceOffset == _gloffset_SetFenceNV);
-      assert(setFenceOffset == offset);
-   }
-#else
-   (void) table;
-#endif
-}
-
-
-#if defined(PTHREADS) || defined(GLX_USE_TLS)
-/**
- * Perform platform-specific GL API entry-point fixups.
- */
-static void
-init_glapi_relocs( void )
-{
-#if defined(USE_X86_ASM) && defined(GLX_USE_TLS) && !defined(GLX_X86_READONLY_TEXT)
-    extern unsigned long _x86_get_dispatch(void);
-    char run_time_patch[] = {
-       0x65, 0xa1, 0, 0, 0, 0 /* movl %gs:0,%eax */
-    };
-    GLuint *offset = (GLuint *) &run_time_patch[2]; /* 32-bits for x86/32 */
-    const GLubyte * const get_disp = (const GLubyte *) run_time_patch;
-    GLubyte * curr_func = (GLubyte *) gl_dispatch_functions_start;
-
-    *offset = _x86_get_dispatch();
-    while ( curr_func != (GLubyte *) gl_dispatch_functions_end ) {
-	(void) memcpy( curr_func, get_disp, sizeof(run_time_patch));
-	curr_func += DISPATCH_FUNCTION_SIZE;
-    }
-#endif
-}
-#endif /* defined(PTHREADS) || defined(GLX_USE_TLS) */
diff --git a/GL/glx/glapi.h b/GL/glx/glapi.h
deleted file mode 100644
index ddfb1cf..0000000
--- a/GL/glx/glapi.h
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  6.5
- *
- * Copyright (C) 1999-2006  Brian Paul   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, sublicense,
- * 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 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 NONINFRINGEMENT.  IN NO EVENT SHALL
- * BRIAN PAUL 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.
- */
-
-
-/**
- * \mainpage Mesa GL API Module
- *
- * \section GLAPIIntroduction Introduction
- *
- * The Mesa GL API module is responsible for dispatching all the
- * gl*() functions.  All GL functions are dispatched by jumping through
- * the current dispatch table (basically a struct full of function
- * pointers.)
- *
- * A per-thread current dispatch table and per-thread current context
- * pointer are managed by this module too.
- *
- * This module is intended to be non-Mesa-specific so it can be used
- * with the X/DRI libGL also.
- */
-
-
-#ifndef _GLAPI_H
-#define _GLAPI_H
-
-
-#include "GL/gl.h"
-#include "glapitable.h"
-#include "glthread.h"
-
-
-typedef void (*_glapi_warning_func)(void *ctx, const char *str, ...);
-
-
-#if defined(USE_MGL_NAMESPACE)
-#define _glapi_set_dispatch _mglapi_set_dispatch
-#define _glapi_get_dispatch _mglapi_get_dispatch
-#define _glapi_set_context _mglapi_set_context
-#define _glapi_get_context _mglapi_get_context
-#define _glapi_Context _mglapi_Context
-#define _glapi_Dispatch _mglapi_Dispatch
-#endif
-
-
-/**
- ** Define the GET_CURRENT_CONTEXT() macro.
- ** \param C local variable which will hold the current context.
- **/
-#if defined (GLX_USE_TLS)
-
-const extern void *_glapi_Context;
-const extern struct _glapi_table *_glapi_Dispatch;
-
-extern __thread void * _glapi_tls_Context
-    __attribute__((tls_model("initial-exec")));
-
-# define GET_CURRENT_CONTEXT(C)  GLcontext *C = (GLcontext *) _glapi_tls_Context
-
-#else
-
-extern void *_glapi_Context;
-extern struct _glapi_table *_glapi_Dispatch;
-
-# ifdef THREADS
-#  define GET_CURRENT_CONTEXT(C)  GLcontext *C = (GLcontext *) (_glapi_Context ? _glapi_Context : _glapi_get_context())
-# else
-#  define GET_CURRENT_CONTEXT(C)  GLcontext *C = (GLcontext *) _glapi_Context
-# endif
-
-#endif /* defined (GLX_USE_TLS) */
-
-
-/**
- ** GL API public functions
- **/
-
-extern void
-_glapi_noop_enable_warnings(GLboolean enable);
-
-extern void
-_glapi_set_warning_func(_glapi_warning_func func);
-
-extern void
-_glapi_check_multithread(void);
-
-
-extern void
-_glapi_set_context(void *context);
-
-
-extern void *
-_glapi_get_context(void);
-
-
-extern void
-_glapi_set_dispatch(struct _glapi_table *dispatch);
-
-
-extern struct _glapi_table *
-_glapi_get_dispatch(void);
-
-
-extern int
-_glapi_begin_dispatch_override(struct _glapi_table *override);
-
-
-extern void
-_glapi_end_dispatch_override(int layer);
-
-
-struct _glapi_table *
-_glapi_get_override_dispatch(int layer);
-
-
-extern GLuint
-_glapi_get_dispatch_table_size(void);
-
-
-extern void
-_glapi_check_table(const struct _glapi_table *table);
-
-
-extern int
-_glapi_add_dispatch( const char * const * function_names,
-		     const char * parameter_signature );
-
-extern GLint
-_glapi_get_proc_offset(const char *funcName);
-
-
-extern _glapi_proc
-_glapi_get_proc_address(const char *funcName);
-
-
-extern const char *
-_glapi_get_proc_name(GLuint offset);
-
-
-#endif
diff --git a/GL/glx/glapioffsets.h b/GL/glx/glapioffsets.h
deleted file mode 100644
index 43c2659..0000000
--- a/GL/glx/glapioffsets.h
+++ /dev/null
@@ -1,1174 +0,0 @@
-/* DO NOT EDIT - This file generated automatically by gl_offsets.py (from Mesa) script */
-
-/*
- * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
- * (C) Copyright IBM Corporation 2004
- * 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
- * BRIAN PAUL, 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.
- */
-
-#if !defined( _GLAPI_OFFSETS_H_ )
-#  define _GLAPI_OFFSETS_H_
-
-#define _gloffset_NewList 0
-#define _gloffset_EndList 1
-#define _gloffset_CallList 2
-#define _gloffset_CallLists 3
-#define _gloffset_DeleteLists 4
-#define _gloffset_GenLists 5
-#define _gloffset_ListBase 6
-#define _gloffset_Begin 7
-#define _gloffset_Bitmap 8
-#define _gloffset_Color3b 9
-#define _gloffset_Color3bv 10
-#define _gloffset_Color3d 11
-#define _gloffset_Color3dv 12
-#define _gloffset_Color3f 13
-#define _gloffset_Color3fv 14
-#define _gloffset_Color3i 15
-#define _gloffset_Color3iv 16
-#define _gloffset_Color3s 17
-#define _gloffset_Color3sv 18
-#define _gloffset_Color3ub 19
-#define _gloffset_Color3ubv 20
-#define _gloffset_Color3ui 21
-#define _gloffset_Color3uiv 22
-#define _gloffset_Color3us 23
-#define _gloffset_Color3usv 24
-#define _gloffset_Color4b 25
-#define _gloffset_Color4bv 26
-#define _gloffset_Color4d 27
-#define _gloffset_Color4dv 28
-#define _gloffset_Color4f 29
-#define _gloffset_Color4fv 30
-#define _gloffset_Color4i 31
-#define _gloffset_Color4iv 32
-#define _gloffset_Color4s 33
-#define _gloffset_Color4sv 34
-#define _gloffset_Color4ub 35
-#define _gloffset_Color4ubv 36
-#define _gloffset_Color4ui 37
-#define _gloffset_Color4uiv 38
-#define _gloffset_Color4us 39
-#define _gloffset_Color4usv 40
-#define _gloffset_EdgeFlag 41
-#define _gloffset_EdgeFlagv 42
-#define _gloffset_End 43
-#define _gloffset_Indexd 44
-#define _gloffset_Indexdv 45
-#define _gloffset_Indexf 46
-#define _gloffset_Indexfv 47
-#define _gloffset_Indexi 48
-#define _gloffset_Indexiv 49
-#define _gloffset_Indexs 50
-#define _gloffset_Indexsv 51
-#define _gloffset_Normal3b 52
-#define _gloffset_Normal3bv 53
-#define _gloffset_Normal3d 54
-#define _gloffset_Normal3dv 55
-#define _gloffset_Normal3f 56
-#define _gloffset_Normal3fv 57
-#define _gloffset_Normal3i 58
-#define _gloffset_Normal3iv 59
-#define _gloffset_Normal3s 60
-#define _gloffset_Normal3sv 61
-#define _gloffset_RasterPos2d 62
-#define _gloffset_RasterPos2dv 63
-#define _gloffset_RasterPos2f 64
-#define _gloffset_RasterPos2fv 65
-#define _gloffset_RasterPos2i 66
-#define _gloffset_RasterPos2iv 67
-#define _gloffset_RasterPos2s 68
-#define _gloffset_RasterPos2sv 69
-#define _gloffset_RasterPos3d 70
-#define _gloffset_RasterPos3dv 71
-#define _gloffset_RasterPos3f 72
-#define _gloffset_RasterPos3fv 73
-#define _gloffset_RasterPos3i 74
-#define _gloffset_RasterPos3iv 75
-#define _gloffset_RasterPos3s 76
-#define _gloffset_RasterPos3sv 77
-#define _gloffset_RasterPos4d 78
-#define _gloffset_RasterPos4dv 79
-#define _gloffset_RasterPos4f 80
-#define _gloffset_RasterPos4fv 81
-#define _gloffset_RasterPos4i 82
-#define _gloffset_RasterPos4iv 83
-#define _gloffset_RasterPos4s 84
-#define _gloffset_RasterPos4sv 85
-#define _gloffset_Rectd 86
-#define _gloffset_Rectdv 87
-#define _gloffset_Rectf 88
-#define _gloffset_Rectfv 89
-#define _gloffset_Recti 90
-#define _gloffset_Rectiv 91
-#define _gloffset_Rects 92
-#define _gloffset_Rectsv 93
-#define _gloffset_TexCoord1d 94
-#define _gloffset_TexCoord1dv 95
-#define _gloffset_TexCoord1f 96
-#define _gloffset_TexCoord1fv 97
-#define _gloffset_TexCoord1i 98
-#define _gloffset_TexCoord1iv 99
-#define _gloffset_TexCoord1s 100
-#define _gloffset_TexCoord1sv 101
-#define _gloffset_TexCoord2d 102
-#define _gloffset_TexCoord2dv 103
-#define _gloffset_TexCoord2f 104
-#define _gloffset_TexCoord2fv 105
-#define _gloffset_TexCoord2i 106
-#define _gloffset_TexCoord2iv 107
-#define _gloffset_TexCoord2s 108
-#define _gloffset_TexCoord2sv 109
-#define _gloffset_TexCoord3d 110
-#define _gloffset_TexCoord3dv 111
-#define _gloffset_TexCoord3f 112
-#define _gloffset_TexCoord3fv 113
-#define _gloffset_TexCoord3i 114
-#define _gloffset_TexCoord3iv 115
-#define _gloffset_TexCoord3s 116
-#define _gloffset_TexCoord3sv 117
-#define _gloffset_TexCoord4d 118
-#define _gloffset_TexCoord4dv 119
-#define _gloffset_TexCoord4f 120
-#define _gloffset_TexCoord4fv 121
-#define _gloffset_TexCoord4i 122
-#define _gloffset_TexCoord4iv 123
-#define _gloffset_TexCoord4s 124
-#define _gloffset_TexCoord4sv 125
-#define _gloffset_Vertex2d 126
-#define _gloffset_Vertex2dv 127
-#define _gloffset_Vertex2f 128
-#define _gloffset_Vertex2fv 129
-#define _gloffset_Vertex2i 130
-#define _gloffset_Vertex2iv 131
-#define _gloffset_Vertex2s 132
-#define _gloffset_Vertex2sv 133
-#define _gloffset_Vertex3d 134
-#define _gloffset_Vertex3dv 135
-#define _gloffset_Vertex3f 136
-#define _gloffset_Vertex3fv 137
-#define _gloffset_Vertex3i 138
-#define _gloffset_Vertex3iv 139
-#define _gloffset_Vertex3s 140
-#define _gloffset_Vertex3sv 141
-#define _gloffset_Vertex4d 142
-#define _gloffset_Vertex4dv 143
-#define _gloffset_Vertex4f 144
-#define _gloffset_Vertex4fv 145
-#define _gloffset_Vertex4i 146
-#define _gloffset_Vertex4iv 147
-#define _gloffset_Vertex4s 148
-#define _gloffset_Vertex4sv 149
-#define _gloffset_ClipPlane 150
-#define _gloffset_ColorMaterial 151
-#define _gloffset_CullFace 152
-#define _gloffset_Fogf 153
-#define _gloffset_Fogfv 154
-#define _gloffset_Fogi 155
-#define _gloffset_Fogiv 156
-#define _gloffset_FrontFace 157
-#define _gloffset_Hint 158
-#define _gloffset_Lightf 159
-#define _gloffset_Lightfv 160
-#define _gloffset_Lighti 161
-#define _gloffset_Lightiv 162
-#define _gloffset_LightModelf 163
-#define _gloffset_LightModelfv 164
-#define _gloffset_LightModeli 165
-#define _gloffset_LightModeliv 166
-#define _gloffset_LineStipple 167
-#define _gloffset_LineWidth 168
-#define _gloffset_Materialf 169
-#define _gloffset_Materialfv 170
-#define _gloffset_Materiali 171
-#define _gloffset_Materialiv 172
-#define _gloffset_PointSize 173
-#define _gloffset_PolygonMode 174
-#define _gloffset_PolygonStipple 175
-#define _gloffset_Scissor 176
-#define _gloffset_ShadeModel 177
-#define _gloffset_TexParameterf 178
-#define _gloffset_TexParameterfv 179
-#define _gloffset_TexParameteri 180
-#define _gloffset_TexParameteriv 181
-#define _gloffset_TexImage1D 182
-#define _gloffset_TexImage2D 183
-#define _gloffset_TexEnvf 184
-#define _gloffset_TexEnvfv 185
-#define _gloffset_TexEnvi 186
-#define _gloffset_TexEnviv 187
-#define _gloffset_TexGend 188
-#define _gloffset_TexGendv 189
-#define _gloffset_TexGenf 190
-#define _gloffset_TexGenfv 191
-#define _gloffset_TexGeni 192
-#define _gloffset_TexGeniv 193
-#define _gloffset_FeedbackBuffer 194
-#define _gloffset_SelectBuffer 195
-#define _gloffset_RenderMode 196
-#define _gloffset_InitNames 197
-#define _gloffset_LoadName 198
-#define _gloffset_PassThrough 199
-#define _gloffset_PopName 200
-#define _gloffset_PushName 201
-#define _gloffset_DrawBuffer 202
-#define _gloffset_Clear 203
-#define _gloffset_ClearAccum 204
-#define _gloffset_ClearIndex 205
-#define _gloffset_ClearColor 206
-#define _gloffset_ClearStencil 207
-#define _gloffset_ClearDepth 208
-#define _gloffset_StencilMask 209
-#define _gloffset_ColorMask 210
-#define _gloffset_DepthMask 211
-#define _gloffset_IndexMask 212
-#define _gloffset_Accum 213
-#define _gloffset_Disable 214
-#define _gloffset_Enable 215
-#define _gloffset_Finish 216
-#define _gloffset_Flush 217
-#define _gloffset_PopAttrib 218
-#define _gloffset_PushAttrib 219
-#define _gloffset_Map1d 220
-#define _gloffset_Map1f 221
-#define _gloffset_Map2d 222
-#define _gloffset_Map2f 223
-#define _gloffset_MapGrid1d 224
-#define _gloffset_MapGrid1f 225
-#define _gloffset_MapGrid2d 226
-#define _gloffset_MapGrid2f 227
-#define _gloffset_EvalCoord1d 228
-#define _gloffset_EvalCoord1dv 229
-#define _gloffset_EvalCoord1f 230
-#define _gloffset_EvalCoord1fv 231
-#define _gloffset_EvalCoord2d 232
-#define _gloffset_EvalCoord2dv 233
-#define _gloffset_EvalCoord2f 234
-#define _gloffset_EvalCoord2fv 235
-#define _gloffset_EvalMesh1 236
-#define _gloffset_EvalPoint1 237
-#define _gloffset_EvalMesh2 238
-#define _gloffset_EvalPoint2 239
-#define _gloffset_AlphaFunc 240
-#define _gloffset_BlendFunc 241
-#define _gloffset_LogicOp 242
-#define _gloffset_StencilFunc 243
-#define _gloffset_StencilOp 244
-#define _gloffset_DepthFunc 245
-#define _gloffset_PixelZoom 246
-#define _gloffset_PixelTransferf 247
-#define _gloffset_PixelTransferi 248
-#define _gloffset_PixelStoref 249
-#define _gloffset_PixelStorei 250
-#define _gloffset_PixelMapfv 251
-#define _gloffset_PixelMapuiv 252
-#define _gloffset_PixelMapusv 253
-#define _gloffset_ReadBuffer 254
-#define _gloffset_CopyPixels 255
-#define _gloffset_ReadPixels 256
-#define _gloffset_DrawPixels 257
-#define _gloffset_GetBooleanv 258
-#define _gloffset_GetClipPlane 259
-#define _gloffset_GetDoublev 260
-#define _gloffset_GetError 261
-#define _gloffset_GetFloatv 262
-#define _gloffset_GetIntegerv 263
-#define _gloffset_GetLightfv 264
-#define _gloffset_GetLightiv 265
-#define _gloffset_GetMapdv 266
-#define _gloffset_GetMapfv 267
-#define _gloffset_GetMapiv 268
-#define _gloffset_GetMaterialfv 269
-#define _gloffset_GetMaterialiv 270
-#define _gloffset_GetPixelMapfv 271
-#define _gloffset_GetPixelMapuiv 272
-#define _gloffset_GetPixelMapusv 273
-#define _gloffset_GetPolygonStipple 274
-#define _gloffset_GetString 275
-#define _gloffset_GetTexEnvfv 276
-#define _gloffset_GetTexEnviv 277
-#define _gloffset_GetTexGendv 278
-#define _gloffset_GetTexGenfv 279
-#define _gloffset_GetTexGeniv 280
-#define _gloffset_GetTexImage 281
-#define _gloffset_GetTexParameterfv 282
-#define _gloffset_GetTexParameteriv 283
-#define _gloffset_GetTexLevelParameterfv 284
-#define _gloffset_GetTexLevelParameteriv 285
-#define _gloffset_IsEnabled 286
-#define _gloffset_IsList 287
-#define _gloffset_DepthRange 288
-#define _gloffset_Frustum 289
-#define _gloffset_LoadIdentity 290
-#define _gloffset_LoadMatrixf 291
-#define _gloffset_LoadMatrixd 292
-#define _gloffset_MatrixMode 293
-#define _gloffset_MultMatrixf 294
-#define _gloffset_MultMatrixd 295
-#define _gloffset_Ortho 296
-#define _gloffset_PopMatrix 297
-#define _gloffset_PushMatrix 298
-#define _gloffset_Rotated 299
-#define _gloffset_Rotatef 300
-#define _gloffset_Scaled 301
-#define _gloffset_Scalef 302
-#define _gloffset_Translated 303
-#define _gloffset_Translatef 304
-#define _gloffset_Viewport 305
-#define _gloffset_ArrayElement 306
-#define _gloffset_BindTexture 307
-#define _gloffset_ColorPointer 308
-#define _gloffset_DisableClientState 309
-#define _gloffset_DrawArrays 310
-#define _gloffset_DrawElements 311
-#define _gloffset_EdgeFlagPointer 312
-#define _gloffset_EnableClientState 313
-#define _gloffset_IndexPointer 314
-#define _gloffset_Indexub 315
-#define _gloffset_Indexubv 316
-#define _gloffset_InterleavedArrays 317
-#define _gloffset_NormalPointer 318
-#define _gloffset_PolygonOffset 319
-#define _gloffset_TexCoordPointer 320
-#define _gloffset_VertexPointer 321
-#define _gloffset_AreTexturesResident 322
-#define _gloffset_CopyTexImage1D 323
-#define _gloffset_CopyTexImage2D 324
-#define _gloffset_CopyTexSubImage1D 325
-#define _gloffset_CopyTexSubImage2D 326
-#define _gloffset_DeleteTextures 327
-#define _gloffset_GenTextures 328
-#define _gloffset_GetPointerv 329
-#define _gloffset_IsTexture 330
-#define _gloffset_PrioritizeTextures 331
-#define _gloffset_TexSubImage1D 332
-#define _gloffset_TexSubImage2D 333
-#define _gloffset_PopClientAttrib 334
-#define _gloffset_PushClientAttrib 335
-#define _gloffset_BlendColor 336
-#define _gloffset_BlendEquation 337
-#define _gloffset_DrawRangeElements 338
-#define _gloffset_ColorTable 339
-#define _gloffset_ColorTableParameterfv 340
-#define _gloffset_ColorTableParameteriv 341
-#define _gloffset_CopyColorTable 342
-#define _gloffset_GetColorTable 343
-#define _gloffset_GetColorTableParameterfv 344
-#define _gloffset_GetColorTableParameteriv 345
-#define _gloffset_ColorSubTable 346
-#define _gloffset_CopyColorSubTable 347
-#define _gloffset_ConvolutionFilter1D 348
-#define _gloffset_ConvolutionFilter2D 349
-#define _gloffset_ConvolutionParameterf 350
-#define _gloffset_ConvolutionParameterfv 351
-#define _gloffset_ConvolutionParameteri 352
-#define _gloffset_ConvolutionParameteriv 353
-#define _gloffset_CopyConvolutionFilter1D 354
-#define _gloffset_CopyConvolutionFilter2D 355
-#define _gloffset_GetConvolutionFilter 356
-#define _gloffset_GetConvolutionParameterfv 357
-#define _gloffset_GetConvolutionParameteriv 358
-#define _gloffset_GetSeparableFilter 359
-#define _gloffset_SeparableFilter2D 360
-#define _gloffset_GetHistogram 361
-#define _gloffset_GetHistogramParameterfv 362
-#define _gloffset_GetHistogramParameteriv 363
-#define _gloffset_GetMinmax 364
-#define _gloffset_GetMinmaxParameterfv 365
-#define _gloffset_GetMinmaxParameteriv 366
-#define _gloffset_Histogram 367
-#define _gloffset_Minmax 368
-#define _gloffset_ResetHistogram 369
-#define _gloffset_ResetMinmax 370
-#define _gloffset_TexImage3D 371
-#define _gloffset_TexSubImage3D 372
-#define _gloffset_CopyTexSubImage3D 373
-#define _gloffset_ActiveTextureARB 374
-#define _gloffset_ClientActiveTextureARB 375
-#define _gloffset_MultiTexCoord1dARB 376
-#define _gloffset_MultiTexCoord1dvARB 377
-#define _gloffset_MultiTexCoord1fARB 378
-#define _gloffset_MultiTexCoord1fvARB 379
-#define _gloffset_MultiTexCoord1iARB 380
-#define _gloffset_MultiTexCoord1ivARB 381
-#define _gloffset_MultiTexCoord1sARB 382
-#define _gloffset_MultiTexCoord1svARB 383
-#define _gloffset_MultiTexCoord2dARB 384
-#define _gloffset_MultiTexCoord2dvARB 385
-#define _gloffset_MultiTexCoord2fARB 386
-#define _gloffset_MultiTexCoord2fvARB 387
-#define _gloffset_MultiTexCoord2iARB 388
-#define _gloffset_MultiTexCoord2ivARB 389
-#define _gloffset_MultiTexCoord2sARB 390
-#define _gloffset_MultiTexCoord2svARB 391
-#define _gloffset_MultiTexCoord3dARB 392
-#define _gloffset_MultiTexCoord3dvARB 393
-#define _gloffset_MultiTexCoord3fARB 394
-#define _gloffset_MultiTexCoord3fvARB 395
-#define _gloffset_MultiTexCoord3iARB 396
-#define _gloffset_MultiTexCoord3ivARB 397
-#define _gloffset_MultiTexCoord3sARB 398
-#define _gloffset_MultiTexCoord3svARB 399
-#define _gloffset_MultiTexCoord4dARB 400
-#define _gloffset_MultiTexCoord4dvARB 401
-#define _gloffset_MultiTexCoord4fARB 402
-#define _gloffset_MultiTexCoord4fvARB 403
-#define _gloffset_MultiTexCoord4iARB 404
-#define _gloffset_MultiTexCoord4ivARB 405
-#define _gloffset_MultiTexCoord4sARB 406
-#define _gloffset_MultiTexCoord4svARB 407
-
-#if !defined(IN_DRI_DRIVER)
-
-#define _gloffset_AttachShader 408
-#define _gloffset_CreateProgram 409
-#define _gloffset_CreateShader 410
-#define _gloffset_DeleteProgram 411
-#define _gloffset_DeleteShader 412
-#define _gloffset_DetachShader 413
-#define _gloffset_GetAttachedShaders 414
-#define _gloffset_GetProgramInfoLog 415
-#define _gloffset_GetProgramiv 416
-#define _gloffset_GetShaderInfoLog 417
-#define _gloffset_GetShaderiv 418
-#define _gloffset_IsProgram 419
-#define _gloffset_IsShader 420
-#define _gloffset_StencilFuncSeparate 421
-#define _gloffset_StencilMaskSeparate 422
-#define _gloffset_StencilOpSeparate 423
-#define _gloffset_UniformMatrix2x3fv 424
-#define _gloffset_UniformMatrix2x4fv 425
-#define _gloffset_UniformMatrix3x2fv 426
-#define _gloffset_UniformMatrix3x4fv 427
-#define _gloffset_UniformMatrix4x2fv 428
-#define _gloffset_UniformMatrix4x3fv 429
-#define _gloffset_LoadTransposeMatrixdARB 430
-#define _gloffset_LoadTransposeMatrixfARB 431
-#define _gloffset_MultTransposeMatrixdARB 432
-#define _gloffset_MultTransposeMatrixfARB 433
-#define _gloffset_SampleCoverageARB 434
-#define _gloffset_CompressedTexImage1DARB 435
-#define _gloffset_CompressedTexImage2DARB 436
-#define _gloffset_CompressedTexImage3DARB 437
-#define _gloffset_CompressedTexSubImage1DARB 438
-#define _gloffset_CompressedTexSubImage2DARB 439
-#define _gloffset_CompressedTexSubImage3DARB 440
-#define _gloffset_GetCompressedTexImageARB 441
-#define _gloffset_DisableVertexAttribArrayARB 442
-#define _gloffset_EnableVertexAttribArrayARB 443
-#define _gloffset_GetProgramEnvParameterdvARB 444
-#define _gloffset_GetProgramEnvParameterfvARB 445
-#define _gloffset_GetProgramLocalParameterdvARB 446
-#define _gloffset_GetProgramLocalParameterfvARB 447
-#define _gloffset_GetProgramStringARB 448
-#define _gloffset_GetProgramivARB 449
-#define _gloffset_GetVertexAttribdvARB 450
-#define _gloffset_GetVertexAttribfvARB 451
-#define _gloffset_GetVertexAttribivARB 452
-#define _gloffset_ProgramEnvParameter4dARB 453
-#define _gloffset_ProgramEnvParameter4dvARB 454
-#define _gloffset_ProgramEnvParameter4fARB 455
-#define _gloffset_ProgramEnvParameter4fvARB 456
-#define _gloffset_ProgramLocalParameter4dARB 457
-#define _gloffset_ProgramLocalParameter4dvARB 458
-#define _gloffset_ProgramLocalParameter4fARB 459
-#define _gloffset_ProgramLocalParameter4fvARB 460
-#define _gloffset_ProgramStringARB 461
-#define _gloffset_VertexAttrib1dARB 462
-#define _gloffset_VertexAttrib1dvARB 463
-#define _gloffset_VertexAttrib1fARB 464
-#define _gloffset_VertexAttrib1fvARB 465
-#define _gloffset_VertexAttrib1sARB 466
-#define _gloffset_VertexAttrib1svARB 467
-#define _gloffset_VertexAttrib2dARB 468
-#define _gloffset_VertexAttrib2dvARB 469
-#define _gloffset_VertexAttrib2fARB 470
-#define _gloffset_VertexAttrib2fvARB 471
-#define _gloffset_VertexAttrib2sARB 472
-#define _gloffset_VertexAttrib2svARB 473
-#define _gloffset_VertexAttrib3dARB 474
-#define _gloffset_VertexAttrib3dvARB 475
-#define _gloffset_VertexAttrib3fARB 476
-#define _gloffset_VertexAttrib3fvARB 477
-#define _gloffset_VertexAttrib3sARB 478
-#define _gloffset_VertexAttrib3svARB 479
-#define _gloffset_VertexAttrib4NbvARB 480
-#define _gloffset_VertexAttrib4NivARB 481
-#define _gloffset_VertexAttrib4NsvARB 482
-#define _gloffset_VertexAttrib4NubARB 483
-#define _gloffset_VertexAttrib4NubvARB 484
-#define _gloffset_VertexAttrib4NuivARB 485
-#define _gloffset_VertexAttrib4NusvARB 486
-#define _gloffset_VertexAttrib4bvARB 487
-#define _gloffset_VertexAttrib4dARB 488
-#define _gloffset_VertexAttrib4dvARB 489
-#define _gloffset_VertexAttrib4fARB 490
-#define _gloffset_VertexAttrib4fvARB 491
-#define _gloffset_VertexAttrib4ivARB 492
-#define _gloffset_VertexAttrib4sARB 493
-#define _gloffset_VertexAttrib4svARB 494
-#define _gloffset_VertexAttrib4ubvARB 495
-#define _gloffset_VertexAttrib4uivARB 496
-#define _gloffset_VertexAttrib4usvARB 497
-#define _gloffset_VertexAttribPointerARB 498
-#define _gloffset_BindBufferARB 499
-#define _gloffset_BufferDataARB 500
-#define _gloffset_BufferSubDataARB 501
-#define _gloffset_DeleteBuffersARB 502
-#define _gloffset_GenBuffersARB 503
-#define _gloffset_GetBufferParameterivARB 504
-#define _gloffset_GetBufferPointervARB 505
-#define _gloffset_GetBufferSubDataARB 506
-#define _gloffset_IsBufferARB 507
-#define _gloffset_MapBufferARB 508
-#define _gloffset_UnmapBufferARB 509
-#define _gloffset_BeginQueryARB 510
-#define _gloffset_DeleteQueriesARB 511
-#define _gloffset_EndQueryARB 512
-#define _gloffset_GenQueriesARB 513
-#define _gloffset_GetQueryObjectivARB 514
-#define _gloffset_GetQueryObjectuivARB 515
-#define _gloffset_GetQueryivARB 516
-#define _gloffset_IsQueryARB 517
-#define _gloffset_AttachObjectARB 518
-#define _gloffset_CompileShaderARB 519
-#define _gloffset_CreateProgramObjectARB 520
-#define _gloffset_CreateShaderObjectARB 521
-#define _gloffset_DeleteObjectARB 522
-#define _gloffset_DetachObjectARB 523
-#define _gloffset_GetActiveUniformARB 524
-#define _gloffset_GetAttachedObjectsARB 525
-#define _gloffset_GetHandleARB 526
-#define _gloffset_GetInfoLogARB 527
-#define _gloffset_GetObjectParameterfvARB 528
-#define _gloffset_GetObjectParameterivARB 529
-#define _gloffset_GetShaderSourceARB 530
-#define _gloffset_GetUniformLocationARB 531
-#define _gloffset_GetUniformfvARB 532
-#define _gloffset_GetUniformivARB 533
-#define _gloffset_LinkProgramARB 534
-#define _gloffset_ShaderSourceARB 535
-#define _gloffset_Uniform1fARB 536
-#define _gloffset_Uniform1fvARB 537
-#define _gloffset_Uniform1iARB 538
-#define _gloffset_Uniform1ivARB 539
-#define _gloffset_Uniform2fARB 540
-#define _gloffset_Uniform2fvARB 541
-#define _gloffset_Uniform2iARB 542
-#define _gloffset_Uniform2ivARB 543
-#define _gloffset_Uniform3fARB 544
-#define _gloffset_Uniform3fvARB 545
-#define _gloffset_Uniform3iARB 546
-#define _gloffset_Uniform3ivARB 547
-#define _gloffset_Uniform4fARB 548
-#define _gloffset_Uniform4fvARB 549
-#define _gloffset_Uniform4iARB 550
-#define _gloffset_Uniform4ivARB 551
-#define _gloffset_UniformMatrix2fvARB 552
-#define _gloffset_UniformMatrix3fvARB 553
-#define _gloffset_UniformMatrix4fvARB 554
-#define _gloffset_UseProgramObjectARB 555
-#define _gloffset_ValidateProgramARB 556
-#define _gloffset_BindAttribLocationARB 557
-#define _gloffset_GetActiveAttribARB 558
-#define _gloffset_GetAttribLocationARB 559
-#define _gloffset_DrawBuffersARB 560
-#define _gloffset_PolygonOffsetEXT 561
-#define _gloffset_GetPixelTexGenParameterfvSGIS 562
-#define _gloffset_GetPixelTexGenParameterivSGIS 563
-#define _gloffset_PixelTexGenParameterfSGIS 564
-#define _gloffset_PixelTexGenParameterfvSGIS 565
-#define _gloffset_PixelTexGenParameteriSGIS 566
-#define _gloffset_PixelTexGenParameterivSGIS 567
-#define _gloffset_SampleMaskSGIS 568
-#define _gloffset_SamplePatternSGIS 569
-#define _gloffset_ColorPointerEXT 570
-#define _gloffset_EdgeFlagPointerEXT 571
-#define _gloffset_IndexPointerEXT 572
-#define _gloffset_NormalPointerEXT 573
-#define _gloffset_TexCoordPointerEXT 574
-#define _gloffset_VertexPointerEXT 575
-#define _gloffset_PointParameterfEXT 576
-#define _gloffset_PointParameterfvEXT 577
-#define _gloffset_LockArraysEXT 578
-#define _gloffset_UnlockArraysEXT 579
-#define _gloffset_CullParameterdvEXT 580
-#define _gloffset_CullParameterfvEXT 581
-#define _gloffset_SecondaryColor3bEXT 582
-#define _gloffset_SecondaryColor3bvEXT 583
-#define _gloffset_SecondaryColor3dEXT 584
-#define _gloffset_SecondaryColor3dvEXT 585
-#define _gloffset_SecondaryColor3fEXT 586
-#define _gloffset_SecondaryColor3fvEXT 587
-#define _gloffset_SecondaryColor3iEXT 588
-#define _gloffset_SecondaryColor3ivEXT 589
-#define _gloffset_SecondaryColor3sEXT 590
-#define _gloffset_SecondaryColor3svEXT 591
-#define _gloffset_SecondaryColor3ubEXT 592
-#define _gloffset_SecondaryColor3ubvEXT 593
-#define _gloffset_SecondaryColor3uiEXT 594
-#define _gloffset_SecondaryColor3uivEXT 595
-#define _gloffset_SecondaryColor3usEXT 596
-#define _gloffset_SecondaryColor3usvEXT 597
-#define _gloffset_SecondaryColorPointerEXT 598
-#define _gloffset_MultiDrawArraysEXT 599
-#define _gloffset_MultiDrawElementsEXT 600
-#define _gloffset_FogCoordPointerEXT 601
-#define _gloffset_FogCoorddEXT 602
-#define _gloffset_FogCoorddvEXT 603
-#define _gloffset_FogCoordfEXT 604
-#define _gloffset_FogCoordfvEXT 605
-#define _gloffset_PixelTexGenSGIX 606
-#define _gloffset_BlendFuncSeparateEXT 607
-#define _gloffset_FlushVertexArrayRangeNV 608
-#define _gloffset_VertexArrayRangeNV 609
-#define _gloffset_CombinerInputNV 610
-#define _gloffset_CombinerOutputNV 611
-#define _gloffset_CombinerParameterfNV 612
-#define _gloffset_CombinerParameterfvNV 613
-#define _gloffset_CombinerParameteriNV 614
-#define _gloffset_CombinerParameterivNV 615
-#define _gloffset_FinalCombinerInputNV 616
-#define _gloffset_GetCombinerInputParameterfvNV 617
-#define _gloffset_GetCombinerInputParameterivNV 618
-#define _gloffset_GetCombinerOutputParameterfvNV 619
-#define _gloffset_GetCombinerOutputParameterivNV 620
-#define _gloffset_GetFinalCombinerInputParameterfvNV 621
-#define _gloffset_GetFinalCombinerInputParameterivNV 622
-#define _gloffset_ResizeBuffersMESA 623
-#define _gloffset_WindowPos2dMESA 624
-#define _gloffset_WindowPos2dvMESA 625
-#define _gloffset_WindowPos2fMESA 626
-#define _gloffset_WindowPos2fvMESA 627
-#define _gloffset_WindowPos2iMESA 628
-#define _gloffset_WindowPos2ivMESA 629
-#define _gloffset_WindowPos2sMESA 630
-#define _gloffset_WindowPos2svMESA 631
-#define _gloffset_WindowPos3dMESA 632
-#define _gloffset_WindowPos3dvMESA 633
-#define _gloffset_WindowPos3fMESA 634
-#define _gloffset_WindowPos3fvMESA 635
-#define _gloffset_WindowPos3iMESA 636
-#define _gloffset_WindowPos3ivMESA 637
-#define _gloffset_WindowPos3sMESA 638
-#define _gloffset_WindowPos3svMESA 639
-#define _gloffset_WindowPos4dMESA 640
-#define _gloffset_WindowPos4dvMESA 641
-#define _gloffset_WindowPos4fMESA 642
-#define _gloffset_WindowPos4fvMESA 643
-#define _gloffset_WindowPos4iMESA 644
-#define _gloffset_WindowPos4ivMESA 645
-#define _gloffset_WindowPos4sMESA 646
-#define _gloffset_WindowPos4svMESA 647
-#define _gloffset_MultiModeDrawArraysIBM 648
-#define _gloffset_MultiModeDrawElementsIBM 649
-#define _gloffset_DeleteFencesNV 650
-#define _gloffset_FinishFenceNV 651
-#define _gloffset_GenFencesNV 652
-#define _gloffset_GetFenceivNV 653
-#define _gloffset_IsFenceNV 654
-#define _gloffset_SetFenceNV 655
-#define _gloffset_TestFenceNV 656
-#define _gloffset_AreProgramsResidentNV 657
-#define _gloffset_BindProgramNV 658
-#define _gloffset_DeleteProgramsNV 659
-#define _gloffset_ExecuteProgramNV 660
-#define _gloffset_GenProgramsNV 661
-#define _gloffset_GetProgramParameterdvNV 662
-#define _gloffset_GetProgramParameterfvNV 663
-#define _gloffset_GetProgramStringNV 664
-#define _gloffset_GetProgramivNV 665
-#define _gloffset_GetTrackMatrixivNV 666
-#define _gloffset_GetVertexAttribPointervNV 667
-#define _gloffset_GetVertexAttribdvNV 668
-#define _gloffset_GetVertexAttribfvNV 669
-#define _gloffset_GetVertexAttribivNV 670
-#define _gloffset_IsProgramNV 671
-#define _gloffset_LoadProgramNV 672
-#define _gloffset_ProgramParameters4dvNV 673
-#define _gloffset_ProgramParameters4fvNV 674
-#define _gloffset_RequestResidentProgramsNV 675
-#define _gloffset_TrackMatrixNV 676
-#define _gloffset_VertexAttrib1dNV 677
-#define _gloffset_VertexAttrib1dvNV 678
-#define _gloffset_VertexAttrib1fNV 679
-#define _gloffset_VertexAttrib1fvNV 680
-#define _gloffset_VertexAttrib1sNV 681
-#define _gloffset_VertexAttrib1svNV 682
-#define _gloffset_VertexAttrib2dNV 683
-#define _gloffset_VertexAttrib2dvNV 684
-#define _gloffset_VertexAttrib2fNV 685
-#define _gloffset_VertexAttrib2fvNV 686
-#define _gloffset_VertexAttrib2sNV 687
-#define _gloffset_VertexAttrib2svNV 688
-#define _gloffset_VertexAttrib3dNV 689
-#define _gloffset_VertexAttrib3dvNV 690
-#define _gloffset_VertexAttrib3fNV 691
-#define _gloffset_VertexAttrib3fvNV 692
-#define _gloffset_VertexAttrib3sNV 693
-#define _gloffset_VertexAttrib3svNV 694
-#define _gloffset_VertexAttrib4dNV 695
-#define _gloffset_VertexAttrib4dvNV 696
-#define _gloffset_VertexAttrib4fNV 697
-#define _gloffset_VertexAttrib4fvNV 698
-#define _gloffset_VertexAttrib4sNV 699
-#define _gloffset_VertexAttrib4svNV 700
-#define _gloffset_VertexAttrib4ubNV 701
-#define _gloffset_VertexAttrib4ubvNV 702
-#define _gloffset_VertexAttribPointerNV 703
-#define _gloffset_VertexAttribs1dvNV 704
-#define _gloffset_VertexAttribs1fvNV 705
-#define _gloffset_VertexAttribs1svNV 706
-#define _gloffset_VertexAttribs2dvNV 707
-#define _gloffset_VertexAttribs2fvNV 708
-#define _gloffset_VertexAttribs2svNV 709
-#define _gloffset_VertexAttribs3dvNV 710
-#define _gloffset_VertexAttribs3fvNV 711
-#define _gloffset_VertexAttribs3svNV 712
-#define _gloffset_VertexAttribs4dvNV 713
-#define _gloffset_VertexAttribs4fvNV 714
-#define _gloffset_VertexAttribs4svNV 715
-#define _gloffset_VertexAttribs4ubvNV 716
-#define _gloffset_AlphaFragmentOp1ATI 717
-#define _gloffset_AlphaFragmentOp2ATI 718
-#define _gloffset_AlphaFragmentOp3ATI 719
-#define _gloffset_BeginFragmentShaderATI 720
-#define _gloffset_BindFragmentShaderATI 721
-#define _gloffset_ColorFragmentOp1ATI 722
-#define _gloffset_ColorFragmentOp2ATI 723
-#define _gloffset_ColorFragmentOp3ATI 724
-#define _gloffset_DeleteFragmentShaderATI 725
-#define _gloffset_EndFragmentShaderATI 726
-#define _gloffset_GenFragmentShadersATI 727
-#define _gloffset_PassTexCoordATI 728
-#define _gloffset_SampleMapATI 729
-#define _gloffset_SetFragmentShaderConstantATI 730
-#define _gloffset_PointParameteriNV 731
-#define _gloffset_PointParameterivNV 732
-#define _gloffset_ActiveStencilFaceEXT 733
-#define _gloffset_BindVertexArrayAPPLE 734
-#define _gloffset_DeleteVertexArraysAPPLE 735
-#define _gloffset_GenVertexArraysAPPLE 736
-#define _gloffset_IsVertexArrayAPPLE 737
-#define _gloffset_GetProgramNamedParameterdvNV 738
-#define _gloffset_GetProgramNamedParameterfvNV 739
-#define _gloffset_ProgramNamedParameter4dNV 740
-#define _gloffset_ProgramNamedParameter4dvNV 741
-#define _gloffset_ProgramNamedParameter4fNV 742
-#define _gloffset_ProgramNamedParameter4fvNV 743
-#define _gloffset_DepthBoundsEXT 744
-#define _gloffset_BlendEquationSeparateEXT 745
-#define _gloffset_BindFramebufferEXT 746
-#define _gloffset_BindRenderbufferEXT 747
-#define _gloffset_CheckFramebufferStatusEXT 748
-#define _gloffset_DeleteFramebuffersEXT 749
-#define _gloffset_DeleteRenderbuffersEXT 750
-#define _gloffset_FramebufferRenderbufferEXT 751
-#define _gloffset_FramebufferTexture1DEXT 752
-#define _gloffset_FramebufferTexture2DEXT 753
-#define _gloffset_FramebufferTexture3DEXT 754
-#define _gloffset_GenFramebuffersEXT 755
-#define _gloffset_GenRenderbuffersEXT 756
-#define _gloffset_GenerateMipmapEXT 757
-#define _gloffset_GetFramebufferAttachmentParameterivEXT 758
-#define _gloffset_GetRenderbufferParameterivEXT 759
-#define _gloffset_IsFramebufferEXT 760
-#define _gloffset_IsRenderbufferEXT 761
-#define _gloffset_RenderbufferStorageEXT 762
-#define _gloffset_BlitFramebufferEXT 763
-#define _gloffset_FramebufferTextureLayerEXT 764
-#define _gloffset_StencilFuncSeparateATI 765
-#define _gloffset_ProgramEnvParameters4fvEXT 766
-#define _gloffset_ProgramLocalParameters4fvEXT 767
-#define _gloffset_GetQueryObjecti64vEXT 768
-#define _gloffset_GetQueryObjectui64vEXT 769
-#define _gloffset_FIRST_DYNAMIC 770
-
-#else
-
-#define _gloffset_AttachShader driDispatchRemapTable[AttachShader_remap_index]
-#define _gloffset_CreateProgram driDispatchRemapTable[CreateProgram_remap_index]
-#define _gloffset_CreateShader driDispatchRemapTable[CreateShader_remap_index]
-#define _gloffset_DeleteProgram driDispatchRemapTable[DeleteProgram_remap_index]
-#define _gloffset_DeleteShader driDispatchRemapTable[DeleteShader_remap_index]
-#define _gloffset_DetachShader driDispatchRemapTable[DetachShader_remap_index]
-#define _gloffset_GetAttachedShaders driDispatchRemapTable[GetAttachedShaders_remap_index]
-#define _gloffset_GetProgramInfoLog driDispatchRemapTable[GetProgramInfoLog_remap_index]
-#define _gloffset_GetProgramiv driDispatchRemapTable[GetProgramiv_remap_index]
-#define _gloffset_GetShaderInfoLog driDispatchRemapTable[GetShaderInfoLog_remap_index]
-#define _gloffset_GetShaderiv driDispatchRemapTable[GetShaderiv_remap_index]
-#define _gloffset_IsProgram driDispatchRemapTable[IsProgram_remap_index]
-#define _gloffset_IsShader driDispatchRemapTable[IsShader_remap_index]
-#define _gloffset_StencilFuncSeparate driDispatchRemapTable[StencilFuncSeparate_remap_index]
-#define _gloffset_StencilMaskSeparate driDispatchRemapTable[StencilMaskSeparate_remap_index]
-#define _gloffset_StencilOpSeparate driDispatchRemapTable[StencilOpSeparate_remap_index]
-#define _gloffset_UniformMatrix2x3fv driDispatchRemapTable[UniformMatrix2x3fv_remap_index]
-#define _gloffset_UniformMatrix2x4fv driDispatchRemapTable[UniformMatrix2x4fv_remap_index]
-#define _gloffset_UniformMatrix3x2fv driDispatchRemapTable[UniformMatrix3x2fv_remap_index]
-#define _gloffset_UniformMatrix3x4fv driDispatchRemapTable[UniformMatrix3x4fv_remap_index]
-#define _gloffset_UniformMatrix4x2fv driDispatchRemapTable[UniformMatrix4x2fv_remap_index]
-#define _gloffset_UniformMatrix4x3fv driDispatchRemapTable[UniformMatrix4x3fv_remap_index]
-#define _gloffset_LoadTransposeMatrixdARB driDispatchRemapTable[LoadTransposeMatrixdARB_remap_index]
-#define _gloffset_LoadTransposeMatrixfARB driDispatchRemapTable[LoadTransposeMatrixfARB_remap_index]
-#define _gloffset_MultTransposeMatrixdARB driDispatchRemapTable[MultTransposeMatrixdARB_remap_index]
-#define _gloffset_MultTransposeMatrixfARB driDispatchRemapTable[MultTransposeMatrixfARB_remap_index]
-#define _gloffset_SampleCoverageARB driDispatchRemapTable[SampleCoverageARB_remap_index]
-#define _gloffset_CompressedTexImage1DARB driDispatchRemapTable[CompressedTexImage1DARB_remap_index]
-#define _gloffset_CompressedTexImage2DARB driDispatchRemapTable[CompressedTexImage2DARB_remap_index]
-#define _gloffset_CompressedTexImage3DARB driDispatchRemapTable[CompressedTexImage3DARB_remap_index]
-#define _gloffset_CompressedTexSubImage1DARB driDispatchRemapTable[CompressedTexSubImage1DARB_remap_index]
-#define _gloffset_CompressedTexSubImage2DARB driDispatchRemapTable[CompressedTexSubImage2DARB_remap_index]
-#define _gloffset_CompressedTexSubImage3DARB driDispatchRemapTable[CompressedTexSubImage3DARB_remap_index]
-#define _gloffset_GetCompressedTexImageARB driDispatchRemapTable[GetCompressedTexImageARB_remap_index]
-#define _gloffset_DisableVertexAttribArrayARB driDispatchRemapTable[DisableVertexAttribArrayARB_remap_index]
-#define _gloffset_EnableVertexAttribArrayARB driDispatchRemapTable[EnableVertexAttribArrayARB_remap_index]
-#define _gloffset_GetProgramEnvParameterdvARB driDispatchRemapTable[GetProgramEnvParameterdvARB_remap_index]
-#define _gloffset_GetProgramEnvParameterfvARB driDispatchRemapTable[GetProgramEnvParameterfvARB_remap_index]
-#define _gloffset_GetProgramLocalParameterdvARB driDispatchRemapTable[GetProgramLocalParameterdvARB_remap_index]
-#define _gloffset_GetProgramLocalParameterfvARB driDispatchRemapTable[GetProgramLocalParameterfvARB_remap_index]
-#define _gloffset_GetProgramStringARB driDispatchRemapTable[GetProgramStringARB_remap_index]
-#define _gloffset_GetProgramivARB driDispatchRemapTable[GetProgramivARB_remap_index]
-#define _gloffset_GetVertexAttribdvARB driDispatchRemapTable[GetVertexAttribdvARB_remap_index]
-#define _gloffset_GetVertexAttribfvARB driDispatchRemapTable[GetVertexAttribfvARB_remap_index]
-#define _gloffset_GetVertexAttribivARB driDispatchRemapTable[GetVertexAttribivARB_remap_index]
-#define _gloffset_ProgramEnvParameter4dARB driDispatchRemapTable[ProgramEnvParameter4dARB_remap_index]
-#define _gloffset_ProgramEnvParameter4dvARB driDispatchRemapTable[ProgramEnvParameter4dvARB_remap_index]
-#define _gloffset_ProgramEnvParameter4fARB driDispatchRemapTable[ProgramEnvParameter4fARB_remap_index]
-#define _gloffset_ProgramEnvParameter4fvARB driDispatchRemapTable[ProgramEnvParameter4fvARB_remap_index]
-#define _gloffset_ProgramLocalParameter4dARB driDispatchRemapTable[ProgramLocalParameter4dARB_remap_index]
-#define _gloffset_ProgramLocalParameter4dvARB driDispatchRemapTable[ProgramLocalParameter4dvARB_remap_index]
-#define _gloffset_ProgramLocalParameter4fARB driDispatchRemapTable[ProgramLocalParameter4fARB_remap_index]
-#define _gloffset_ProgramLocalParameter4fvARB driDispatchRemapTable[ProgramLocalParameter4fvARB_remap_index]
-#define _gloffset_ProgramStringARB driDispatchRemapTable[ProgramStringARB_remap_index]
-#define _gloffset_VertexAttrib1dARB driDispatchRemapTable[VertexAttrib1dARB_remap_index]
-#define _gloffset_VertexAttrib1dvARB driDispatchRemapTable[VertexAttrib1dvARB_remap_index]
-#define _gloffset_VertexAttrib1fARB driDispatchRemapTable[VertexAttrib1fARB_remap_index]
-#define _gloffset_VertexAttrib1fvARB driDispatchRemapTable[VertexAttrib1fvARB_remap_index]
-#define _gloffset_VertexAttrib1sARB driDispatchRemapTable[VertexAttrib1sARB_remap_index]
-#define _gloffset_VertexAttrib1svARB driDispatchRemapTable[VertexAttrib1svARB_remap_index]
-#define _gloffset_VertexAttrib2dARB driDispatchRemapTable[VertexAttrib2dARB_remap_index]
-#define _gloffset_VertexAttrib2dvARB driDispatchRemapTable[VertexAttrib2dvARB_remap_index]
-#define _gloffset_VertexAttrib2fARB driDispatchRemapTable[VertexAttrib2fARB_remap_index]
-#define _gloffset_VertexAttrib2fvARB driDispatchRemapTable[VertexAttrib2fvARB_remap_index]
-#define _gloffset_VertexAttrib2sARB driDispatchRemapTable[VertexAttrib2sARB_remap_index]
-#define _gloffset_VertexAttrib2svARB driDispatchRemapTable[VertexAttrib2svARB_remap_index]
-#define _gloffset_VertexAttrib3dARB driDispatchRemapTable[VertexAttrib3dARB_remap_index]
-#define _gloffset_VertexAttrib3dvARB driDispatchRemapTable[VertexAttrib3dvARB_remap_index]
-#define _gloffset_VertexAttrib3fARB driDispatchRemapTable[VertexAttrib3fARB_remap_index]
-#define _gloffset_VertexAttrib3fvARB driDispatchRemapTable[VertexAttrib3fvARB_remap_index]
-#define _gloffset_VertexAttrib3sARB driDispatchRemapTable[VertexAttrib3sARB_remap_index]
-#define _gloffset_VertexAttrib3svARB driDispatchRemapTable[VertexAttrib3svARB_remap_index]
-#define _gloffset_VertexAttrib4NbvARB driDispatchRemapTable[VertexAttrib4NbvARB_remap_index]
-#define _gloffset_VertexAttrib4NivARB driDispatchRemapTable[VertexAttrib4NivARB_remap_index]
-#define _gloffset_VertexAttrib4NsvARB driDispatchRemapTable[VertexAttrib4NsvARB_remap_index]
-#define _gloffset_VertexAttrib4NubARB driDispatchRemapTable[VertexAttrib4NubARB_remap_index]
-#define _gloffset_VertexAttrib4NubvARB driDispatchRemapTable[VertexAttrib4NubvARB_remap_index]
-#define _gloffset_VertexAttrib4NuivARB driDispatchRemapTable[VertexAttrib4NuivARB_remap_index]
-#define _gloffset_VertexAttrib4NusvARB driDispatchRemapTable[VertexAttrib4NusvARB_remap_index]
-#define _gloffset_VertexAttrib4bvARB driDispatchRemapTable[VertexAttrib4bvARB_remap_index]
-#define _gloffset_VertexAttrib4dARB driDispatchRemapTable[VertexAttrib4dARB_remap_index]
-#define _gloffset_VertexAttrib4dvARB driDispatchRemapTable[VertexAttrib4dvARB_remap_index]
-#define _gloffset_VertexAttrib4fARB driDispatchRemapTable[VertexAttrib4fARB_remap_index]
-#define _gloffset_VertexAttrib4fvARB driDispatchRemapTable[VertexAttrib4fvARB_remap_index]
-#define _gloffset_VertexAttrib4ivARB driDispatchRemapTable[VertexAttrib4ivARB_remap_index]
-#define _gloffset_VertexAttrib4sARB driDispatchRemapTable[VertexAttrib4sARB_remap_index]
-#define _gloffset_VertexAttrib4svARB driDispatchRemapTable[VertexAttrib4svARB_remap_index]
-#define _gloffset_VertexAttrib4ubvARB driDispatchRemapTable[VertexAttrib4ubvARB_remap_index]
-#define _gloffset_VertexAttrib4uivARB driDispatchRemapTable[VertexAttrib4uivARB_remap_index]
-#define _gloffset_VertexAttrib4usvARB driDispatchRemapTable[VertexAttrib4usvARB_remap_index]
-#define _gloffset_VertexAttribPointerARB driDispatchRemapTable[VertexAttribPointerARB_remap_index]
-#define _gloffset_BindBufferARB driDispatchRemapTable[BindBufferARB_remap_index]
-#define _gloffset_BufferDataARB driDispatchRemapTable[BufferDataARB_remap_index]
-#define _gloffset_BufferSubDataARB driDispatchRemapTable[BufferSubDataARB_remap_index]
-#define _gloffset_DeleteBuffersARB driDispatchRemapTable[DeleteBuffersARB_remap_index]
-#define _gloffset_GenBuffersARB driDispatchRemapTable[GenBuffersARB_remap_index]
-#define _gloffset_GetBufferParameterivARB driDispatchRemapTable[GetBufferParameterivARB_remap_index]
-#define _gloffset_GetBufferPointervARB driDispatchRemapTable[GetBufferPointervARB_remap_index]
-#define _gloffset_GetBufferSubDataARB driDispatchRemapTable[GetBufferSubDataARB_remap_index]
-#define _gloffset_IsBufferARB driDispatchRemapTable[IsBufferARB_remap_index]
-#define _gloffset_MapBufferARB driDispatchRemapTable[MapBufferARB_remap_index]
-#define _gloffset_UnmapBufferARB driDispatchRemapTable[UnmapBufferARB_remap_index]
-#define _gloffset_BeginQueryARB driDispatchRemapTable[BeginQueryARB_remap_index]
-#define _gloffset_DeleteQueriesARB driDispatchRemapTable[DeleteQueriesARB_remap_index]
-#define _gloffset_EndQueryARB driDispatchRemapTable[EndQueryARB_remap_index]
-#define _gloffset_GenQueriesARB driDispatchRemapTable[GenQueriesARB_remap_index]
-#define _gloffset_GetQueryObjectivARB driDispatchRemapTable[GetQueryObjectivARB_remap_index]
-#define _gloffset_GetQueryObjectuivARB driDispatchRemapTable[GetQueryObjectuivARB_remap_index]
-#define _gloffset_GetQueryivARB driDispatchRemapTable[GetQueryivARB_remap_index]
-#define _gloffset_IsQueryARB driDispatchRemapTable[IsQueryARB_remap_index]
-#define _gloffset_AttachObjectARB driDispatchRemapTable[AttachObjectARB_remap_index]
-#define _gloffset_CompileShaderARB driDispatchRemapTable[CompileShaderARB_remap_index]
-#define _gloffset_CreateProgramObjectARB driDispatchRemapTable[CreateProgramObjectARB_remap_index]
-#define _gloffset_CreateShaderObjectARB driDispatchRemapTable[CreateShaderObjectARB_remap_index]
-#define _gloffset_DeleteObjectARB driDispatchRemapTable[DeleteObjectARB_remap_index]
-#define _gloffset_DetachObjectARB driDispatchRemapTable[DetachObjectARB_remap_index]
-#define _gloffset_GetActiveUniformARB driDispatchRemapTable[GetActiveUniformARB_remap_index]
-#define _gloffset_GetAttachedObjectsARB driDispatchRemapTable[GetAttachedObjectsARB_remap_index]
-#define _gloffset_GetHandleARB driDispatchRemapTable[GetHandleARB_remap_index]
-#define _gloffset_GetInfoLogARB driDispatchRemapTable[GetInfoLogARB_remap_index]
-#define _gloffset_GetObjectParameterfvARB driDispatchRemapTable[GetObjectParameterfvARB_remap_index]
-#define _gloffset_GetObjectParameterivARB driDispatchRemapTable[GetObjectParameterivARB_remap_index]
-#define _gloffset_GetShaderSourceARB driDispatchRemapTable[GetShaderSourceARB_remap_index]
-#define _gloffset_GetUniformLocationARB driDispatchRemapTable[GetUniformLocationARB_remap_index]
-#define _gloffset_GetUniformfvARB driDispatchRemapTable[GetUniformfvARB_remap_index]
-#define _gloffset_GetUniformivARB driDispatchRemapTable[GetUniformivARB_remap_index]
-#define _gloffset_LinkProgramARB driDispatchRemapTable[LinkProgramARB_remap_index]
-#define _gloffset_ShaderSourceARB driDispatchRemapTable[ShaderSourceARB_remap_index]
-#define _gloffset_Uniform1fARB driDispatchRemapTable[Uniform1fARB_remap_index]
-#define _gloffset_Uniform1fvARB driDispatchRemapTable[Uniform1fvARB_remap_index]
-#define _gloffset_Uniform1iARB driDispatchRemapTable[Uniform1iARB_remap_index]
-#define _gloffset_Uniform1ivARB driDispatchRemapTable[Uniform1ivARB_remap_index]
-#define _gloffset_Uniform2fARB driDispatchRemapTable[Uniform2fARB_remap_index]
-#define _gloffset_Uniform2fvARB driDispatchRemapTable[Uniform2fvARB_remap_index]
-#define _gloffset_Uniform2iARB driDispatchRemapTable[Uniform2iARB_remap_index]
-#define _gloffset_Uniform2ivARB driDispatchRemapTable[Uniform2ivARB_remap_index]
-#define _gloffset_Uniform3fARB driDispatchRemapTable[Uniform3fARB_remap_index]
-#define _gloffset_Uniform3fvARB driDispatchRemapTable[Uniform3fvARB_remap_index]
-#define _gloffset_Uniform3iARB driDispatchRemapTable[Uniform3iARB_remap_index]
-#define _gloffset_Uniform3ivARB driDispatchRemapTable[Uniform3ivARB_remap_index]
-#define _gloffset_Uniform4fARB driDispatchRemapTable[Uniform4fARB_remap_index]
-#define _gloffset_Uniform4fvARB driDispatchRemapTable[Uniform4fvARB_remap_index]
-#define _gloffset_Uniform4iARB driDispatchRemapTable[Uniform4iARB_remap_index]
-#define _gloffset_Uniform4ivARB driDispatchRemapTable[Uniform4ivARB_remap_index]
-#define _gloffset_UniformMatrix2fvARB driDispatchRemapTable[UniformMatrix2fvARB_remap_index]
-#define _gloffset_UniformMatrix3fvARB driDispatchRemapTable[UniformMatrix3fvARB_remap_index]
-#define _gloffset_UniformMatrix4fvARB driDispatchRemapTable[UniformMatrix4fvARB_remap_index]
-#define _gloffset_UseProgramObjectARB driDispatchRemapTable[UseProgramObjectARB_remap_index]
-#define _gloffset_ValidateProgramARB driDispatchRemapTable[ValidateProgramARB_remap_index]
-#define _gloffset_BindAttribLocationARB driDispatchRemapTable[BindAttribLocationARB_remap_index]
-#define _gloffset_GetActiveAttribARB driDispatchRemapTable[GetActiveAttribARB_remap_index]
-#define _gloffset_GetAttribLocationARB driDispatchRemapTable[GetAttribLocationARB_remap_index]
-#define _gloffset_DrawBuffersARB driDispatchRemapTable[DrawBuffersARB_remap_index]
-#define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_remap_index]
-#define _gloffset_GetPixelTexGenParameterfvSGIS driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index]
-#define _gloffset_GetPixelTexGenParameterivSGIS driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index]
-#define _gloffset_PixelTexGenParameterfSGIS driDispatchRemapTable[PixelTexGenParameterfSGIS_remap_index]
-#define _gloffset_PixelTexGenParameterfvSGIS driDispatchRemapTable[PixelTexGenParameterfvSGIS_remap_index]
-#define _gloffset_PixelTexGenParameteriSGIS driDispatchRemapTable[PixelTexGenParameteriSGIS_remap_index]
-#define _gloffset_PixelTexGenParameterivSGIS driDispatchRemapTable[PixelTexGenParameterivSGIS_remap_index]
-#define _gloffset_SampleMaskSGIS driDispatchRemapTable[SampleMaskSGIS_remap_index]
-#define _gloffset_SamplePatternSGIS driDispatchRemapTable[SamplePatternSGIS_remap_index]
-#define _gloffset_ColorPointerEXT driDispatchRemapTable[ColorPointerEXT_remap_index]
-#define _gloffset_EdgeFlagPointerEXT driDispatchRemapTable[EdgeFlagPointerEXT_remap_index]
-#define _gloffset_IndexPointerEXT driDispatchRemapTable[IndexPointerEXT_remap_index]
-#define _gloffset_NormalPointerEXT driDispatchRemapTable[NormalPointerEXT_remap_index]
-#define _gloffset_TexCoordPointerEXT driDispatchRemapTable[TexCoordPointerEXT_remap_index]
-#define _gloffset_VertexPointerEXT driDispatchRemapTable[VertexPointerEXT_remap_index]
-#define _gloffset_PointParameterfEXT driDispatchRemapTable[PointParameterfEXT_remap_index]
-#define _gloffset_PointParameterfvEXT driDispatchRemapTable[PointParameterfvEXT_remap_index]
-#define _gloffset_LockArraysEXT driDispatchRemapTable[LockArraysEXT_remap_index]
-#define _gloffset_UnlockArraysEXT driDispatchRemapTable[UnlockArraysEXT_remap_index]
-#define _gloffset_CullParameterdvEXT driDispatchRemapTable[CullParameterdvEXT_remap_index]
-#define _gloffset_CullParameterfvEXT driDispatchRemapTable[CullParameterfvEXT_remap_index]
-#define _gloffset_SecondaryColor3bEXT driDispatchRemapTable[SecondaryColor3bEXT_remap_index]
-#define _gloffset_SecondaryColor3bvEXT driDispatchRemapTable[SecondaryColor3bvEXT_remap_index]
-#define _gloffset_SecondaryColor3dEXT driDispatchRemapTable[SecondaryColor3dEXT_remap_index]
-#define _gloffset_SecondaryColor3dvEXT driDispatchRemapTable[SecondaryColor3dvEXT_remap_index]
-#define _gloffset_SecondaryColor3fEXT driDispatchRemapTable[SecondaryColor3fEXT_remap_index]
-#define _gloffset_SecondaryColor3fvEXT driDispatchRemapTable[SecondaryColor3fvEXT_remap_index]
-#define _gloffset_SecondaryColor3iEXT driDispatchRemapTable[SecondaryColor3iEXT_remap_index]
-#define _gloffset_SecondaryColor3ivEXT driDispatchRemapTable[SecondaryColor3ivEXT_remap_index]
-#define _gloffset_SecondaryColor3sEXT driDispatchRemapTable[SecondaryColor3sEXT_remap_index]
-#define _gloffset_SecondaryColor3svEXT driDispatchRemapTable[SecondaryColor3svEXT_remap_index]
-#define _gloffset_SecondaryColor3ubEXT driDispatchRemapTable[SecondaryColor3ubEXT_remap_index]
-#define _gloffset_SecondaryColor3ubvEXT driDispatchRemapTable[SecondaryColor3ubvEXT_remap_index]
-#define _gloffset_SecondaryColor3uiEXT driDispatchRemapTable[SecondaryColor3uiEXT_remap_index]
-#define _gloffset_SecondaryColor3uivEXT driDispatchRemapTable[SecondaryColor3uivEXT_remap_index]
-#define _gloffset_SecondaryColor3usEXT driDispatchRemapTable[SecondaryColor3usEXT_remap_index]
-#define _gloffset_SecondaryColor3usvEXT driDispatchRemapTable[SecondaryColor3usvEXT_remap_index]
-#define _gloffset_SecondaryColorPointerEXT driDispatchRemapTable[SecondaryColorPointerEXT_remap_index]
-#define _gloffset_MultiDrawArraysEXT driDispatchRemapTable[MultiDrawArraysEXT_remap_index]
-#define _gloffset_MultiDrawElementsEXT driDispatchRemapTable[MultiDrawElementsEXT_remap_index]
-#define _gloffset_FogCoordPointerEXT driDispatchRemapTable[FogCoordPointerEXT_remap_index]
-#define _gloffset_FogCoorddEXT driDispatchRemapTable[FogCoorddEXT_remap_index]
-#define _gloffset_FogCoorddvEXT driDispatchRemapTable[FogCoorddvEXT_remap_index]
-#define _gloffset_FogCoordfEXT driDispatchRemapTable[FogCoordfEXT_remap_index]
-#define _gloffset_FogCoordfvEXT driDispatchRemapTable[FogCoordfvEXT_remap_index]
-#define _gloffset_PixelTexGenSGIX driDispatchRemapTable[PixelTexGenSGIX_remap_index]
-#define _gloffset_BlendFuncSeparateEXT driDispatchRemapTable[BlendFuncSeparateEXT_remap_index]
-#define _gloffset_FlushVertexArrayRangeNV driDispatchRemapTable[FlushVertexArrayRangeNV_remap_index]
-#define _gloffset_VertexArrayRangeNV driDispatchRemapTable[VertexArrayRangeNV_remap_index]
-#define _gloffset_CombinerInputNV driDispatchRemapTable[CombinerInputNV_remap_index]
-#define _gloffset_CombinerOutputNV driDispatchRemapTable[CombinerOutputNV_remap_index]
-#define _gloffset_CombinerParameterfNV driDispatchRemapTable[CombinerParameterfNV_remap_index]
-#define _gloffset_CombinerParameterfvNV driDispatchRemapTable[CombinerParameterfvNV_remap_index]
-#define _gloffset_CombinerParameteriNV driDispatchRemapTable[CombinerParameteriNV_remap_index]
-#define _gloffset_CombinerParameterivNV driDispatchRemapTable[CombinerParameterivNV_remap_index]
-#define _gloffset_FinalCombinerInputNV driDispatchRemapTable[FinalCombinerInputNV_remap_index]
-#define _gloffset_GetCombinerInputParameterfvNV driDispatchRemapTable[GetCombinerInputParameterfvNV_remap_index]
-#define _gloffset_GetCombinerInputParameterivNV driDispatchRemapTable[GetCombinerInputParameterivNV_remap_index]
-#define _gloffset_GetCombinerOutputParameterfvNV driDispatchRemapTable[GetCombinerOutputParameterfvNV_remap_index]
-#define _gloffset_GetCombinerOutputParameterivNV driDispatchRemapTable[GetCombinerOutputParameterivNV_remap_index]
-#define _gloffset_GetFinalCombinerInputParameterfvNV driDispatchRemapTable[GetFinalCombinerInputParameterfvNV_remap_index]
-#define _gloffset_GetFinalCombinerInputParameterivNV driDispatchRemapTable[GetFinalCombinerInputParameterivNV_remap_index]
-#define _gloffset_ResizeBuffersMESA driDispatchRemapTable[ResizeBuffersMESA_remap_index]
-#define _gloffset_WindowPos2dMESA driDispatchRemapTable[WindowPos2dMESA_remap_index]
-#define _gloffset_WindowPos2dvMESA driDispatchRemapTable[WindowPos2dvMESA_remap_index]
-#define _gloffset_WindowPos2fMESA driDispatchRemapTable[WindowPos2fMESA_remap_index]
-#define _gloffset_WindowPos2fvMESA driDispatchRemapTable[WindowPos2fvMESA_remap_index]
-#define _gloffset_WindowPos2iMESA driDispatchRemapTable[WindowPos2iMESA_remap_index]
-#define _gloffset_WindowPos2ivMESA driDispatchRemapTable[WindowPos2ivMESA_remap_index]
-#define _gloffset_WindowPos2sMESA driDispatchRemapTable[WindowPos2sMESA_remap_index]
-#define _gloffset_WindowPos2svMESA driDispatchRemapTable[WindowPos2svMESA_remap_index]
-#define _gloffset_WindowPos3dMESA driDispatchRemapTable[WindowPos3dMESA_remap_index]
-#define _gloffset_WindowPos3dvMESA driDispatchRemapTable[WindowPos3dvMESA_remap_index]
-#define _gloffset_WindowPos3fMESA driDispatchRemapTable[WindowPos3fMESA_remap_index]
-#define _gloffset_WindowPos3fvMESA driDispatchRemapTable[WindowPos3fvMESA_remap_index]
-#define _gloffset_WindowPos3iMESA driDispatchRemapTable[WindowPos3iMESA_remap_index]
-#define _gloffset_WindowPos3ivMESA driDispatchRemapTable[WindowPos3ivMESA_remap_index]
-#define _gloffset_WindowPos3sMESA driDispatchRemapTable[WindowPos3sMESA_remap_index]
-#define _gloffset_WindowPos3svMESA driDispatchRemapTable[WindowPos3svMESA_remap_index]
-#define _gloffset_WindowPos4dMESA driDispatchRemapTable[WindowPos4dMESA_remap_index]
-#define _gloffset_WindowPos4dvMESA driDispatchRemapTable[WindowPos4dvMESA_remap_index]
-#define _gloffset_WindowPos4fMESA driDispatchRemapTable[WindowPos4fMESA_remap_index]
-#define _gloffset_WindowPos4fvMESA driDispatchRemapTable[WindowPos4fvMESA_remap_index]
-#define _gloffset_WindowPos4iMESA driDispatchRemapTable[WindowPos4iMESA_remap_index]
-#define _gloffset_WindowPos4ivMESA driDispatchRemapTable[WindowPos4ivMESA_remap_index]
-#define _gloffset_WindowPos4sMESA driDispatchRemapTable[WindowPos4sMESA_remap_index]
-#define _gloffset_WindowPos4svMESA driDispatchRemapTable[WindowPos4svMESA_remap_index]
-#define _gloffset_MultiModeDrawArraysIBM driDispatchRemapTable[MultiModeDrawArraysIBM_remap_index]
-#define _gloffset_MultiModeDrawElementsIBM driDispatchRemapTable[MultiModeDrawElementsIBM_remap_index]
-#define _gloffset_DeleteFencesNV driDispatchRemapTable[DeleteFencesNV_remap_index]
-#define _gloffset_FinishFenceNV driDispatchRemapTable[FinishFenceNV_remap_index]
-#define _gloffset_GenFencesNV driDispatchRemapTable[GenFencesNV_remap_index]
-#define _gloffset_GetFenceivNV driDispatchRemapTable[GetFenceivNV_remap_index]
-#define _gloffset_IsFenceNV driDispatchRemapTable[IsFenceNV_remap_index]
-#define _gloffset_SetFenceNV driDispatchRemapTable[SetFenceNV_remap_index]
-#define _gloffset_TestFenceNV driDispatchRemapTable[TestFenceNV_remap_index]
-#define _gloffset_AreProgramsResidentNV driDispatchRemapTable[AreProgramsResidentNV_remap_index]
-#define _gloffset_BindProgramNV driDispatchRemapTable[BindProgramNV_remap_index]
-#define _gloffset_DeleteProgramsNV driDispatchRemapTable[DeleteProgramsNV_remap_index]
-#define _gloffset_ExecuteProgramNV driDispatchRemapTable[ExecuteProgramNV_remap_index]
-#define _gloffset_GenProgramsNV driDispatchRemapTable[GenProgramsNV_remap_index]
-#define _gloffset_GetProgramParameterdvNV driDispatchRemapTable[GetProgramParameterdvNV_remap_index]
-#define _gloffset_GetProgramParameterfvNV driDispatchRemapTable[GetProgramParameterfvNV_remap_index]
-#define _gloffset_GetProgramStringNV driDispatchRemapTable[GetProgramStringNV_remap_index]
-#define _gloffset_GetProgramivNV driDispatchRemapTable[GetProgramivNV_remap_index]
-#define _gloffset_GetTrackMatrixivNV driDispatchRemapTable[GetTrackMatrixivNV_remap_index]
-#define _gloffset_GetVertexAttribPointervNV driDispatchRemapTable[GetVertexAttribPointervNV_remap_index]
-#define _gloffset_GetVertexAttribdvNV driDispatchRemapTable[GetVertexAttribdvNV_remap_index]
-#define _gloffset_GetVertexAttribfvNV driDispatchRemapTable[GetVertexAttribfvNV_remap_index]
-#define _gloffset_GetVertexAttribivNV driDispatchRemapTable[GetVertexAttribivNV_remap_index]
-#define _gloffset_IsProgramNV driDispatchRemapTable[IsProgramNV_remap_index]
-#define _gloffset_LoadProgramNV driDispatchRemapTable[LoadProgramNV_remap_index]
-#define _gloffset_ProgramParameters4dvNV driDispatchRemapTable[ProgramParameters4dvNV_remap_index]
-#define _gloffset_ProgramParameters4fvNV driDispatchRemapTable[ProgramParameters4fvNV_remap_index]
-#define _gloffset_RequestResidentProgramsNV driDispatchRemapTable[RequestResidentProgramsNV_remap_index]
-#define _gloffset_TrackMatrixNV driDispatchRemapTable[TrackMatrixNV_remap_index]
-#define _gloffset_VertexAttrib1dNV driDispatchRemapTable[VertexAttrib1dNV_remap_index]
-#define _gloffset_VertexAttrib1dvNV driDispatchRemapTable[VertexAttrib1dvNV_remap_index]
-#define _gloffset_VertexAttrib1fNV driDispatchRemapTable[VertexAttrib1fNV_remap_index]
-#define _gloffset_VertexAttrib1fvNV driDispatchRemapTable[VertexAttrib1fvNV_remap_index]
-#define _gloffset_VertexAttrib1sNV driDispatchRemapTable[VertexAttrib1sNV_remap_index]
-#define _gloffset_VertexAttrib1svNV driDispatchRemapTable[VertexAttrib1svNV_remap_index]
-#define _gloffset_VertexAttrib2dNV driDispatchRemapTable[VertexAttrib2dNV_remap_index]
-#define _gloffset_VertexAttrib2dvNV driDispatchRemapTable[VertexAttrib2dvNV_remap_index]
-#define _gloffset_VertexAttrib2fNV driDispatchRemapTable[VertexAttrib2fNV_remap_index]
-#define _gloffset_VertexAttrib2fvNV driDispatchRemapTable[VertexAttrib2fvNV_remap_index]
-#define _gloffset_VertexAttrib2sNV driDispatchRemapTable[VertexAttrib2sNV_remap_index]
-#define _gloffset_VertexAttrib2svNV driDispatchRemapTable[VertexAttrib2svNV_remap_index]
-#define _gloffset_VertexAttrib3dNV driDispatchRemapTable[VertexAttrib3dNV_remap_index]
-#define _gloffset_VertexAttrib3dvNV driDispatchRemapTable[VertexAttrib3dvNV_remap_index]
-#define _gloffset_VertexAttrib3fNV driDispatchRemapTable[VertexAttrib3fNV_remap_index]
-#define _gloffset_VertexAttrib3fvNV driDispatchRemapTable[VertexAttrib3fvNV_remap_index]
-#define _gloffset_VertexAttrib3sNV driDispatchRemapTable[VertexAttrib3sNV_remap_index]
-#define _gloffset_VertexAttrib3svNV driDispatchRemapTable[VertexAttrib3svNV_remap_index]
-#define _gloffset_VertexAttrib4dNV driDispatchRemapTable[VertexAttrib4dNV_remap_index]
-#define _gloffset_VertexAttrib4dvNV driDispatchRemapTable[VertexAttrib4dvNV_remap_index]
-#define _gloffset_VertexAttrib4fNV driDispatchRemapTable[VertexAttrib4fNV_remap_index]
-#define _gloffset_VertexAttrib4fvNV driDispatchRemapTable[VertexAttrib4fvNV_remap_index]
-#define _gloffset_VertexAttrib4sNV driDispatchRemapTable[VertexAttrib4sNV_remap_index]
-#define _gloffset_VertexAttrib4svNV driDispatchRemapTable[VertexAttrib4svNV_remap_index]
-#define _gloffset_VertexAttrib4ubNV driDispatchRemapTable[VertexAttrib4ubNV_remap_index]
-#define _gloffset_VertexAttrib4ubvNV driDispatchRemapTable[VertexAttrib4ubvNV_remap_index]
-#define _gloffset_VertexAttribPointerNV driDispatchRemapTable[VertexAttribPointerNV_remap_index]
-#define _gloffset_VertexAttribs1dvNV driDispatchRemapTable[VertexAttribs1dvNV_remap_index]
-#define _gloffset_VertexAttribs1fvNV driDispatchRemapTable[VertexAttribs1fvNV_remap_index]
-#define _gloffset_VertexAttribs1svNV driDispatchRemapTable[VertexAttribs1svNV_remap_index]
-#define _gloffset_VertexAttribs2dvNV driDispatchRemapTable[VertexAttribs2dvNV_remap_index]
-#define _gloffset_VertexAttribs2fvNV driDispatchRemapTable[VertexAttribs2fvNV_remap_index]
-#define _gloffset_VertexAttribs2svNV driDispatchRemapTable[VertexAttribs2svNV_remap_index]
-#define _gloffset_VertexAttribs3dvNV driDispatchRemapTable[VertexAttribs3dvNV_remap_index]
-#define _gloffset_VertexAttribs3fvNV driDispatchRemapTable[VertexAttribs3fvNV_remap_index]
-#define _gloffset_VertexAttribs3svNV driDispatchRemapTable[VertexAttribs3svNV_remap_index]
-#define _gloffset_VertexAttribs4dvNV driDispatchRemapTable[VertexAttribs4dvNV_remap_index]
-#define _gloffset_VertexAttribs4fvNV driDispatchRemapTable[VertexAttribs4fvNV_remap_index]
-#define _gloffset_VertexAttribs4svNV driDispatchRemapTable[VertexAttribs4svNV_remap_index]
-#define _gloffset_VertexAttribs4ubvNV driDispatchRemapTable[VertexAttribs4ubvNV_remap_index]
-#define _gloffset_AlphaFragmentOp1ATI driDispatchRemapTable[AlphaFragmentOp1ATI_remap_index]
-#define _gloffset_AlphaFragmentOp2ATI driDispatchRemapTable[AlphaFragmentOp2ATI_remap_index]
-#define _gloffset_AlphaFragmentOp3ATI driDispatchRemapTable[AlphaFragmentOp3ATI_remap_index]
-#define _gloffset_BeginFragmentShaderATI driDispatchRemapTable[BeginFragmentShaderATI_remap_index]
-#define _gloffset_BindFragmentShaderATI driDispatchRemapTable[BindFragmentShaderATI_remap_index]
-#define _gloffset_ColorFragmentOp1ATI driDispatchRemapTable[ColorFragmentOp1ATI_remap_index]
-#define _gloffset_ColorFragmentOp2ATI driDispatchRemapTable[ColorFragmentOp2ATI_remap_index]
-#define _gloffset_ColorFragmentOp3ATI driDispatchRemapTable[ColorFragmentOp3ATI_remap_index]
-#define _gloffset_DeleteFragmentShaderATI driDispatchRemapTable[DeleteFragmentShaderATI_remap_index]
-#define _gloffset_EndFragmentShaderATI driDispatchRemapTable[EndFragmentShaderATI_remap_index]
-#define _gloffset_GenFragmentShadersATI driDispatchRemapTable[GenFragmentShadersATI_remap_index]
-#define _gloffset_PassTexCoordATI driDispatchRemapTable[PassTexCoordATI_remap_index]
-#define _gloffset_SampleMapATI driDispatchRemapTable[SampleMapATI_remap_index]
-#define _gloffset_SetFragmentShaderConstantATI driDispatchRemapTable[SetFragmentShaderConstantATI_remap_index]
-#define _gloffset_PointParameteriNV driDispatchRemapTable[PointParameteriNV_remap_index]
-#define _gloffset_PointParameterivNV driDispatchRemapTable[PointParameterivNV_remap_index]
-#define _gloffset_ActiveStencilFaceEXT driDispatchRemapTable[ActiveStencilFaceEXT_remap_index]
-#define _gloffset_BindVertexArrayAPPLE driDispatchRemapTable[BindVertexArrayAPPLE_remap_index]
-#define _gloffset_DeleteVertexArraysAPPLE driDispatchRemapTable[DeleteVertexArraysAPPLE_remap_index]
-#define _gloffset_GenVertexArraysAPPLE driDispatchRemapTable[GenVertexArraysAPPLE_remap_index]
-#define _gloffset_IsVertexArrayAPPLE driDispatchRemapTable[IsVertexArrayAPPLE_remap_index]
-#define _gloffset_GetProgramNamedParameterdvNV driDispatchRemapTable[GetProgramNamedParameterdvNV_remap_index]
-#define _gloffset_GetProgramNamedParameterfvNV driDispatchRemapTable[GetProgramNamedParameterfvNV_remap_index]
-#define _gloffset_ProgramNamedParameter4dNV driDispatchRemapTable[ProgramNamedParameter4dNV_remap_index]
-#define _gloffset_ProgramNamedParameter4dvNV driDispatchRemapTable[ProgramNamedParameter4dvNV_remap_index]
-#define _gloffset_ProgramNamedParameter4fNV driDispatchRemapTable[ProgramNamedParameter4fNV_remap_index]
-#define _gloffset_ProgramNamedParameter4fvNV driDispatchRemapTable[ProgramNamedParameter4fvNV_remap_index]
-#define _gloffset_DepthBoundsEXT driDispatchRemapTable[DepthBoundsEXT_remap_index]
-#define _gloffset_BlendEquationSeparateEXT driDispatchRemapTable[BlendEquationSeparateEXT_remap_index]
-#define _gloffset_BindFramebufferEXT driDispatchRemapTable[BindFramebufferEXT_remap_index]
-#define _gloffset_BindRenderbufferEXT driDispatchRemapTable[BindRenderbufferEXT_remap_index]
-#define _gloffset_CheckFramebufferStatusEXT driDispatchRemapTable[CheckFramebufferStatusEXT_remap_index]
-#define _gloffset_DeleteFramebuffersEXT driDispatchRemapTable[DeleteFramebuffersEXT_remap_index]
-#define _gloffset_DeleteRenderbuffersEXT driDispatchRemapTable[DeleteRenderbuffersEXT_remap_index]
-#define _gloffset_FramebufferRenderbufferEXT driDispatchRemapTable[FramebufferRenderbufferEXT_remap_index]
-#define _gloffset_FramebufferTexture1DEXT driDispatchRemapTable[FramebufferTexture1DEXT_remap_index]
-#define _gloffset_FramebufferTexture2DEXT driDispatchRemapTable[FramebufferTexture2DEXT_remap_index]
-#define _gloffset_FramebufferTexture3DEXT driDispatchRemapTable[FramebufferTexture3DEXT_remap_index]
-#define _gloffset_GenFramebuffersEXT driDispatchRemapTable[GenFramebuffersEXT_remap_index]
-#define _gloffset_GenRenderbuffersEXT driDispatchRemapTable[GenRenderbuffersEXT_remap_index]
-#define _gloffset_GenerateMipmapEXT driDispatchRemapTable[GenerateMipmapEXT_remap_index]
-#define _gloffset_GetFramebufferAttachmentParameterivEXT driDispatchRemapTable[GetFramebufferAttachmentParameterivEXT_remap_index]
-#define _gloffset_GetRenderbufferParameterivEXT driDispatchRemapTable[GetRenderbufferParameterivEXT_remap_index]
-#define _gloffset_IsFramebufferEXT driDispatchRemapTable[IsFramebufferEXT_remap_index]
-#define _gloffset_IsRenderbufferEXT driDispatchRemapTable[IsRenderbufferEXT_remap_index]
-#define _gloffset_RenderbufferStorageEXT driDispatchRemapTable[RenderbufferStorageEXT_remap_index]
-#define _gloffset_BlitFramebufferEXT driDispatchRemapTable[BlitFramebufferEXT_remap_index]
-#define _gloffset_FramebufferTextureLayerEXT driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index]
-#define _gloffset_StencilFuncSeparateATI driDispatchRemapTable[StencilFuncSeparateATI_remap_index]
-#define _gloffset_ProgramEnvParameters4fvEXT driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index]
-#define _gloffset_ProgramLocalParameters4fvEXT driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index]
-#define _gloffset_GetQueryObjecti64vEXT driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index]
-#define _gloffset_GetQueryObjectui64vEXT driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index]
-
-#endif /* !defined(IN_DRI_DRIVER) */
-
-#endif /* !defined( _GLAPI_OFFSETS_H_ ) */
diff --git a/GL/glx/glapitable.h b/GL/glx/glapitable.h
deleted file mode 100644
index 48941f5..0000000
--- a/GL/glx/glapitable.h
+++ /dev/null
@@ -1,816 +0,0 @@
-/* DO NOT EDIT - This file generated automatically by gl_table.py (from Mesa) script */
-
-/*
- * Copyright (C) 1999-2003  Brian Paul   All Rights Reserved.
- * (C) Copyright IBM Corporation 2004
- * 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
- * BRIAN PAUL, 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.
- */
-
-#if !defined( _GLAPI_TABLE_H_ )
-#  define _GLAPI_TABLE_H_
-
-#ifndef GLAPIENTRYP
-# ifndef GLAPIENTRY
-#  define GLAPIENTRY
-# endif
-
-# define GLAPIENTRYP GLAPIENTRY *
-#endif
-
-typedef void (*_glapi_proc)(void); /* generic function pointer */
-
-struct _glapi_table
-{
-   void (GLAPIENTRYP NewList)(GLuint list, GLenum mode); /* 0 */
-   void (GLAPIENTRYP EndList)(void); /* 1 */
-   void (GLAPIENTRYP CallList)(GLuint list); /* 2 */
-   void (GLAPIENTRYP CallLists)(GLsizei n, GLenum type, const GLvoid * lists); /* 3 */
-   void (GLAPIENTRYP DeleteLists)(GLuint list, GLsizei range); /* 4 */
-   GLuint (GLAPIENTRYP GenLists)(GLsizei range); /* 5 */
-   void (GLAPIENTRYP ListBase)(GLuint base); /* 6 */
-   void (GLAPIENTRYP Begin)(GLenum mode); /* 7 */
-   void (GLAPIENTRYP Bitmap)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap); /* 8 */
-   void (GLAPIENTRYP Color3b)(GLbyte red, GLbyte green, GLbyte blue); /* 9 */
-   void (GLAPIENTRYP Color3bv)(const GLbyte * v); /* 10 */
-   void (GLAPIENTRYP Color3d)(GLdouble red, GLdouble green, GLdouble blue); /* 11 */
-   void (GLAPIENTRYP Color3dv)(const GLdouble * v); /* 12 */
-   void (GLAPIENTRYP Color3f)(GLfloat red, GLfloat green, GLfloat blue); /* 13 */
-   void (GLAPIENTRYP Color3fv)(const GLfloat * v); /* 14 */
-   void (GLAPIENTRYP Color3i)(GLint red, GLint green, GLint blue); /* 15 */
-   void (GLAPIENTRYP Color3iv)(const GLint * v); /* 16 */
-   void (GLAPIENTRYP Color3s)(GLshort red, GLshort green, GLshort blue); /* 17 */
-   void (GLAPIENTRYP Color3sv)(const GLshort * v); /* 18 */
-   void (GLAPIENTRYP Color3ub)(GLubyte red, GLubyte green, GLubyte blue); /* 19 */
-   void (GLAPIENTRYP Color3ubv)(const GLubyte * v); /* 20 */
-   void (GLAPIENTRYP Color3ui)(GLuint red, GLuint green, GLuint blue); /* 21 */
-   void (GLAPIENTRYP Color3uiv)(const GLuint * v); /* 22 */
-   void (GLAPIENTRYP Color3us)(GLushort red, GLushort green, GLushort blue); /* 23 */
-   void (GLAPIENTRYP Color3usv)(const GLushort * v); /* 24 */
-   void (GLAPIENTRYP Color4b)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); /* 25 */
-   void (GLAPIENTRYP Color4bv)(const GLbyte * v); /* 26 */
-   void (GLAPIENTRYP Color4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); /* 27 */
-   void (GLAPIENTRYP Color4dv)(const GLdouble * v); /* 28 */
-   void (GLAPIENTRYP Color4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); /* 29 */
-   void (GLAPIENTRYP Color4fv)(const GLfloat * v); /* 30 */
-   void (GLAPIENTRYP Color4i)(GLint red, GLint green, GLint blue, GLint alpha); /* 31 */
-   void (GLAPIENTRYP Color4iv)(const GLint * v); /* 32 */
-   void (GLAPIENTRYP Color4s)(GLshort red, GLshort green, GLshort blue, GLshort alpha); /* 33 */
-   void (GLAPIENTRYP Color4sv)(const GLshort * v); /* 34 */
-   void (GLAPIENTRYP Color4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); /* 35 */
-   void (GLAPIENTRYP Color4ubv)(const GLubyte * v); /* 36 */
-   void (GLAPIENTRYP Color4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha); /* 37 */
-   void (GLAPIENTRYP Color4uiv)(const GLuint * v); /* 38 */
-   void (GLAPIENTRYP Color4us)(GLushort red, GLushort green, GLushort blue, GLushort alpha); /* 39 */
-   void (GLAPIENTRYP Color4usv)(const GLushort * v); /* 40 */
-   void (GLAPIENTRYP EdgeFlag)(GLboolean flag); /* 41 */
-   void (GLAPIENTRYP EdgeFlagv)(const GLboolean * flag); /* 42 */
-   void (GLAPIENTRYP End)(void); /* 43 */
-   void (GLAPIENTRYP Indexd)(GLdouble c); /* 44 */
-   void (GLAPIENTRYP Indexdv)(const GLdouble * c); /* 45 */
-   void (GLAPIENTRYP Indexf)(GLfloat c); /* 46 */
-   void (GLAPIENTRYP Indexfv)(const GLfloat * c); /* 47 */
-   void (GLAPIENTRYP Indexi)(GLint c); /* 48 */
-   void (GLAPIENTRYP Indexiv)(const GLint * c); /* 49 */
-   void (GLAPIENTRYP Indexs)(GLshort c); /* 50 */
-   void (GLAPIENTRYP Indexsv)(const GLshort * c); /* 51 */
-   void (GLAPIENTRYP Normal3b)(GLbyte nx, GLbyte ny, GLbyte nz); /* 52 */
-   void (GLAPIENTRYP Normal3bv)(const GLbyte * v); /* 53 */
-   void (GLAPIENTRYP Normal3d)(GLdouble nx, GLdouble ny, GLdouble nz); /* 54 */
-   void (GLAPIENTRYP Normal3dv)(const GLdouble * v); /* 55 */
-   void (GLAPIENTRYP Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz); /* 56 */
-   void (GLAPIENTRYP Normal3fv)(const GLfloat * v); /* 57 */
-   void (GLAPIENTRYP Normal3i)(GLint nx, GLint ny, GLint nz); /* 58 */
-   void (GLAPIENTRYP Normal3iv)(const GLint * v); /* 59 */
-   void (GLAPIENTRYP Normal3s)(GLshort nx, GLshort ny, GLshort nz); /* 60 */
-   void (GLAPIENTRYP Normal3sv)(const GLshort * v); /* 61 */
-   void (GLAPIENTRYP RasterPos2d)(GLdouble x, GLdouble y); /* 62 */
-   void (GLAPIENTRYP RasterPos2dv)(const GLdouble * v); /* 63 */
-   void (GLAPIENTRYP RasterPos2f)(GLfloat x, GLfloat y); /* 64 */
-   void (GLAPIENTRYP RasterPos2fv)(const GLfloat * v); /* 65 */
-   void (GLAPIENTRYP RasterPos2i)(GLint x, GLint y); /* 66 */
-   void (GLAPIENTRYP RasterPos2iv)(const GLint * v); /* 67 */
-   void (GLAPIENTRYP RasterPos2s)(GLshort x, GLshort y); /* 68 */
-   void (GLAPIENTRYP RasterPos2sv)(const GLshort * v); /* 69 */
-   void (GLAPIENTRYP RasterPos3d)(GLdouble x, GLdouble y, GLdouble z); /* 70 */
-   void (GLAPIENTRYP RasterPos3dv)(const GLdouble * v); /* 71 */
-   void (GLAPIENTRYP RasterPos3f)(GLfloat x, GLfloat y, GLfloat z); /* 72 */
-   void (GLAPIENTRYP RasterPos3fv)(const GLfloat * v); /* 73 */
-   void (GLAPIENTRYP RasterPos3i)(GLint x, GLint y, GLint z); /* 74 */
-   void (GLAPIENTRYP RasterPos3iv)(const GLint * v); /* 75 */
-   void (GLAPIENTRYP RasterPos3s)(GLshort x, GLshort y, GLshort z); /* 76 */
-   void (GLAPIENTRYP RasterPos3sv)(const GLshort * v); /* 77 */
-   void (GLAPIENTRYP RasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 78 */
-   void (GLAPIENTRYP RasterPos4dv)(const GLdouble * v); /* 79 */
-   void (GLAPIENTRYP RasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 80 */
-   void (GLAPIENTRYP RasterPos4fv)(const GLfloat * v); /* 81 */
-   void (GLAPIENTRYP RasterPos4i)(GLint x, GLint y, GLint z, GLint w); /* 82 */
-   void (GLAPIENTRYP RasterPos4iv)(const GLint * v); /* 83 */
-   void (GLAPIENTRYP RasterPos4s)(GLshort x, GLshort y, GLshort z, GLshort w); /* 84 */
-   void (GLAPIENTRYP RasterPos4sv)(const GLshort * v); /* 85 */
-   void (GLAPIENTRYP Rectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); /* 86 */
-   void (GLAPIENTRYP Rectdv)(const GLdouble * v1, const GLdouble * v2); /* 87 */
-   void (GLAPIENTRYP Rectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); /* 88 */
-   void (GLAPIENTRYP Rectfv)(const GLfloat * v1, const GLfloat * v2); /* 89 */
-   void (GLAPIENTRYP Recti)(GLint x1, GLint y1, GLint x2, GLint y2); /* 90 */
-   void (GLAPIENTRYP Rectiv)(const GLint * v1, const GLint * v2); /* 91 */
-   void (GLAPIENTRYP Rects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2); /* 92 */
-   void (GLAPIENTRYP Rectsv)(const GLshort * v1, const GLshort * v2); /* 93 */
-   void (GLAPIENTRYP TexCoord1d)(GLdouble s); /* 94 */
-   void (GLAPIENTRYP TexCoord1dv)(const GLdouble * v); /* 95 */
-   void (GLAPIENTRYP TexCoord1f)(GLfloat s); /* 96 */
-   void (GLAPIENTRYP TexCoord1fv)(const GLfloat * v); /* 97 */
-   void (GLAPIENTRYP TexCoord1i)(GLint s); /* 98 */
-   void (GLAPIENTRYP TexCoord1iv)(const GLint * v); /* 99 */
-   void (GLAPIENTRYP TexCoord1s)(GLshort s); /* 100 */
-   void (GLAPIENTRYP TexCoord1sv)(const GLshort * v); /* 101 */
-   void (GLAPIENTRYP TexCoord2d)(GLdouble s, GLdouble t); /* 102 */
-   void (GLAPIENTRYP TexCoord2dv)(const GLdouble * v); /* 103 */
-   void (GLAPIENTRYP TexCoord2f)(GLfloat s, GLfloat t); /* 104 */
-   void (GLAPIENTRYP TexCoord2fv)(const GLfloat * v); /* 105 */
-   void (GLAPIENTRYP TexCoord2i)(GLint s, GLint t); /* 106 */
-   void (GLAPIENTRYP TexCoord2iv)(const GLint * v); /* 107 */
-   void (GLAPIENTRYP TexCoord2s)(GLshort s, GLshort t); /* 108 */
-   void (GLAPIENTRYP TexCoord2sv)(const GLshort * v); /* 109 */
-   void (GLAPIENTRYP TexCoord3d)(GLdouble s, GLdouble t, GLdouble r); /* 110 */
-   void (GLAPIENTRYP TexCoord3dv)(const GLdouble * v); /* 111 */
-   void (GLAPIENTRYP TexCoord3f)(GLfloat s, GLfloat t, GLfloat r); /* 112 */
-   void (GLAPIENTRYP TexCoord3fv)(const GLfloat * v); /* 113 */
-   void (GLAPIENTRYP TexCoord3i)(GLint s, GLint t, GLint r); /* 114 */
-   void (GLAPIENTRYP TexCoord3iv)(const GLint * v); /* 115 */
-   void (GLAPIENTRYP TexCoord3s)(GLshort s, GLshort t, GLshort r); /* 116 */
-   void (GLAPIENTRYP TexCoord3sv)(const GLshort * v); /* 117 */
-   void (GLAPIENTRYP TexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q); /* 118 */
-   void (GLAPIENTRYP TexCoord4dv)(const GLdouble * v); /* 119 */
-   void (GLAPIENTRYP TexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q); /* 120 */
-   void (GLAPIENTRYP TexCoord4fv)(const GLfloat * v); /* 121 */
-   void (GLAPIENTRYP TexCoord4i)(GLint s, GLint t, GLint r, GLint q); /* 122 */
-   void (GLAPIENTRYP TexCoord4iv)(const GLint * v); /* 123 */
-   void (GLAPIENTRYP TexCoord4s)(GLshort s, GLshort t, GLshort r, GLshort q); /* 124 */
-   void (GLAPIENTRYP TexCoord4sv)(const GLshort * v); /* 125 */
-   void (GLAPIENTRYP Vertex2d)(GLdouble x, GLdouble y); /* 126 */
-   void (GLAPIENTRYP Vertex2dv)(const GLdouble * v); /* 127 */
-   void (GLAPIENTRYP Vertex2f)(GLfloat x, GLfloat y); /* 128 */
-   void (GLAPIENTRYP Vertex2fv)(const GLfloat * v); /* 129 */
-   void (GLAPIENTRYP Vertex2i)(GLint x, GLint y); /* 130 */
-   void (GLAPIENTRYP Vertex2iv)(const GLint * v); /* 131 */
-   void (GLAPIENTRYP Vertex2s)(GLshort x, GLshort y); /* 132 */
-   void (GLAPIENTRYP Vertex2sv)(const GLshort * v); /* 133 */
-   void (GLAPIENTRYP Vertex3d)(GLdouble x, GLdouble y, GLdouble z); /* 134 */
-   void (GLAPIENTRYP Vertex3dv)(const GLdouble * v); /* 135 */
-   void (GLAPIENTRYP Vertex3f)(GLfloat x, GLfloat y, GLfloat z); /* 136 */
-   void (GLAPIENTRYP Vertex3fv)(const GLfloat * v); /* 137 */
-   void (GLAPIENTRYP Vertex3i)(GLint x, GLint y, GLint z); /* 138 */
-   void (GLAPIENTRYP Vertex3iv)(const GLint * v); /* 139 */
-   void (GLAPIENTRYP Vertex3s)(GLshort x, GLshort y, GLshort z); /* 140 */
-   void (GLAPIENTRYP Vertex3sv)(const GLshort * v); /* 141 */
-   void (GLAPIENTRYP Vertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 142 */
-   void (GLAPIENTRYP Vertex4dv)(const GLdouble * v); /* 143 */
-   void (GLAPIENTRYP Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 144 */
-   void (GLAPIENTRYP Vertex4fv)(const GLfloat * v); /* 145 */
-   void (GLAPIENTRYP Vertex4i)(GLint x, GLint y, GLint z, GLint w); /* 146 */
-   void (GLAPIENTRYP Vertex4iv)(const GLint * v); /* 147 */
-   void (GLAPIENTRYP Vertex4s)(GLshort x, GLshort y, GLshort z, GLshort w); /* 148 */
-   void (GLAPIENTRYP Vertex4sv)(const GLshort * v); /* 149 */
-   void (GLAPIENTRYP ClipPlane)(GLenum plane, const GLdouble * equation); /* 150 */
-   void (GLAPIENTRYP ColorMaterial)(GLenum face, GLenum mode); /* 151 */
-   void (GLAPIENTRYP CullFace)(GLenum mode); /* 152 */
-   void (GLAPIENTRYP Fogf)(GLenum pname, GLfloat param); /* 153 */
-   void (GLAPIENTRYP Fogfv)(GLenum pname, const GLfloat * params); /* 154 */
-   void (GLAPIENTRYP Fogi)(GLenum pname, GLint param); /* 155 */
-   void (GLAPIENTRYP Fogiv)(GLenum pname, const GLint * params); /* 156 */
-   void (GLAPIENTRYP FrontFace)(GLenum mode); /* 157 */
-   void (GLAPIENTRYP Hint)(GLenum target, GLenum mode); /* 158 */
-   void (GLAPIENTRYP Lightf)(GLenum light, GLenum pname, GLfloat param); /* 159 */
-   void (GLAPIENTRYP Lightfv)(GLenum light, GLenum pname, const GLfloat * params); /* 160 */
-   void (GLAPIENTRYP Lighti)(GLenum light, GLenum pname, GLint param); /* 161 */
-   void (GLAPIENTRYP Lightiv)(GLenum light, GLenum pname, const GLint * params); /* 162 */
-   void (GLAPIENTRYP LightModelf)(GLenum pname, GLfloat param); /* 163 */
-   void (GLAPIENTRYP LightModelfv)(GLenum pname, const GLfloat * params); /* 164 */
-   void (GLAPIENTRYP LightModeli)(GLenum pname, GLint param); /* 165 */
-   void (GLAPIENTRYP LightModeliv)(GLenum pname, const GLint * params); /* 166 */
-   void (GLAPIENTRYP LineStipple)(GLint factor, GLushort pattern); /* 167 */
-   void (GLAPIENTRYP LineWidth)(GLfloat width); /* 168 */
-   void (GLAPIENTRYP Materialf)(GLenum face, GLenum pname, GLfloat param); /* 169 */
-   void (GLAPIENTRYP Materialfv)(GLenum face, GLenum pname, const GLfloat * params); /* 170 */
-   void (GLAPIENTRYP Materiali)(GLenum face, GLenum pname, GLint param); /* 171 */
-   void (GLAPIENTRYP Materialiv)(GLenum face, GLenum pname, const GLint * params); /* 172 */
-   void (GLAPIENTRYP PointSize)(GLfloat size); /* 173 */
-   void (GLAPIENTRYP PolygonMode)(GLenum face, GLenum mode); /* 174 */
-   void (GLAPIENTRYP PolygonStipple)(const GLubyte * mask); /* 175 */
-   void (GLAPIENTRYP Scissor)(GLint x, GLint y, GLsizei width, GLsizei height); /* 176 */
-   void (GLAPIENTRYP ShadeModel)(GLenum mode); /* 177 */
-   void (GLAPIENTRYP TexParameterf)(GLenum target, GLenum pname, GLfloat param); /* 178 */
-   void (GLAPIENTRYP TexParameterfv)(GLenum target, GLenum pname, const GLfloat * params); /* 179 */
-   void (GLAPIENTRYP TexParameteri)(GLenum target, GLenum pname, GLint param); /* 180 */
-   void (GLAPIENTRYP TexParameteriv)(GLenum target, GLenum pname, const GLint * params); /* 181 */
-   void (GLAPIENTRYP TexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels); /* 182 */
-   void (GLAPIENTRYP TexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels); /* 183 */
-   void (GLAPIENTRYP TexEnvf)(GLenum target, GLenum pname, GLfloat param); /* 184 */
-   void (GLAPIENTRYP TexEnvfv)(GLenum target, GLenum pname, const GLfloat * params); /* 185 */
-   void (GLAPIENTRYP TexEnvi)(GLenum target, GLenum pname, GLint param); /* 186 */
-   void (GLAPIENTRYP TexEnviv)(GLenum target, GLenum pname, const GLint * params); /* 187 */
-   void (GLAPIENTRYP TexGend)(GLenum coord, GLenum pname, GLdouble param); /* 188 */
-   void (GLAPIENTRYP TexGendv)(GLenum coord, GLenum pname, const GLdouble * params); /* 189 */
-   void (GLAPIENTRYP TexGenf)(GLenum coord, GLenum pname, GLfloat param); /* 190 */
-   void (GLAPIENTRYP TexGenfv)(GLenum coord, GLenum pname, const GLfloat * params); /* 191 */
-   void (GLAPIENTRYP TexGeni)(GLenum coord, GLenum pname, GLint param); /* 192 */
-   void (GLAPIENTRYP TexGeniv)(GLenum coord, GLenum pname, const GLint * params); /* 193 */
-   void (GLAPIENTRYP FeedbackBuffer)(GLsizei size, GLenum type, GLfloat * buffer); /* 194 */
-   void (GLAPIENTRYP SelectBuffer)(GLsizei size, GLuint * buffer); /* 195 */
-   GLint (GLAPIENTRYP RenderMode)(GLenum mode); /* 196 */
-   void (GLAPIENTRYP InitNames)(void); /* 197 */
-   void (GLAPIENTRYP LoadName)(GLuint name); /* 198 */
-   void (GLAPIENTRYP PassThrough)(GLfloat token); /* 199 */
-   void (GLAPIENTRYP PopName)(void); /* 200 */
-   void (GLAPIENTRYP PushName)(GLuint name); /* 201 */
-   void (GLAPIENTRYP DrawBuffer)(GLenum mode); /* 202 */
-   void (GLAPIENTRYP Clear)(GLbitfield mask); /* 203 */
-   void (GLAPIENTRYP ClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); /* 204 */
-   void (GLAPIENTRYP ClearIndex)(GLfloat c); /* 205 */
-   void (GLAPIENTRYP ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); /* 206 */
-   void (GLAPIENTRYP ClearStencil)(GLint s); /* 207 */
-   void (GLAPIENTRYP ClearDepth)(GLclampd depth); /* 208 */
-   void (GLAPIENTRYP StencilMask)(GLuint mask); /* 209 */
-   void (GLAPIENTRYP ColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); /* 210 */
-   void (GLAPIENTRYP DepthMask)(GLboolean flag); /* 211 */
-   void (GLAPIENTRYP IndexMask)(GLuint mask); /* 212 */
-   void (GLAPIENTRYP Accum)(GLenum op, GLfloat value); /* 213 */
-   void (GLAPIENTRYP Disable)(GLenum cap); /* 214 */
-   void (GLAPIENTRYP Enable)(GLenum cap); /* 215 */
-   void (GLAPIENTRYP Finish)(void); /* 216 */
-   void (GLAPIENTRYP Flush)(void); /* 217 */
-   void (GLAPIENTRYP PopAttrib)(void); /* 218 */
-   void (GLAPIENTRYP PushAttrib)(GLbitfield mask); /* 219 */
-   void (GLAPIENTRYP Map1d)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points); /* 220 */
-   void (GLAPIENTRYP Map1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points); /* 221 */
-   void (GLAPIENTRYP Map2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points); /* 222 */
-   void (GLAPIENTRYP Map2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points); /* 223 */
-   void (GLAPIENTRYP MapGrid1d)(GLint un, GLdouble u1, GLdouble u2); /* 224 */
-   void (GLAPIENTRYP MapGrid1f)(GLint un, GLfloat u1, GLfloat u2); /* 225 */
-   void (GLAPIENTRYP MapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); /* 226 */
-   void (GLAPIENTRYP MapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); /* 227 */
-   void (GLAPIENTRYP EvalCoord1d)(GLdouble u); /* 228 */
-   void (GLAPIENTRYP EvalCoord1dv)(const GLdouble * u); /* 229 */
-   void (GLAPIENTRYP EvalCoord1f)(GLfloat u); /* 230 */
-   void (GLAPIENTRYP EvalCoord1fv)(const GLfloat * u); /* 231 */
-   void (GLAPIENTRYP EvalCoord2d)(GLdouble u, GLdouble v); /* 232 */
-   void (GLAPIENTRYP EvalCoord2dv)(const GLdouble * u); /* 233 */
-   void (GLAPIENTRYP EvalCoord2f)(GLfloat u, GLfloat v); /* 234 */
-   void (GLAPIENTRYP EvalCoord2fv)(const GLfloat * u); /* 235 */
-   void (GLAPIENTRYP EvalMesh1)(GLenum mode, GLint i1, GLint i2); /* 236 */
-   void (GLAPIENTRYP EvalPoint1)(GLint i); /* 237 */
-   void (GLAPIENTRYP EvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); /* 238 */
-   void (GLAPIENTRYP EvalPoint2)(GLint i, GLint j); /* 239 */
-   void (GLAPIENTRYP AlphaFunc)(GLenum func, GLclampf ref); /* 240 */
-   void (GLAPIENTRYP BlendFunc)(GLenum sfactor, GLenum dfactor); /* 241 */
-   void (GLAPIENTRYP LogicOp)(GLenum opcode); /* 242 */
-   void (GLAPIENTRYP StencilFunc)(GLenum func, GLint ref, GLuint mask); /* 243 */
-   void (GLAPIENTRYP StencilOp)(GLenum fail, GLenum zfail, GLenum zpass); /* 244 */
-   void (GLAPIENTRYP DepthFunc)(GLenum func); /* 245 */
-   void (GLAPIENTRYP PixelZoom)(GLfloat xfactor, GLfloat yfactor); /* 246 */
-   void (GLAPIENTRYP PixelTransferf)(GLenum pname, GLfloat param); /* 247 */
-   void (GLAPIENTRYP PixelTransferi)(GLenum pname, GLint param); /* 248 */
-   void (GLAPIENTRYP PixelStoref)(GLenum pname, GLfloat param); /* 249 */
-   void (GLAPIENTRYP PixelStorei)(GLenum pname, GLint param); /* 250 */
-   void (GLAPIENTRYP PixelMapfv)(GLenum map, GLsizei mapsize, const GLfloat * values); /* 251 */
-   void (GLAPIENTRYP PixelMapuiv)(GLenum map, GLsizei mapsize, const GLuint * values); /* 252 */
-   void (GLAPIENTRYP PixelMapusv)(GLenum map, GLsizei mapsize, const GLushort * values); /* 253 */
-   void (GLAPIENTRYP ReadBuffer)(GLenum mode); /* 254 */
-   void (GLAPIENTRYP CopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); /* 255 */
-   void (GLAPIENTRYP ReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels); /* 256 */
-   void (GLAPIENTRYP DrawPixels)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels); /* 257 */
-   void (GLAPIENTRYP GetBooleanv)(GLenum pname, GLboolean * params); /* 258 */
-   void (GLAPIENTRYP GetClipPlane)(GLenum plane, GLdouble * equation); /* 259 */
-   void (GLAPIENTRYP GetDoublev)(GLenum pname, GLdouble * params); /* 260 */
-   GLenum (GLAPIENTRYP GetError)(void); /* 261 */
-   void (GLAPIENTRYP GetFloatv)(GLenum pname, GLfloat * params); /* 262 */
-   void (GLAPIENTRYP GetIntegerv)(GLenum pname, GLint * params); /* 263 */
-   void (GLAPIENTRYP GetLightfv)(GLenum light, GLenum pname, GLfloat * params); /* 264 */
-   void (GLAPIENTRYP GetLightiv)(GLenum light, GLenum pname, GLint * params); /* 265 */
-   void (GLAPIENTRYP GetMapdv)(GLenum target, GLenum query, GLdouble * v); /* 266 */
-   void (GLAPIENTRYP GetMapfv)(GLenum target, GLenum query, GLfloat * v); /* 267 */
-   void (GLAPIENTRYP GetMapiv)(GLenum target, GLenum query, GLint * v); /* 268 */
-   void (GLAPIENTRYP GetMaterialfv)(GLenum face, GLenum pname, GLfloat * params); /* 269 */
-   void (GLAPIENTRYP GetMaterialiv)(GLenum face, GLenum pname, GLint * params); /* 270 */
-   void (GLAPIENTRYP GetPixelMapfv)(GLenum map, GLfloat * values); /* 271 */
-   void (GLAPIENTRYP GetPixelMapuiv)(GLenum map, GLuint * values); /* 272 */
-   void (GLAPIENTRYP GetPixelMapusv)(GLenum map, GLushort * values); /* 273 */
-   void (GLAPIENTRYP GetPolygonStipple)(GLubyte * mask); /* 274 */
-   const GLubyte * (GLAPIENTRYP GetString)(GLenum name); /* 275 */
-   void (GLAPIENTRYP GetTexEnvfv)(GLenum target, GLenum pname, GLfloat * params); /* 276 */
-   void (GLAPIENTRYP GetTexEnviv)(GLenum target, GLenum pname, GLint * params); /* 277 */
-   void (GLAPIENTRYP GetTexGendv)(GLenum coord, GLenum pname, GLdouble * params); /* 278 */
-   void (GLAPIENTRYP GetTexGenfv)(GLenum coord, GLenum pname, GLfloat * params); /* 279 */
-   void (GLAPIENTRYP GetTexGeniv)(GLenum coord, GLenum pname, GLint * params); /* 280 */
-   void (GLAPIENTRYP GetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels); /* 281 */
-   void (GLAPIENTRYP GetTexParameterfv)(GLenum target, GLenum pname, GLfloat * params); /* 282 */
-   void (GLAPIENTRYP GetTexParameteriv)(GLenum target, GLenum pname, GLint * params); /* 283 */
-   void (GLAPIENTRYP GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat * params); /* 284 */
-   void (GLAPIENTRYP GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint * params); /* 285 */
-   GLboolean (GLAPIENTRYP IsEnabled)(GLenum cap); /* 286 */
-   GLboolean (GLAPIENTRYP IsList)(GLuint list); /* 287 */
-   void (GLAPIENTRYP DepthRange)(GLclampd zNear, GLclampd zFar); /* 288 */
-   void (GLAPIENTRYP Frustum)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); /* 289 */
-   void (GLAPIENTRYP LoadIdentity)(void); /* 290 */
-   void (GLAPIENTRYP LoadMatrixf)(const GLfloat * m); /* 291 */
-   void (GLAPIENTRYP LoadMatrixd)(const GLdouble * m); /* 292 */
-   void (GLAPIENTRYP MatrixMode)(GLenum mode); /* 293 */
-   void (GLAPIENTRYP MultMatrixf)(const GLfloat * m); /* 294 */
-   void (GLAPIENTRYP MultMatrixd)(const GLdouble * m); /* 295 */
-   void (GLAPIENTRYP Ortho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); /* 296 */
-   void (GLAPIENTRYP PopMatrix)(void); /* 297 */
-   void (GLAPIENTRYP PushMatrix)(void); /* 298 */
-   void (GLAPIENTRYP Rotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z); /* 299 */
-   void (GLAPIENTRYP Rotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); /* 300 */
-   void (GLAPIENTRYP Scaled)(GLdouble x, GLdouble y, GLdouble z); /* 301 */
-   void (GLAPIENTRYP Scalef)(GLfloat x, GLfloat y, GLfloat z); /* 302 */
-   void (GLAPIENTRYP Translated)(GLdouble x, GLdouble y, GLdouble z); /* 303 */
-   void (GLAPIENTRYP Translatef)(GLfloat x, GLfloat y, GLfloat z); /* 304 */
-   void (GLAPIENTRYP Viewport)(GLint x, GLint y, GLsizei width, GLsizei height); /* 305 */
-   void (GLAPIENTRYP ArrayElement)(GLint i); /* 306 */
-   void (GLAPIENTRYP BindTexture)(GLenum target, GLuint texture); /* 307 */
-   void (GLAPIENTRYP ColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 308 */
-   void (GLAPIENTRYP DisableClientState)(GLenum array); /* 309 */
-   void (GLAPIENTRYP DrawArrays)(GLenum mode, GLint first, GLsizei count); /* 310 */
-   void (GLAPIENTRYP DrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices); /* 311 */
-   void (GLAPIENTRYP EdgeFlagPointer)(GLsizei stride, const GLvoid * pointer); /* 312 */
-   void (GLAPIENTRYP EnableClientState)(GLenum array); /* 313 */
-   void (GLAPIENTRYP IndexPointer)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 314 */
-   void (GLAPIENTRYP Indexub)(GLubyte c); /* 315 */
-   void (GLAPIENTRYP Indexubv)(const GLubyte * c); /* 316 */
-   void (GLAPIENTRYP InterleavedArrays)(GLenum format, GLsizei stride, const GLvoid * pointer); /* 317 */
-   void (GLAPIENTRYP NormalPointer)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 318 */
-   void (GLAPIENTRYP PolygonOffset)(GLfloat factor, GLfloat units); /* 319 */
-   void (GLAPIENTRYP TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 320 */
-   void (GLAPIENTRYP VertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 321 */
-   GLboolean (GLAPIENTRYP AreTexturesResident)(GLsizei n, const GLuint * textures, GLboolean * residences); /* 322 */
-   void (GLAPIENTRYP CopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); /* 323 */
-   void (GLAPIENTRYP CopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); /* 324 */
-   void (GLAPIENTRYP CopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); /* 325 */
-   void (GLAPIENTRYP CopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); /* 326 */
-   void (GLAPIENTRYP DeleteTextures)(GLsizei n, const GLuint * textures); /* 327 */
-   void (GLAPIENTRYP GenTextures)(GLsizei n, GLuint * textures); /* 328 */
-   void (GLAPIENTRYP GetPointerv)(GLenum pname, GLvoid ** params); /* 329 */
-   GLboolean (GLAPIENTRYP IsTexture)(GLuint texture); /* 330 */
-   void (GLAPIENTRYP PrioritizeTextures)(GLsizei n, const GLuint * textures, const GLclampf * priorities); /* 331 */
-   void (GLAPIENTRYP TexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels); /* 332 */
-   void (GLAPIENTRYP TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels); /* 333 */
-   void (GLAPIENTRYP PopClientAttrib)(void); /* 334 */
-   void (GLAPIENTRYP PushClientAttrib)(GLbitfield mask); /* 335 */
-   void (GLAPIENTRYP BlendColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); /* 336 */
-   void (GLAPIENTRYP BlendEquation)(GLenum mode); /* 337 */
-   void (GLAPIENTRYP DrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices); /* 338 */
-   void (GLAPIENTRYP ColorTable)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table); /* 339 */
-   void (GLAPIENTRYP ColorTableParameterfv)(GLenum target, GLenum pname, const GLfloat * params); /* 340 */
-   void (GLAPIENTRYP ColorTableParameteriv)(GLenum target, GLenum pname, const GLint * params); /* 341 */
-   void (GLAPIENTRYP CopyColorTable)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); /* 342 */
-   void (GLAPIENTRYP GetColorTable)(GLenum target, GLenum format, GLenum type, GLvoid * table); /* 343 */
-   void (GLAPIENTRYP GetColorTableParameterfv)(GLenum target, GLenum pname, GLfloat * params); /* 344 */
-   void (GLAPIENTRYP GetColorTableParameteriv)(GLenum target, GLenum pname, GLint * params); /* 345 */
-   void (GLAPIENTRYP ColorSubTable)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data); /* 346 */
-   void (GLAPIENTRYP CopyColorSubTable)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); /* 347 */
-   void (GLAPIENTRYP ConvolutionFilter1D)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image); /* 348 */
-   void (GLAPIENTRYP ConvolutionFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image); /* 349 */
-   void (GLAPIENTRYP ConvolutionParameterf)(GLenum target, GLenum pname, GLfloat params); /* 350 */
-   void (GLAPIENTRYP ConvolutionParameterfv)(GLenum target, GLenum pname, const GLfloat * params); /* 351 */
-   void (GLAPIENTRYP ConvolutionParameteri)(GLenum target, GLenum pname, GLint params); /* 352 */
-   void (GLAPIENTRYP ConvolutionParameteriv)(GLenum target, GLenum pname, const GLint * params); /* 353 */
-   void (GLAPIENTRYP CopyConvolutionFilter1D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); /* 354 */
-   void (GLAPIENTRYP CopyConvolutionFilter2D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); /* 355 */
-   void (GLAPIENTRYP GetConvolutionFilter)(GLenum target, GLenum format, GLenum type, GLvoid * image); /* 356 */
-   void (GLAPIENTRYP GetConvolutionParameterfv)(GLenum target, GLenum pname, GLfloat * params); /* 357 */
-   void (GLAPIENTRYP GetConvolutionParameteriv)(GLenum target, GLenum pname, GLint * params); /* 358 */
-   void (GLAPIENTRYP GetSeparableFilter)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span); /* 359 */
-   void (GLAPIENTRYP SeparableFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column); /* 360 */
-   void (GLAPIENTRYP GetHistogram)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); /* 361 */
-   void (GLAPIENTRYP GetHistogramParameterfv)(GLenum target, GLenum pname, GLfloat * params); /* 362 */
-   void (GLAPIENTRYP GetHistogramParameteriv)(GLenum target, GLenum pname, GLint * params); /* 363 */
-   void (GLAPIENTRYP GetMinmax)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); /* 364 */
-   void (GLAPIENTRYP GetMinmaxParameterfv)(GLenum target, GLenum pname, GLfloat * params); /* 365 */
-   void (GLAPIENTRYP GetMinmaxParameteriv)(GLenum target, GLenum pname, GLint * params); /* 366 */
-   void (GLAPIENTRYP Histogram)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); /* 367 */
-   void (GLAPIENTRYP Minmax)(GLenum target, GLenum internalformat, GLboolean sink); /* 368 */
-   void (GLAPIENTRYP ResetHistogram)(GLenum target); /* 369 */
-   void (GLAPIENTRYP ResetMinmax)(GLenum target); /* 370 */
-   void (GLAPIENTRYP TexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels); /* 371 */
-   void (GLAPIENTRYP TexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels); /* 372 */
-   void (GLAPIENTRYP CopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); /* 373 */
-   void (GLAPIENTRYP ActiveTextureARB)(GLenum texture); /* 374 */
-   void (GLAPIENTRYP ClientActiveTextureARB)(GLenum texture); /* 375 */
-   void (GLAPIENTRYP MultiTexCoord1dARB)(GLenum target, GLdouble s); /* 376 */
-   void (GLAPIENTRYP MultiTexCoord1dvARB)(GLenum target, const GLdouble * v); /* 377 */
-   void (GLAPIENTRYP MultiTexCoord1fARB)(GLenum target, GLfloat s); /* 378 */
-   void (GLAPIENTRYP MultiTexCoord1fvARB)(GLenum target, const GLfloat * v); /* 379 */
-   void (GLAPIENTRYP MultiTexCoord1iARB)(GLenum target, GLint s); /* 380 */
-   void (GLAPIENTRYP MultiTexCoord1ivARB)(GLenum target, const GLint * v); /* 381 */
-   void (GLAPIENTRYP MultiTexCoord1sARB)(GLenum target, GLshort s); /* 382 */
-   void (GLAPIENTRYP MultiTexCoord1svARB)(GLenum target, const GLshort * v); /* 383 */
-   void (GLAPIENTRYP MultiTexCoord2dARB)(GLenum target, GLdouble s, GLdouble t); /* 384 */
-   void (GLAPIENTRYP MultiTexCoord2dvARB)(GLenum target, const GLdouble * v); /* 385 */
-   void (GLAPIENTRYP MultiTexCoord2fARB)(GLenum target, GLfloat s, GLfloat t); /* 386 */
-   void (GLAPIENTRYP MultiTexCoord2fvARB)(GLenum target, const GLfloat * v); /* 387 */
-   void (GLAPIENTRYP MultiTexCoord2iARB)(GLenum target, GLint s, GLint t); /* 388 */
-   void (GLAPIENTRYP MultiTexCoord2ivARB)(GLenum target, const GLint * v); /* 389 */
-   void (GLAPIENTRYP MultiTexCoord2sARB)(GLenum target, GLshort s, GLshort t); /* 390 */
-   void (GLAPIENTRYP MultiTexCoord2svARB)(GLenum target, const GLshort * v); /* 391 */
-   void (GLAPIENTRYP MultiTexCoord3dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r); /* 392 */
-   void (GLAPIENTRYP MultiTexCoord3dvARB)(GLenum target, const GLdouble * v); /* 393 */
-   void (GLAPIENTRYP MultiTexCoord3fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r); /* 394 */
-   void (GLAPIENTRYP MultiTexCoord3fvARB)(GLenum target, const GLfloat * v); /* 395 */
-   void (GLAPIENTRYP MultiTexCoord3iARB)(GLenum target, GLint s, GLint t, GLint r); /* 396 */
-   void (GLAPIENTRYP MultiTexCoord3ivARB)(GLenum target, const GLint * v); /* 397 */
-   void (GLAPIENTRYP MultiTexCoord3sARB)(GLenum target, GLshort s, GLshort t, GLshort r); /* 398 */
-   void (GLAPIENTRYP MultiTexCoord3svARB)(GLenum target, const GLshort * v); /* 399 */
-   void (GLAPIENTRYP MultiTexCoord4dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); /* 400 */
-   void (GLAPIENTRYP MultiTexCoord4dvARB)(GLenum target, const GLdouble * v); /* 401 */
-   void (GLAPIENTRYP MultiTexCoord4fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); /* 402 */
-   void (GLAPIENTRYP MultiTexCoord4fvARB)(GLenum target, const GLfloat * v); /* 403 */
-   void (GLAPIENTRYP MultiTexCoord4iARB)(GLenum target, GLint s, GLint t, GLint r, GLint q); /* 404 */
-   void (GLAPIENTRYP MultiTexCoord4ivARB)(GLenum target, const GLint * v); /* 405 */
-   void (GLAPIENTRYP MultiTexCoord4sARB)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); /* 406 */
-   void (GLAPIENTRYP MultiTexCoord4svARB)(GLenum target, const GLshort * v); /* 407 */
-   void (GLAPIENTRYP AttachShader)(GLuint program, GLuint shader); /* 408 */
-   GLuint (GLAPIENTRYP CreateProgram)(void); /* 409 */
-   GLuint (GLAPIENTRYP CreateShader)(GLenum type); /* 410 */
-   void (GLAPIENTRYP DeleteProgram)(GLuint program); /* 411 */
-   void (GLAPIENTRYP DeleteShader)(GLuint program); /* 412 */
-   void (GLAPIENTRYP DetachShader)(GLuint program, GLuint shader); /* 413 */
-   void (GLAPIENTRYP GetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * obj); /* 414 */
-   void (GLAPIENTRYP GetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog); /* 415 */
-   void (GLAPIENTRYP GetProgramiv)(GLuint program, GLenum pname, GLint * params); /* 416 */
-   void (GLAPIENTRYP GetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog); /* 417 */
-   void (GLAPIENTRYP GetShaderiv)(GLuint shader, GLenum pname, GLint * params); /* 418 */
-   GLboolean (GLAPIENTRYP IsProgram)(GLuint program); /* 419 */
-   GLboolean (GLAPIENTRYP IsShader)(GLuint shader); /* 420 */
-   void (GLAPIENTRYP StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask); /* 421 */
-   void (GLAPIENTRYP StencilMaskSeparate)(GLenum face, GLuint mask); /* 422 */
-   void (GLAPIENTRYP StencilOpSeparate)(GLenum face, GLenum sfail, GLenum zfail, GLenum zpass); /* 423 */
-   void (GLAPIENTRYP UniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 424 */
-   void (GLAPIENTRYP UniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 425 */
-   void (GLAPIENTRYP UniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 426 */
-   void (GLAPIENTRYP UniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 427 */
-   void (GLAPIENTRYP UniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 428 */
-   void (GLAPIENTRYP UniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 429 */
-   void (GLAPIENTRYP LoadTransposeMatrixdARB)(const GLdouble * m); /* 430 */
-   void (GLAPIENTRYP LoadTransposeMatrixfARB)(const GLfloat * m); /* 431 */
-   void (GLAPIENTRYP MultTransposeMatrixdARB)(const GLdouble * m); /* 432 */
-   void (GLAPIENTRYP MultTransposeMatrixfARB)(const GLfloat * m); /* 433 */
-   void (GLAPIENTRYP SampleCoverageARB)(GLclampf value, GLboolean invert); /* 434 */
-   void (GLAPIENTRYP CompressedTexImage1DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data); /* 435 */
-   void (GLAPIENTRYP CompressedTexImage2DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data); /* 436 */
-   void (GLAPIENTRYP CompressedTexImage3DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data); /* 437 */
-   void (GLAPIENTRYP CompressedTexSubImage1DARB)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data); /* 438 */
-   void (GLAPIENTRYP CompressedTexSubImage2DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data); /* 439 */
-   void (GLAPIENTRYP CompressedTexSubImage3DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data); /* 440 */
-   void (GLAPIENTRYP GetCompressedTexImageARB)(GLenum target, GLint level, GLvoid * img); /* 441 */
-   void (GLAPIENTRYP DisableVertexAttribArrayARB)(GLuint index); /* 442 */
-   void (GLAPIENTRYP EnableVertexAttribArrayARB)(GLuint index); /* 443 */
-   void (GLAPIENTRYP GetProgramEnvParameterdvARB)(GLenum target, GLuint index, GLdouble * params); /* 444 */
-   void (GLAPIENTRYP GetProgramEnvParameterfvARB)(GLenum target, GLuint index, GLfloat * params); /* 445 */
-   void (GLAPIENTRYP GetProgramLocalParameterdvARB)(GLenum target, GLuint index, GLdouble * params); /* 446 */
-   void (GLAPIENTRYP GetProgramLocalParameterfvARB)(GLenum target, GLuint index, GLfloat * params); /* 447 */
-   void (GLAPIENTRYP GetProgramStringARB)(GLenum target, GLenum pname, GLvoid * string); /* 448 */
-   void (GLAPIENTRYP GetProgramivARB)(GLenum target, GLenum pname, GLint * params); /* 449 */
-   void (GLAPIENTRYP GetVertexAttribdvARB)(GLuint index, GLenum pname, GLdouble * params); /* 450 */
-   void (GLAPIENTRYP GetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat * params); /* 451 */
-   void (GLAPIENTRYP GetVertexAttribivARB)(GLuint index, GLenum pname, GLint * params); /* 452 */
-   void (GLAPIENTRYP ProgramEnvParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 453 */
-   void (GLAPIENTRYP ProgramEnvParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params); /* 454 */
-   void (GLAPIENTRYP ProgramEnvParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 455 */
-   void (GLAPIENTRYP ProgramEnvParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params); /* 456 */
-   void (GLAPIENTRYP ProgramLocalParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 457 */
-   void (GLAPIENTRYP ProgramLocalParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params); /* 458 */
-   void (GLAPIENTRYP ProgramLocalParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 459 */
-   void (GLAPIENTRYP ProgramLocalParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params); /* 460 */
-   void (GLAPIENTRYP ProgramStringARB)(GLenum target, GLenum format, GLsizei len, const GLvoid * string); /* 461 */
-   void (GLAPIENTRYP VertexAttrib1dARB)(GLuint index, GLdouble x); /* 462 */
-   void (GLAPIENTRYP VertexAttrib1dvARB)(GLuint index, const GLdouble * v); /* 463 */
-   void (GLAPIENTRYP VertexAttrib1fARB)(GLuint index, GLfloat x); /* 464 */
-   void (GLAPIENTRYP VertexAttrib1fvARB)(GLuint index, const GLfloat * v); /* 465 */
-   void (GLAPIENTRYP VertexAttrib1sARB)(GLuint index, GLshort x); /* 466 */
-   void (GLAPIENTRYP VertexAttrib1svARB)(GLuint index, const GLshort * v); /* 467 */
-   void (GLAPIENTRYP VertexAttrib2dARB)(GLuint index, GLdouble x, GLdouble y); /* 468 */
-   void (GLAPIENTRYP VertexAttrib2dvARB)(GLuint index, const GLdouble * v); /* 469 */
-   void (GLAPIENTRYP VertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y); /* 470 */
-   void (GLAPIENTRYP VertexAttrib2fvARB)(GLuint index, const GLfloat * v); /* 471 */
-   void (GLAPIENTRYP VertexAttrib2sARB)(GLuint index, GLshort x, GLshort y); /* 472 */
-   void (GLAPIENTRYP VertexAttrib2svARB)(GLuint index, const GLshort * v); /* 473 */
-   void (GLAPIENTRYP VertexAttrib3dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 474 */
-   void (GLAPIENTRYP VertexAttrib3dvARB)(GLuint index, const GLdouble * v); /* 475 */
-   void (GLAPIENTRYP VertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 476 */
-   void (GLAPIENTRYP VertexAttrib3fvARB)(GLuint index, const GLfloat * v); /* 477 */
-   void (GLAPIENTRYP VertexAttrib3sARB)(GLuint index, GLshort x, GLshort y, GLshort z); /* 478 */
-   void (GLAPIENTRYP VertexAttrib3svARB)(GLuint index, const GLshort * v); /* 479 */
-   void (GLAPIENTRYP VertexAttrib4NbvARB)(GLuint index, const GLbyte * v); /* 480 */
-   void (GLAPIENTRYP VertexAttrib4NivARB)(GLuint index, const GLint * v); /* 481 */
-   void (GLAPIENTRYP VertexAttrib4NsvARB)(GLuint index, const GLshort * v); /* 482 */
-   void (GLAPIENTRYP VertexAttrib4NubARB)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 483 */
-   void (GLAPIENTRYP VertexAttrib4NubvARB)(GLuint index, const GLubyte * v); /* 484 */
-   void (GLAPIENTRYP VertexAttrib4NuivARB)(GLuint index, const GLuint * v); /* 485 */
-   void (GLAPIENTRYP VertexAttrib4NusvARB)(GLuint index, const GLushort * v); /* 486 */
-   void (GLAPIENTRYP VertexAttrib4bvARB)(GLuint index, const GLbyte * v); /* 487 */
-   void (GLAPIENTRYP VertexAttrib4dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 488 */
-   void (GLAPIENTRYP VertexAttrib4dvARB)(GLuint index, const GLdouble * v); /* 489 */
-   void (GLAPIENTRYP VertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 490 */
-   void (GLAPIENTRYP VertexAttrib4fvARB)(GLuint index, const GLfloat * v); /* 491 */
-   void (GLAPIENTRYP VertexAttrib4ivARB)(GLuint index, const GLint * v); /* 492 */
-   void (GLAPIENTRYP VertexAttrib4sARB)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 493 */
-   void (GLAPIENTRYP VertexAttrib4svARB)(GLuint index, const GLshort * v); /* 494 */
-   void (GLAPIENTRYP VertexAttrib4ubvARB)(GLuint index, const GLubyte * v); /* 495 */
-   void (GLAPIENTRYP VertexAttrib4uivARB)(GLuint index, const GLuint * v); /* 496 */
-   void (GLAPIENTRYP VertexAttrib4usvARB)(GLuint index, const GLushort * v); /* 497 */
-   void (GLAPIENTRYP VertexAttribPointerARB)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer); /* 498 */
-   void (GLAPIENTRYP BindBufferARB)(GLenum target, GLuint buffer); /* 499 */
-   void (GLAPIENTRYP BufferDataARB)(GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage); /* 500 */
-   void (GLAPIENTRYP BufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data); /* 501 */
-   void (GLAPIENTRYP DeleteBuffersARB)(GLsizei n, const GLuint * buffer); /* 502 */
-   void (GLAPIENTRYP GenBuffersARB)(GLsizei n, GLuint * buffer); /* 503 */
-   void (GLAPIENTRYP GetBufferParameterivARB)(GLenum target, GLenum pname, GLint * params); /* 504 */
-   void (GLAPIENTRYP GetBufferPointervARB)(GLenum target, GLenum pname, GLvoid ** params); /* 505 */
-   void (GLAPIENTRYP GetBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid * data); /* 506 */
-   GLboolean (GLAPIENTRYP IsBufferARB)(GLuint buffer); /* 507 */
-   GLvoid * (GLAPIENTRYP MapBufferARB)(GLenum target, GLenum access); /* 508 */
-   GLboolean (GLAPIENTRYP UnmapBufferARB)(GLenum target); /* 509 */
-   void (GLAPIENTRYP BeginQueryARB)(GLenum target, GLuint id); /* 510 */
-   void (GLAPIENTRYP DeleteQueriesARB)(GLsizei n, const GLuint * ids); /* 511 */
-   void (GLAPIENTRYP EndQueryARB)(GLenum target); /* 512 */
-   void (GLAPIENTRYP GenQueriesARB)(GLsizei n, GLuint * ids); /* 513 */
-   void (GLAPIENTRYP GetQueryObjectivARB)(GLuint id, GLenum pname, GLint * params); /* 514 */
-   void (GLAPIENTRYP GetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint * params); /* 515 */
-   void (GLAPIENTRYP GetQueryivARB)(GLenum target, GLenum pname, GLint * params); /* 516 */
-   GLboolean (GLAPIENTRYP IsQueryARB)(GLuint id); /* 517 */
-   void (GLAPIENTRYP AttachObjectARB)(GLhandleARB containerObj, GLhandleARB obj); /* 518 */
-   void (GLAPIENTRYP CompileShaderARB)(GLhandleARB shader); /* 519 */
-   GLhandleARB (GLAPIENTRYP CreateProgramObjectARB)(void); /* 520 */
-   GLhandleARB (GLAPIENTRYP CreateShaderObjectARB)(GLenum shaderType); /* 521 */
-   void (GLAPIENTRYP DeleteObjectARB)(GLhandleARB obj); /* 522 */
-   void (GLAPIENTRYP DetachObjectARB)(GLhandleARB containerObj, GLhandleARB attachedObj); /* 523 */
-   void (GLAPIENTRYP GetActiveUniformARB)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); /* 524 */
-   void (GLAPIENTRYP GetAttachedObjectsARB)(GLhandleARB containerObj, GLsizei maxLength, GLsizei * length, GLhandleARB * infoLog); /* 525 */
-   GLhandleARB (GLAPIENTRYP GetHandleARB)(GLenum pname); /* 526 */
-   void (GLAPIENTRYP GetInfoLogARB)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog); /* 527 */
-   void (GLAPIENTRYP GetObjectParameterfvARB)(GLhandleARB obj, GLenum pname, GLfloat * params); /* 528 */
-   void (GLAPIENTRYP GetObjectParameterivARB)(GLhandleARB obj, GLenum pname, GLint * params); /* 529 */
-   void (GLAPIENTRYP GetShaderSourceARB)(GLhandleARB shader, GLsizei bufSize, GLsizei * length, GLcharARB * source); /* 530 */
-   GLint (GLAPIENTRYP GetUniformLocationARB)(GLhandleARB program, const GLcharARB * name); /* 531 */
-   void (GLAPIENTRYP GetUniformfvARB)(GLhandleARB program, GLint location, GLfloat * params); /* 532 */
-   void (GLAPIENTRYP GetUniformivARB)(GLhandleARB program, GLint location, GLint * params); /* 533 */
-   void (GLAPIENTRYP LinkProgramARB)(GLhandleARB program); /* 534 */
-   void (GLAPIENTRYP ShaderSourceARB)(GLhandleARB shader, GLsizei count, const GLcharARB ** string, const GLint * length); /* 535 */
-   void (GLAPIENTRYP Uniform1fARB)(GLint location, GLfloat v0); /* 536 */
-   void (GLAPIENTRYP Uniform1fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 537 */
-   void (GLAPIENTRYP Uniform1iARB)(GLint location, GLint v0); /* 538 */
-   void (GLAPIENTRYP Uniform1ivARB)(GLint location, GLsizei count, const GLint * value); /* 539 */
-   void (GLAPIENTRYP Uniform2fARB)(GLint location, GLfloat v0, GLfloat v1); /* 540 */
-   void (GLAPIENTRYP Uniform2fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 541 */
-   void (GLAPIENTRYP Uniform2iARB)(GLint location, GLint v0, GLint v1); /* 542 */
-   void (GLAPIENTRYP Uniform2ivARB)(GLint location, GLsizei count, const GLint * value); /* 543 */
-   void (GLAPIENTRYP Uniform3fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); /* 544 */
-   void (GLAPIENTRYP Uniform3fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 545 */
-   void (GLAPIENTRYP Uniform3iARB)(GLint location, GLint v0, GLint v1, GLint v2); /* 546 */
-   void (GLAPIENTRYP Uniform3ivARB)(GLint location, GLsizei count, const GLint * value); /* 547 */
-   void (GLAPIENTRYP Uniform4fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); /* 548 */
-   void (GLAPIENTRYP Uniform4fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 549 */
-   void (GLAPIENTRYP Uniform4iARB)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); /* 550 */
-   void (GLAPIENTRYP Uniform4ivARB)(GLint location, GLsizei count, const GLint * value); /* 551 */
-   void (GLAPIENTRYP UniformMatrix2fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 552 */
-   void (GLAPIENTRYP UniformMatrix3fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 553 */
-   void (GLAPIENTRYP UniformMatrix4fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 554 */
-   void (GLAPIENTRYP UseProgramObjectARB)(GLhandleARB program); /* 555 */
-   void (GLAPIENTRYP ValidateProgramARB)(GLhandleARB program); /* 556 */
-   void (GLAPIENTRYP BindAttribLocationARB)(GLhandleARB program, GLuint index, const GLcharARB * name); /* 557 */
-   void (GLAPIENTRYP GetActiveAttribARB)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); /* 558 */
-   GLint (GLAPIENTRYP GetAttribLocationARB)(GLhandleARB program, const GLcharARB * name); /* 559 */
-   void (GLAPIENTRYP DrawBuffersARB)(GLsizei n, const GLenum * bufs); /* 560 */
-   void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 561 */
-   void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 562 */
-   void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 563 */
-   void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 564 */
-   void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 565 */
-   void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 566 */
-   void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 567 */
-   void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 568 */
-   void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 569 */
-   void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 570 */
-   void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 571 */
-   void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 572 */
-   void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 573 */
-   void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 574 */
-   void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 575 */
-   void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 576 */
-   void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 577 */
-   void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 578 */
-   void (GLAPIENTRYP UnlockArraysEXT)(void); /* 579 */
-   void (GLAPIENTRYP CullParameterdvEXT)(GLenum pname, GLdouble * params); /* 580 */
-   void (GLAPIENTRYP CullParameterfvEXT)(GLenum pname, GLfloat * params); /* 581 */
-   void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 582 */
-   void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 583 */
-   void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 584 */
-   void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 585 */
-   void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 586 */
-   void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 587 */
-   void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 588 */
-   void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 589 */
-   void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 590 */
-   void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 591 */
-   void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 592 */
-   void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 593 */
-   void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 594 */
-   void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 595 */
-   void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 596 */
-   void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 597 */
-   void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 598 */
-   void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount); /* 599 */
-   void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 600 */
-   void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 601 */
-   void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 602 */
-   void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 603 */
-   void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 604 */
-   void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 605 */
-   void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 606 */
-   void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 607 */
-   void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 608 */
-   void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 609 */
-   void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 610 */
-   void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 611 */
-   void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 612 */
-   void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 613 */
-   void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 614 */
-   void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 615 */
-   void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 616 */
-   void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 617 */
-   void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 618 */
-   void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 619 */
-   void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 620 */
-   void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 621 */
-   void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 622 */
-   void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 623 */
-   void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 624 */
-   void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 625 */
-   void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 626 */
-   void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 627 */
-   void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 628 */
-   void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 629 */
-   void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 630 */
-   void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 631 */
-   void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 632 */
-   void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 633 */
-   void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 634 */
-   void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 635 */
-   void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 636 */
-   void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 637 */
-   void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 638 */
-   void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 639 */
-   void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 640 */
-   void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 641 */
-   void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 642 */
-   void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 643 */
-   void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 644 */
-   void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 645 */
-   void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 646 */
-   void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 647 */
-   void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 648 */
-   void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 649 */
-   void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 650 */
-   void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 651 */
-   void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 652 */
-   void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 653 */
-   GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 654 */
-   void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 655 */
-   GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 656 */
-   GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 657 */
-   void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 658 */
-   void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 659 */
-   void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 660 */
-   void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 661 */
-   void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 662 */
-   void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 663 */
-   void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 664 */
-   void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 665 */
-   void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 666 */
-   void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 667 */
-   void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 668 */
-   void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 669 */
-   void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 670 */
-   GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 671 */
-   void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 672 */
-   void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLuint num, const GLdouble * params); /* 673 */
-   void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLuint num, const GLfloat * params); /* 674 */
-   void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 675 */
-   void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 676 */
-   void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 677 */
-   void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 678 */
-   void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 679 */
-   void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 680 */
-   void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 681 */
-   void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 682 */
-   void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 683 */
-   void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 684 */
-   void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 685 */
-   void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 686 */
-   void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 687 */
-   void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 688 */
-   void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 689 */
-   void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 690 */
-   void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 691 */
-   void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 692 */
-   void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 693 */
-   void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 694 */
-   void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 695 */
-   void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 696 */
-   void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 697 */
-   void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 698 */
-   void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 699 */
-   void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 700 */
-   void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 701 */
-   void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 702 */
-   void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 703 */
-   void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 704 */
-   void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 705 */
-   void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 706 */
-   void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 707 */
-   void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 708 */
-   void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 709 */
-   void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 710 */
-   void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 711 */
-   void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 712 */
-   void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 713 */
-   void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 714 */
-   void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 715 */
-   void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 716 */
-   void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 717 */
-   void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 718 */
-   void (GLAPIENTRYP AlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 719 */
-   void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 720 */
-   void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 721 */
-   void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 722 */
-   void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 723 */
-   void (GLAPIENTRYP ColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 724 */
-   void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 725 */
-   void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 726 */
-   GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 727 */
-   void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 728 */
-   void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 729 */
-   void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 730 */
-   void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 731 */
-   void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 732 */
-   void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 733 */
-   void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 734 */
-   void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 735 */
-   void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 736 */
-   GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 737 */
-   void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 738 */
-   void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 739 */
-   void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 740 */
-   void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 741 */
-   void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 742 */
-   void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 743 */
-   void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 744 */
-   void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 745 */
-   void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 746 */
-   void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 747 */
-   GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 748 */
-   void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 749 */
-   void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 750 */
-   void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 751 */
-   void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 752 */
-   void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 753 */
-   void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 754 */
-   void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 755 */
-   void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 756 */
-   void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 757 */
-   void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 758 */
-   void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 759 */
-   GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 760 */
-   GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 761 */
-   void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 762 */
-   void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 763 */
-   void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 764 */
-   void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 765 */
-   void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 766 */
-   void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 767 */
-   void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 768 */
-   void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 769 */
-};
-
-#endif /* !defined( _GLAPI_TABLE_H_ ) */
diff --git a/GL/glx/glapitemp.h b/GL/glx/glapitemp.h
deleted file mode 100644
index 09259f4..0000000
--- a/GL/glx/glapitemp.h
+++ /dev/null
@@ -1,6655 +0,0 @@
-/* DO NOT EDIT - This file generated automatically by gl_apitemp.py (from Mesa) script */
-
-/*
- * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
- * (C) Copyright IBM Corporation 2004
- * 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
- * BRIAN PAUL, 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.
- */
-
-
-#  if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__)
-#    define HIDDEN  __attribute__((visibility("hidden")))
-#  else
-#    define HIDDEN
-#  endif
-
-/*
- * This file is a template which generates the OpenGL API entry point
- * functions.  It should be included by a .c file which first defines
- * the following macros:
- *   KEYWORD1 - usually nothing, but might be __declspec(dllexport) on Win32
- *   KEYWORD2 - usually nothing, but might be __stdcall on Win32
- *   NAME(n)  - builds the final function name (usually add "gl" prefix)
- *   DISPATCH(func, args, msg) - code to do dispatch of named function.
- *                               msg is a printf-style debug message.
- *   RETURN_DISPATCH(func, args, msg) - code to do dispatch with a return value
- *
- * Here is an example which generates the usual OpenGL functions:
- *   #define KEYWORD1
- *   #define KEYWORD2
- *   #define NAME(func)  gl##func
- *   #define DISPATCH(func, args, msg)                           \
- *          struct _glapi_table *dispatch = CurrentDispatch;     \
- *          (*dispatch->func) args
- *   #define RETURN DISPATCH(func, args, msg)                    \
- *          struct _glapi_table *dispatch = CurrentDispatch;     \
- *          return (*dispatch->func) args
- *
- */
-
-
-#if defined( NAME )
-#ifndef KEYWORD1
-#define KEYWORD1
-#endif
-
-#ifndef KEYWORD1_ALT
-#define KEYWORD1_ALT HIDDEN
-#endif
-
-#ifndef KEYWORD2
-#define KEYWORD2
-#endif
-
-#ifndef DISPATCH
-#error DISPATCH must be defined
-#endif
-
-#ifndef RETURN_DISPATCH
-#error RETURN_DISPATCH must be defined
-#endif
-
-
-KEYWORD1 void KEYWORD2 NAME(NewList)(GLuint list, GLenum mode)
-{
-   DISPATCH(NewList, (list, mode), (F, "glNewList(%d, 0x%x);\n", list, mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EndList)(void)
-{
-   DISPATCH(EndList, (), (F, "glEndList();\n"));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CallList)(GLuint list)
-{
-   DISPATCH(CallList, (list), (F, "glCallList(%d);\n", list));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CallLists)(GLsizei n, GLenum type, const GLvoid * lists)
-{
-   DISPATCH(CallLists, (n, type, lists), (F, "glCallLists(%d, 0x%x, %p);\n", n, type, (const void *) lists));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DeleteLists)(GLuint list, GLsizei range)
-{
-   DISPATCH(DeleteLists, (list, range), (F, "glDeleteLists(%d, %d);\n", list, range));
-}
-
-KEYWORD1 GLuint KEYWORD2 NAME(GenLists)(GLsizei range)
-{
-   RETURN_DISPATCH(GenLists, (range), (F, "glGenLists(%d);\n", range));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ListBase)(GLuint base)
-{
-   DISPATCH(ListBase, (base), (F, "glListBase(%d);\n", base));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Begin)(GLenum mode)
-{
-   DISPATCH(Begin, (mode), (F, "glBegin(0x%x);\n", mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Bitmap)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap)
-{
-   DISPATCH(Bitmap, (width, height, xorig, yorig, xmove, ymove, bitmap), (F, "glBitmap(%d, %d, %f, %f, %f, %f, %p);\n", width, height, xorig, yorig, xmove, ymove, (const void *) bitmap));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3b)(GLbyte red, GLbyte green, GLbyte blue)
-{
-   DISPATCH(Color3b, (red, green, blue), (F, "glColor3b(%d, %d, %d);\n", red, green, blue));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3bv)(const GLbyte * v)
-{
-   DISPATCH(Color3bv, (v), (F, "glColor3bv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3d)(GLdouble red, GLdouble green, GLdouble blue)
-{
-   DISPATCH(Color3d, (red, green, blue), (F, "glColor3d(%f, %f, %f);\n", red, green, blue));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3dv)(const GLdouble * v)
-{
-   DISPATCH(Color3dv, (v), (F, "glColor3dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3f)(GLfloat red, GLfloat green, GLfloat blue)
-{
-   DISPATCH(Color3f, (red, green, blue), (F, "glColor3f(%f, %f, %f);\n", red, green, blue));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3fv)(const GLfloat * v)
-{
-   DISPATCH(Color3fv, (v), (F, "glColor3fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3i)(GLint red, GLint green, GLint blue)
-{
-   DISPATCH(Color3i, (red, green, blue), (F, "glColor3i(%d, %d, %d);\n", red, green, blue));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3iv)(const GLint * v)
-{
-   DISPATCH(Color3iv, (v), (F, "glColor3iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3s)(GLshort red, GLshort green, GLshort blue)
-{
-   DISPATCH(Color3s, (red, green, blue), (F, "glColor3s(%d, %d, %d);\n", red, green, blue));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3sv)(const GLshort * v)
-{
-   DISPATCH(Color3sv, (v), (F, "glColor3sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3ub)(GLubyte red, GLubyte green, GLubyte blue)
-{
-   DISPATCH(Color3ub, (red, green, blue), (F, "glColor3ub(%d, %d, %d);\n", red, green, blue));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3ubv)(const GLubyte * v)
-{
-   DISPATCH(Color3ubv, (v), (F, "glColor3ubv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3ui)(GLuint red, GLuint green, GLuint blue)
-{
-   DISPATCH(Color3ui, (red, green, blue), (F, "glColor3ui(%d, %d, %d);\n", red, green, blue));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3uiv)(const GLuint * v)
-{
-   DISPATCH(Color3uiv, (v), (F, "glColor3uiv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3us)(GLushort red, GLushort green, GLushort blue)
-{
-   DISPATCH(Color3us, (red, green, blue), (F, "glColor3us(%d, %d, %d);\n", red, green, blue));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color3usv)(const GLushort * v)
-{
-   DISPATCH(Color3usv, (v), (F, "glColor3usv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4b)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
-{
-   DISPATCH(Color4b, (red, green, blue, alpha), (F, "glColor4b(%d, %d, %d, %d);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4bv)(const GLbyte * v)
-{
-   DISPATCH(Color4bv, (v), (F, "glColor4bv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
-{
-   DISPATCH(Color4d, (red, green, blue, alpha), (F, "glColor4d(%f, %f, %f, %f);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4dv)(const GLdouble * v)
-{
-   DISPATCH(Color4dv, (v), (F, "glColor4dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
-{
-   DISPATCH(Color4f, (red, green, blue, alpha), (F, "glColor4f(%f, %f, %f, %f);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4fv)(const GLfloat * v)
-{
-   DISPATCH(Color4fv, (v), (F, "glColor4fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4i)(GLint red, GLint green, GLint blue, GLint alpha)
-{
-   DISPATCH(Color4i, (red, green, blue, alpha), (F, "glColor4i(%d, %d, %d, %d);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4iv)(const GLint * v)
-{
-   DISPATCH(Color4iv, (v), (F, "glColor4iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4s)(GLshort red, GLshort green, GLshort blue, GLshort alpha)
-{
-   DISPATCH(Color4s, (red, green, blue, alpha), (F, "glColor4s(%d, %d, %d, %d);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4sv)(const GLshort * v)
-{
-   DISPATCH(Color4sv, (v), (F, "glColor4sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
-{
-   DISPATCH(Color4ub, (red, green, blue, alpha), (F, "glColor4ub(%d, %d, %d, %d);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4ubv)(const GLubyte * v)
-{
-   DISPATCH(Color4ubv, (v), (F, "glColor4ubv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha)
-{
-   DISPATCH(Color4ui, (red, green, blue, alpha), (F, "glColor4ui(%d, %d, %d, %d);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4uiv)(const GLuint * v)
-{
-   DISPATCH(Color4uiv, (v), (F, "glColor4uiv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4us)(GLushort red, GLushort green, GLushort blue, GLushort alpha)
-{
-   DISPATCH(Color4us, (red, green, blue, alpha), (F, "glColor4us(%d, %d, %d, %d);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Color4usv)(const GLushort * v)
-{
-   DISPATCH(Color4usv, (v), (F, "glColor4usv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EdgeFlag)(GLboolean flag)
-{
-   DISPATCH(EdgeFlag, (flag), (F, "glEdgeFlag(%d);\n", flag));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EdgeFlagv)(const GLboolean * flag)
-{
-   DISPATCH(EdgeFlagv, (flag), (F, "glEdgeFlagv(%p);\n", (const void *) flag));
-}
-
-KEYWORD1 void KEYWORD2 NAME(End)(void)
-{
-   DISPATCH(End, (), (F, "glEnd();\n"));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Indexd)(GLdouble c)
-{
-   DISPATCH(Indexd, (c), (F, "glIndexd(%f);\n", c));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Indexdv)(const GLdouble * c)
-{
-   DISPATCH(Indexdv, (c), (F, "glIndexdv(%p);\n", (const void *) c));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Indexf)(GLfloat c)
-{
-   DISPATCH(Indexf, (c), (F, "glIndexf(%f);\n", c));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Indexfv)(const GLfloat * c)
-{
-   DISPATCH(Indexfv, (c), (F, "glIndexfv(%p);\n", (const void *) c));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Indexi)(GLint c)
-{
-   DISPATCH(Indexi, (c), (F, "glIndexi(%d);\n", c));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Indexiv)(const GLint * c)
-{
-   DISPATCH(Indexiv, (c), (F, "glIndexiv(%p);\n", (const void *) c));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Indexs)(GLshort c)
-{
-   DISPATCH(Indexs, (c), (F, "glIndexs(%d);\n", c));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Indexsv)(const GLshort * c)
-{
-   DISPATCH(Indexsv, (c), (F, "glIndexsv(%p);\n", (const void *) c));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Normal3b)(GLbyte nx, GLbyte ny, GLbyte nz)
-{
-   DISPATCH(Normal3b, (nx, ny, nz), (F, "glNormal3b(%d, %d, %d);\n", nx, ny, nz));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Normal3bv)(const GLbyte * v)
-{
-   DISPATCH(Normal3bv, (v), (F, "glNormal3bv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Normal3d)(GLdouble nx, GLdouble ny, GLdouble nz)
-{
-   DISPATCH(Normal3d, (nx, ny, nz), (F, "glNormal3d(%f, %f, %f);\n", nx, ny, nz));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Normal3dv)(const GLdouble * v)
-{
-   DISPATCH(Normal3dv, (v), (F, "glNormal3dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz)
-{
-   DISPATCH(Normal3f, (nx, ny, nz), (F, "glNormal3f(%f, %f, %f);\n", nx, ny, nz));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Normal3fv)(const GLfloat * v)
-{
-   DISPATCH(Normal3fv, (v), (F, "glNormal3fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Normal3i)(GLint nx, GLint ny, GLint nz)
-{
-   DISPATCH(Normal3i, (nx, ny, nz), (F, "glNormal3i(%d, %d, %d);\n", nx, ny, nz));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Normal3iv)(const GLint * v)
-{
-   DISPATCH(Normal3iv, (v), (F, "glNormal3iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Normal3s)(GLshort nx, GLshort ny, GLshort nz)
-{
-   DISPATCH(Normal3s, (nx, ny, nz), (F, "glNormal3s(%d, %d, %d);\n", nx, ny, nz));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Normal3sv)(const GLshort * v)
-{
-   DISPATCH(Normal3sv, (v), (F, "glNormal3sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos2d)(GLdouble x, GLdouble y)
-{
-   DISPATCH(RasterPos2d, (x, y), (F, "glRasterPos2d(%f, %f);\n", x, y));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos2dv)(const GLdouble * v)
-{
-   DISPATCH(RasterPos2dv, (v), (F, "glRasterPos2dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos2f)(GLfloat x, GLfloat y)
-{
-   DISPATCH(RasterPos2f, (x, y), (F, "glRasterPos2f(%f, %f);\n", x, y));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos2fv)(const GLfloat * v)
-{
-   DISPATCH(RasterPos2fv, (v), (F, "glRasterPos2fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos2i)(GLint x, GLint y)
-{
-   DISPATCH(RasterPos2i, (x, y), (F, "glRasterPos2i(%d, %d);\n", x, y));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos2iv)(const GLint * v)
-{
-   DISPATCH(RasterPos2iv, (v), (F, "glRasterPos2iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos2s)(GLshort x, GLshort y)
-{
-   DISPATCH(RasterPos2s, (x, y), (F, "glRasterPos2s(%d, %d);\n", x, y));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos2sv)(const GLshort * v)
-{
-   DISPATCH(RasterPos2sv, (v), (F, "glRasterPos2sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos3d)(GLdouble x, GLdouble y, GLdouble z)
-{
-   DISPATCH(RasterPos3d, (x, y, z), (F, "glRasterPos3d(%f, %f, %f);\n", x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos3dv)(const GLdouble * v)
-{
-   DISPATCH(RasterPos3dv, (v), (F, "glRasterPos3dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos3f)(GLfloat x, GLfloat y, GLfloat z)
-{
-   DISPATCH(RasterPos3f, (x, y, z), (F, "glRasterPos3f(%f, %f, %f);\n", x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos3fv)(const GLfloat * v)
-{
-   DISPATCH(RasterPos3fv, (v), (F, "glRasterPos3fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos3i)(GLint x, GLint y, GLint z)
-{
-   DISPATCH(RasterPos3i, (x, y, z), (F, "glRasterPos3i(%d, %d, %d);\n", x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos3iv)(const GLint * v)
-{
-   DISPATCH(RasterPos3iv, (v), (F, "glRasterPos3iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos3s)(GLshort x, GLshort y, GLshort z)
-{
-   DISPATCH(RasterPos3s, (x, y, z), (F, "glRasterPos3s(%d, %d, %d);\n", x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos3sv)(const GLshort * v)
-{
-   DISPATCH(RasterPos3sv, (v), (F, "glRasterPos3sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
-{
-   DISPATCH(RasterPos4d, (x, y, z, w), (F, "glRasterPos4d(%f, %f, %f, %f);\n", x, y, z, w));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos4dv)(const GLdouble * v)
-{
-   DISPATCH(RasterPos4dv, (v), (F, "glRasterPos4dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
-{
-   DISPATCH(RasterPos4f, (x, y, z, w), (F, "glRasterPos4f(%f, %f, %f, %f);\n", x, y, z, w));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos4fv)(const GLfloat * v)
-{
-   DISPATCH(RasterPos4fv, (v), (F, "glRasterPos4fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos4i)(GLint x, GLint y, GLint z, GLint w)
-{
-   DISPATCH(RasterPos4i, (x, y, z, w), (F, "glRasterPos4i(%d, %d, %d, %d);\n", x, y, z, w));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos4iv)(const GLint * v)
-{
-   DISPATCH(RasterPos4iv, (v), (F, "glRasterPos4iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos4s)(GLshort x, GLshort y, GLshort z, GLshort w)
-{
-   DISPATCH(RasterPos4s, (x, y, z, w), (F, "glRasterPos4s(%d, %d, %d, %d);\n", x, y, z, w));
-}
-
-KEYWORD1 void KEYWORD2 NAME(RasterPos4sv)(const GLshort * v)
-{
-   DISPATCH(RasterPos4sv, (v), (F, "glRasterPos4sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Rectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
-{
-   DISPATCH(Rectd, (x1, y1, x2, y2), (F, "glRectd(%f, %f, %f, %f);\n", x1, y1, x2, y2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Rectdv)(const GLdouble * v1, const GLdouble * v2)
-{
-   DISPATCH(Rectdv, (v1, v2), (F, "glRectdv(%p, %p);\n", (const void *) v1, (const void *) v2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Rectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
-{
-   DISPATCH(Rectf, (x1, y1, x2, y2), (F, "glRectf(%f, %f, %f, %f);\n", x1, y1, x2, y2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Rectfv)(const GLfloat * v1, const GLfloat * v2)
-{
-   DISPATCH(Rectfv, (v1, v2), (F, "glRectfv(%p, %p);\n", (const void *) v1, (const void *) v2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Recti)(GLint x1, GLint y1, GLint x2, GLint y2)
-{
-   DISPATCH(Recti, (x1, y1, x2, y2), (F, "glRecti(%d, %d, %d, %d);\n", x1, y1, x2, y2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Rectiv)(const GLint * v1, const GLint * v2)
-{
-   DISPATCH(Rectiv, (v1, v2), (F, "glRectiv(%p, %p);\n", (const void *) v1, (const void *) v2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Rects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2)
-{
-   DISPATCH(Rects, (x1, y1, x2, y2), (F, "glRects(%d, %d, %d, %d);\n", x1, y1, x2, y2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Rectsv)(const GLshort * v1, const GLshort * v2)
-{
-   DISPATCH(Rectsv, (v1, v2), (F, "glRectsv(%p, %p);\n", (const void *) v1, (const void *) v2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord1d)(GLdouble s)
-{
-   DISPATCH(TexCoord1d, (s), (F, "glTexCoord1d(%f);\n", s));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord1dv)(const GLdouble * v)
-{
-   DISPATCH(TexCoord1dv, (v), (F, "glTexCoord1dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord1f)(GLfloat s)
-{
-   DISPATCH(TexCoord1f, (s), (F, "glTexCoord1f(%f);\n", s));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord1fv)(const GLfloat * v)
-{
-   DISPATCH(TexCoord1fv, (v), (F, "glTexCoord1fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord1i)(GLint s)
-{
-   DISPATCH(TexCoord1i, (s), (F, "glTexCoord1i(%d);\n", s));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord1iv)(const GLint * v)
-{
-   DISPATCH(TexCoord1iv, (v), (F, "glTexCoord1iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord1s)(GLshort s)
-{
-   DISPATCH(TexCoord1s, (s), (F, "glTexCoord1s(%d);\n", s));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord1sv)(const GLshort * v)
-{
-   DISPATCH(TexCoord1sv, (v), (F, "glTexCoord1sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord2d)(GLdouble s, GLdouble t)
-{
-   DISPATCH(TexCoord2d, (s, t), (F, "glTexCoord2d(%f, %f);\n", s, t));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord2dv)(const GLdouble * v)
-{
-   DISPATCH(TexCoord2dv, (v), (F, "glTexCoord2dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord2f)(GLfloat s, GLfloat t)
-{
-   DISPATCH(TexCoord2f, (s, t), (F, "glTexCoord2f(%f, %f);\n", s, t));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord2fv)(const GLfloat * v)
-{
-   DISPATCH(TexCoord2fv, (v), (F, "glTexCoord2fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord2i)(GLint s, GLint t)
-{
-   DISPATCH(TexCoord2i, (s, t), (F, "glTexCoord2i(%d, %d);\n", s, t));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord2iv)(const GLint * v)
-{
-   DISPATCH(TexCoord2iv, (v), (F, "glTexCoord2iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord2s)(GLshort s, GLshort t)
-{
-   DISPATCH(TexCoord2s, (s, t), (F, "glTexCoord2s(%d, %d);\n", s, t));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord2sv)(const GLshort * v)
-{
-   DISPATCH(TexCoord2sv, (v), (F, "glTexCoord2sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord3d)(GLdouble s, GLdouble t, GLdouble r)
-{
-   DISPATCH(TexCoord3d, (s, t, r), (F, "glTexCoord3d(%f, %f, %f);\n", s, t, r));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord3dv)(const GLdouble * v)
-{
-   DISPATCH(TexCoord3dv, (v), (F, "glTexCoord3dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord3f)(GLfloat s, GLfloat t, GLfloat r)
-{
-   DISPATCH(TexCoord3f, (s, t, r), (F, "glTexCoord3f(%f, %f, %f);\n", s, t, r));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord3fv)(const GLfloat * v)
-{
-   DISPATCH(TexCoord3fv, (v), (F, "glTexCoord3fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord3i)(GLint s, GLint t, GLint r)
-{
-   DISPATCH(TexCoord3i, (s, t, r), (F, "glTexCoord3i(%d, %d, %d);\n", s, t, r));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord3iv)(const GLint * v)
-{
-   DISPATCH(TexCoord3iv, (v), (F, "glTexCoord3iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord3s)(GLshort s, GLshort t, GLshort r)
-{
-   DISPATCH(TexCoord3s, (s, t, r), (F, "glTexCoord3s(%d, %d, %d);\n", s, t, r));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord3sv)(const GLshort * v)
-{
-   DISPATCH(TexCoord3sv, (v), (F, "glTexCoord3sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q)
-{
-   DISPATCH(TexCoord4d, (s, t, r, q), (F, "glTexCoord4d(%f, %f, %f, %f);\n", s, t, r, q));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord4dv)(const GLdouble * v)
-{
-   DISPATCH(TexCoord4dv, (v), (F, "glTexCoord4dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q)
-{
-   DISPATCH(TexCoord4f, (s, t, r, q), (F, "glTexCoord4f(%f, %f, %f, %f);\n", s, t, r, q));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord4fv)(const GLfloat * v)
-{
-   DISPATCH(TexCoord4fv, (v), (F, "glTexCoord4fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord4i)(GLint s, GLint t, GLint r, GLint q)
-{
-   DISPATCH(TexCoord4i, (s, t, r, q), (F, "glTexCoord4i(%d, %d, %d, %d);\n", s, t, r, q));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord4iv)(const GLint * v)
-{
-   DISPATCH(TexCoord4iv, (v), (F, "glTexCoord4iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord4s)(GLshort s, GLshort t, GLshort r, GLshort q)
-{
-   DISPATCH(TexCoord4s, (s, t, r, q), (F, "glTexCoord4s(%d, %d, %d, %d);\n", s, t, r, q));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoord4sv)(const GLshort * v)
-{
-   DISPATCH(TexCoord4sv, (v), (F, "glTexCoord4sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex2d)(GLdouble x, GLdouble y)
-{
-   DISPATCH(Vertex2d, (x, y), (F, "glVertex2d(%f, %f);\n", x, y));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex2dv)(const GLdouble * v)
-{
-   DISPATCH(Vertex2dv, (v), (F, "glVertex2dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex2f)(GLfloat x, GLfloat y)
-{
-   DISPATCH(Vertex2f, (x, y), (F, "glVertex2f(%f, %f);\n", x, y));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex2fv)(const GLfloat * v)
-{
-   DISPATCH(Vertex2fv, (v), (F, "glVertex2fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex2i)(GLint x, GLint y)
-{
-   DISPATCH(Vertex2i, (x, y), (F, "glVertex2i(%d, %d);\n", x, y));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex2iv)(const GLint * v)
-{
-   DISPATCH(Vertex2iv, (v), (F, "glVertex2iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex2s)(GLshort x, GLshort y)
-{
-   DISPATCH(Vertex2s, (x, y), (F, "glVertex2s(%d, %d);\n", x, y));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex2sv)(const GLshort * v)
-{
-   DISPATCH(Vertex2sv, (v), (F, "glVertex2sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex3d)(GLdouble x, GLdouble y, GLdouble z)
-{
-   DISPATCH(Vertex3d, (x, y, z), (F, "glVertex3d(%f, %f, %f);\n", x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex3dv)(const GLdouble * v)
-{
-   DISPATCH(Vertex3dv, (v), (F, "glVertex3dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex3f)(GLfloat x, GLfloat y, GLfloat z)
-{
-   DISPATCH(Vertex3f, (x, y, z), (F, "glVertex3f(%f, %f, %f);\n", x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex3fv)(const GLfloat * v)
-{
-   DISPATCH(Vertex3fv, (v), (F, "glVertex3fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex3i)(GLint x, GLint y, GLint z)
-{
-   DISPATCH(Vertex3i, (x, y, z), (F, "glVertex3i(%d, %d, %d);\n", x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex3iv)(const GLint * v)
-{
-   DISPATCH(Vertex3iv, (v), (F, "glVertex3iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex3s)(GLshort x, GLshort y, GLshort z)
-{
-   DISPATCH(Vertex3s, (x, y, z), (F, "glVertex3s(%d, %d, %d);\n", x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex3sv)(const GLshort * v)
-{
-   DISPATCH(Vertex3sv, (v), (F, "glVertex3sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
-{
-   DISPATCH(Vertex4d, (x, y, z, w), (F, "glVertex4d(%f, %f, %f, %f);\n", x, y, z, w));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex4dv)(const GLdouble * v)
-{
-   DISPATCH(Vertex4dv, (v), (F, "glVertex4dv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
-{
-   DISPATCH(Vertex4f, (x, y, z, w), (F, "glVertex4f(%f, %f, %f, %f);\n", x, y, z, w));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex4fv)(const GLfloat * v)
-{
-   DISPATCH(Vertex4fv, (v), (F, "glVertex4fv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex4i)(GLint x, GLint y, GLint z, GLint w)
-{
-   DISPATCH(Vertex4i, (x, y, z, w), (F, "glVertex4i(%d, %d, %d, %d);\n", x, y, z, w));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex4iv)(const GLint * v)
-{
-   DISPATCH(Vertex4iv, (v), (F, "glVertex4iv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex4s)(GLshort x, GLshort y, GLshort z, GLshort w)
-{
-   DISPATCH(Vertex4s, (x, y, z, w), (F, "glVertex4s(%d, %d, %d, %d);\n", x, y, z, w));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Vertex4sv)(const GLshort * v)
-{
-   DISPATCH(Vertex4sv, (v), (F, "glVertex4sv(%p);\n", (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ClipPlane)(GLenum plane, const GLdouble * equation)
-{
-   DISPATCH(ClipPlane, (plane, equation), (F, "glClipPlane(0x%x, %p);\n", plane, (const void *) equation));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ColorMaterial)(GLenum face, GLenum mode)
-{
-   DISPATCH(ColorMaterial, (face, mode), (F, "glColorMaterial(0x%x, 0x%x);\n", face, mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CullFace)(GLenum mode)
-{
-   DISPATCH(CullFace, (mode), (F, "glCullFace(0x%x);\n", mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Fogf)(GLenum pname, GLfloat param)
-{
-   DISPATCH(Fogf, (pname, param), (F, "glFogf(0x%x, %f);\n", pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Fogfv)(GLenum pname, const GLfloat * params)
-{
-   DISPATCH(Fogfv, (pname, params), (F, "glFogfv(0x%x, %p);\n", pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Fogi)(GLenum pname, GLint param)
-{
-   DISPATCH(Fogi, (pname, param), (F, "glFogi(0x%x, %d);\n", pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Fogiv)(GLenum pname, const GLint * params)
-{
-   DISPATCH(Fogiv, (pname, params), (F, "glFogiv(0x%x, %p);\n", pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(FrontFace)(GLenum mode)
-{
-   DISPATCH(FrontFace, (mode), (F, "glFrontFace(0x%x);\n", mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Hint)(GLenum target, GLenum mode)
-{
-   DISPATCH(Hint, (target, mode), (F, "glHint(0x%x, 0x%x);\n", target, mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Lightf)(GLenum light, GLenum pname, GLfloat param)
-{
-   DISPATCH(Lightf, (light, pname, param), (F, "glLightf(0x%x, 0x%x, %f);\n", light, pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Lightfv)(GLenum light, GLenum pname, const GLfloat * params)
-{
-   DISPATCH(Lightfv, (light, pname, params), (F, "glLightfv(0x%x, 0x%x, %p);\n", light, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Lighti)(GLenum light, GLenum pname, GLint param)
-{
-   DISPATCH(Lighti, (light, pname, param), (F, "glLighti(0x%x, 0x%x, %d);\n", light, pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Lightiv)(GLenum light, GLenum pname, const GLint * params)
-{
-   DISPATCH(Lightiv, (light, pname, params), (F, "glLightiv(0x%x, 0x%x, %p);\n", light, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(LightModelf)(GLenum pname, GLfloat param)
-{
-   DISPATCH(LightModelf, (pname, param), (F, "glLightModelf(0x%x, %f);\n", pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(LightModelfv)(GLenum pname, const GLfloat * params)
-{
-   DISPATCH(LightModelfv, (pname, params), (F, "glLightModelfv(0x%x, %p);\n", pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(LightModeli)(GLenum pname, GLint param)
-{
-   DISPATCH(LightModeli, (pname, param), (F, "glLightModeli(0x%x, %d);\n", pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(LightModeliv)(GLenum pname, const GLint * params)
-{
-   DISPATCH(LightModeliv, (pname, params), (F, "glLightModeliv(0x%x, %p);\n", pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(LineStipple)(GLint factor, GLushort pattern)
-{
-   DISPATCH(LineStipple, (factor, pattern), (F, "glLineStipple(%d, %d);\n", factor, pattern));
-}
-
-KEYWORD1 void KEYWORD2 NAME(LineWidth)(GLfloat width)
-{
-   DISPATCH(LineWidth, (width), (F, "glLineWidth(%f);\n", width));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Materialf)(GLenum face, GLenum pname, GLfloat param)
-{
-   DISPATCH(Materialf, (face, pname, param), (F, "glMaterialf(0x%x, 0x%x, %f);\n", face, pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Materialfv)(GLenum face, GLenum pname, const GLfloat * params)
-{
-   DISPATCH(Materialfv, (face, pname, params), (F, "glMaterialfv(0x%x, 0x%x, %p);\n", face, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Materiali)(GLenum face, GLenum pname, GLint param)
-{
-   DISPATCH(Materiali, (face, pname, param), (F, "glMateriali(0x%x, 0x%x, %d);\n", face, pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Materialiv)(GLenum face, GLenum pname, const GLint * params)
-{
-   DISPATCH(Materialiv, (face, pname, params), (F, "glMaterialiv(0x%x, 0x%x, %p);\n", face, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PointSize)(GLfloat size)
-{
-   DISPATCH(PointSize, (size), (F, "glPointSize(%f);\n", size));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PolygonMode)(GLenum face, GLenum mode)
-{
-   DISPATCH(PolygonMode, (face, mode), (F, "glPolygonMode(0x%x, 0x%x);\n", face, mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PolygonStipple)(const GLubyte * mask)
-{
-   DISPATCH(PolygonStipple, (mask), (F, "glPolygonStipple(%p);\n", (const void *) mask));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Scissor)(GLint x, GLint y, GLsizei width, GLsizei height)
-{
-   DISPATCH(Scissor, (x, y, width, height), (F, "glScissor(%d, %d, %d, %d);\n", x, y, width, height));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ShadeModel)(GLenum mode)
-{
-   DISPATCH(ShadeModel, (mode), (F, "glShadeModel(0x%x);\n", mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexParameterf)(GLenum target, GLenum pname, GLfloat param)
-{
-   DISPATCH(TexParameterf, (target, pname, param), (F, "glTexParameterf(0x%x, 0x%x, %f);\n", target, pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexParameterfv)(GLenum target, GLenum pname, const GLfloat * params)
-{
-   DISPATCH(TexParameterfv, (target, pname, params), (F, "glTexParameterfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexParameteri)(GLenum target, GLenum pname, GLint param)
-{
-   DISPATCH(TexParameteri, (target, pname, param), (F, "glTexParameteri(0x%x, 0x%x, %d);\n", target, pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexParameteriv)(GLenum target, GLenum pname, const GLint * params)
-{
-   DISPATCH(TexParameteriv, (target, pname, params), (F, "glTexParameteriv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels)
-{
-   DISPATCH(TexImage1D, (target, level, internalformat, width, border, format, type, pixels), (F, "glTexImage1D(0x%x, %d, %d, %d, %d, 0x%x, 0x%x, %p);\n", target, level, internalformat, width, border, format, type, (const void *) pixels));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels)
-{
-   DISPATCH(TexImage2D, (target, level, internalformat, width, height, border, format, type, pixels), (F, "glTexImage2D(0x%x, %d, %d, %d, %d, %d, 0x%x, 0x%x, %p);\n", target, level, internalformat, width, height, border, format, type, (const void *) pixels));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexEnvf)(GLenum target, GLenum pname, GLfloat param)
-{
-   DISPATCH(TexEnvf, (target, pname, param), (F, "glTexEnvf(0x%x, 0x%x, %f);\n", target, pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexEnvfv)(GLenum target, GLenum pname, const GLfloat * params)
-{
-   DISPATCH(TexEnvfv, (target, pname, params), (F, "glTexEnvfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexEnvi)(GLenum target, GLenum pname, GLint param)
-{
-   DISPATCH(TexEnvi, (target, pname, param), (F, "glTexEnvi(0x%x, 0x%x, %d);\n", target, pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexEnviv)(GLenum target, GLenum pname, const GLint * params)
-{
-   DISPATCH(TexEnviv, (target, pname, params), (F, "glTexEnviv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexGend)(GLenum coord, GLenum pname, GLdouble param)
-{
-   DISPATCH(TexGend, (coord, pname, param), (F, "glTexGend(0x%x, 0x%x, %f);\n", coord, pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexGendv)(GLenum coord, GLenum pname, const GLdouble * params)
-{
-   DISPATCH(TexGendv, (coord, pname, params), (F, "glTexGendv(0x%x, 0x%x, %p);\n", coord, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexGenf)(GLenum coord, GLenum pname, GLfloat param)
-{
-   DISPATCH(TexGenf, (coord, pname, param), (F, "glTexGenf(0x%x, 0x%x, %f);\n", coord, pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexGenfv)(GLenum coord, GLenum pname, const GLfloat * params)
-{
-   DISPATCH(TexGenfv, (coord, pname, params), (F, "glTexGenfv(0x%x, 0x%x, %p);\n", coord, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexGeni)(GLenum coord, GLenum pname, GLint param)
-{
-   DISPATCH(TexGeni, (coord, pname, param), (F, "glTexGeni(0x%x, 0x%x, %d);\n", coord, pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexGeniv)(GLenum coord, GLenum pname, const GLint * params)
-{
-   DISPATCH(TexGeniv, (coord, pname, params), (F, "glTexGeniv(0x%x, 0x%x, %p);\n", coord, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(FeedbackBuffer)(GLsizei size, GLenum type, GLfloat * buffer)
-{
-   DISPATCH(FeedbackBuffer, (size, type, buffer), (F, "glFeedbackBuffer(%d, 0x%x, %p);\n", size, type, (const void *) buffer));
-}
-
-KEYWORD1 void KEYWORD2 NAME(SelectBuffer)(GLsizei size, GLuint * buffer)
-{
-   DISPATCH(SelectBuffer, (size, buffer), (F, "glSelectBuffer(%d, %p);\n", size, (const void *) buffer));
-}
-
-KEYWORD1 GLint KEYWORD2 NAME(RenderMode)(GLenum mode)
-{
-   RETURN_DISPATCH(RenderMode, (mode), (F, "glRenderMode(0x%x);\n", mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(InitNames)(void)
-{
-   DISPATCH(InitNames, (), (F, "glInitNames();\n"));
-}
-
-KEYWORD1 void KEYWORD2 NAME(LoadName)(GLuint name)
-{
-   DISPATCH(LoadName, (name), (F, "glLoadName(%d);\n", name));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PassThrough)(GLfloat token)
-{
-   DISPATCH(PassThrough, (token), (F, "glPassThrough(%f);\n", token));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PopName)(void)
-{
-   DISPATCH(PopName, (), (F, "glPopName();\n"));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PushName)(GLuint name)
-{
-   DISPATCH(PushName, (name), (F, "glPushName(%d);\n", name));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DrawBuffer)(GLenum mode)
-{
-   DISPATCH(DrawBuffer, (mode), (F, "glDrawBuffer(0x%x);\n", mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Clear)(GLbitfield mask)
-{
-   DISPATCH(Clear, (mask), (F, "glClear(%d);\n", mask));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
-{
-   DISPATCH(ClearAccum, (red, green, blue, alpha), (F, "glClearAccum(%f, %f, %f, %f);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ClearIndex)(GLfloat c)
-{
-   DISPATCH(ClearIndex, (c), (F, "glClearIndex(%f);\n", c));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
-{
-   DISPATCH(ClearColor, (red, green, blue, alpha), (F, "glClearColor(%f, %f, %f, %f);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ClearStencil)(GLint s)
-{
-   DISPATCH(ClearStencil, (s), (F, "glClearStencil(%d);\n", s));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ClearDepth)(GLclampd depth)
-{
-   DISPATCH(ClearDepth, (depth), (F, "glClearDepth(%f);\n", depth));
-}
-
-KEYWORD1 void KEYWORD2 NAME(StencilMask)(GLuint mask)
-{
-   DISPATCH(StencilMask, (mask), (F, "glStencilMask(%d);\n", mask));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
-{
-   DISPATCH(ColorMask, (red, green, blue, alpha), (F, "glColorMask(%d, %d, %d, %d);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DepthMask)(GLboolean flag)
-{
-   DISPATCH(DepthMask, (flag), (F, "glDepthMask(%d);\n", flag));
-}
-
-KEYWORD1 void KEYWORD2 NAME(IndexMask)(GLuint mask)
-{
-   DISPATCH(IndexMask, (mask), (F, "glIndexMask(%d);\n", mask));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Accum)(GLenum op, GLfloat value)
-{
-   DISPATCH(Accum, (op, value), (F, "glAccum(0x%x, %f);\n", op, value));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Disable)(GLenum cap)
-{
-   DISPATCH(Disable, (cap), (F, "glDisable(0x%x);\n", cap));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Enable)(GLenum cap)
-{
-   DISPATCH(Enable, (cap), (F, "glEnable(0x%x);\n", cap));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Finish)(void)
-{
-   DISPATCH(Finish, (), (F, "glFinish();\n"));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Flush)(void)
-{
-   DISPATCH(Flush, (), (F, "glFlush();\n"));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PopAttrib)(void)
-{
-   DISPATCH(PopAttrib, (), (F, "glPopAttrib();\n"));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PushAttrib)(GLbitfield mask)
-{
-   DISPATCH(PushAttrib, (mask), (F, "glPushAttrib(%d);\n", mask));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Map1d)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points)
-{
-   DISPATCH(Map1d, (target, u1, u2, stride, order, points), (F, "glMap1d(0x%x, %f, %f, %d, %d, %p);\n", target, u1, u2, stride, order, (const void *) points));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Map1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points)
-{
-   DISPATCH(Map1f, (target, u1, u2, stride, order, points), (F, "glMap1f(0x%x, %f, %f, %d, %d, %p);\n", target, u1, u2, stride, order, (const void *) points));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Map2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points)
-{
-   DISPATCH(Map2d, (target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points), (F, "glMap2d(0x%x, %f, %f, %d, %d, %f, %f, %d, %d, %p);\n", target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, (const void *) points));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Map2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points)
-{
-   DISPATCH(Map2f, (target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points), (F, "glMap2f(0x%x, %f, %f, %d, %d, %f, %f, %d, %d, %p);\n", target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, (const void *) points));
-}
-
-KEYWORD1 void KEYWORD2 NAME(MapGrid1d)(GLint un, GLdouble u1, GLdouble u2)
-{
-   DISPATCH(MapGrid1d, (un, u1, u2), (F, "glMapGrid1d(%d, %f, %f);\n", un, u1, u2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(MapGrid1f)(GLint un, GLfloat u1, GLfloat u2)
-{
-   DISPATCH(MapGrid1f, (un, u1, u2), (F, "glMapGrid1f(%d, %f, %f);\n", un, u1, u2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(MapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)
-{
-   DISPATCH(MapGrid2d, (un, u1, u2, vn, v1, v2), (F, "glMapGrid2d(%d, %f, %f, %d, %f, %f);\n", un, u1, u2, vn, v1, v2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(MapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
-{
-   DISPATCH(MapGrid2f, (un, u1, u2, vn, v1, v2), (F, "glMapGrid2f(%d, %f, %f, %d, %f, %f);\n", un, u1, u2, vn, v1, v2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EvalCoord1d)(GLdouble u)
-{
-   DISPATCH(EvalCoord1d, (u), (F, "glEvalCoord1d(%f);\n", u));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EvalCoord1dv)(const GLdouble * u)
-{
-   DISPATCH(EvalCoord1dv, (u), (F, "glEvalCoord1dv(%p);\n", (const void *) u));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EvalCoord1f)(GLfloat u)
-{
-   DISPATCH(EvalCoord1f, (u), (F, "glEvalCoord1f(%f);\n", u));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EvalCoord1fv)(const GLfloat * u)
-{
-   DISPATCH(EvalCoord1fv, (u), (F, "glEvalCoord1fv(%p);\n", (const void *) u));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EvalCoord2d)(GLdouble u, GLdouble v)
-{
-   DISPATCH(EvalCoord2d, (u, v), (F, "glEvalCoord2d(%f, %f);\n", u, v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EvalCoord2dv)(const GLdouble * u)
-{
-   DISPATCH(EvalCoord2dv, (u), (F, "glEvalCoord2dv(%p);\n", (const void *) u));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EvalCoord2f)(GLfloat u, GLfloat v)
-{
-   DISPATCH(EvalCoord2f, (u, v), (F, "glEvalCoord2f(%f, %f);\n", u, v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EvalCoord2fv)(const GLfloat * u)
-{
-   DISPATCH(EvalCoord2fv, (u), (F, "glEvalCoord2fv(%p);\n", (const void *) u));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EvalMesh1)(GLenum mode, GLint i1, GLint i2)
-{
-   DISPATCH(EvalMesh1, (mode, i1, i2), (F, "glEvalMesh1(0x%x, %d, %d);\n", mode, i1, i2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EvalPoint1)(GLint i)
-{
-   DISPATCH(EvalPoint1, (i), (F, "glEvalPoint1(%d);\n", i));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
-{
-   DISPATCH(EvalMesh2, (mode, i1, i2, j1, j2), (F, "glEvalMesh2(0x%x, %d, %d, %d, %d);\n", mode, i1, i2, j1, j2));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EvalPoint2)(GLint i, GLint j)
-{
-   DISPATCH(EvalPoint2, (i, j), (F, "glEvalPoint2(%d, %d);\n", i, j));
-}
-
-KEYWORD1 void KEYWORD2 NAME(AlphaFunc)(GLenum func, GLclampf ref)
-{
-   DISPATCH(AlphaFunc, (func, ref), (F, "glAlphaFunc(0x%x, %f);\n", func, ref));
-}
-
-KEYWORD1 void KEYWORD2 NAME(BlendFunc)(GLenum sfactor, GLenum dfactor)
-{
-   DISPATCH(BlendFunc, (sfactor, dfactor), (F, "glBlendFunc(0x%x, 0x%x);\n", sfactor, dfactor));
-}
-
-KEYWORD1 void KEYWORD2 NAME(LogicOp)(GLenum opcode)
-{
-   DISPATCH(LogicOp, (opcode), (F, "glLogicOp(0x%x);\n", opcode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(StencilFunc)(GLenum func, GLint ref, GLuint mask)
-{
-   DISPATCH(StencilFunc, (func, ref, mask), (F, "glStencilFunc(0x%x, %d, %d);\n", func, ref, mask));
-}
-
-KEYWORD1 void KEYWORD2 NAME(StencilOp)(GLenum fail, GLenum zfail, GLenum zpass)
-{
-   DISPATCH(StencilOp, (fail, zfail, zpass), (F, "glStencilOp(0x%x, 0x%x, 0x%x);\n", fail, zfail, zpass));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DepthFunc)(GLenum func)
-{
-   DISPATCH(DepthFunc, (func), (F, "glDepthFunc(0x%x);\n", func));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PixelZoom)(GLfloat xfactor, GLfloat yfactor)
-{
-   DISPATCH(PixelZoom, (xfactor, yfactor), (F, "glPixelZoom(%f, %f);\n", xfactor, yfactor));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PixelTransferf)(GLenum pname, GLfloat param)
-{
-   DISPATCH(PixelTransferf, (pname, param), (F, "glPixelTransferf(0x%x, %f);\n", pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PixelTransferi)(GLenum pname, GLint param)
-{
-   DISPATCH(PixelTransferi, (pname, param), (F, "glPixelTransferi(0x%x, %d);\n", pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PixelStoref)(GLenum pname, GLfloat param)
-{
-   DISPATCH(PixelStoref, (pname, param), (F, "glPixelStoref(0x%x, %f);\n", pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PixelStorei)(GLenum pname, GLint param)
-{
-   DISPATCH(PixelStorei, (pname, param), (F, "glPixelStorei(0x%x, %d);\n", pname, param));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PixelMapfv)(GLenum map, GLsizei mapsize, const GLfloat * values)
-{
-   DISPATCH(PixelMapfv, (map, mapsize, values), (F, "glPixelMapfv(0x%x, %d, %p);\n", map, mapsize, (const void *) values));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PixelMapuiv)(GLenum map, GLsizei mapsize, const GLuint * values)
-{
-   DISPATCH(PixelMapuiv, (map, mapsize, values), (F, "glPixelMapuiv(0x%x, %d, %p);\n", map, mapsize, (const void *) values));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PixelMapusv)(GLenum map, GLsizei mapsize, const GLushort * values)
-{
-   DISPATCH(PixelMapusv, (map, mapsize, values), (F, "glPixelMapusv(0x%x, %d, %p);\n", map, mapsize, (const void *) values));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ReadBuffer)(GLenum mode)
-{
-   DISPATCH(ReadBuffer, (mode), (F, "glReadBuffer(0x%x);\n", mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
-{
-   DISPATCH(CopyPixels, (x, y, width, height, type), (F, "glCopyPixels(%d, %d, %d, %d, 0x%x);\n", x, y, width, height, type));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels)
-{
-   DISPATCH(ReadPixels, (x, y, width, height, format, type, pixels), (F, "glReadPixels(%d, %d, %d, %d, 0x%x, 0x%x, %p);\n", x, y, width, height, format, type, (const void *) pixels));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DrawPixels)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels)
-{
-   DISPATCH(DrawPixels, (width, height, format, type, pixels), (F, "glDrawPixels(%d, %d, 0x%x, 0x%x, %p);\n", width, height, format, type, (const void *) pixels));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetBooleanv)(GLenum pname, GLboolean * params)
-{
-   DISPATCH(GetBooleanv, (pname, params), (F, "glGetBooleanv(0x%x, %p);\n", pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetClipPlane)(GLenum plane, GLdouble * equation)
-{
-   DISPATCH(GetClipPlane, (plane, equation), (F, "glGetClipPlane(0x%x, %p);\n", plane, (const void *) equation));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetDoublev)(GLenum pname, GLdouble * params)
-{
-   DISPATCH(GetDoublev, (pname, params), (F, "glGetDoublev(0x%x, %p);\n", pname, (const void *) params));
-}
-
-KEYWORD1 GLenum KEYWORD2 NAME(GetError)(void)
-{
-   RETURN_DISPATCH(GetError, (), (F, "glGetError();\n"));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetFloatv)(GLenum pname, GLfloat * params)
-{
-   DISPATCH(GetFloatv, (pname, params), (F, "glGetFloatv(0x%x, %p);\n", pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetIntegerv)(GLenum pname, GLint * params)
-{
-   DISPATCH(GetIntegerv, (pname, params), (F, "glGetIntegerv(0x%x, %p);\n", pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetLightfv)(GLenum light, GLenum pname, GLfloat * params)
-{
-   DISPATCH(GetLightfv, (light, pname, params), (F, "glGetLightfv(0x%x, 0x%x, %p);\n", light, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetLightiv)(GLenum light, GLenum pname, GLint * params)
-{
-   DISPATCH(GetLightiv, (light, pname, params), (F, "glGetLightiv(0x%x, 0x%x, %p);\n", light, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetMapdv)(GLenum target, GLenum query, GLdouble * v)
-{
-   DISPATCH(GetMapdv, (target, query, v), (F, "glGetMapdv(0x%x, 0x%x, %p);\n", target, query, (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetMapfv)(GLenum target, GLenum query, GLfloat * v)
-{
-   DISPATCH(GetMapfv, (target, query, v), (F, "glGetMapfv(0x%x, 0x%x, %p);\n", target, query, (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetMapiv)(GLenum target, GLenum query, GLint * v)
-{
-   DISPATCH(GetMapiv, (target, query, v), (F, "glGetMapiv(0x%x, 0x%x, %p);\n", target, query, (const void *) v));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetMaterialfv)(GLenum face, GLenum pname, GLfloat * params)
-{
-   DISPATCH(GetMaterialfv, (face, pname, params), (F, "glGetMaterialfv(0x%x, 0x%x, %p);\n", face, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetMaterialiv)(GLenum face, GLenum pname, GLint * params)
-{
-   DISPATCH(GetMaterialiv, (face, pname, params), (F, "glGetMaterialiv(0x%x, 0x%x, %p);\n", face, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetPixelMapfv)(GLenum map, GLfloat * values)
-{
-   DISPATCH(GetPixelMapfv, (map, values), (F, "glGetPixelMapfv(0x%x, %p);\n", map, (const void *) values));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetPixelMapuiv)(GLenum map, GLuint * values)
-{
-   DISPATCH(GetPixelMapuiv, (map, values), (F, "glGetPixelMapuiv(0x%x, %p);\n", map, (const void *) values));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetPixelMapusv)(GLenum map, GLushort * values)
-{
-   DISPATCH(GetPixelMapusv, (map, values), (F, "glGetPixelMapusv(0x%x, %p);\n", map, (const void *) values));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetPolygonStipple)(GLubyte * mask)
-{
-   DISPATCH(GetPolygonStipple, (mask), (F, "glGetPolygonStipple(%p);\n", (const void *) mask));
-}
-
-KEYWORD1 const GLubyte * KEYWORD2 NAME(GetString)(GLenum name)
-{
-   RETURN_DISPATCH(GetString, (name), (F, "glGetString(0x%x);\n", name));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetTexEnvfv)(GLenum target, GLenum pname, GLfloat * params)
-{
-   DISPATCH(GetTexEnvfv, (target, pname, params), (F, "glGetTexEnvfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetTexEnviv)(GLenum target, GLenum pname, GLint * params)
-{
-   DISPATCH(GetTexEnviv, (target, pname, params), (F, "glGetTexEnviv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetTexGendv)(GLenum coord, GLenum pname, GLdouble * params)
-{
-   DISPATCH(GetTexGendv, (coord, pname, params), (F, "glGetTexGendv(0x%x, 0x%x, %p);\n", coord, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetTexGenfv)(GLenum coord, GLenum pname, GLfloat * params)
-{
-   DISPATCH(GetTexGenfv, (coord, pname, params), (F, "glGetTexGenfv(0x%x, 0x%x, %p);\n", coord, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetTexGeniv)(GLenum coord, GLenum pname, GLint * params)
-{
-   DISPATCH(GetTexGeniv, (coord, pname, params), (F, "glGetTexGeniv(0x%x, 0x%x, %p);\n", coord, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels)
-{
-   DISPATCH(GetTexImage, (target, level, format, type, pixels), (F, "glGetTexImage(0x%x, %d, 0x%x, 0x%x, %p);\n", target, level, format, type, (const void *) pixels));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetTexParameterfv)(GLenum target, GLenum pname, GLfloat * params)
-{
-   DISPATCH(GetTexParameterfv, (target, pname, params), (F, "glGetTexParameterfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetTexParameteriv)(GLenum target, GLenum pname, GLint * params)
-{
-   DISPATCH(GetTexParameteriv, (target, pname, params), (F, "glGetTexParameteriv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat * params)
-{
-   DISPATCH(GetTexLevelParameterfv, (target, level, pname, params), (F, "glGetTexLevelParameterfv(0x%x, %d, 0x%x, %p);\n", target, level, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint * params)
-{
-   DISPATCH(GetTexLevelParameteriv, (target, level, pname, params), (F, "glGetTexLevelParameteriv(0x%x, %d, 0x%x, %p);\n", target, level, pname, (const void *) params));
-}
-
-KEYWORD1 GLboolean KEYWORD2 NAME(IsEnabled)(GLenum cap)
-{
-   RETURN_DISPATCH(IsEnabled, (cap), (F, "glIsEnabled(0x%x);\n", cap));
-}
-
-KEYWORD1 GLboolean KEYWORD2 NAME(IsList)(GLuint list)
-{
-   RETURN_DISPATCH(IsList, (list), (F, "glIsList(%d);\n", list));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DepthRange)(GLclampd zNear, GLclampd zFar)
-{
-   DISPATCH(DepthRange, (zNear, zFar), (F, "glDepthRange(%f, %f);\n", zNear, zFar));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Frustum)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
-{
-   DISPATCH(Frustum, (left, right, bottom, top, zNear, zFar), (F, "glFrustum(%f, %f, %f, %f, %f, %f);\n", left, right, bottom, top, zNear, zFar));
-}
-
-KEYWORD1 void KEYWORD2 NAME(LoadIdentity)(void)
-{
-   DISPATCH(LoadIdentity, (), (F, "glLoadIdentity();\n"));
-}
-
-KEYWORD1 void KEYWORD2 NAME(LoadMatrixf)(const GLfloat * m)
-{
-   DISPATCH(LoadMatrixf, (m), (F, "glLoadMatrixf(%p);\n", (const void *) m));
-}
-
-KEYWORD1 void KEYWORD2 NAME(LoadMatrixd)(const GLdouble * m)
-{
-   DISPATCH(LoadMatrixd, (m), (F, "glLoadMatrixd(%p);\n", (const void *) m));
-}
-
-KEYWORD1 void KEYWORD2 NAME(MatrixMode)(GLenum mode)
-{
-   DISPATCH(MatrixMode, (mode), (F, "glMatrixMode(0x%x);\n", mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(MultMatrixf)(const GLfloat * m)
-{
-   DISPATCH(MultMatrixf, (m), (F, "glMultMatrixf(%p);\n", (const void *) m));
-}
-
-KEYWORD1 void KEYWORD2 NAME(MultMatrixd)(const GLdouble * m)
-{
-   DISPATCH(MultMatrixd, (m), (F, "glMultMatrixd(%p);\n", (const void *) m));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Ortho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
-{
-   DISPATCH(Ortho, (left, right, bottom, top, zNear, zFar), (F, "glOrtho(%f, %f, %f, %f, %f, %f);\n", left, right, bottom, top, zNear, zFar));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PopMatrix)(void)
-{
-   DISPATCH(PopMatrix, (), (F, "glPopMatrix();\n"));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PushMatrix)(void)
-{
-   DISPATCH(PushMatrix, (), (F, "glPushMatrix();\n"));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Rotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
-{
-   DISPATCH(Rotated, (angle, x, y, z), (F, "glRotated(%f, %f, %f, %f);\n", angle, x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Rotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
-{
-   DISPATCH(Rotatef, (angle, x, y, z), (F, "glRotatef(%f, %f, %f, %f);\n", angle, x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Scaled)(GLdouble x, GLdouble y, GLdouble z)
-{
-   DISPATCH(Scaled, (x, y, z), (F, "glScaled(%f, %f, %f);\n", x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Scalef)(GLfloat x, GLfloat y, GLfloat z)
-{
-   DISPATCH(Scalef, (x, y, z), (F, "glScalef(%f, %f, %f);\n", x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Translated)(GLdouble x, GLdouble y, GLdouble z)
-{
-   DISPATCH(Translated, (x, y, z), (F, "glTranslated(%f, %f, %f);\n", x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Translatef)(GLfloat x, GLfloat y, GLfloat z)
-{
-   DISPATCH(Translatef, (x, y, z), (F, "glTranslatef(%f, %f, %f);\n", x, y, z));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Viewport)(GLint x, GLint y, GLsizei width, GLsizei height)
-{
-   DISPATCH(Viewport, (x, y, width, height), (F, "glViewport(%d, %d, %d, %d);\n", x, y, width, height));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ArrayElement)(GLint i)
-{
-   DISPATCH(ArrayElement, (i), (F, "glArrayElement(%d);\n", i));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ArrayElementEXT)(GLint i)
-{
-   DISPATCH(ArrayElement, (i), (F, "glArrayElementEXT(%d);\n", i));
-}
-
-KEYWORD1 void KEYWORD2 NAME(BindTexture)(GLenum target, GLuint texture)
-{
-   DISPATCH(BindTexture, (target, texture), (F, "glBindTexture(0x%x, %d);\n", target, texture));
-}
-
-KEYWORD1 void KEYWORD2 NAME(BindTextureEXT)(GLenum target, GLuint texture)
-{
-   DISPATCH(BindTexture, (target, texture), (F, "glBindTextureEXT(0x%x, %d);\n", target, texture));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer)
-{
-   DISPATCH(ColorPointer, (size, type, stride, pointer), (F, "glColorPointer(%d, 0x%x, %d, %p);\n", size, type, stride, (const void *) pointer));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DisableClientState)(GLenum array)
-{
-   DISPATCH(DisableClientState, (array), (F, "glDisableClientState(0x%x);\n", array));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DrawArrays)(GLenum mode, GLint first, GLsizei count)
-{
-   DISPATCH(DrawArrays, (mode, first, count), (F, "glDrawArrays(0x%x, %d, %d);\n", mode, first, count));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DrawArraysEXT)(GLenum mode, GLint first, GLsizei count)
-{
-   DISPATCH(DrawArrays, (mode, first, count), (F, "glDrawArraysEXT(0x%x, %d, %d);\n", mode, first, count));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices)
-{
-   DISPATCH(DrawElements, (mode, count, type, indices), (F, "glDrawElements(0x%x, %d, 0x%x, %p);\n", mode, count, type, (const void *) indices));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EdgeFlagPointer)(GLsizei stride, const GLvoid * pointer)
-{
-   DISPATCH(EdgeFlagPointer, (stride, pointer), (F, "glEdgeFlagPointer(%d, %p);\n", stride, (const void *) pointer));
-}
-
-KEYWORD1 void KEYWORD2 NAME(EnableClientState)(GLenum array)
-{
-   DISPATCH(EnableClientState, (array), (F, "glEnableClientState(0x%x);\n", array));
-}
-
-KEYWORD1 void KEYWORD2 NAME(IndexPointer)(GLenum type, GLsizei stride, const GLvoid * pointer)
-{
-   DISPATCH(IndexPointer, (type, stride, pointer), (F, "glIndexPointer(0x%x, %d, %p);\n", type, stride, (const void *) pointer));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Indexub)(GLubyte c)
-{
-   DISPATCH(Indexub, (c), (F, "glIndexub(%d);\n", c));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Indexubv)(const GLubyte * c)
-{
-   DISPATCH(Indexubv, (c), (F, "glIndexubv(%p);\n", (const void *) c));
-}
-
-KEYWORD1 void KEYWORD2 NAME(InterleavedArrays)(GLenum format, GLsizei stride, const GLvoid * pointer)
-{
-   DISPATCH(InterleavedArrays, (format, stride, pointer), (F, "glInterleavedArrays(0x%x, %d, %p);\n", format, stride, (const void *) pointer));
-}
-
-KEYWORD1 void KEYWORD2 NAME(NormalPointer)(GLenum type, GLsizei stride, const GLvoid * pointer)
-{
-   DISPATCH(NormalPointer, (type, stride, pointer), (F, "glNormalPointer(0x%x, %d, %p);\n", type, stride, (const void *) pointer));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PolygonOffset)(GLfloat factor, GLfloat units)
-{
-   DISPATCH(PolygonOffset, (factor, units), (F, "glPolygonOffset(%f, %f);\n", factor, units));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer)
-{
-   DISPATCH(TexCoordPointer, (size, type, stride, pointer), (F, "glTexCoordPointer(%d, 0x%x, %d, %p);\n", size, type, stride, (const void *) pointer));
-}
-
-KEYWORD1 void KEYWORD2 NAME(VertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer)
-{
-   DISPATCH(VertexPointer, (size, type, stride, pointer), (F, "glVertexPointer(%d, 0x%x, %d, %p);\n", size, type, stride, (const void *) pointer));
-}
-
-KEYWORD1 GLboolean KEYWORD2 NAME(AreTexturesResident)(GLsizei n, const GLuint * textures, GLboolean * residences)
-{
-   RETURN_DISPATCH(AreTexturesResident, (n, textures, residences), (F, "glAreTexturesResident(%d, %p, %p);\n", n, (const void *) textures, (const void *) residences));
-}
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1 GLboolean KEYWORD2 NAME(AreTexturesResidentEXT)(GLsizei n, const GLuint * textures, GLboolean * residences)
-{
-   RETURN_DISPATCH(AreTexturesResident, (n, textures, residences), (F, "glAreTexturesResidentEXT(%d, %p, %p);\n", n, (const void *) textures, (const void *) residences));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-KEYWORD1 void KEYWORD2 NAME(CopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
-{
-   DISPATCH(CopyTexImage1D, (target, level, internalformat, x, y, width, border), (F, "glCopyTexImage1D(0x%x, %d, 0x%x, %d, %d, %d, %d);\n", target, level, internalformat, x, y, width, border));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CopyTexImage1DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
-{
-   DISPATCH(CopyTexImage1D, (target, level, internalformat, x, y, width, border), (F, "glCopyTexImage1DEXT(0x%x, %d, 0x%x, %d, %d, %d, %d);\n", target, level, internalformat, x, y, width, border));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
-{
-   DISPATCH(CopyTexImage2D, (target, level, internalformat, x, y, width, height, border), (F, "glCopyTexImage2D(0x%x, %d, 0x%x, %d, %d, %d, %d, %d);\n", target, level, internalformat, x, y, width, height, border));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CopyTexImage2DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
-{
-   DISPATCH(CopyTexImage2D, (target, level, internalformat, x, y, width, height, border), (F, "glCopyTexImage2DEXT(0x%x, %d, 0x%x, %d, %d, %d, %d, %d);\n", target, level, internalformat, x, y, width, height, border));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
-{
-   DISPATCH(CopyTexSubImage1D, (target, level, xoffset, x, y, width), (F, "glCopyTexSubImage1D(0x%x, %d, %d, %d, %d, %d);\n", target, level, xoffset, x, y, width));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CopyTexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
-{
-   DISPATCH(CopyTexSubImage1D, (target, level, xoffset, x, y, width), (F, "glCopyTexSubImage1DEXT(0x%x, %d, %d, %d, %d, %d);\n", target, level, xoffset, x, y, width));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
-{
-   DISPATCH(CopyTexSubImage2D, (target, level, xoffset, yoffset, x, y, width, height), (F, "glCopyTexSubImage2D(0x%x, %d, %d, %d, %d, %d, %d, %d);\n", target, level, xoffset, yoffset, x, y, width, height));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CopyTexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
-{
-   DISPATCH(CopyTexSubImage2D, (target, level, xoffset, yoffset, x, y, width, height), (F, "glCopyTexSubImage2DEXT(0x%x, %d, %d, %d, %d, %d, %d, %d);\n", target, level, xoffset, yoffset, x, y, width, height));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DeleteTextures)(GLsizei n, const GLuint * textures)
-{
-   DISPATCH(DeleteTextures, (n, textures), (F, "glDeleteTextures(%d, %p);\n", n, (const void *) textures));
-}
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1 void KEYWORD2 NAME(DeleteTexturesEXT)(GLsizei n, const GLuint * textures)
-{
-   DISPATCH(DeleteTextures, (n, textures), (F, "glDeleteTexturesEXT(%d, %p);\n", n, (const void *) textures));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-KEYWORD1 void KEYWORD2 NAME(GenTextures)(GLsizei n, GLuint * textures)
-{
-   DISPATCH(GenTextures, (n, textures), (F, "glGenTextures(%d, %p);\n", n, (const void *) textures));
-}
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1 void KEYWORD2 NAME(GenTexturesEXT)(GLsizei n, GLuint * textures)
-{
-   DISPATCH(GenTextures, (n, textures), (F, "glGenTexturesEXT(%d, %p);\n", n, (const void *) textures));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-KEYWORD1 void KEYWORD2 NAME(GetPointerv)(GLenum pname, GLvoid ** params)
-{
-   DISPATCH(GetPointerv, (pname, params), (F, "glGetPointerv(0x%x, %p);\n", pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetPointervEXT)(GLenum pname, GLvoid ** params)
-{
-   DISPATCH(GetPointerv, (pname, params), (F, "glGetPointervEXT(0x%x, %p);\n", pname, (const void *) params));
-}
-
-KEYWORD1 GLboolean KEYWORD2 NAME(IsTexture)(GLuint texture)
-{
-   RETURN_DISPATCH(IsTexture, (texture), (F, "glIsTexture(%d);\n", texture));
-}
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1 GLboolean KEYWORD2 NAME(IsTextureEXT)(GLuint texture)
-{
-   RETURN_DISPATCH(IsTexture, (texture), (F, "glIsTextureEXT(%d);\n", texture));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-KEYWORD1 void KEYWORD2 NAME(PrioritizeTextures)(GLsizei n, const GLuint * textures, const GLclampf * priorities)
-{
-   DISPATCH(PrioritizeTextures, (n, textures, priorities), (F, "glPrioritizeTextures(%d, %p, %p);\n", n, (const void *) textures, (const void *) priorities));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PrioritizeTexturesEXT)(GLsizei n, const GLuint * textures, const GLclampf * priorities)
-{
-   DISPATCH(PrioritizeTextures, (n, textures, priorities), (F, "glPrioritizeTexturesEXT(%d, %p, %p);\n", n, (const void *) textures, (const void *) priorities));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels)
-{
-   DISPATCH(TexSubImage1D, (target, level, xoffset, width, format, type, pixels), (F, "glTexSubImage1D(0x%x, %d, %d, %d, 0x%x, 0x%x, %p);\n", target, level, xoffset, width, format, type, (const void *) pixels));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels)
-{
-   DISPATCH(TexSubImage1D, (target, level, xoffset, width, format, type, pixels), (F, "glTexSubImage1DEXT(0x%x, %d, %d, %d, 0x%x, 0x%x, %p);\n", target, level, xoffset, width, format, type, (const void *) pixels));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels)
-{
-   DISPATCH(TexSubImage2D, (target, level, xoffset, yoffset, width, height, format, type, pixels), (F, "glTexSubImage2D(0x%x, %d, %d, %d, %d, %d, 0x%x, 0x%x, %p);\n", target, level, xoffset, yoffset, width, height, format, type, (const void *) pixels));
-}
-
-KEYWORD1 void KEYWORD2 NAME(TexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels)
-{
-   DISPATCH(TexSubImage2D, (target, level, xoffset, yoffset, width, height, format, type, pixels), (F, "glTexSubImage2DEXT(0x%x, %d, %d, %d, %d, %d, 0x%x, 0x%x, %p);\n", target, level, xoffset, yoffset, width, height, format, type, (const void *) pixels));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PopClientAttrib)(void)
-{
-   DISPATCH(PopClientAttrib, (), (F, "glPopClientAttrib();\n"));
-}
-
-KEYWORD1 void KEYWORD2 NAME(PushClientAttrib)(GLbitfield mask)
-{
-   DISPATCH(PushClientAttrib, (mask), (F, "glPushClientAttrib(%d);\n", mask));
-}
-
-KEYWORD1 void KEYWORD2 NAME(BlendColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
-{
-   DISPATCH(BlendColor, (red, green, blue, alpha), (F, "glBlendColor(%f, %f, %f, %f);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(BlendColorEXT)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
-{
-   DISPATCH(BlendColor, (red, green, blue, alpha), (F, "glBlendColorEXT(%f, %f, %f, %f);\n", red, green, blue, alpha));
-}
-
-KEYWORD1 void KEYWORD2 NAME(BlendEquation)(GLenum mode)
-{
-   DISPATCH(BlendEquation, (mode), (F, "glBlendEquation(0x%x);\n", mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(BlendEquationEXT)(GLenum mode)
-{
-   DISPATCH(BlendEquation, (mode), (F, "glBlendEquationEXT(0x%x);\n", mode));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices)
-{
-   DISPATCH(DrawRangeElements, (mode, start, end, count, type, indices), (F, "glDrawRangeElements(0x%x, %d, %d, %d, 0x%x, %p);\n", mode, start, end, count, type, (const void *) indices));
-}
-
-KEYWORD1 void KEYWORD2 NAME(DrawRangeElementsEXT)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices)
-{
-   DISPATCH(DrawRangeElements, (mode, start, end, count, type, indices), (F, "glDrawRangeElementsEXT(0x%x, %d, %d, %d, 0x%x, %p);\n", mode, start, end, count, type, (const void *) indices));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ColorTable)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table)
-{
-   DISPATCH(ColorTable, (target, internalformat, width, format, type, table), (F, "glColorTable(0x%x, 0x%x, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, format, type, (const void *) table));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_339)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_339)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table)
-{
-   DISPATCH(ColorTable, (target, internalformat, width, format, type, table), (F, "glColorTableSGI(0x%x, 0x%x, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, format, type, (const void *) table));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ColorTableEXT)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table)
-{
-   DISPATCH(ColorTable, (target, internalformat, width, format, type, table), (F, "glColorTableEXT(0x%x, 0x%x, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, format, type, (const void *) table));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ColorTableParameterfv)(GLenum target, GLenum pname, const GLfloat * params)
-{
-   DISPATCH(ColorTableParameterfv, (target, pname, params), (F, "glColorTableParameterfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_340)(GLenum target, GLenum pname, const GLfloat * params);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_340)(GLenum target, GLenum pname, const GLfloat * params)
-{
-   DISPATCH(ColorTableParameterfv, (target, pname, params), (F, "glColorTableParameterfvSGI(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ColorTableParameteriv)(GLenum target, GLenum pname, const GLint * params)
-{
-   DISPATCH(ColorTableParameteriv, (target, pname, params), (F, "glColorTableParameteriv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_341)(GLenum target, GLenum pname, const GLint * params);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_341)(GLenum target, GLenum pname, const GLint * params)
-{
-   DISPATCH(ColorTableParameteriv, (target, pname, params), (F, "glColorTableParameterivSGI(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CopyColorTable)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
-{
-   DISPATCH(CopyColorTable, (target, internalformat, x, y, width), (F, "glCopyColorTable(0x%x, 0x%x, %d, %d, %d);\n", target, internalformat, x, y, width));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_342)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_342)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
-{
-   DISPATCH(CopyColorTable, (target, internalformat, x, y, width), (F, "glCopyColorTableSGI(0x%x, 0x%x, %d, %d, %d);\n", target, internalformat, x, y, width));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetColorTable)(GLenum target, GLenum format, GLenum type, GLvoid * table)
-{
-   DISPATCH(GetColorTable, (target, format, type, table), (F, "glGetColorTable(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) table));
-}
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_343)(GLenum target, GLenum format, GLenum type, GLvoid * table);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_343)(GLenum target, GLenum format, GLenum type, GLvoid * table)
-{
-   DISPATCH(GetColorTable, (target, format, type, table), (F, "glGetColorTableSGI(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) table));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1 void KEYWORD2 NAME(GetColorTableEXT)(GLenum target, GLenum format, GLenum type, GLvoid * table)
-{
-   DISPATCH(GetColorTable, (target, format, type, table), (F, "glGetColorTableEXT(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) table));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterfv)(GLenum target, GLenum pname, GLfloat * params)
-{
-   DISPATCH(GetColorTableParameterfv, (target, pname, params), (F, "glGetColorTableParameterfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_344)(GLenum target, GLenum pname, GLfloat * params);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_344)(GLenum target, GLenum pname, GLfloat * params)
-{
-   DISPATCH(GetColorTableParameterfv, (target, pname, params), (F, "glGetColorTableParameterfvSGI(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params)
-{
-   DISPATCH(GetColorTableParameterfv, (target, pname, params), (F, "glGetColorTableParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-KEYWORD1 void KEYWORD2 NAME(GetColorTableParameteriv)(GLenum target, GLenum pname, GLint * params)
-{
-   DISPATCH(GetColorTableParameteriv, (target, pname, params), (F, "glGetColorTableParameteriv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_345)(GLenum target, GLenum pname, GLint * params);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_345)(GLenum target, GLenum pname, GLint * params)
-{
-   DISPATCH(GetColorTableParameteriv, (target, pname, params), (F, "glGetColorTableParameterivSGI(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterivEXT)(GLenum target, GLenum pname, GLint * params)
-{
-   DISPATCH(GetColorTableParameteriv, (target, pname, params), (F, "glGetColorTableParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-KEYWORD1 void KEYWORD2 NAME(ColorSubTable)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data)
-{
-   DISPATCH(ColorSubTable, (target, start, count, format, type, data), (F, "glColorSubTable(0x%x, %d, %d, 0x%x, 0x%x, %p);\n", target, start, count, format, type, (const void *) data));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_346)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_346)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data)
-{
-   DISPATCH(ColorSubTable, (target, start, count, format, type, data), (F, "glColorSubTableEXT(0x%x, %d, %d, 0x%x, 0x%x, %p);\n", target, start, count, format, type, (const void *) data));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CopyColorSubTable)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
-{
-   DISPATCH(CopyColorSubTable, (target, start, x, y, width), (F, "glCopyColorSubTable(0x%x, %d, %d, %d, %d);\n", target, start, x, y, width));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_347)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_347)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
-{
-   DISPATCH(CopyColorSubTable, (target, start, x, y, width), (F, "glCopyColorSubTableEXT(0x%x, %d, %d, %d, %d);\n", target, start, x, y, width));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ConvolutionFilter1D)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image)
-{
-   DISPATCH(ConvolutionFilter1D, (target, internalformat, width, format, type, image), (F, "glConvolutionFilter1D(0x%x, 0x%x, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, format, type, (const void *) image));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_348)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_348)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image)
-{
-   DISPATCH(ConvolutionFilter1D, (target, internalformat, width, format, type, image), (F, "glConvolutionFilter1DEXT(0x%x, 0x%x, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, format, type, (const void *) image));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ConvolutionFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image)
-{
-   DISPATCH(ConvolutionFilter2D, (target, internalformat, width, height, format, type, image), (F, "glConvolutionFilter2D(0x%x, 0x%x, %d, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, height, format, type, (const void *) image));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_349)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_349)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image)
-{
-   DISPATCH(ConvolutionFilter2D, (target, internalformat, width, height, format, type, image), (F, "glConvolutionFilter2DEXT(0x%x, 0x%x, %d, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, height, format, type, (const void *) image));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ConvolutionParameterf)(GLenum target, GLenum pname, GLfloat params)
-{
-   DISPATCH(ConvolutionParameterf, (target, pname, params), (F, "glConvolutionParameterf(0x%x, 0x%x, %f);\n", target, pname, params));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_350)(GLenum target, GLenum pname, GLfloat params);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_350)(GLenum target, GLenum pname, GLfloat params)
-{
-   DISPATCH(ConvolutionParameterf, (target, pname, params), (F, "glConvolutionParameterfEXT(0x%x, 0x%x, %f);\n", target, pname, params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ConvolutionParameterfv)(GLenum target, GLenum pname, const GLfloat * params)
-{
-   DISPATCH(ConvolutionParameterfv, (target, pname, params), (F, "glConvolutionParameterfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_351)(GLenum target, GLenum pname, const GLfloat * params);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_351)(GLenum target, GLenum pname, const GLfloat * params)
-{
-   DISPATCH(ConvolutionParameterfv, (target, pname, params), (F, "glConvolutionParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ConvolutionParameteri)(GLenum target, GLenum pname, GLint params)
-{
-   DISPATCH(ConvolutionParameteri, (target, pname, params), (F, "glConvolutionParameteri(0x%x, 0x%x, %d);\n", target, pname, params));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_352)(GLenum target, GLenum pname, GLint params);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_352)(GLenum target, GLenum pname, GLint params)
-{
-   DISPATCH(ConvolutionParameteri, (target, pname, params), (F, "glConvolutionParameteriEXT(0x%x, 0x%x, %d);\n", target, pname, params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(ConvolutionParameteriv)(GLenum target, GLenum pname, const GLint * params)
-{
-   DISPATCH(ConvolutionParameteriv, (target, pname, params), (F, "glConvolutionParameteriv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_353)(GLenum target, GLenum pname, const GLint * params);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_353)(GLenum target, GLenum pname, const GLint * params)
-{
-   DISPATCH(ConvolutionParameteriv, (target, pname, params), (F, "glConvolutionParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CopyConvolutionFilter1D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
-{
-   DISPATCH(CopyConvolutionFilter1D, (target, internalformat, x, y, width), (F, "glCopyConvolutionFilter1D(0x%x, 0x%x, %d, %d, %d);\n", target, internalformat, x, y, width));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_354)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_354)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
-{
-   DISPATCH(CopyConvolutionFilter1D, (target, internalformat, x, y, width), (F, "glCopyConvolutionFilter1DEXT(0x%x, 0x%x, %d, %d, %d);\n", target, internalformat, x, y, width));
-}
-
-KEYWORD1 void KEYWORD2 NAME(CopyConvolutionFilter2D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
-{
-   DISPATCH(CopyConvolutionFilter2D, (target, internalformat, x, y, width, height), (F, "glCopyConvolutionFilter2D(0x%x, 0x%x, %d, %d, %d, %d);\n", target, internalformat, x, y, width, height));
-}
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_355)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_355)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
-{
-   DISPATCH(CopyConvolutionFilter2D, (target, internalformat, x, y, width, height), (F, "glCopyConvolutionFilter2DEXT(0x%x, 0x%x, %d, %d, %d, %d);\n", target, internalformat, x, y, width, height));
-}
-
-KEYWORD1 void KEYWORD2 NAME(GetConvolutionFilter)(GLenum target, GLenum format, GLenum type, GLvoid * image)
-{
-   DISPATCH(GetConvolutionFilter, (target, format, type, image), (F, "glGetConvolutionFilter(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) image));
-}
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_356)(GLenum target, GLenum format, GLenum type, GLvoid * image);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_356)(GLenum target, GLenum format, GLenum type, GLvoid * image)
-{
-   DISPATCH(GetConvolutionFilter, (target, format, type, image), (F, "glGetConvolutionFilterEXT(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) image));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-KEYWORD1 void KEYWORD2 NAME(GetConvolutionParameterfv)(GLenum target, GLenum pname, GLfloat * params)
-{
-   DISPATCH(GetConvolutionParameterfv, (target, pname, params), (F, "glGetConvolutionParameterfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_357)(GLenum target, GLenum pname, GLfloat * params);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_357)(GLenum target, GLenum pname, GLfloat * params)
-{
-   DISPATCH(GetConvolutionParameterfv, (target, pname, params), (F, "glGetConvolutionParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-KEYWORD1 void KEYWORD2 NAME(GetConvolutionParameteriv)(GLenum target, GLenum pname, GLint * params)
-{
-   DISPATCH(GetConvolutionParameteriv, (target, pname, params), (F, "glGetConvolutionParameteriv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_358)(GLenum target, GLenum pname, GLint * params);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_358)(GLenum target, GLenum pname, GLint * params)
-{
-   DISPATCH(GetConvolutionParameteriv, (target, pname, params), (F, "glGetConvolutionParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-KEYWORD1 void KEYWORD2 NAME(GetSeparableFilter)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span)
-{
-   DISPATCH(GetSeparableFilter, (target, format, type, row, column, span), (F, "glGetSeparableFilter(0x%x, 0x%x, 0x%x, %p, %p, %p);\n", target, format, type, (const void *) row, (const void *) column, (const void *) span));
-}
-
-#ifndef GLX_INDIRECT_RENDERING
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_359)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_359)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span)
-{
-   DISPATCH(GetSeparableFilter, (target, format, type, row, column, span), (F, "glGetSeparableFilterEXT(0x%x, 0x%x, 0x%x, %p, %p, %p);\n", target, format, type, (const void *) row, (const void *) column, (const void *) span));
-}
-#endif /* GLX_INDIRECT_RENDERING */
-
-