aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/GL/apple
diff options
context:
space:
mode:
authorReinhard Tartler <siretart@tauware.de>2011-10-10 17:43:39 +0200
committerReinhard Tartler <siretart@tauware.de>2011-10-10 17:43:39 +0200
commitf4092abdf94af6a99aff944d6264bc1284e8bdd4 (patch)
tree2ac1c9cc16ceb93edb2c4382c088dac5aeafdf0f /nx-X11/lib/GL/apple
parenta840692edc9c6d19cd7c057f68e39c7d95eb767d (diff)
downloadnx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.gz
nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.bz2
nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.zip
Imported nx-X11-3.1.0-1.tar.gznx-X11/3.1.0-1
Summary: Imported nx-X11-3.1.0-1.tar.gz Keywords: Imported nx-X11-3.1.0-1.tar.gz into Git repository
Diffstat (limited to 'nx-X11/lib/GL/apple')
-rw-r--r--nx-X11/lib/GL/apple/Imakefile54
-rw-r--r--nx-X11/lib/GL/apple/appledri.c302
-rw-r--r--nx-X11/lib/GL/apple/appledri.h106
-rw-r--r--nx-X11/lib/GL/apple/appledristr.h174
-rwxr-xr-xnx-X11/lib/GL/apple/build-dispatch101
-rw-r--r--nx-X11/lib/GL/apple/dri_dispatch.c153
-rw-r--r--nx-X11/lib/GL/apple/dri_dispatch.defs856
-rw-r--r--nx-X11/lib/GL/apple/dri_dispatch.h3861
-rw-r--r--nx-X11/lib/GL/apple/dri_driver.c1141
-rw-r--r--nx-X11/lib/GL/apple/dri_driver.h188
-rw-r--r--nx-X11/lib/GL/apple/dri_glx.c265
-rw-r--r--nx-X11/lib/GL/apple/dri_glx.h67
12 files changed, 7268 insertions, 0 deletions
diff --git a/nx-X11/lib/GL/apple/Imakefile b/nx-X11/lib/GL/apple/Imakefile
new file mode 100644
index 000000000..0a593e63e
--- /dev/null
+++ b/nx-X11/lib/GL/apple/Imakefile
@@ -0,0 +1,54 @@
+XCOMM $XFree86: xc/lib/GL/apple/Imakefile,v 1.2 2003/10/09 23:42:32 torrey Exp $
+
+#include <Threads.tmpl>
+
+#define DoNormalLib (NormalLibGlx || SharedLibGlxWithoutPIC)
+#define DoSharedLib (SharedLibGlx && !SharedLibGlxWithoutPIC)
+#define DoExtraLib SharedLibGlx
+#define DoDebugLib DebugLibGlx
+#define DoProfileLib ProfileLibGlx
+
+ XPRDIR = $(SERVERSRC)/hw/darwin/quartz/xpr
+
+LinkSourceFile(x-list.c,$(XPRDIR))
+LinkSourceFile(x-list.h,$(XPRDIR))
+LinkSourceFile(x-hash.c,$(XPRDIR))
+LinkSourceFile(x-hash.h,$(XPRDIR))
+
+#if Malloc0ReturnsNull
+ALLOC_DEFINES = -DMALLOC_0_RETURNS_NULL
+#endif
+
+ DRI_SRCS = dri_glx.c dri_driver.c dri_dispatch.c x-hash.c x-list.c
+ DRI_OBJS = dri_glx.o dri_driver.o dri_dispatch.o x-hash.o x-list.o
+ DRI_INCS = -I. -I$(GLXLIBSRC)/glx -I$(INCLUDESRC) -I$(INCLUDESRC)/GL \
+ -I$(XINCLUDESRC) -I$(SERVERSRC)/GL/dri -I$(XPINCDIR) \
+ -I$(MESASRCDIR)/include -I$(MESASRCDIR)/src/mesa/glapi \
+ -I$(GLXLIBSRC)/include
+
+ AS = /System/Library/Frameworks/ApplicationServices.framework
+
+ DEFINES = $(ALLOC_DEFINES) GlxDefines $(GLX_DEFS) -DXP_NO_X_HEADERS=1 \
+ -DOSVERSION=OSMajorVersion*100+OSMinorVersion
+ INCLUDES = -I$(XLIBSRC) -I$(EXTINCSRC) -I$(XF86OSSRC) \
+ -I$(DRMSRCDIR)/shared-core -I$(DRI_INCS) -F$(AS)/Frameworks
+ SRCS = appledri.c $(DRI_SRCS)
+ OBJS = appledri.o $(DRI_OBJS)
+
+/* We won't require this to run when building normally, just for updating.
+ Also, don't give it any dependences so make doesn't attempt to rebuild
+ it if the dates get screwed up. (It actually depends on build-dispatch
+ and dri_dispatch.defs) */
+dri_dispatch.h :
+ ./build-dispatch <dri_dispatch.defs >$@
+
+LinkSourceFile(drm.h,$(DRMSRCDIR)/shared-core)
+
+#include <Library.tmpl>
+
+LibraryObjectRule()
+
+SubdirLibraryRule($(OBJS))
+NormalLintTarget($(SRCS))
+
+DependTarget()
diff --git a/nx-X11/lib/GL/apple/appledri.c b/nx-X11/lib/GL/apple/appledri.c
new file mode 100644
index 000000000..ed48fcb0c
--- /dev/null
+++ b/nx-X11/lib/GL/apple/appledri.c
@@ -0,0 +1,302 @@
+/* $XFree86: xc/lib/GL/dri/XF86dri.c,v 1.12 2001/08/27 17:40:57 dawes Exp $ */
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright 2000 VA Linux Systems, Inc.
+Copyright (c) 2002 Apple Computer, 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, 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 PRECISION INSIGHT AND/OR ITS 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.
+
+**************************************************************************/
+
+/*
+ * Authors:
+ * Kevin E. Martin <martin@valinux.com>
+ * Jens Owen <jens@valinux.com>
+ * Rickard E. (Rik) Faith <faith@valinux.com>
+ *
+ */
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD */
+
+#define NEED_EVENTS
+#define NEED_REPLIES
+#include <X11/Xlibint.h>
+#include "appledristr.h"
+#include <X11/extensions/Xext.h>
+#include "extutil.h"
+#include <stdio.h>
+
+static XExtensionInfo _appledri_info_data;
+static XExtensionInfo *appledri_info = &_appledri_info_data;
+static char *appledri_extension_name = APPLEDRINAME;
+
+#define AppleDRICheckExtension(dpy,i,val) \
+ XextCheckExtension(dpy, i, appledri_extension_name, val)
+
+/*****************************************************************************
+ * *
+ * private utility routines *
+ * *
+ *****************************************************************************/
+
+static int close_display(Display *dpy, XExtCodes *extCodes);
+static Bool wire_to_event();
+
+static /* const */ XExtensionHooks appledri_extension_hooks = {
+ NULL, /* create_gc */
+ NULL, /* copy_gc */
+ NULL, /* flush_gc */
+ NULL, /* free_gc */
+ NULL, /* create_font */
+ NULL, /* free_font */
+ close_display, /* close_display */
+ wire_to_event, /* wire_to_event */
+ NULL, /* event_to_wire */
+ NULL, /* error */
+ NULL, /* error_string */
+};
+
+static XEXT_GENERATE_FIND_DISPLAY(find_display, appledri_info,
+ appledri_extension_name,
+ &appledri_extension_hooks,
+ AppleDRINumberEvents, NULL)
+
+static XEXT_GENERATE_CLOSE_DISPLAY(close_display, appledri_info)
+
+static void (*surface_notify_handler)();
+
+void *
+XAppleDRISetSurfaceNotifyHandler(void (*fun)())
+{
+ void *old = surface_notify_handler;
+ surface_notify_handler = fun;
+ return old;
+}
+
+static Bool wire_to_event(dpy, re, event)
+ Display *dpy;
+ XEvent *re;
+ xEvent *event;
+{
+ XExtDisplayInfo *info = find_display(dpy);
+ xAppleDRINotifyEvent *sevent;
+
+ AppleDRICheckExtension(dpy, info, False);
+
+ switch ((event->u.u.type & 0x7f) - info->codes->first_event) {
+ case AppleDRISurfaceNotify:
+ sevent = (xAppleDRINotifyEvent *) event;
+ if (surface_notify_handler != NULL) {
+ (*surface_notify_handler)(dpy, (unsigned int) sevent->arg,
+ (int) sevent->kind);
+ }
+ return False;
+ }
+ return False;
+}
+
+/*****************************************************************************
+ * *
+ * public Apple-DRI Extension routines *
+ * *
+ *****************************************************************************/
+
+#if 0
+#include <stdio.h>
+#define TRACE(msg) fprintf(stderr, "AppleDRI%s\n", msg);
+#else
+#define TRACE(msg)
+#endif
+
+
+Bool XAppleDRIQueryExtension(dpy, event_basep, error_basep)
+ Display *dpy;
+ int *event_basep, *error_basep;
+{
+ XExtDisplayInfo *info = find_display(dpy);
+
+ TRACE("QueryExtension...");
+ if (XextHasExtension(info)) {
+ *event_basep = info->codes->first_event;
+ *error_basep = info->codes->first_error;
+ TRACE("QueryExtension... return True");
+ return True;
+ } else {
+ TRACE("QueryExtension... return False");
+ return False;
+ }
+}
+
+Bool XAppleDRIQueryVersion(dpy, majorVersion, minorVersion, patchVersion)
+ Display* dpy;
+ int* majorVersion;
+ int* minorVersion;
+ int* patchVersion;
+{
+ XExtDisplayInfo *info = find_display(dpy);
+ xAppleDRIQueryVersionReply rep;
+ xAppleDRIQueryVersionReq *req;
+
+ TRACE("QueryVersion...");
+ AppleDRICheckExtension(dpy, info, False);
+
+ LockDisplay(dpy);
+ GetReq(AppleDRIQueryVersion, req);
+ req->reqType = info->codes->major_opcode;
+ req->driReqType = X_AppleDRIQueryVersion;
+ if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
+ UnlockDisplay(dpy);
+ SyncHandle();
+ TRACE("QueryVersion... return False");
+ return False;
+ }
+ *majorVersion = rep.majorVersion;
+ *minorVersion = rep.minorVersion;
+ *patchVersion = rep.patchVersion;
+ UnlockDisplay(dpy);
+ SyncHandle();
+ TRACE("QueryVersion... return True");
+ return True;
+}
+
+Bool XAppleDRIQueryDirectRenderingCapable(dpy, screen, isCapable)
+ Display* dpy;
+ int screen;
+ Bool* isCapable;
+{
+ XExtDisplayInfo *info = find_display(dpy);
+ xAppleDRIQueryDirectRenderingCapableReply rep;
+ xAppleDRIQueryDirectRenderingCapableReq *req;
+
+ TRACE("QueryDirectRenderingCapable...");
+ AppleDRICheckExtension(dpy, info, False);
+
+ LockDisplay(dpy);
+ GetReq(AppleDRIQueryDirectRenderingCapable, req);
+ req->reqType = info->codes->major_opcode;
+ req->driReqType = X_AppleDRIQueryDirectRenderingCapable;
+ req->screen = screen;
+ if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
+ UnlockDisplay(dpy);
+ SyncHandle();
+ TRACE("QueryDirectRenderingCapable... return False");
+ return False;
+ }
+ *isCapable = rep.isCapable;
+ UnlockDisplay(dpy);
+ SyncHandle();
+ TRACE("QueryDirectRenderingCapable... return True");
+ return True;
+}
+
+Bool XAppleDRIAuthConnection(dpy, screen, magic)
+ Display* dpy;
+ int screen;
+ unsigned int magic;
+{
+ XExtDisplayInfo *info = find_display(dpy);
+ xAppleDRIAuthConnectionReq *req;
+ xAppleDRIAuthConnectionReply rep;
+
+ TRACE("AuthConnection...");
+ AppleDRICheckExtension(dpy, info, False);
+
+ LockDisplay(dpy);
+ GetReq(AppleDRIAuthConnection, req);
+ req->reqType = info->codes->major_opcode;
+ req->driReqType = X_AppleDRIAuthConnection;
+ req->screen = screen;
+ req->magic = magic;
+ rep.authenticated = 0;
+ if (!_XReply(dpy, (xReply *)&rep, 0, xFalse) || !rep.authenticated) {
+ UnlockDisplay(dpy);
+ SyncHandle();
+ TRACE("AuthConnection... return False");
+ return False;
+ }
+ UnlockDisplay(dpy);
+ SyncHandle();
+ TRACE("AuthConnection... return True");
+ return True;
+}
+
+Bool XAppleDRICreateSurface(dpy, screen, drawable, client_id, key, uid)
+ Display* dpy;
+ int screen;
+ Drawable drawable;
+ unsigned int client_id;
+ unsigned int *key;
+ unsigned int *uid;
+{
+ XExtDisplayInfo *info = find_display(dpy);
+ xAppleDRICreateSurfaceReply rep;
+ xAppleDRICreateSurfaceReq *req;
+
+ TRACE("CreateSurface...");
+ AppleDRICheckExtension(dpy, info, False);
+
+ LockDisplay(dpy);
+ GetReq(AppleDRICreateSurface, req);
+ req->reqType = info->codes->major_opcode;
+ req->driReqType = X_AppleDRICreateSurface;
+ req->screen = screen;
+ req->drawable = drawable;
+ req->client_id = client_id;
+ rep.key_0 = rep.key_1 = rep.uid = 0;
+ if (!_XReply(dpy, (xReply *)&rep, 0, xFalse) || !rep.key_0) {
+ UnlockDisplay(dpy);
+ SyncHandle();
+ TRACE("CreateSurface... return False");
+ return False;
+ }
+ key[0] = rep.key_0;
+ key[1] = rep.key_1;
+ *uid = rep.uid;
+ UnlockDisplay(dpy);
+ SyncHandle();
+ TRACE("CreateSurface... return True");
+ return True;
+}
+
+Bool XAppleDRIDestroySurface(dpy, screen, drawable)
+ Display* dpy;
+ int screen;
+ Drawable drawable;
+{
+ XExtDisplayInfo *info = find_display(dpy);
+ xAppleDRIDestroySurfaceReq *req;
+
+ TRACE("DestroySurface...");
+ AppleDRICheckExtension(dpy, info, False);
+
+ LockDisplay(dpy);
+ GetReq(AppleDRIDestroySurface, req);
+ req->reqType = info->codes->major_opcode;
+ req->driReqType = X_AppleDRIDestroySurface;
+ req->screen = screen;
+ req->drawable = drawable;
+ UnlockDisplay(dpy);
+ SyncHandle();
+ TRACE("DestroySurface... return True");
+ return True;
+}
diff --git a/nx-X11/lib/GL/apple/appledri.h b/nx-X11/lib/GL/apple/appledri.h
new file mode 100644
index 000000000..fafdc236c
--- /dev/null
+++ b/nx-X11/lib/GL/apple/appledri.h
@@ -0,0 +1,106 @@
+/* $XFree86: xc/lib/GL/apple/appledri.h,v 1.1 2003/06/30 01:45:10 torrey Exp $ */
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright 2000 VA Linux Systems, Inc.
+Copyright (c) 2002 Apple Computer, 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, 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 PRECISION INSIGHT AND/OR ITS 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.
+
+**************************************************************************/
+
+/*
+ * Authors:
+ * Kevin E. Martin <martin@valinux.com>
+ * Jens Owen <jens@valinux.com>
+ * Rickard E. (Rik) Faith <faith@valinux.com>
+ *
+ */
+
+#ifndef _APPLEDRI_H_
+#define _APPLEDRI_H_
+
+#include <X11/Xfuncproto.h>
+
+#define X_AppleDRIQueryVersion 0
+#define X_AppleDRIQueryDirectRenderingCapable 1
+#define X_AppleDRICreateSurface 2
+#define X_AppleDRIDestroySurface 3
+#define X_AppleDRIAuthConnection 4
+/* Requests up to and including 18 were used in a previous version */
+
+/* Events */
+#define AppleDRIObsoleteEvent1 0
+#define AppleDRIObsoleteEvent2 1
+#define AppleDRIObsoleteEvent3 2
+#define AppleDRISurfaceNotify 3
+#define AppleDRINumberEvents 4
+
+/* Errors */
+#define AppleDRIClientNotLocal 0
+#define AppleDRIOperationNotSupported 1
+#define AppleDRINumberErrors (AppleDRIOperationNotSupported + 1)
+
+/* Kinds of SurfaceNotify events: */
+#define AppleDRISurfaceNotifyChanged 0
+#define AppleDRISurfaceNotifyDestroyed 1
+
+#ifndef _APPLEDRI_SERVER_
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came frome a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* window of event */
+ Time time; /* server timestamp when event happened */
+ int kind; /* subtype of event */
+ int arg;
+} XAppleDRINotifyEvent;
+
+_XFUNCPROTOBEGIN
+
+Bool XAppleDRIQueryExtension (Display *dpy, int *event_base, int *error_base);
+
+Bool XAppleDRIQueryVersion (Display *dpy, int *majorVersion,
+ int *minorVersion, int *patchVersion);
+
+Bool XAppleDRIQueryDirectRenderingCapable (Display *dpy, int screen,
+ Bool *isCapable);
+
+void *XAppleDRISetSurfaceNotifyHandler (void (*fun) (Display *dpy,
+ unsigned uid, int kind));
+
+Bool XAppleDRIAuthConnection (Display *dpy, int screen, unsigned int magic);
+
+Bool XAppleDRICreateSurface (Display *dpy, int screen, Drawable drawable,
+ unsigned int client_id, unsigned int key[2],
+ unsigned int* uid);
+
+Bool XAppleDRIDestroySurface (Display *dpy, int screen, Drawable drawable);
+
+Bool XAppleDRISynchronizeSurfaces (Display *dpy);
+
+_XFUNCPROTOEND
+
+#endif /* _APPLEDRI_SERVER_ */
+#endif /* _APPLEDRI_H_ */
diff --git a/nx-X11/lib/GL/apple/appledristr.h b/nx-X11/lib/GL/apple/appledristr.h
new file mode 100644
index 000000000..ec4158391
--- /dev/null
+++ b/nx-X11/lib/GL/apple/appledristr.h
@@ -0,0 +1,174 @@
+/* $XFree86: xc/lib/GL/apple/appledristr.h,v 1.1 2003/06/30 01:45:10 torrey Exp $ */
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright 2000 VA Linux Systems, Inc.
+Copyright (c) 2002 Apple Computer, 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, 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 PRECISION INSIGHT AND/OR ITS 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.
+
+**************************************************************************/
+
+/*
+ * Authors:
+ * Kevin E. Martin <martin@valinux.com>
+ * Jens Owen <jens@valinux.com>
+ * Rickard E. (Rik) Fiath <faith@valinux.com>
+ *
+ */
+
+#ifndef _APPLEDRISTR_H_
+#define _APPLEDRISTR_H_
+
+#include "appledri.h"
+
+#define APPLEDRINAME "Apple-DRI"
+
+#define APPLE_DRI_MAJOR_VERSION 1 /* current version numbers */
+#define APPLE_DRI_MINOR_VERSION 0
+#define APPLE_DRI_PATCH_VERSION 0
+
+typedef struct _AppleDRIQueryVersion {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRIQueryVersion */
+ CARD16 length B16;
+} xAppleDRIQueryVersionReq;
+#define sz_xAppleDRIQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of DRI protocol */
+ CARD16 minorVersion B16; /* minor version of DRI protocol */
+ CARD32 patchVersion B32; /* patch version of DRI protocol */
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xAppleDRIQueryVersionReply;
+#define sz_xAppleDRIQueryVersionReply 32
+
+typedef struct _AppleDRIQueryDirectRenderingCapable {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* X_DRIQueryDirectRenderingCapable */
+ CARD16 length B16;
+ CARD32 screen B32;
+} xAppleDRIQueryDirectRenderingCapableReq;
+#define sz_xAppleDRIQueryDirectRenderingCapableReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL isCapable;
+ BOOL pad2;
+ BOOL pad3;
+ BOOL pad4;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ CARD32 pad8 B32;
+ CARD32 pad9 B32;
+} xAppleDRIQueryDirectRenderingCapableReply;
+#define sz_xAppleDRIQueryDirectRenderingCapableReply 32
+
+typedef struct _AppleDRIAuthConnection {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRICloseConnection */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 magic B32;
+} xAppleDRIAuthConnectionReq;
+#define sz_xAppleDRIAuthConnectionReq 12
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 authenticated B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xAppleDRIAuthConnectionReply;
+#define zx_xAppleDRIAuthConnectionReply 32
+
+typedef struct _AppleDRICreateSurface {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRICreateSurface */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 drawable B32;
+ CARD32 client_id B32;
+} xAppleDRICreateSurfaceReq;
+#define sz_xAppleDRICreateSurfaceReq 16
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 key_0 B32;
+ CARD32 key_1 B32;
+ CARD32 uid B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xAppleDRICreateSurfaceReply;
+#define sz_xAppleDRICreateSurfaceReply 32
+
+typedef struct _AppleDRIDestroySurface {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRIDestroySurface */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 drawable B32;
+} xAppleDRIDestroySurfaceReq;
+#define sz_xAppleDRIDestroySurfaceReq 12
+
+typedef struct _AppleDRINotify {
+ BYTE type; /* always eventBase + event type */
+ BYTE kind;
+ CARD16 sequenceNumber B16;
+ Time time B32; /* time of change */
+ CARD16 pad1 B16;
+ CARD32 arg B32;
+ CARD32 pad3 B32;
+} xAppleDRINotifyEvent;
+#define sz_xAppleDRINotifyEvent 20
+
+#ifdef _APPLEDRI_SERVER_
+
+void AppleDRISendEvent (
+ int /* type */,
+ unsigned int /* mask */,
+ int /* which */,
+ int /* arg */
+);
+
+#endif /* _APPLEDRI_SERVER_ */
+#endif /* _APPLEDRISTR_H_ */
diff --git a/nx-X11/lib/GL/apple/build-dispatch b/nx-X11/lib/GL/apple/build-dispatch
new file mode 100755
index 000000000..862e10c0d
--- /dev/null
+++ b/nx-X11/lib/GL/apple/build-dispatch
@@ -0,0 +1,101 @@
+#!/bin/sh
+exec rep "$0" "$@"
+!#
+
+;; build-dispatch
+
+;; $Id: build-dispatch,v 1.2 2004/04/23 18:43:09 eich Exp $
+;; $XFree86: $
+
+;; Copyright (c) 2002 Apple Computer, 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 THE ABOVE LISTED COPYRIGHT
+;; HOLDER(S) 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(s) of the above
+;; copyright holders shall not be used in advertising or otherwise to
+;; promote the sale, use or other dealings in this Software without
+;; prior written authorization.
+
+;; This lisp script is used to build the C dispatch table from the
+;; .defs file. It currently uses my (jsh's) rep interpreter. The
+;; created file is checked into cvs, so it only needs to be run when
+;; the .defs file is touched
+
+(structure ()
+
+ (open rep
+ rep.regexp)
+
+ (defmacro @ args `(format standard-output ,@args))
+
+ (define stubs '())
+
+ (define (strip-args s)
+ (mapcar (lambda (x)
+ (and (string-match "[ \t\n*]+([a-zA-Z0-9_]+)$" x)
+ (expand-last-match "\\1")))
+ (string-split "," s)))
+
+ (@ "/* dri_dispatch.h -- built automatically, DO NOT EDIT\n $%s$\n $%s$ */\n\n" "Id" "XFree86: ")
+
+ (condition-case nil
+ (while t
+ (let* ((form (read standard-input))
+ (args (unless (string= (nth 3 form) "void")
+ (strip-args (nth 3 form))))
+ (internal (>= (nth 2 form) 0))
+ (alias (nth 4 form))
+ (prefix (if (eq (nth 0 form) 'void)
+ "_VOID \("
+ (format nil " \(%s, " (nth 0 form)))))
+ (when (or internal (not alias))
+ (@ "DEFUN_%s%s%s,\n (%s),\n (%s)\)\n\n"
+ (if internal "LOCAL" "EXTERN")
+ prefix
+ (nth 1 form)
+ (if (string= (nth 3 form) "void")
+ (if internal "void *rend" "")
+ (if internal (format nil "void *rend, %s" (nth 3 form)) (nth 3 form)))
+ (mapconcat identity args ", ")))
+ (when alias
+ (@ "DEFUN_ALIAS%s%s, %s,\n (%s),\n (%s)\)\n\n"
+ prefix (nth 1 form) alias (nth 3 form)
+ (mapconcat identity args ", ")))
+ (when internal
+ (setq stubs (cons form stubs)))))
+
+ (end-of-stream))
+
+ (setq stubs (nreverse stubs))
+
+ (@ "#define INDIRECT_DISPATCH_INIT(d,p) \\\n")
+ (@ "do { \\\n")
+
+ (setq stubs (sort stubs (lambda (a b)
+ (< (nth 2 a) (nth 2 b)))))
+
+ (let loop ((rest stubs))
+ (when rest
+ (let ((form (car rest)))
+ (@ " (d)[%s] = (void *) &p ## %s; \\\n" (nth 2 form) (nth 1 form)))
+ (loop (cdr rest))))
+
+ (@ "} while (0)\n"))
diff --git a/nx-X11/lib/GL/apple/dri_dispatch.c b/nx-X11/lib/GL/apple/dri_dispatch.c
new file mode 100644
index 000000000..8e5c4ddfd
--- /dev/null
+++ b/nx-X11/lib/GL/apple/dri_dispatch.c
@@ -0,0 +1,153 @@
+/* dri_dispatch.c
+ $Id: dri_dispatch.c,v 1.5 2005/07/03 07:00:55 daniels Exp $
+
+ Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+ Copyright (c) Torrey T. Lyons. 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 THE ABOVE LISTED COPYRIGHT
+ HOLDER(S) 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(s) of the above
+ copyright holders shall not be used in advertising or otherwise to
+ promote the sale, use or other dealings in this Software without
+ prior written authorization. */
+/* $XFree86: xc/lib/GL/apple/dri_dispatch.c,v 1.4 2004/04/21 04:59:40 torrey Exp $ */
+
+#include <OpenGL/OpenGL.h>
+#include <OpenGL/CGLContext.h>
+
+/* We use Apple's GL headers, but as of Panther its glext.h
+ did not define the following. */
+#ifndef GL_ARB_vertex_buffer_object
+#include <stddef.h>
+typedef ptrdiff_t GLintptrARB;
+typedef ptrdiff_t GLsizeiptrARB;
+#endif
+
+#define GLAPIENTRYP *
+#include "glapi.h"
+#include "glapitable.h"
+#include "glxclient.h"
+
+#include <Xlibint.h>
+#include <stdio.h>
+
+#ifdef __GNUC__
+# define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
+#else
+# define GCC_VERSION 0
+#endif
+
+#if GCC_VERSION < 3000
+# define __builtin_expect(a, b) a
+#endif
+
+static int indirect_noop (void)
+{
+ return 0;
+}
+
+/* Macro used for gl functions that exist in OpenGL.framework. We'll
+ use the existing stub for the initial dispatch, but need this
+ function to handle indirect contexts. */
+#define DEFUN_LOCAL_1(ret, return, gn, proto, args) \
+static ret indirect__ ## gn proto \
+{ \
+ struct _glapi_table *disp; \
+ \
+ disp = _glapi_Dispatch; \
+ if (__builtin_expect (disp == NULL, 0)) \
+ disp = _glapi_get_dispatch (); \
+ \
+ return (*disp->gn) args; \
+}
+
+/* Macro used for gl functions that don't exist in OpenGL.framework.
+ We drop them on the floor in direct rendering mode, but pass them
+ over the wire normally for indirect contexts. */
+#define DEFUN_EXTERN_1(ret, return, gn, proto, args) \
+ret gl ## gn proto \
+{ \
+ __GLXcontext *gc; \
+ struct _glapi_table *disp; \
+ \
+ gc = __glXGetCurrentContext (); \
+ if (!gc->isDirect) { \
+ disp = _glapi_Dispatch; \
+ if (__builtin_expect (disp == NULL, 0)) \
+ disp = _glapi_get_dispatch (); \
+ \
+ return (*disp->gn) args; \
+ } else { \
+ int a = 0; return (ret) a; \
+ } \
+}
+
+/* Macro for functions that already exist, but with a different name. */
+#define DEFUN_ALIAS_1(ret, return, gn, on, proto, args) \
+ret gl ## gn proto \
+{ \
+ return gl ## on args; \
+}
+
+#define DEFUN_LOCAL(r, gn, p, a) \
+ DEFUN_LOCAL_1 (r, return, gn, p, a)
+#define DEFUN_LOCAL_VOID(gn, p, a) \
+ DEFUN_LOCAL_1 (void, , gn, p, a)
+
+#define DEFUN_EXTERN(r, gn, p, a) \
+ DEFUN_EXTERN_1 (r, return, gn, p, a)
+#define DEFUN_EXTERN_VOID(gn, p, a) \
+ DEFUN_EXTERN_1 (void, , gn, p, a)
+
+#define DEFUN_ALIAS(r, gn, on, p, a) \
+ DEFUN_ALIAS_1 (r, return, gn, on, p, a)
+#define DEFUN_ALIAS_VOID(gn, on, p, a) \
+ DEFUN_ALIAS_1 (void, , gn, on, p, a)
+
+#include "dri_dispatch.h"
+
+__private_extern__ const CGLContextObj
+XAppleDRIGetIndirectContext (void)
+{
+ static CGLContextObj ctx;
+ void **t;
+ int i;
+
+ if (ctx != NULL)
+ return ctx;
+
+ /* initialize gl */
+ CGLSetOption (kCGLGOResetLibrary, 0);
+
+ /* Create an empty "context" for dispatching purposes. Add some slop
+ in case the dispatch table grows in future updates. */
+ ctx = Xcalloc (1, sizeof (struct _CGLContextObject) + 1024);
+
+ /* fill it with no-op vectors */
+ t = (void **) &ctx->disp;
+ for (i = 0; i < (int) (sizeof (ctx->disp) / sizeof (t[0])); i++)
+ t[i] = &indirect_noop;
+
+ /* then install the functions we actually support */
+ INDIRECT_DISPATCH_INIT (((void **) (&ctx->disp)), indirect__);
+
+ return ctx;
+}
diff --git a/nx-X11/lib/GL/apple/dri_dispatch.defs b/nx-X11/lib/GL/apple/dri_dispatch.defs
new file mode 100644
index 000000000..7d268e929
--- /dev/null
+++ b/nx-X11/lib/GL/apple/dri_dispatch.defs
@@ -0,0 +1,856 @@
+;; -*- lisp -*-
+
+;; dri_dispatch.defs
+
+;; $Id: dri_dispatch.defs,v 1.5 2004/08/18 23:12:49 kem Exp $
+;; $XFree86: xc/lib/GL/apple/dri_dispatch.defs,v 1.6 2004/04/21 04:59:40 torrey Exp $
+
+;; Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+;; Copyright (c) 2003-2004 Torrey T. Lyons. 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 THE ABOVE LISTED COPYRIGHT
+;; HOLDER(S) 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(s) of the above
+;; copyright holders shall not be used in advertising or otherwise to
+;; promote the sale, use or other dealings in this Software without
+;; prior written authorization.
+
+;; This file maps the Mesa GL api that X uses to the Apple CGL entry
+;; points. It's used to automatically generate the CGL dispatch table
+;; that's installed when an indirect context is current
+
+;; The format is (RETURN-TYPE MESA-NAME CGL-INDEX "ARGS" [ALIAS])
+
+;; For the script to work, ARGS must be either the string "void" or a
+;; comma separated list of parameters. Each parameter name _must_ be
+;; the last non-whitespace token in the field (i.e. inline function
+;; declarations won't work)
+
+;; CGL-INDEX is an index into the function vector table defined in
+;; <OpenGL/gliDispatch.h>. The names of the entries in this table
+;; aren't guaranteed to remain the same, but the table is guaranteed to
+;; be binary-compatible in future revisions, so we use indices.
+
+;; If CGL-INDEX is -1, it denotes that OpenGL.framework doesn't
+;; implement that function. We'll generate our own stub and make
+;; it work in indirect mode (unless it has an alias).
+
+;; ALIAS is the name of the function that should be used to define an
+;; external entry point for the function (because it doesn't exist in
+;; OpenGL.framework)
+
+;; The ordering matches the Mesa api table, but that's not important
+
+;; This table has some dependencies on the version of Mac OS X.
+;; Currently the script used to process this table does not handle
+;; these dependencies appropriately, so they must be added by hand.
+;; They are indicated by MAC_OS_X_VERSION in the comments below.
+
+(void NewList 177 "GLuint list, GLenum mode")
+(void EndList 75 "void")
+(void CallList 8 "GLuint list")
+(void CallLists 9 "GLsizei n, GLenum type, const GLvoid * lists")
+(void DeleteLists 58 "GLuint list, GLsizei range")
+(GLuint GenLists 97 "GLsizei range")
+(void ListBase 156 "GLuint base")
+(void Begin 4 "GLenum mode")
+(void Bitmap 6 "GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap")
+(void Color3b 17 "GLbyte red, GLbyte green, GLbyte blue")
+(void Color3bv 18 "const GLbyte * v")
+(void Color3d 19 "GLdouble red, GLdouble green, GLdouble blue")
+(void Color3dv 20 "const GLdouble * v")
+(void Color3f 21 "GLfloat red, GLfloat green, GLfloat blue")
+(void Color3fv 22 "const GLfloat * v")
+(void Color3i 23 "GLint red, GLint green, GLint blue")
+(void Color3iv 24 "const GLint * v")
+(void Color3s 25 "GLshort red, GLshort green, GLshort blue")
+(void Color3sv 26 "const GLshort * v")
+(void Color3ub 27 "GLubyte red, GLubyte green, GLubyte blue")
+(void Color3ubv 28 "const GLubyte * v")
+(void Color3ui 29 "GLuint red, GLuint green, GLuint blue")
+(void Color3uiv 30 "const GLuint * v")
+(void Color3us 31 "GLushort red, GLushort green, GLushort blue")
+(void Color3usv 32 "const GLushort * v")
+(void Color4b 33 "GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha")
+(void Color4bv 34 "const GLbyte * v")
+(void Color4d 35 "GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha")
+(void Color4dv 36 "const GLdouble * v")
+(void Color4f 37 "GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha")
+(void Color4fv 38 "const GLfloat * v")
+(void Color4i 39 "GLint red, GLint green, GLint blue, GLint alpha")
+(void Color4iv 40 "const GLint * v")
+(void Color4s 41 "GLshort red, GLshort green, GLshort blue, GLshort alpha")
+(void Color4sv 42 "const GLshort * v")
+(void Color4ub 43 "GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha")
+(void Color4ubv 44 "const GLubyte * v")
+(void Color4ui 45 "GLuint red, GLuint green, GLuint blue, GLuint alpha")
+(void Color4uiv 46 "const GLuint * v")
+(void Color4us 47 "GLushort red, GLushort green, GLushort blue, GLushort alpha")
+(void Color4usv 48 "const GLushort * v")
+(void EdgeFlag 69 "GLboolean flag")
+(void EdgeFlagv 71 "const GLboolean * flag")
+(void End 74 "void")
+(void Indexd 131 "GLdouble c")
+(void Indexdv 132 "const GLdouble * c")
+(void Indexf 133 "GLfloat c")
+(void Indexfv 134 "const GLfloat * c")
+(void Indexi 135 "GLint c")
+(void Indexiv 136 "const GLint * c")
+(void Indexs 137 "GLshort c")
+(void Indexsv 138 "const GLshort * c")
+(void Normal3b 178 "GLbyte nx, GLbyte ny, GLbyte nz")
+(void Normal3bv 179 "const GLbyte * v")
+(void Normal3d 180 "GLdouble nx, GLdouble ny, GLdouble nz")
+(void Normal3dv 181 "const GLdouble * v")
+(void Normal3f 182 "GLfloat nx, GLfloat ny, GLfloat nz")
+(void Normal3fv 183 "const GLfloat * v")
+(void Normal3i 184 "GLint nx, GLint ny, GLint nz")
+(void Normal3iv 185 "const GLint * v")
+(void Normal3s 186 "GLshort nx, GLshort ny, GLshort nz")
+(void Normal3sv 187 "const GLshort * v")
+(void RasterPos2d 212 "GLdouble x, GLdouble y")
+(void RasterPos2dv 213 "const GLdouble * v")
+(void RasterPos2f 214 "GLfloat x, GLfloat y")
+(void RasterPos2fv 215 "const GLfloat * v")
+(void RasterPos2i 216 "GLint x, GLint y")
+(void RasterPos2iv 217 "const GLint * v")
+(void RasterPos2s 218 "GLshort x, GLshort y")
+(void RasterPos2sv 219 "const GLshort * v")
+(void RasterPos3d 220 "GLdouble x, GLdouble y, GLdouble z")
+(void RasterPos3dv 221 "const GLdouble * v")
+(void RasterPos3f 222 "GLfloat x, GLfloat y, GLfloat z")
+(void RasterPos3fv 223 "const GLfloat * v")
+(void RasterPos3i 224 "GLint x, GLint y, GLint z")
+(void RasterPos3iv 225 "const GLint * v")
+(void RasterPos3s 226 "GLshort x, GLshort y, GLshort z")
+(void RasterPos3sv 227 "const GLshort * v")
+(void RasterPos4d 228 "GLdouble x, GLdouble y, GLdouble z, GLdouble w")
+(void RasterPos4dv 229 "const GLdouble * v")
+(void RasterPos4f 230 "GLfloat x, GLfloat y, GLfloat z, GLfloat w")
+(void RasterPos4fv 231 "const GLfloat * v")
+(void RasterPos4i 232 "GLint x, GLint y, GLint z, GLint w")
+(void RasterPos4iv 233 "const GLint * v")
+(void RasterPos4s 234 "GLshort x, GLshort y, GLshort z, GLshort w")
+(void RasterPos4sv 235 "const GLshort * v")
+(void Rectd 238 "GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2")
+(void Rectdv 239 "const GLdouble * v1, const GLdouble * v2")
+(void Rectf 240 "GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2")
+(void Rectfv 241 "const GLfloat * v1, const GLfloat * v2")
+(void Recti 242 "GLint x1, GLint y1, GLint x2, GLint y2")
+(void Rectiv 243 "const GLint * v1, const GLint * v2")
+(void Rects 244 "GLshort x1, GLshort y1, GLshort x2, GLshort y2")
+(void Rectsv 245 "const GLshort * v1, const GLshort * v2")
+(void TexCoord1d 257 "GLdouble s")
+(void TexCoord1dv 258 "const GLdouble * v")
+(void TexCoord1f 259 "GLfloat s")
+(void TexCoord1fv 260 "const GLfloat * v")
+(void TexCoord1i 261 "GLint s")
+(void TexCoord1iv 262 "const GLint * v")
+(void TexCoord1s 263 "GLshort s")
+(void TexCoord1sv 264 "const GLshort * v")
+(void TexCoord2d 265 "GLdouble s, GLdouble t")
+(void TexCoord2dv 266 "const GLdouble * v")
+(void TexCoord2f 267 "GLfloat s, GLfloat t")
+(void TexCoord2fv 268 "const GLfloat * v")
+(void TexCoord2i 269 "GLint s, GLint t")
+(void TexCoord2iv 270 "const GLint * v")
+(void TexCoord2s 271 "GLshort s, GLshort t")
+(void TexCoord2sv 272 "const GLshort * v")
+(void TexCoord3d 273 "GLdouble s, GLdouble t, GLdouble r")
+(void TexCoord3dv 274 "const GLdouble * v")
+(void TexCoord3f 275 "GLfloat s, GLfloat t, GLfloat r")
+(void TexCoord3fv 276 "const GLfloat * v")
+(void TexCoord3i 277 "GLint s, GLint t, GLint r")
+(void TexCoord3iv 278 "const GLint * v")
+(void TexCoord3s 279 "GLshort s, GLshort t, GLshort r")
+(void TexCoord3sv 280 "const GLshort * v")
+(void TexCoord4d 281 "GLdouble s, GLdouble t, GLdouble r, GLdouble q")
+(void TexCoord4dv 282 "const GLdouble * v")
+(void TexCoord4f 283 "GLfloat s, GLfloat t, GLfloat r, GLfloat q")
+(void TexCoord4fv 284 "const GLfloat * v")
+(void TexCoord4i 285 "GLint s, GLint t, GLint r, GLint q")
+(void TexCoord4iv 286 "const GLint * v")
+(void TexCoord4s 287 "GLshort s, GLshort t, GLshort r, GLshort q")
+(void TexCoord4sv 288 "const GLshort * v")
+(void Vertex2d 310 "GLdouble x, GLdouble y")
+(void Vertex2dv 311 "const GLdouble * v")
+(void Vertex2f 312 "GLfloat x, GLfloat y")
+(void Vertex2fv 313 "const GLfloat * v")
+(void Vertex2i 314 "GLint x, GLint y")
+(void Vertex2iv 315 "const GLint * v")
+(void Vertex2s 316 "GLshort x, GLshort y")
+(void Vertex2sv 317 "const GLshort * v")
+(void Vertex3d 318 "GLdouble x, GLdouble y, GLdouble z")
+(void Vertex3dv 319 "const GLdouble * v")
+(void Vertex3f 320 "GLfloat x, GLfloat y, GLfloat z")
+(void Vertex3fv 321 "const GLfloat * v")
+(void Vertex3i 322 "GLint x, GLint y, GLint z")
+(void Vertex3iv 323 "const GLint * v")
+(void Vertex3s 324 "GLshort x, GLshort y, GLshort z")
+(void Vertex3sv 325 "const GLshort * v")
+(void Vertex4d 326 "GLdouble x, GLdouble y, GLdouble z, GLdouble w")
+(void Vertex4dv 327 "const GLdouble * v")
+(void Vertex4f 328 "GLfloat x, GLfloat y, GLfloat z, GLfloat w")
+(void Vertex4fv 329 "const GLfloat * v")
+(void Vertex4i 330 "GLint x, GLint y, GLint z, GLint w")
+(void Vertex4iv 331 "const GLint * v")
+(void Vertex4s 332 "GLshort x, GLshort y, GLshort z, GLshort w")
+(void Vertex4sv 333 "const GLshort * v")
+(void ClipPlane 16 "GLenum plane, const GLdouble * equation")
+(void ColorMaterial 50 "GLenum face, GLenum mode")
+(void CullFace 57 "GLenum mode")
+(void Fogf 91 "GLenum pname, GLfloat param")
+(void Fogfv 92 "GLenum pname, const GLfloat * params")
+(void Fogi 93 "GLenum pname, GLint param")
+(void Fogiv 94 "GLenum pname, const GLint * params")
+(void FrontFace 95 "GLenum mode")
+(void Hint 128 "GLenum target, GLenum mode")
+(void Lightf 150 "GLenum light, GLenum pname, GLfloat param")
+(void Lightfv 151 "GLenum light, GLenum pname, const GLfloat * params")
+(void Lighti 152 "GLenum light, GLenum pname, GLint param")
+(void Lightiv 153 "GLenum light, GLenum pname, const GLint * params")
+(void LightModelf 146 "GLenum pname, GLfloat param")
+(void LightModelfv 147 "GLenum pname, const GLfloat * params")
+(void LightModeli 148 "GLenum pname, GLint param")
+(void LightModeliv 149 "GLenum pname, const GLint * params")
+(void LineStipple 154 "GLint factor, GLushort pattern")
+(void LineWidth 155 "GLfloat width")
+(void Materialf 170 "GLenum face, GLenum pname, GLfloat param")
+(void Materialfv 171 "GLenum face, GLenum pname, const GLfloat * params")
+(void Materiali 172 "GLenum face, GLenum pname, GLint param")
+(void Materialiv 173 "GLenum face, GLenum pname, const GLint * params")
+(void PointSize 199 "GLfloat size")
+(void PolygonMode 200 "GLenum face, GLenum mode")
+(void PolygonStipple 202 "const GLubyte * mask")
+(void Scissor 251 "GLint x, GLint y, GLsizei width, GLsizei height")
+(void ShadeModel 253 "GLenum mode")
+(void TexParameterf 302 "GLenum target, GLenum pname, GLfloat param")
+(void TexParameterfv 303 "GLenum target, GLenum pname, const GLfloat * params")
+(void TexParameteri 304 "GLenum target, GLenum pname, GLint param")
+(void TexParameteriv 305 "GLenum target, GLenum pname, const GLint * params")
+(void TexImage1D 300 "GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels")
+(void TexImage2D 301 "GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels")
+(void TexEnvf 290 "GLenum target, GLenum pname, GLfloat param")
+(void TexEnvfv 291 "GLenum target, GLenum pname, const GLfloat * params")
+(void TexEnvi 292 "GLenum target, GLenum pname, GLint param")
+(void TexEnviv 293 "GLenum target, GLenum pname, const GLint * params")
+(void TexGend 294 "GLenum coord, GLenum pname, GLdouble param")
+(void TexGendv 295 "GLenum coord, GLenum pname, const GLdouble * params")
+(void TexGenf 296 "GLenum coord, GLenum pname, GLfloat param")
+(void TexGenfv 297 "GLenum coord, GLenum pname, const GLfloat * params")
+(void TexGeni 298 "GLenum coord, GLenum pname, GLint param")
+(void TexGeniv 299 "GLenum coord, GLenum pname, const GLint * params")
+(void FeedbackBuffer 88 "GLsizei size, GLenum type, GLfloat * buffer")
+(void SelectBuffer 252 "GLsizei size, GLuint * buffer")
+(GLint RenderMode 246 "GLenum mode")
+(void InitNames 141 "void")
+(void LoadName 160 "GLuint name")
+(void PassThrough 190 "GLfloat token")
+(void PopName 206 "void")
+(void PushName 211 "GLuint name")
+(void DrawBuffer 66 "GLenum mode")
+(void Clear 10 "GLbitfield mask")
+(void ClearAccum 11 "GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha")
+(void ClearIndex 14 "GLfloat c")
+(void ClearColor 12 "GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha")
+(void ClearStencil 15 "GLint s")
+(void ClearDepth 13 "GLclampd depth")
+(void StencilMask 255 "GLuint mask")
+(void ColorMask 49 "GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha")
+(void DepthMask 61 "GLboolean flag")
+(void IndexMask 129 "GLuint mask")
+(void Accum 0 "GLenum op, GLfloat value")
+(void Disable 63 "GLenum cap")
+(void Enable 72 "GLenum cap")
+(void Finish 89 "void")
+(void Flush 90 "void")
+(void PopAttrib 203 "void")
+(void PushAttrib 208 "GLbitfield mask")
+(void Map1d 162 "GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points")
+(void Map1f 163 "GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points")
+(void Map2d 164 "GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points")
+(void Map2f 165 "GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points")
+(void MapGrid1d 166 "GLint un, GLdouble u1, GLdouble u2")
+(void MapGrid1f 167 "GLint un, GLfloat u1, GLfloat u2")
+(void MapGrid2d 168 "GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2")
+(void MapGrid2f 169 "GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2")
+(void EvalCoord1d 76 "GLdouble u")
+(void EvalCoord1dv 77 "const GLdouble * u")
+(void EvalCoord1f 78 "GLfloat u")
+(void EvalCoord1fv 79 "const GLfloat * u")
+(void EvalCoord2d 80 "GLdouble u, GLdouble v")
+(void EvalCoord2dv 81 "const GLdouble * u")
+(void EvalCoord2f 82 "GLfloat u, GLfloat v")
+(void EvalCoord2fv 83 "const GLfloat * u")
+(void EvalMesh1 84 "GLenum mode, GLint i1, GLint i2")
+(void EvalPoint1 86 "GLint i")
+(void EvalMesh2 85 "GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2")
+(void EvalPoint2 87 "GLint i, GLint j")
+(void AlphaFunc 1 "GLenum func, GLclampf ref")
+(void BlendFunc 7 "GLenum sfactor, GLenum dfactor")
+(void LogicOp 161 "GLenum opcode")
+(void StencilFunc 254 "GLenum func, GLint ref, GLuint mask")
+(void StencilOp 256 "GLenum fail, GLenum zfail, GLenum zpass")
+(void DepthFunc 60 "GLenum func")
+(void PixelZoom 198 "GLfloat xfactor, GLfloat yfactor")
+(void PixelTransferf 196 "GLenum pname, GLfloat param")
+(void PixelTransferi 197 "GLenum pname, GLint param")
+(void PixelStoref 194 "GLenum pname, GLfloat param")
+(void PixelStorei 195 "GLenum pname, GLint param")
+(void PixelMapfv 191 "GLenum map, GLint mapsize, const GLfloat * values")
+(void PixelMapuiv 192 "GLenum map, GLint mapsize, const GLuint * values")
+(void PixelMapusv 193 "GLenum map, GLint mapsize, const GLushort * values")
+(void ReadBuffer 236 "GLenum mode")
+(void CopyPixels 52 "GLint x, GLint y, GLsizei width, GLsizei height, GLenum type")
+(void ReadPixels 237 "GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels")
+(void DrawPixels 68 "GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels")
+(void GetBooleanv 99 "GLenum pname, GLboolean * params")
+(void GetClipPlane 100 "GLenum plane, GLdouble * equation")
+(void GetDoublev 101 "GLenum pname, GLdouble * params")
+(GLenum GetError 102 "void")
+(void GetFloatv 103 "GLenum pname, GLfloat * params")
+(void GetIntegerv 104 "GLenum pname, GLint * params")
+(void GetLightfv 105 "GLenum light, GLenum pname, GLfloat * params")
+(void GetLightiv 106 "GLenum light, GLenum pname, GLint * params")
+(void GetMapdv 107 "GLenum target, GLenum query, GLdouble * v")
+(void GetMapfv 108 "GLenum target, GLenum query, GLfloat * v")
+(void GetMapiv 109 "GLenum target, GLenum query, GLint * v")
+(void GetMaterialfv 110 "GLenum face, GLenum pname, GLfloat * params")
+(void GetMaterialiv 111 "GLenum face, GLenum pname, GLint * params")
+(void GetPixelMapfv 112 "GLenum map, GLfloat * values")
+(void GetPixelMapuiv 113 "GLenum map, GLuint * values")
+(void GetPixelMapusv 114 "GLenum map, GLushort * values")
+(void GetPolygonStipple 116 "GLubyte * mask")
+(|const GLubyte *| GetString 117 "GLenum name")
+(void GetTexEnvfv 118 "GLenum target, GLenum pname, GLfloat * params")
+(void GetTexEnviv 119 "GLenum target, GLenum pname, GLint * params")
+(void GetTexGendv 120 "GLenum coord, GLenum pname, GLdouble * params")
+(void GetTexGenfv 121 "GLenum coord, GLenum pname, GLfloat * params")
+(void GetTexGeniv 122 "GLenum coord, GLenum pname, GLint * params")
+(void GetTexImage 123 "GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels")
+(void GetTexParameterfv 126 "GLenum target, GLenum pname, GLfloat * params")
+(void GetTexParameteriv 127 "GLenum target, GLenum pname, GLint * params")
+(void GetTexLevelParameterfv 124 "GLenum target, GLint level, GLenum pname, GLfloat * params")
+(void GetTexLevelParameteriv 125 "GLenum target, GLint level, GLenum pname, GLint * params")
+(GLboolean IsEnabled 143 "GLenum cap")
+(GLboolean IsList 144 "GLuint list")
+(void DepthRange 62 "GLclampd zNear, GLclampd zFar")
+(void Frustum 96 "GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar")
+(void LoadIdentity 157 "void")
+(void LoadMatrixf 159 "const GLfloat * m")
+(void LoadMatrixd 158 "const GLdouble * m")
+(void MatrixMode 174 "GLenum mode")
+(void MultMatrixf 176 "const GLfloat * m")
+(void MultMatrixd 175 "const GLdouble * m")
+(void Ortho 189 "GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar")
+(void PopMatrix 205 "void")
+(void PushMatrix 210 "void")
+(void Rotated 247 "GLdouble angle, GLdouble x, GLdouble y, GLdouble z")
+(void Rotatef 248 "GLfloat angle, GLfloat x, GLfloat y, GLfloat z")
+(void Scaled 249 "GLdouble x, GLdouble y, GLdouble z")
+(void Scalef 250 "GLfloat x, GLfloat y, GLfloat z")
+(void Translated 308 "GLdouble x, GLdouble y, GLdouble z")
+(void Translatef 309 "GLfloat x, GLfloat y, GLfloat z")
+(void Viewport 335 "GLint x, GLint y, GLsizei width, GLsizei height")
+(void ArrayElement 3 "GLint i")
+(void BindTexture 5 "GLenum target, GLenum texture")
+(void ColorPointer 51 "GLint size, GLenum type, GLsizei stride, const GLvoid * pointer")
+(void DisableClientState 64 "GLenum array")
+(void DrawArrays 65 "GLenum mode, GLint first, GLsizei count")
+(void DrawElements 67 "GLenum mode, GLsizei count, GLenum type, const GLvoid * indices")
+(void EdgeFlagPointer 70 "GLsizei stride, const GLvoid * pointer")
+(void EnableClientState 73 "GLenum array")
+(void IndexPointer 130 "GLenum type, GLsizei stride, const GLvoid * pointer")
+(void Indexub 139 "GLubyte c")
+(void Indexubv 140 "const GLubyte * c")
+(void InterleavedArrays 142 "GLenum format, GLsizei stride, const GLvoid * pointer")
+(void NormalPointer 188 "GLenum type, GLsizei stride, const GLvoid * pointer")
+(void PolygonOffset 201 "GLfloat factor, GLfloat units")
+(void TexCoordPointer 289 "GLint size, GLenum type, GLsizei stride, const GLvoid * pointer")
+(void VertexPointer 334 "GLint size, GLenum type, GLsizei stride, const GLvoid * pointer")
+(GLboolean AreTexturesResident 2 "GLsizei n, const GLenum * textures, GLboolean * residences")
+(void CopyTexImage1D 53 "GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border")
+(void CopyTexImage2D 54 "GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border")
+(void CopyTexSubImage1D 55 "GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width")
+(void CopyTexSubImage2D 56 "GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height")
+(void DeleteTextures 59 "GLsizei n, const GLenum * textures")
+(void GenTextures 98 "GLsizei n, GLenum * textures")
+(void GetPointerv 115 "GLenum pname, GLvoid * * params")
+(GLboolean IsTexture 145 "GLenum texture")
+(void PrioritizeTextures 207 "GLsizei n, const GLenum * textures, const GLclampf * priorities")
+(void TexSubImage1D 306 "GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels")
+(void TexSubImage2D 307 "GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels")
+(void PopClientAttrib 204 "void")
+(void PushClientAttrib 209 "GLbitfield mask")
+(void BlendColor 337 "GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha")
+(void BlendEquation 338 "GLenum mode")
+(void DrawRangeElements 405 "GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices")
+(void ColorTable 406 "GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table")
+(void ColorTableParameterfv 407 "GLenum target, GLenum pname, const GLfloat * params")
+(void ColorTableParameteriv 408 "GLenum target, GLenum pname, const GLint * params")
+(void CopyColorTable 409 "GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width")
+(void GetColorTable 410 "GLenum target, GLenum format, GLenum type, GLvoid * table")
+(void GetColorTableParameterfv 411 "GLenum target, GLenum pname, GLfloat * params")
+(void GetColorTableParameteriv 412 "GLenum target, GLenum pname, GLint * params")
+(void ColorSubTable 413 "GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data")
+(void CopyColorSubTable 414 "GLenum target, GLsizei start, GLint x, GLint y, GLsizei width")
+(void ConvolutionFilter1D 415 "GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image")
+(void ConvolutionFilter2D 416 "GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image")
+(void ConvolutionParameterf 417 "GLenum target, GLenum pname, GLfloat params")
+(void ConvolutionParameterfv 418 "GLenum target, GLenum pname, const GLfloat * params")
+(void ConvolutionParameteri 419 "GLenum target, GLenum pname, GLint params")
+(void ConvolutionParameteriv 420 "GLenum target, GLenum pname, const GLint * params")
+(void CopyConvolutionFilter1D 421 "GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width")
+(void CopyConvolutionFilter2D 422 "GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height")
+(void GetConvolutionFilter 423 "GLenum target, GLenum format, GLenum type, GLvoid * image")
+(void GetConvolutionParameterfv 424 "GLenum target, GLenum pname, GLfloat * params")
+(void GetConvolutionParameteriv 425 "GLenum target, GLenum pname, GLint * params")
+(void GetSeparableFilter 426 "GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span")
+(void SeparableFilter2D 427 "GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column")
+(void GetHistogram 428 "GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values")
+(void GetHistogramParameterfv 429 "GLenum target, GLenum pname, GLfloat * params")
+(void GetHistogramParameteriv 430 "GLenum target, GLenum pname, GLint * params")
+(void GetMinmax 431 "GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values")
+(void GetMinmaxParameterfv 432 "GLenum target, GLenum pname, GLfloat * params")
+(void GetMinmaxParameteriv 433 "GLenum target, GLenum pname, GLint * params")
+(void Histogram 434 "GLenum target, GLsizei width, GLenum internalformat, GLboolean sink")
+(void Minmax 435 "GLenum target, GLenum internalformat, GLboolean sink")
+(void ResetHistogram 436 "GLenum target")
+(void ResetMinmax 437 "GLenum target")
+(void TexImage3D 438 "GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels")
+(void TexSubImage3D 439 "GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels")
+(void CopyTexSubImage3D 440 "GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height")
+(void ActiveTextureARB 342 "GLenum texture")
+(void ClientActiveTextureARB 341 "GLenum texture")
+(void MultiTexCoord1dARB 343 "GLenum target, GLdouble s")
+(void MultiTexCoord1dvARB 344 "GLenum target, const GLdouble * v")
+(void MultiTexCoord1fARB 345 "GLenum target, GLfloat s")
+(void MultiTexCoord1fvARB 346 "GLenum target, const GLfloat * v")
+(void MultiTexCoord1iARB 347 "GLenum target, GLint s")
+(void MultiTexCoord1ivARB 348 "GLenum target, const GLint * v")
+(void MultiTexCoord1sARB 349 "GLenum target, GLshort s")
+(void MultiTexCoord1svARB 350 "GLenum target, const GLshort * v")
+(void MultiTexCoord2dARB 351 "GLenum target, GLdouble s, GLdouble t")
+(void MultiTexCoord2dvARB 352 "GLenum target, const GLdouble * v")
+(void MultiTexCoord2fARB 353 "GLenum target, GLfloat s, GLfloat t")
+(void MultiTexCoord2fvARB 354 "GLenum target, const GLfloat * v")
+(void MultiTexCoord2iARB 355 "GLenum target, GLint s, GLint t")
+(void MultiTexCoord2ivARB 356 "GLenum target, const GLint * v")
+(void MultiTexCoord2sARB 357 "GLenum target, GLshort s, GLshort t")
+(void MultiTexCoord2svARB 358 "GLenum target, const GLshort * v")
+(void MultiTexCoord3dARB 359 "GLenum target, GLdouble s, GLdouble t, GLdouble r")
+(void MultiTexCoord3dvARB 360 "GLenum target, const GLdouble * v")
+(void MultiTexCoord3fARB 361 "GLenum target, GLfloat s, GLfloat t, GLfloat r")
+(void MultiTexCoord3fvARB 362 "GLenum target, const GLfloat * v")
+(void MultiTexCoord3iARB 363 "GLenum target, GLint s, GLint t, GLint r")
+(void MultiTexCoord3ivARB 364 "GLenum target, const GLint * v")
+(void MultiTexCoord3sARB 365 "GLenum target, GLshort s, GLshort t, GLshort r")
+(void MultiTexCoord3svARB 366 "GLenum target, const GLshort * v")
+(void MultiTexCoord4dARB 367 "GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q")
+(void MultiTexCoord4dvARB 368 "GLenum target, const GLdouble * v")
+(void MultiTexCoord4fARB 369 "GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q")
+(void MultiTexCoord4fvARB 370 "GLenum target, const GLfloat * v")
+(void MultiTexCoord4iARB 371 "GLenum target, GLint s, GLint t, GLint r, GLint q")
+(void MultiTexCoord4ivARB 372 "GLenum target, const GLint * v")
+(void MultiTexCoord4sARB 373 "GLenum target, GLshort s, GLshort t, GLshort r, GLshort q")
+(void MultiTexCoord4svARB 374 "GLenum target, const GLshort * v")
+(void LoadTransposeMatrixfARB 376 "const GLfloat * m")
+(void LoadTransposeMatrixdARB 375 "const GLdouble * m")
+(void MultTransposeMatrixfARB 378 "const GLfloat * m")
+(void MultTransposeMatrixdARB 377 "const GLdouble * m")
+(void SampleCoverageARB 459 "GLclampf value, GLboolean invert")
+(void __unused413 -1 "void")
+(void PolygonOffsetEXT -1 "GLfloat factor, GLfloat bias" PolygonOffset)
+(void GetTexFilterFuncSGIS -1 "GLenum target, GLenum filter, GLfloat * weights")
+(void TexFilterFuncSGIS -1 "GLenum target, GLenum filter, GLsizei n, const GLfloat * weights")
+(void GetHistogramEXT -1 "GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values" GetHistogram)
+(void GetHistogramParameterfvEXT -1 "GLenum target, GLenum pname, GLfloat * params" GetHistogramParameterfv)
+(void GetHistogramParameterivEXT -1 "GLenum target, GLenum pname, GLint * params" GetHistogramParameteriv)
+(void GetMinmaxEXT -1 "GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values" GetMinmax)
+(void GetMinmaxParameterfvEXT -1 "GLenum target, GLenum pname, GLfloat * params" GetMinmaxParameterfv)
+(void GetMinmaxParameterivEXT -1 "GLenum target, GLenum pname, GLint * params" GetMinmaxParameteriv)
+(void GetConvolutionFilterEXT -1 "GLenum target, GLenum format, GLenum type, GLvoid * image" GetConvolutionFilter)
+(void GetConvolutionParameterfvEXT -1 "GLenum target, GLenum pname, GLfloat * params" GetConvolutionParameterfv)
+(void GetConvolutionParameterivEXT -1 "GLenum target, GLenum pname, GLint * params" GetConvolutionParameteriv)
+(void GetSeparableFilterEXT -1 "GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span" GetSeparableFilter)
+(void GetColorTableSGI -1 "GLenum target, GLenum format, GLenum type, GLvoid * table" GetColorTable)
+(void GetColorTableParameterfvSGI -1 "GLenum target, GLenum pname, GLfloat * params" GetColorTableParameterfv)
+(void GetColorTableParameterivSGI -1 "GLenum target, GLenum pname, GLint * params" GetColorTableParameteriv)
+(void PixelTexGenSGIX -1 "GLenum mode")
+(void PixelTexGenParameteriSGIS -1 "GLenum pname, GLint param")
+(void PixelTexGenParameterivSGIS -1 "GLenum pname, const GLint * params")
+(void PixelTexGenParameterfSGIS -1 "GLenum pname, GLfloat param")
+(void PixelTexGenParameterfvSGIS -1 "GLenum pname, const GLfloat * params")
+(void GetPixelTexGenParameterivSGIS -1 "GLenum pname, GLint * params")
+(void GetPixelTexGenParameterfvSGIS -1 "GLenum pname, GLfloat * params")
+(void TexImage4DSGIS -1 "GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid * pixels")
+(void TexSubImage4DSGIS -1 "GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid * pixels")
+(GLboolean AreTexturesResidentEXT -1 "GLsizei n, const GLenum * textures, GLboolean * residences" AreTexturesResident)
+(void GenTexturesEXT -1 "GLsizei n, GLenum * textures" GenTextures)
+(GLboolean IsTextureEXT -1 "GLenum texture")
+(void DetailTexFuncSGIS -1 "GLenum target, GLsizei n, const GLfloat * points")
+(void GetDetailTexFuncSGIS -1 "GLenum target, GLfloat * points")
+(void SharpenTexFuncSGIS -1 "GLenum target, GLsizei n, const GLfloat * points")
+(void GetSharpenTexFuncSGIS -1 "GLenum target, GLfloat * points")
+(void SampleMaskSGIS -1 "GLclampf value, GLboolean invert")
+(void SamplePatternSGIS -1 "GLenum pattern")
+(void ColorPointerEXT -1 "GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer")
+(void EdgeFlagPointerEXT -1 "GLsizei stride, GLsizei count, const GLboolean * pointer")
+(void IndexPointerEXT -1 "GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer")
+(void NormalPointerEXT -1 "GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer")
+(void TexCoordPointerEXT -1 "GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer")
+(void VertexPointerEXT -1 "GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer")
+(void SpriteParameterfSGIX -1 "GLenum pname, GLfloat param")
+(void SpriteParameterfvSGIX -1 "GLenum pname, const GLfloat * params")
+(void SpriteParameteriSGIX -1 "GLenum pname, GLint param")
+(void SpriteParameterivSGIX -1 "GLenum pname, const GLint * params")
+(void PointParameterfEXT 540 "GLenum pname, GLfloat param" PointParameterf)
+(void PointParameterfvEXT 541 "GLenum pname, const GLfloat * params" PointParameterfv)
+(GLint GetInstrumentsSGIX -1 "void")
+(void InstrumentsBufferSGIX -1 "GLsizei size, GLint * buffer")
+(GLint PollInstrumentsSGIX -1 "GLint * marker_p")
+(void ReadInstrumentsSGIX -1 "GLint marker")
+(void StartInstrumentsSGIX -1 "void")
+(void StopInstrumentsSGIX -1 "GLint marker")
+(void FrameZoomSGIX -1 "GLint factor")
+(void TagSampleBufferSGIX -1 "void")
+(void ReferencePlaneSGIX -1 "const GLdouble * equation")
+(void FlushRasterSGIX -1 "void")
+(void GetListParameterfvSGIX -1 "GLuint list, GLenum pname, GLfloat * params")
+(void GetListParameterivSGIX -1 "GLuint list, GLenum pname, GLint * params")
+(void ListParameterfSGIX -1 "GLuint list, GLenum pname, GLfloat param")
+(void ListParameterfvSGIX -1 "GLuint list, GLenum pname, const GLfloat * params")
+(void ListParameteriSGIX -1 "GLuint list, GLenum pname, GLint param")
+(void ListParameterivSGIX -1 "GLuint list, GLenum pname, const GLint * params")
+(void FragmentColorMaterialSGIX -1 "GLenum face, GLenum mode")
+(void FragmentLightfSGIX -1 "GLenum light, GLenum pname, GLfloat param")
+(void FragmentLightfvSGIX -1 "GLenum light, GLenum pname, const GLfloat * params")
+(void FragmentLightiSGIX -1 "GLenum light, GLenum pname, GLint param")
+(void FragmentLightivSGIX -1 "GLenum light, GLenum pname, const GLint * params")
+(void FragmentLightModelfSGIX -1 "GLenum pname, GLfloat param")
+(void FragmentLightModelfvSGIX -1 "GLenum pname, const GLfloat * params")
+(void FragmentLightModeliSGIX -1 "GLenum pname, GLint param")
+(void FragmentLightModelivSGIX -1 "GLenum pname, const GLint * params")
+(void FragmentMaterialfSGIX -1 "GLenum face, GLenum pname, GLfloat param")
+(void FragmentMaterialfvSGIX -1 "GLenum face, GLenum pname, const GLfloat * params")
+(void FragmentMaterialiSGIX -1 "GLenum face, GLenum pname, GLint param")
+(void FragmentMaterialivSGIX -1 "GLenum face, GLenum pname, const GLint * params")
+(void GetFragmentLightfvSGIX -1 "GLenum light, GLenum pname, GLfloat * params")
+(void GetFragmentLightivSGIX -1 "GLenum light, GLenum pname, GLint * params")
+(void GetFragmentMaterialfvSGIX -1 "GLenum face, GLenum pname, GLfloat * params")
+(void GetFragmentMaterialivSGIX -1 "GLenum face, GLenum pname, GLint * params")
+(void LightEnviSGIX -1 "GLenum pname, GLint param")
+(void VertexWeightfEXT -1 "GLfloat weight")
+(void VertexWeightfvEXT -1 "const GLfloat * weight")
+(void VertexWeightPointerEXT -1 "GLsizei size, GLenum type, GLsizei stride, const GLvoid * pointer")
+(void FlushVertexArrayRangeNV -1 "void")
+(void VertexArrayRangeNV 403 "GLsizei length, const GLvoid * pointer" VertexArrayRangeAPPLE)
+(void CombinerParameterfvNV 441 "GLenum pname, const GLfloat * params")
+(void CombinerParameterfNV 442 "GLenum pname, GLfloat param")
+(void CombinerParameterivNV 443 "GLenum pname, const GLint * params")
+(void CombinerParameteriNV 444 "GLenum pname, GLint param")
+(void CombinerInputNV 445 "GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage")
+(void CombinerOutputNV 446 "GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum")
+(void FinalCombinerInputNV 447 "GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage")
+(void GetCombinerInputParameterfvNV 448 "GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params")
+(void GetCombinerInputParameterivNV 449 "GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params")
+(void GetCombinerOutputParameterfvNV 450 "GLenum stage, GLenum portion, GLenum pname, GLfloat * params")
+(void GetCombinerOutputParameterivNV 451 "GLenum stage, GLenum portion, GLenum pname, GLint * params")
+(void GetFinalCombinerInputParameterfvNV 452 "GLenum variable, GLenum pname, GLfloat * params")
+(void GetFinalCombinerInputParameterivNV 453 "GLenum variable, GLenum pname, GLint * params")
+(void ResizeBuffersMESA -1 "void")
+(void WindowPos2dMESA 569 "GLdouble x, GLdouble y" WindowPos2d)
+(void WindowPos2dvMESA 570 "const GLdouble * v" WindowPos2dv)
+(void WindowPos2fMESA 571 "GLfloat x, GLfloat y" WindowPos2f)
+(void WindowPos2fvMESA 572 "const GLfloat * v" WindowPos2fv)
+(void WindowPos2iMESA 573 "GLint x, GLint y" WindowPos2i)
+(void WindowPos2ivMESA 574 "const GLint * v" WindowPos2iv)
+(void WindowPos2sMESA 575 "GLshort x, GLshort y" WindowPos2s)
+(void WindowPos2svMESA 576 "const GLshort * v" WindowPos2sv)
+(void WindowPos3dMESA 577 "GLdouble x, GLdouble y, GLdouble z" WindowPos3d)
+(void WindowPos3dvMESA 578 "const GLdouble * v" WindowPos3dv)
+(void WindowPos3fMESA 579 "GLfloat x, GLfloat y, GLfloat z" WindowPos3f)
+(void WindowPos3fvMESA 580 "const GLfloat * v" WindowPos3fv)
+(void WindowPos3iMESA 581 "GLint x, GLint y, GLint z" WindowPos3i)
+(void WindowPos3ivMESA 582 "const GLint * v" WindowPos3iv)
+(void WindowPos3sMESA 583 "GLshort x, GLshort y, GLshort z" WindowPos3s)
+(void WindowPos3svMESA 584 "const GLshort * v" WindowPos3sv)
+(void WindowPos4dMESA -1 "GLdouble x, GLdouble y, GLdouble z, GLdouble w")
+(void WindowPos4dvMESA -1 "const GLdouble * v")
+(void WindowPos4fMESA -1 "GLfloat x, GLfloat y, GLfloat z, GLfloat w")
+(void WindowPos4fvMESA -1 "const GLfloat * v")
+(void WindowPos4iMESA -1 "GLint x, GLint y, GLint z, GLint w")
+(void WindowPos4ivMESA -1 "const GLint * v")
+(void WindowPos4sMESA -1 "GLshort x, GLshort y, GLshort z, GLshort w")
+(void WindowPos4svMESA -1 "const GLshort * v")
+(void BlendFuncSeparateEXT 336 "GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha")
+(void IndexMaterialEXT -1 "GLenum face, GLenum mode")
+(void IndexFuncEXT -1 "GLenum func, GLclampf ref")
+(void LockArraysEXT 339 "GLint first, GLsizei count")
+(void UnlockArraysEXT 340 "void")
+(void CullParameterdvEXT -1 "GLenum pname, GLdouble * params")
+(void CullParameterfvEXT -1 "GLenum pname, GLfloat * params")
+(void HintPGI -1 "GLenum target, GLint mode")
+(void FogCoordfEXT 544 "GLfloat coord")
+(void FogCoordfvEXT 545 "const GLfloat * coord")
+(void FogCoorddEXT 546 "GLdouble coord")
+(void FogCoorddvEXT 547 "const GLdouble * coord")
+(void FogCoordPointerEXT 548 "GLenum type, GLsizei stride, const GLvoid * pointer")
+;; OpenGL.framework defines these, but doesn't have dispatch slots for them
+;; (void GetColorTableEXT -1 "GLenum target, GLenum format, GLenum type, GLvoid * data" GetColorTable)
+;; (void GetColorTableParameterivEXT -1 "GLenum target, GLenum pname, GLint * params" GetColorTableParameteriv)
+;; (void GetColorTableParameterfvEXT -1 "GLenum target, GLenum pname, GLfloat * params" GetColorTableParameterfv)
+(void TbufferMask3DFX -1 "GLuint mask")
+(void CompressedTexImage3DARB 379 "GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data")
+(void CompressedTexImage2DARB 380 "GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data")
+(void CompressedTexImage1DARB 381 "GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data")
+(void CompressedTexSubImage3DARB 382 "GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data")
+(void CompressedTexSubImage2DARB 383 "GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data")
+(void CompressedTexSubImage1DARB 384 "GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data")
+(void GetCompressedTexImageARB 385 "GLenum target, GLint level, void * img")
+(void SecondaryColor3bEXT 386 "GLbyte red, GLbyte green, GLbyte blue")
+(void SecondaryColor3bvEXT 387 "const GLbyte * v")
+(void SecondaryColor3dEXT 388 "GLdouble red, GLdouble green, GLdouble blue")
+(void SecondaryColor3dvEXT 389 "const GLdouble * v")
+(void SecondaryColor3fEXT 390 "GLfloat red, GLfloat green, GLfloat blue")
+(void SecondaryColor3fvEXT 391 "const GLfloat * v")
+(void SecondaryColor3iEXT 392 "GLint red, GLint green, GLint blue")
+(void SecondaryColor3ivEXT 393 "const GLint * v")
+(void SecondaryColor3sEXT 394 "GLshort red, GLshort green, GLshort blue")
+(void SecondaryColor3svEXT 395 "const GLshort * v")
+(void SecondaryColor3ubEXT 396 "GLubyte red, GLubyte green, GLubyte blue")
+(void SecondaryColor3ubvEXT 397 "const GLubyte * v")
+(void SecondaryColor3uiEXT 398 "GLuint red, GLuint green, GLuint blue")
+(void SecondaryColor3uivEXT 399 "const GLuint * v")
+(void SecondaryColor3usEXT 400 "GLushort red, GLushort green, GLushort blue")
+(void SecondaryColor3usvEXT 401 "const GLushort * v")
+(void SecondaryColorPointerEXT 402 "GLint size, GLenum type, GLsizei stride, const GLvoid * pointer")
+(GLboolean AreProgramsResidentNV -1 "GLsizei n, const GLuint * ids, GLboolean * residences")
+(void BindProgramNV 471 "GLenum target, GLuint id" BindProgramARB)
+(void DeleteProgramsNV 472 "GLsizei n, const GLuint * ids" DeleteProgramsARB)
+(void ExecuteProgramNV -1 "GLenum target, GLuint id, const GLfloat * params")
+(void GenProgramsNV 473 "GLsizei n, GLuint * ids" GenProgramsARB)
+(void GetProgramParameterdvNV -1 "GLenum target, GLuint index, GLenum pname, GLdouble * params")
+(void GetProgramParameterfvNV -1 "GLenum target, GLuint index, GLenum pname, GLfloat * params")
+(void GetProgramivNV -1 "GLuint id, GLenum pname, GLint * params")
+(void GetProgramStringNV -1 "GLuint id, GLenum pname, GLubyte * program")
+(void GetTrackMatrixivNV -1 "GLenum target, GLuint address, GLenum pname, GLint * params")
+(void GetVertexAttribdvNV 514 "GLuint index, GLenum pname, GLdouble * params" GetVertexAttribdvARB)
+(void GetVertexAttribfvNV 515 "GLuint index, GLenum pname, GLfloat * params" GetVertexAttribfvARB)
+(void GetVertexAttribivNV 516 "GLuint index, GLenum pname, GLint * params" GetVertexAttribivNV)
+(void GetVertexAttribPointervNV 517 "GLuint index, GLenum pname, GLvoid ** pointer" GetVertexAttribPointervARB)
+(GLboolean IsProgramNV 474 "GLuint id" IsProgramARB)
+(void LoadProgramNV -1 "GLenum target, GLuint id, GLsizei len, const GLubyte * program")
+(void ProgramParameter4dNV -1 "GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w")
+(void ProgramParameter4dvNV -1 "GLenum target, GLuint index, const GLdouble * params")
+(void ProgramParameter4fNV -1 "GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w")
+(void ProgramParameter4fvNV -1 "GLenum target, GLuint index, const GLfloat * params")
+(void ProgramParameters4dvNV -1 "GLenum target, GLuint index, GLuint num, const GLdouble * params")
+(void ProgramParameters4fvNV -1 "GLenum target, GLuint index, GLuint num, const GLfloat * params")
+(void RequestResidentProgramsNV -1 "GLsizei n, const GLuint * ids")
+(void TrackMatrixNV -1 "GLenum target, GLuint address, GLenum matrix, GLenum transform")
+(void VertexAttribPointerNV -1 "GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer")
+(void VertexAttrib1dNV 477 "GLuint index, GLdouble x" VertexAttrib1dARB)
+(void VertexAttrib1dvNV 490 "GLuint index, const GLdouble * v" VertexAttrib1dvARB)
+(void VertexAttrib1fNV 476 "GLuint index, GLfloat x" VertexAttrib1fARB)
+(void VertexAttrib1fvNV 489 "GLuint index, const GLfloat * v" VertexAttrib1fvARB)
+(void VertexAttrib1sNV 475 "GLuint index, GLshort x" VertexAttrib1sARB)
+(void VertexAttrib1svNV 488 "GLuint index, const GLshort * v" VertexAttrib1svARB)
+(void VertexAttrib2dNV 480 "GLuint index, GLdouble x, GLdouble y" VertexAttrib2dARB)
+(void VertexAttrib2dvNV 493 "GLuint index, const GLdouble * v" VertexAttrib2dvARB)
+(void VertexAttrib2fNV 479 "GLuint index, GLfloat x, GLfloat y" VertexAttrib2fARB)
+(void VertexAttrib2fvNV 492 "GLuint index, const GLfloat * v" VertexAttrib2fvARB)
+(void VertexAttrib2sNV 478 "GLuint index, GLshort x, GLshort y" VertexAttrib2sARB)
+(void VertexAttrib2svNV 491 "GLuint index, const GLshort * v" VertexAttrib2svARB)
+(void VertexAttrib3dNV 483 "GLuint index, GLdouble x, GLdouble y, GLdouble z" VertexAttrib3dARB)
+(void VertexAttrib3dvNV 496 "GLuint index, const GLdouble * v" VertexAttrib3dvARB)
+(void VertexAttrib3fNV 482 "GLuint index, GLfloat x, GLfloat y, GLfloat z" VertexAttrib3fARB)
+(void VertexAttrib3fvNV 495 "GLuint index, const GLfloat * v" VertexAttrib3fvARB)
+(void VertexAttrib3sNV 481 "GLuint index, GLshort x, GLshort y, GLshort z" VertexAttrib3sARB)
+(void VertexAttrib3svNV 494 "GLuint index, const GLshort * v" VertexAttrib3svARB)
+(void VertexAttrib4dNV 486 "GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w" VertexAttrib4dARB)
+(void VertexAttrib4dvNV 504 "GLuint index, const GLdouble * v" VertexAttrib4dvARB)
+(void VertexAttrib4fNV 485 "GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w" VertexAttrib4fARB)
+(void VertexAttrib4fvNV 503 "GLuint index, const GLfloat * v" VertexAttrib4fvARB)
+(void VertexAttrib4sNV 484 "GLuint index, GLshort x, GLshort y, GLshort z, GLshort w" VertexAttrib4sARB)
+(void VertexAttrib4svNV 498 "GLuint index, const GLshort * v" VertexAttrib4svARB)
+(void VertexAttrib4ubNV 487 "GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w" VertexAttrib4NubARB)
+(void VertexAttrib4ubvNV 500 "GLuint index, const GLubyte * v" VertexAttrib4ubvARB)
+(void VertexAttribs1dvNV -1 "GLuint index, GLsizei n, const GLdouble * v")
+(void VertexAttribs1fvNV -1 "GLuint index, GLsizei n, const GLfloat * v")
+(void VertexAttribs1svNV -1 "GLuint index, GLsizei n, const GLshort * v")
+(void VertexAttribs2dvNV -1 "GLuint index, GLsizei n, const GLdouble * v")
+(void VertexAttribs2fvNV -1 "GLuint index, GLsizei n, const GLfloat * v")
+(void VertexAttribs2svNV -1 "GLuint index, GLsizei n, const GLshort * v")
+(void VertexAttribs3dvNV -1 "GLuint index, GLsizei n, const GLdouble * v")
+(void VertexAttribs3fvNV -1 "GLuint index, GLsizei n, const GLfloat * v")
+(void VertexAttribs3svNV -1 "GLuint index, GLsizei n, const GLshort * v")
+(void VertexAttribs4dvNV -1 "GLuint index, GLsizei n, const GLdouble * v")
+(void VertexAttribs4fvNV -1 "GLuint index, GLsizei n, const GLfloat * v")
+(void VertexAttribs4svNV -1 "GLuint index, GLsizei n, const GLshort * v")
+(void VertexAttribs4ubvNV -1 "GLuint index, GLsizei n, const GLubyte * v")
+(void PointParameteriNV 542 "GLenum pname, GLint params")
+(void PointParameterivNV 543 "GLenum pname, const GLint * params")
+(void MultiDrawArraysEXT 567 "GLenum mode, GLint * first, GLsizei * count, GLsizei primcount")
+(void MultiDrawElementsEXT 568 "GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount")
+(void ActiveStencilFaceEXT 585 "GLenum face")
+(void DeleteFencesNV -1 "GLsizei n, const GLuint * fences")
+(void GenFencesNV -1 "GLsizei n, GLuint * fences")
+(GLboolean IsFenceNV -1 "GLuint fence")
+(GLboolean TestFenceNV -1 "GLuint fence")
+(void GetFenceivNV -1 "GLuint fence, GLenum pname, GLint * params")
+(void FinishFenceNV -1 "GLuint fence")
+(void SetFenceNV -1 "GLuint fence, GLenum condition")
+(void VertexAttrib4bvARB 497 "GLuint index, const GLbyte * v")
+(void VertexAttrib4ivARB 499 "GLuint index, const GLint * v")
+(void VertexAttrib4ubvARB 500 "GLuint index, const GLubyte * v")
+(void VertexAttrib4usvARB 501 "GLuint index, const GLushort * v")
+(void VertexAttrib4uivARB 502 "GLuint index, const GLuint * v")
+(void VertexAttrib4NbvARB 505 "GLuint index, const GLbyte * v")
+(void VertexAttrib4NsvARB 498 "GLuint index, const GLshort * v")
+(void VertexAttrib4NivARB 507 "GLuint index, const GLint * v")
+(void VertexAttrib4NusvARB 509 "GLuint index, const GLushort * v")
+(void VertexAttrib4NuivARB 510 "GLuint index, const GLuint * v")
+(void VertexAttribPointerARB 511 "GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer")
+(void EnableVertexAttribArrayARB 512 "GLuint index")
+(void DisableVertexAttribArrayARB 513 "GLuint index")
+(void ProgramStringARB 530 "GLenum target, GLenum format, GLsizei len, const GLvoid * string")
+(void ProgramEnvParameter4dARB 518 "GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w")
+(void ProgramEnvParameter4dvARB 519 "GLenum target, GLuint index, const GLdouble * params")
+(void ProgramEnvParameter4fARB 520 "GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w")
+(void ProgramEnvParameter4fvARB 521 "GLenum target, GLuint index, const GLfloat * params")
+(void ProgramLocalParameter4dARB 522 "GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w")
+(void ProgramLocalParameter4dvARB 523 "GLenum target, GLuint index, const GLdouble * params")
+(void ProgramLocalParameter4fARB 524 "GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w")
+(void ProgramLocalParameter4fvARB 525 "GLenum target, GLuint index, const GLfloat * params")
+(void GetProgramEnvParameterdvARB 526 "GLenum target, GLuint index, GLdouble * params")
+(void GetProgramEnvParameterfvARB 527 "GLenum target, GLuint index, GLfloat * params")
+(void GetProgramLocalParameterdvARB 528 "GLenum target, GLuint index, GLdouble * params")
+(void GetProgramLocalParameterfvARB 529 "GLenum target, GLuint index, GLfloat * params")
+(void GetProgramivARB 532 "GLenum target, GLenum pname, GLint * params")
+(void GetProgramStringARB 531 "GLenum target, GLenum pname, GLvoid * string")
+(void ProgramNamedParameter4fNV -1 "GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w")
+(void ProgramNamedParameter4dNV -1 "GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w")
+(void ProgramNamedParameter4fvNV -1 "GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v")
+(void ProgramNamedParameter4dvNV -1 "GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v")
+(void GetProgramNamedParameterfvNV -1 "GLuint id, GLsizei len, const GLubyte * name, GLfloat * params")
+(void GetProgramNamedParameterdvNV -1 "GLuint id, GLsizei len, const GLubyte * name, GLdouble * params")
+;; On newer versions of Mac OS X, OpenGL.framework defines these but
+;; doesn't have dispatch slots for them. On earlier versions, they are
+;; not defined.
+;; if MAC_OS_X_VERSION < 10.3.4
+;; (void BindBufferARB -1 "GLenum target, GLuint buffer")
+;; (void BufferDataARB -1 "GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage")
+;; (void BufferSubDataARB -1 "GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data")
+;; (void DeleteBuffersARB -1 "GLsizei n, const GLuint * buffer")
+;; (void GenBuffersARB -1 "GLsizei n, GLuint * buffer")
+;; (void GetBufferParameterivARB -1 "GLenum target, GLenum pname, GLint * params")
+;; (void GetBufferPointervARB -1 "GLenum target, GLenum pname, GLvoid ** params")
+;; (void GetBufferSubDataARB -1 "GLenum target, GLintptrARB offset, GLsizeiptrARB size, void * data")
+;; (GLboolean IsBufferARB -1 "GLuint buffer")
+;; (void* MapBufferARB -1 "GLenum target, GLenum access")
+;; (GLboolean UnmapBufferARB -1 "GLenum target")
+;; (void DepthBoundsEXT -1 "GLclampd zmin, GLclampd zmax")
+;; endif
+;; if MAC_OS_X_VERSION < 10.3.0
+;; (void GenQueriesARB -1 "GLsizei n, GLuint * ids")
+;; (void DeleteQueriesARB -1 "GLsizei n, const GLuint * ids")
+;; (GLboolean IsQueryARB -1 "GLuint id")
+;; (void BeginQueryARB -1 "GLenum target, GLuint id")
+;; (void EndQueryARB -1 "GLenum target")
+;; (void GetQueryivARB -1 "GLenum target, GLenum pname, GLint * params")
+;; (void GetQueryObjectivARB -1 "GLuint id, GLenum pname, GLint * params")
+;; (void GetQueryObjectuivARB -1 "GLuint id, GLenum pname, GLuint * params")
+;; endif
+(void MultiModeDrawArraysIBM -1 "const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride")
+(void MultiModeDrawElementsIBM -1 "const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride")
+;; if MAC_OS_X_VERSION < 10.3.4
+;; (void BlendEquationSeparateEXT 458 "GLenum modeRGB, GLenum modeA" BlendEquationSeparateATI)
+;; else
+(void BlendEquationSeparateEXT 458 "GLenum modeRGB, GLenum modeA")
+;; endif
+
+;; Entry points that exist in standard XFree86 libGL, but aren't in the
+;; Mesa dispatch table, and aren't in OpenGL.framework
+
+(void ArrayElementEXT -1 "GLint i" ArrayElement)
+(void BindTextureEXT -1 "GLenum target, GLuint texture" BindTexture)
+(void BlendFuncSeparateINGR -1 "GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha" BlendFuncSeparateEXT)
+(void ColorTableParameterfvSGI -1 "GLenum target, GLenum pname, const GLfloat * params" ColorTableParameterfv)
+(void ColorTableParameterivSGI -1 "GLenum target, GLenum pname, const GLint * params" ColorTableParameteriv)
+(void ColorTableSGI -1 "GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table" ColorTable)
+(void ConvolutionFilter1DEXT -1 "GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image" ConvolutionFilter1D)
+(void ConvolutionFilter2DEXT -1 "GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image" ConvolutionFilter2D)
+(void ConvolutionParameterfEXT -1 "GLenum target, GLenum pname, GLfloat params" ConvolutionParameterf)
+(void ConvolutionParameterfvEXT -1 "GLenum target, GLenum pname, const GLfloat * params" ConvolutionParameterfv)
+(void ConvolutionParameteriEXT -1 "GLenum target, GLenum pname, GLint params" ConvolutionParameteri)
+(void ConvolutionParameterivEXT -1 "GLenum target, GLenum pname, const GLint * params" ConvolutionParameteriv)
+(void CopyColorSubTableEXT -1 "GLenum target, GLsizei start, GLint x, GLint y, GLsizei width" CopyColorSubTable)
+(void CopyColorTableSGI -1 "GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width" CopyColorTable)
+(void CopyConvolutionFilter1DEXT -1 "GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width" CopyConvolutionFilter1D)
+(void CopyConvolutionFilter2DEXT -1 "GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height" CopyConvolutionFilter2D)
+(void CopyTexImage1DEXT -1 "GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border" CopyTexImage1D)
+(void CopyTexImage2DEXT -1 "GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border" CopyTexImage2D)
+(void CopyTexSubImage1DEXT -1 "GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width" CopyTexSubImage1D)
+(void CopyTexSubImage2DEXT -1 "GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height" CopyTexSubImage2D)
+(void CopyTexSubImage3DEXT -1 "GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height" CopyTexSubImage3D)
+(void DeleteTexturesEXT -1 "GLsizei n, const GLuint *textures" DeleteTextures)
+(void DrawArraysEXT -1 "GLenum mode, GLint first, GLsizei count" DrawArrays)
+(void GetPointervEXT -1 "GLenum pname, GLvoid * * params" GetPointerv)
+(void HistogramEXT -1 "GLenum target, GLsizei width, GLenum internalformat, GLboolean sink" Histogram)
+(void MinmaxEXT -1 "GLenum target, GLenum internalformat, GLboolean sink" Minmax)
+(void PointParameterfSGIS -1 "GLenum pname, GLfloat param" PointParameterf)
+(void PointParameterfvSGIS -1 "GLenum pname, const GLfloat * params" PointParameterfv)
+(void PointParameteri -1 "GLenum pname, GLint params" PointParameteriNV)
+(void PointParameteriv -1 "GLenum pname, const GLint * params" PointParameterivNV)
+(void PrioritizeTexturesEXT -1 "GLsizei n, const GLenum * textures, const GLclampf * priorities" PrioritizeTextures)
+(void ResetHistogramEXT -1 "GLenum target" ResetHistogram)
+(void ResetMinmaxEXT -1 "GLenum target" ResetMinmax)
+(void SampleMaskEXT -1 "GLclampf value, GLboolean invert" SampleMaskSGIS)
+(void SamplePatternEXT -1 "GLenum pattern" SamplePatternSGIS)
+(void SeparableFilter2DEXT -1 "GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column" SeparableFilter2D)
+(void TexImage3DEXT -1 "GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels" TexImage3D)
+(void TexSubImage1DEXT -1 "GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels" TexSubImage1D)
+(void TexSubImage2DEXT -1 "GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels" TexSubImage2D)
+(void TexSubImage3DEXT -1 "GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels" TexSubImage3D)
+;; if MAC_OS_X_VERSION < 10.3.4
+;; (void BindBuffer -1 "GLenum target, GLuint buffer" BindBufferARB)
+;; (void BufferData -1 "GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage" BufferDataARB)
+;; (void BufferSubData -1 "GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data" BufferSubDataARB)
+;; (void DeleteBuffers -1 "GLsizei n, const GLuint * buffer" DeleteBuffersARB)
+;; (void GenBuffers -1 "GLsizei n, GLuint * buffer" GenBuffersARB)
+;; (void GetBufferParameteriv -1 "GLenum target, GLenum pname, GLint * params" GetBufferParameterivARB)
+;; (void GetBufferPointerv -1 "GLenum target, GLenum pname, GLvoid ** params" GetBufferPointervARB)
+;; (void GetBufferSubData -1 "GLenum target, GLintptrARB offset, GLsizeiptrARB size, void * data" GetBufferSubDataARB)
+;; (GLboolean IsBuffer -1 "GLuint buffer" IsBufferARB)
+;; (void* MapBuffer -1 "GLenum target, GLenum access" MapBufferARB)
+;; (GLboolean UnmapBuffer -1 "GLenum target" UnmapBufferARB)
+;; endif
+;; if MAC_OS_X_VERSION < 10.3.0
+;; (void GenQueries -1 "GLsizei n, GLuint * ids" GenQueriesARB)
+;; (void DeleteQueries -1 "GLsizei n, const GLuint * ids" DeleteQueriesARB)
+;; (GLboolean IsQuery -1 "GLuint id" IsQueryARB)
+;; (void BeginQuery -1 "GLenum target, GLuint id" BeginQueryARB)
+;; (void EndQuery -1 "GLenum target" EndQueryARB)
+;; (void GetQueryiv -1 "GLenum target, GLenum pname, GLint * params" GetQueryivARB)
+;; (void GetQueryObjectiv -1 "GLuint id, GLenum pname, GLint * params" GetQueryObjectivARB)
+;; (void GetQueryObjectuiv -1 "GLuint id, GLenum pname, GLuint * params" GetQueryObjectuivARB)
+;; endif
diff --git a/nx-X11/lib/GL/apple/dri_dispatch.h b/nx-X11/lib/GL/apple/dri_dispatch.h
new file mode 100644
index 000000000..854bbc302
--- /dev/null
+++ b/nx-X11/lib/GL/apple/dri_dispatch.h
@@ -0,0 +1,3861 @@
+/* dri_dispatch.h -- built automatically, DO NOT EDIT
+ $Id: dri_dispatch.h,v 1.6 2005/07/03 07:00:55 daniels Exp $
+ $XFree86: $ */
+/*
+ Actually, this file has been edited to add necessary
+ dependencies on the version of Mac OS X. Someday the
+ automatic script should handle this.
+ */
+
+DEFUN_LOCAL_VOID (NewList,
+ (void *rend, GLuint list, GLenum mode),
+ (list, mode))
+
+DEFUN_LOCAL_VOID (EndList,
+ (void *rend),
+ ())
+
+DEFUN_LOCAL_VOID (CallList,
+ (void *rend, GLuint list),
+ (list))
+
+DEFUN_LOCAL_VOID (CallLists,
+ (void *rend, GLsizei n, GLenum type, const GLvoid * lists),
+ (n, type, lists))
+
+DEFUN_LOCAL_VOID (DeleteLists,
+ (void *rend, GLuint list, GLsizei range),
+ (list, range))
+
+DEFUN_LOCAL (GLuint, GenLists,
+ (void *rend, GLsizei range),
+ (range))
+
+DEFUN_LOCAL_VOID (ListBase,
+ (void *rend, GLuint base),
+ (base))
+
+DEFUN_LOCAL_VOID (Begin,
+ (void *rend, GLenum mode),
+ (mode))
+
+DEFUN_LOCAL_VOID (Bitmap,
+ (void *rend, GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap),
+ (width, height, xorig, yorig, xmove, ymove, bitmap))
+
+DEFUN_LOCAL_VOID (Color3b,
+ (void *rend, GLbyte red, GLbyte green, GLbyte blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (Color3bv,
+ (void *rend, const GLbyte * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color3d,
+ (void *rend, GLdouble red, GLdouble green, GLdouble blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (Color3dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color3f,
+ (void *rend, GLfloat red, GLfloat green, GLfloat blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (Color3fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color3i,
+ (void *rend, GLint red, GLint green, GLint blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (Color3iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color3s,
+ (void *rend, GLshort red, GLshort green, GLshort blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (Color3sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color3ub,
+ (void *rend, GLubyte red, GLubyte green, GLubyte blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (Color3ubv,
+ (void *rend, const GLubyte * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color3ui,
+ (void *rend, GLuint red, GLuint green, GLuint blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (Color3uiv,
+ (void *rend, const GLuint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color3us,
+ (void *rend, GLushort red, GLushort green, GLushort blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (Color3usv,
+ (void *rend, const GLushort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color4b,
+ (void *rend, GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha),
+ (red, green, blue, alpha))
+
+DEFUN_LOCAL_VOID (Color4bv,
+ (void *rend, const GLbyte * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color4d,
+ (void *rend, GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha),
+ (red, green, blue, alpha))
+
+DEFUN_LOCAL_VOID (Color4dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color4f,
+ (void *rend, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha),
+ (red, green, blue, alpha))
+
+DEFUN_LOCAL_VOID (Color4fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color4i,
+ (void *rend, GLint red, GLint green, GLint blue, GLint alpha),
+ (red, green, blue, alpha))
+
+DEFUN_LOCAL_VOID (Color4iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color4s,
+ (void *rend, GLshort red, GLshort green, GLshort blue, GLshort alpha),
+ (red, green, blue, alpha))
+
+DEFUN_LOCAL_VOID (Color4sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color4ub,
+ (void *rend, GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha),
+ (red, green, blue, alpha))
+
+DEFUN_LOCAL_VOID (Color4ubv,
+ (void *rend, const GLubyte * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color4ui,
+ (void *rend, GLuint red, GLuint green, GLuint blue, GLuint alpha),
+ (red, green, blue, alpha))
+
+DEFUN_LOCAL_VOID (Color4uiv,
+ (void *rend, const GLuint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Color4us,
+ (void *rend, GLushort red, GLushort green, GLushort blue, GLushort alpha),
+ (red, green, blue, alpha))
+
+DEFUN_LOCAL_VOID (Color4usv,
+ (void *rend, const GLushort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (EdgeFlag,
+ (void *rend, GLboolean flag),
+ (flag))
+
+DEFUN_LOCAL_VOID (EdgeFlagv,
+ (void *rend, const GLboolean * flag),
+ (flag))
+
+DEFUN_LOCAL_VOID (End,
+ (void *rend),
+ ())
+
+DEFUN_LOCAL_VOID (Indexd,
+ (void *rend, GLdouble c),
+ (c))
+
+DEFUN_LOCAL_VOID (Indexdv,
+ (void *rend, const GLdouble * c),
+ (c))
+
+DEFUN_LOCAL_VOID (Indexf,
+ (void *rend, GLfloat c),
+ (c))
+
+DEFUN_LOCAL_VOID (Indexfv,
+ (void *rend, const GLfloat * c),
+ (c))
+
+DEFUN_LOCAL_VOID (Indexi,
+ (void *rend, GLint c),
+ (c))
+
+DEFUN_LOCAL_VOID (Indexiv,
+ (void *rend, const GLint * c),
+ (c))
+
+DEFUN_LOCAL_VOID (Indexs,
+ (void *rend, GLshort c),
+ (c))
+
+DEFUN_LOCAL_VOID (Indexsv,
+ (void *rend, const GLshort * c),
+ (c))
+
+DEFUN_LOCAL_VOID (Normal3b,
+ (void *rend, GLbyte nx, GLbyte ny, GLbyte nz),
+ (nx, ny, nz))
+
+DEFUN_LOCAL_VOID (Normal3bv,
+ (void *rend, const GLbyte * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Normal3d,
+ (void *rend, GLdouble nx, GLdouble ny, GLdouble nz),
+ (nx, ny, nz))
+
+DEFUN_LOCAL_VOID (Normal3dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Normal3f,
+ (void *rend, GLfloat nx, GLfloat ny, GLfloat nz),
+ (nx, ny, nz))
+
+DEFUN_LOCAL_VOID (Normal3fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Normal3i,
+ (void *rend, GLint nx, GLint ny, GLint nz),
+ (nx, ny, nz))
+
+DEFUN_LOCAL_VOID (Normal3iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Normal3s,
+ (void *rend, GLshort nx, GLshort ny, GLshort nz),
+ (nx, ny, nz))
+
+DEFUN_LOCAL_VOID (Normal3sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (RasterPos2d,
+ (void *rend, GLdouble x, GLdouble y),
+ (x, y))
+
+DEFUN_LOCAL_VOID (RasterPos2dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (RasterPos2f,
+ (void *rend, GLfloat x, GLfloat y),
+ (x, y))
+
+DEFUN_LOCAL_VOID (RasterPos2fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (RasterPos2i,
+ (void *rend, GLint x, GLint y),
+ (x, y))
+
+DEFUN_LOCAL_VOID (RasterPos2iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (RasterPos2s,
+ (void *rend, GLshort x, GLshort y),
+ (x, y))
+
+DEFUN_LOCAL_VOID (RasterPos2sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (RasterPos3d,
+ (void *rend, GLdouble x, GLdouble y, GLdouble z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (RasterPos3dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (RasterPos3f,
+ (void *rend, GLfloat x, GLfloat y, GLfloat z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (RasterPos3fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (RasterPos3i,
+ (void *rend, GLint x, GLint y, GLint z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (RasterPos3iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (RasterPos3s,
+ (void *rend, GLshort x, GLshort y, GLshort z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (RasterPos3sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (RasterPos4d,
+ (void *rend, GLdouble x, GLdouble y, GLdouble z, GLdouble w),
+ (x, y, z, w))
+
+DEFUN_LOCAL_VOID (RasterPos4dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (RasterPos4f,
+ (void *rend, GLfloat x, GLfloat y, GLfloat z, GLfloat w),
+ (x, y, z, w))
+
+DEFUN_LOCAL_VOID (RasterPos4fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (RasterPos4i,
+ (void *rend, GLint x, GLint y, GLint z, GLint w),
+ (x, y, z, w))
+
+DEFUN_LOCAL_VOID (RasterPos4iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (RasterPos4s,
+ (void *rend, GLshort x, GLshort y, GLshort z, GLshort w),
+ (x, y, z, w))
+
+DEFUN_LOCAL_VOID (RasterPos4sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Rectd,
+ (void *rend, GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2),
+ (x1, y1, x2, y2))
+
+DEFUN_LOCAL_VOID (Rectdv,
+ (void *rend, const GLdouble * v1, const GLdouble * v2),
+ (v1, v2))
+
+DEFUN_LOCAL_VOID (Rectf,
+ (void *rend, GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2),
+ (x1, y1, x2, y2))
+
+DEFUN_LOCAL_VOID (Rectfv,
+ (void *rend, const GLfloat * v1, const GLfloat * v2),
+ (v1, v2))
+
+DEFUN_LOCAL_VOID (Recti,
+ (void *rend, GLint x1, GLint y1, GLint x2, GLint y2),
+ (x1, y1, x2, y2))
+
+DEFUN_LOCAL_VOID (Rectiv,
+ (void *rend, const GLint * v1, const GLint * v2),
+ (v1, v2))
+
+DEFUN_LOCAL_VOID (Rects,
+ (void *rend, GLshort x1, GLshort y1, GLshort x2, GLshort y2),
+ (x1, y1, x2, y2))
+
+DEFUN_LOCAL_VOID (Rectsv,
+ (void *rend, const GLshort * v1, const GLshort * v2),
+ (v1, v2))
+
+DEFUN_LOCAL_VOID (TexCoord1d,
+ (void *rend, GLdouble s),
+ (s))
+
+DEFUN_LOCAL_VOID (TexCoord1dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord1f,
+ (void *rend, GLfloat s),
+ (s))
+
+DEFUN_LOCAL_VOID (TexCoord1fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord1i,
+ (void *rend, GLint s),
+ (s))
+
+DEFUN_LOCAL_VOID (TexCoord1iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord1s,
+ (void *rend, GLshort s),
+ (s))
+
+DEFUN_LOCAL_VOID (TexCoord1sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord2d,
+ (void *rend, GLdouble s, GLdouble t),
+ (s, t))
+
+DEFUN_LOCAL_VOID (TexCoord2dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord2f,
+ (void *rend, GLfloat s, GLfloat t),
+ (s, t))
+
+DEFUN_LOCAL_VOID (TexCoord2fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord2i,
+ (void *rend, GLint s, GLint t),
+ (s, t))
+
+DEFUN_LOCAL_VOID (TexCoord2iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord2s,
+ (void *rend, GLshort s, GLshort t),
+ (s, t))
+
+DEFUN_LOCAL_VOID (TexCoord2sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord3d,
+ (void *rend, GLdouble s, GLdouble t, GLdouble r),
+ (s, t, r))
+
+DEFUN_LOCAL_VOID (TexCoord3dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord3f,
+ (void *rend, GLfloat s, GLfloat t, GLfloat r),
+ (s, t, r))
+
+DEFUN_LOCAL_VOID (TexCoord3fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord3i,
+ (void *rend, GLint s, GLint t, GLint r),
+ (s, t, r))
+
+DEFUN_LOCAL_VOID (TexCoord3iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord3s,
+ (void *rend, GLshort s, GLshort t, GLshort r),
+ (s, t, r))
+
+DEFUN_LOCAL_VOID (TexCoord3sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord4d,
+ (void *rend, GLdouble s, GLdouble t, GLdouble r, GLdouble q),
+ (s, t, r, q))
+
+DEFUN_LOCAL_VOID (TexCoord4dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord4f,
+ (void *rend, GLfloat s, GLfloat t, GLfloat r, GLfloat q),
+ (s, t, r, q))
+
+DEFUN_LOCAL_VOID (TexCoord4fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord4i,
+ (void *rend, GLint s, GLint t, GLint r, GLint q),
+ (s, t, r, q))
+
+DEFUN_LOCAL_VOID (TexCoord4iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (TexCoord4s,
+ (void *rend, GLshort s, GLshort t, GLshort r, GLshort q),
+ (s, t, r, q))
+
+DEFUN_LOCAL_VOID (TexCoord4sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Vertex2d,
+ (void *rend, GLdouble x, GLdouble y),
+ (x, y))
+
+DEFUN_LOCAL_VOID (Vertex2dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Vertex2f,
+ (void *rend, GLfloat x, GLfloat y),
+ (x, y))
+
+DEFUN_LOCAL_VOID (Vertex2fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Vertex2i,
+ (void *rend, GLint x, GLint y),
+ (x, y))
+
+DEFUN_LOCAL_VOID (Vertex2iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Vertex2s,
+ (void *rend, GLshort x, GLshort y),
+ (x, y))
+
+DEFUN_LOCAL_VOID (Vertex2sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Vertex3d,
+ (void *rend, GLdouble x, GLdouble y, GLdouble z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (Vertex3dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Vertex3f,
+ (void *rend, GLfloat x, GLfloat y, GLfloat z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (Vertex3fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Vertex3i,
+ (void *rend, GLint x, GLint y, GLint z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (Vertex3iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Vertex3s,
+ (void *rend, GLshort x, GLshort y, GLshort z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (Vertex3sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Vertex4d,
+ (void *rend, GLdouble x, GLdouble y, GLdouble z, GLdouble w),
+ (x, y, z, w))
+
+DEFUN_LOCAL_VOID (Vertex4dv,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Vertex4f,
+ (void *rend, GLfloat x, GLfloat y, GLfloat z, GLfloat w),
+ (x, y, z, w))
+
+DEFUN_LOCAL_VOID (Vertex4fv,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Vertex4i,
+ (void *rend, GLint x, GLint y, GLint z, GLint w),
+ (x, y, z, w))
+
+DEFUN_LOCAL_VOID (Vertex4iv,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (Vertex4s,
+ (void *rend, GLshort x, GLshort y, GLshort z, GLshort w),
+ (x, y, z, w))
+
+DEFUN_LOCAL_VOID (Vertex4sv,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (ClipPlane,
+ (void *rend, GLenum plane, const GLdouble * equation),
+ (plane, equation))
+
+DEFUN_LOCAL_VOID (ColorMaterial,
+ (void *rend, GLenum face, GLenum mode),
+ (face, mode))
+
+DEFUN_LOCAL_VOID (CullFace,
+ (void *rend, GLenum mode),
+ (mode))
+
+DEFUN_LOCAL_VOID (Fogf,
+ (void *rend, GLenum pname, GLfloat param),
+ (pname, param))
+
+DEFUN_LOCAL_VOID (Fogfv,
+ (void *rend, GLenum pname, const GLfloat * params),
+ (pname, params))
+
+DEFUN_LOCAL_VOID (Fogi,
+ (void *rend, GLenum pname, GLint param),
+ (pname, param))
+
+DEFUN_LOCAL_VOID (Fogiv,
+ (void *rend, GLenum pname, const GLint * params),
+ (pname, params))
+
+DEFUN_LOCAL_VOID (FrontFace,
+ (void *rend, GLenum mode),
+ (mode))
+
+DEFUN_LOCAL_VOID (Hint,
+ (void *rend, GLenum target, GLenum mode),
+ (target, mode))
+
+DEFUN_LOCAL_VOID (Lightf,
+ (void *rend, GLenum light, GLenum pname, GLfloat param),
+ (light, pname, param))
+
+DEFUN_LOCAL_VOID (Lightfv,
+ (void *rend, GLenum light, GLenum pname, const GLfloat * params),
+ (light, pname, params))
+
+DEFUN_LOCAL_VOID (Lighti,
+ (void *rend, GLenum light, GLenum pname, GLint param),
+ (light, pname, param))
+
+DEFUN_LOCAL_VOID (Lightiv,
+ (void *rend, GLenum light, GLenum pname, const GLint * params),
+ (light, pname, params))
+
+DEFUN_LOCAL_VOID (LightModelf,
+ (void *rend, GLenum pname, GLfloat param),
+ (pname, param))
+
+DEFUN_LOCAL_VOID (LightModelfv,
+ (void *rend, GLenum pname, const GLfloat * params),
+ (pname, params))
+
+DEFUN_LOCAL_VOID (LightModeli,
+ (void *rend, GLenum pname, GLint param),
+ (pname, param))
+
+DEFUN_LOCAL_VOID (LightModeliv,
+ (void *rend, GLenum pname, const GLint * params),
+ (pname, params))
+
+DEFUN_LOCAL_VOID (LineStipple,
+ (void *rend, GLint factor, GLushort pattern),
+ (factor, pattern))
+
+DEFUN_LOCAL_VOID (LineWidth,
+ (void *rend, GLfloat width),
+ (width))
+
+DEFUN_LOCAL_VOID (Materialf,
+ (void *rend, GLenum face, GLenum pname, GLfloat param),
+ (face, pname, param))
+
+DEFUN_LOCAL_VOID (Materialfv,
+ (void *rend, GLenum face, GLenum pname, const GLfloat * params),
+ (face, pname, params))
+
+DEFUN_LOCAL_VOID (Materiali,
+ (void *rend, GLenum face, GLenum pname, GLint param),
+ (face, pname, param))
+
+DEFUN_LOCAL_VOID (Materialiv,
+ (void *rend, GLenum face, GLenum pname, const GLint * params),
+ (face, pname, params))
+
+DEFUN_LOCAL_VOID (PointSize,
+ (void *rend, GLfloat size),
+ (size))
+
+DEFUN_LOCAL_VOID (PolygonMode,
+ (void *rend, GLenum face, GLenum mode),
+ (face, mode))
+
+DEFUN_LOCAL_VOID (PolygonStipple,
+ (void *rend, const GLubyte * mask),
+ (mask))
+
+DEFUN_LOCAL_VOID (Scissor,
+ (void *rend, GLint x, GLint y, GLsizei width, GLsizei height),
+ (x, y, width, height))
+
+DEFUN_LOCAL_VOID (ShadeModel,
+ (void *rend, GLenum mode),
+ (mode))
+
+DEFUN_LOCAL_VOID (TexParameterf,
+ (void *rend, GLenum target, GLenum pname, GLfloat param),
+ (target, pname, param))
+
+DEFUN_LOCAL_VOID (TexParameterfv,
+ (void *rend, GLenum target, GLenum pname, const GLfloat * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (TexParameteri,
+ (void *rend, GLenum target, GLenum pname, GLint param),
+ (target, pname, param))
+
+DEFUN_LOCAL_VOID (TexParameteriv,
+ (void *rend, GLenum target, GLenum pname, const GLint * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (TexImage1D,
+ (void *rend, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels),
+ (target, level, internalformat, width, border, format, type, pixels))
+
+DEFUN_LOCAL_VOID (TexImage2D,
+ (void *rend, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels),
+ (target, level, internalformat, width, height, border, format, type, pixels))
+
+DEFUN_LOCAL_VOID (TexEnvf,
+ (void *rend, GLenum target, GLenum pname, GLfloat param),
+ (target, pname, param))
+
+DEFUN_LOCAL_VOID (TexEnvfv,
+ (void *rend, GLenum target, GLenum pname, const GLfloat * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (TexEnvi,
+ (void *rend, GLenum target, GLenum pname, GLint param),
+ (target, pname, param))
+
+DEFUN_LOCAL_VOID (TexEnviv,
+ (void *rend, GLenum target, GLenum pname, const GLint * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (TexGend,
+ (void *rend, GLenum coord, GLenum pname, GLdouble param),
+ (coord, pname, param))
+
+DEFUN_LOCAL_VOID (TexGendv,
+ (void *rend, GLenum coord, GLenum pname, const GLdouble * params),
+ (coord, pname, params))
+
+DEFUN_LOCAL_VOID (TexGenf,
+ (void *rend, GLenum coord, GLenum pname, GLfloat param),
+ (coord, pname, param))
+
+DEFUN_LOCAL_VOID (TexGenfv,
+ (void *rend, GLenum coord, GLenum pname, const GLfloat * params),
+ (coord, pname, params))
+
+DEFUN_LOCAL_VOID (TexGeni,
+ (void *rend, GLenum coord, GLenum pname, GLint param),
+ (coord, pname, param))
+
+DEFUN_LOCAL_VOID (TexGeniv,
+ (void *rend, GLenum coord, GLenum pname, const GLint * params),
+ (coord, pname, params))
+
+DEFUN_LOCAL_VOID (FeedbackBuffer,
+ (void *rend, GLsizei size, GLenum type, GLfloat * buffer),
+ (size, type, buffer))
+
+DEFUN_LOCAL_VOID (SelectBuffer,
+ (void *rend, GLsizei size, GLuint * buffer),
+ (size, buffer))
+
+DEFUN_LOCAL (GLint, RenderMode,
+ (void *rend, GLenum mode),
+ (mode))
+
+DEFUN_LOCAL_VOID (InitNames,
+ (void *rend),
+ ())
+
+DEFUN_LOCAL_VOID (LoadName,
+ (void *rend, GLuint name),
+ (name))
+
+DEFUN_LOCAL_VOID (PassThrough,
+ (void *rend, GLfloat token),
+ (token))
+
+DEFUN_LOCAL_VOID (PopName,
+ (void *rend),
+ ())
+
+DEFUN_LOCAL_VOID (PushName,
+ (void *rend, GLuint name),
+ (name))
+
+DEFUN_LOCAL_VOID (DrawBuffer,
+ (void *rend, GLenum mode),
+ (mode))
+
+DEFUN_LOCAL_VOID (Clear,
+ (void *rend, GLbitfield mask),
+ (mask))
+
+DEFUN_LOCAL_VOID (ClearAccum,
+ (void *rend, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha),
+ (red, green, blue, alpha))
+
+DEFUN_LOCAL_VOID (ClearIndex,
+ (void *rend, GLfloat c),
+ (c))
+
+DEFUN_LOCAL_VOID (ClearColor,
+ (void *rend, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha),
+ (red, green, blue, alpha))
+
+DEFUN_LOCAL_VOID (ClearStencil,
+ (void *rend, GLint s),
+ (s))
+
+DEFUN_LOCAL_VOID (ClearDepth,
+ (void *rend, GLclampd depth),
+ (depth))
+
+DEFUN_LOCAL_VOID (StencilMask,
+ (void *rend, GLuint mask),
+ (mask))
+
+DEFUN_LOCAL_VOID (ColorMask,
+ (void *rend, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha),
+ (red, green, blue, alpha))
+
+DEFUN_LOCAL_VOID (DepthMask,
+ (void *rend, GLboolean flag),
+ (flag))
+
+DEFUN_LOCAL_VOID (IndexMask,
+ (void *rend, GLuint mask),
+ (mask))
+
+DEFUN_LOCAL_VOID (Accum,
+ (void *rend, GLenum op, GLfloat value),
+ (op, value))
+
+DEFUN_LOCAL_VOID (Disable,
+ (void *rend, GLenum cap),
+ (cap))
+
+DEFUN_LOCAL_VOID (Enable,
+ (void *rend, GLenum cap),
+ (cap))
+
+DEFUN_LOCAL_VOID (Finish,
+ (void *rend),
+ ())
+
+DEFUN_LOCAL_VOID (Flush,
+ (void *rend),
+ ())
+
+DEFUN_LOCAL_VOID (PopAttrib,
+ (void *rend),
+ ())
+
+DEFUN_LOCAL_VOID (PushAttrib,
+ (void *rend, GLbitfield mask),
+ (mask))
+
+DEFUN_LOCAL_VOID (Map1d,
+ (void *rend, GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points),
+ (target, u1, u2, stride, order, points))
+
+DEFUN_LOCAL_VOID (Map1f,
+ (void *rend, GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points),
+ (target, u1, u2, stride, order, points))
+
+DEFUN_LOCAL_VOID (Map2d,
+ (void *rend, GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points),
+ (target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points))
+
+DEFUN_LOCAL_VOID (Map2f,
+ (void *rend, GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points),
+ (target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points))
+
+DEFUN_LOCAL_VOID (MapGrid1d,
+ (void *rend, GLint un, GLdouble u1, GLdouble u2),
+ (un, u1, u2))
+
+DEFUN_LOCAL_VOID (MapGrid1f,
+ (void *rend, GLint un, GLfloat u1, GLfloat u2),
+ (un, u1, u2))
+
+DEFUN_LOCAL_VOID (MapGrid2d,
+ (void *rend, GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2),
+ (un, u1, u2, vn, v1, v2))
+
+DEFUN_LOCAL_VOID (MapGrid2f,
+ (void *rend, GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2),
+ (un, u1, u2, vn, v1, v2))
+
+DEFUN_LOCAL_VOID (EvalCoord1d,
+ (void *rend, GLdouble u),
+ (u))
+
+DEFUN_LOCAL_VOID (EvalCoord1dv,
+ (void *rend, const GLdouble * u),
+ (u))
+
+DEFUN_LOCAL_VOID (EvalCoord1f,
+ (void *rend, GLfloat u),
+ (u))
+
+DEFUN_LOCAL_VOID (EvalCoord1fv,
+ (void *rend, const GLfloat * u),
+ (u))
+
+DEFUN_LOCAL_VOID (EvalCoord2d,
+ (void *rend, GLdouble u, GLdouble v),
+ (u, v))
+
+DEFUN_LOCAL_VOID (EvalCoord2dv,
+ (void *rend, const GLdouble * u),
+ (u))
+
+DEFUN_LOCAL_VOID (EvalCoord2f,
+ (void *rend, GLfloat u, GLfloat v),
+ (u, v))
+
+DEFUN_LOCAL_VOID (EvalCoord2fv,
+ (void *rend, const GLfloat * u),
+ (u))
+
+DEFUN_LOCAL_VOID (EvalMesh1,
+ (void *rend, GLenum mode, GLint i1, GLint i2),
+ (mode, i1, i2))
+
+DEFUN_LOCAL_VOID (EvalPoint1,
+ (void *rend, GLint i),
+ (i))
+
+DEFUN_LOCAL_VOID (EvalMesh2,
+ (void *rend, GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2),
+ (mode, i1, i2, j1, j2))
+
+DEFUN_LOCAL_VOID (EvalPoint2,
+ (void *rend, GLint i, GLint j),
+ (i, j))
+
+DEFUN_LOCAL_VOID (AlphaFunc,
+ (void *rend, GLenum func, GLclampf ref),
+ (func, ref))
+
+DEFUN_LOCAL_VOID (BlendFunc,
+ (void *rend, GLenum sfactor, GLenum dfactor),
+ (sfactor, dfactor))
+
+DEFUN_LOCAL_VOID (LogicOp,
+ (void *rend, GLenum opcode),
+ (opcode))
+
+DEFUN_LOCAL_VOID (StencilFunc,
+ (void *rend, GLenum func, GLint ref, GLuint mask),
+ (func, ref, mask))
+
+DEFUN_LOCAL_VOID (StencilOp,
+ (void *rend, GLenum fail, GLenum zfail, GLenum zpass),
+ (fail, zfail, zpass))
+
+DEFUN_LOCAL_VOID (DepthFunc,
+ (void *rend, GLenum func),
+ (func))
+
+DEFUN_LOCAL_VOID (PixelZoom,
+ (void *rend, GLfloat xfactor, GLfloat yfactor),
+ (xfactor, yfactor))
+
+DEFUN_LOCAL_VOID (PixelTransferf,
+ (void *rend, GLenum pname, GLfloat param),
+ (pname, param))
+
+DEFUN_LOCAL_VOID (PixelTransferi,
+ (void *rend, GLenum pname, GLint param),
+ (pname, param))
+
+DEFUN_LOCAL_VOID (PixelStoref,
+ (void *rend, GLenum pname, GLfloat param),
+ (pname, param))
+
+DEFUN_LOCAL_VOID (PixelStorei,
+ (void *rend, GLenum pname, GLint param),
+ (pname, param))
+
+DEFUN_LOCAL_VOID (PixelMapfv,
+ (void *rend, GLenum map, GLint mapsize, const GLfloat * values),
+ (map, mapsize, values))
+
+DEFUN_LOCAL_VOID (PixelMapuiv,
+ (void *rend, GLenum map, GLint mapsize, const GLuint * values),
+ (map, mapsize, values))
+
+DEFUN_LOCAL_VOID (PixelMapusv,
+ (void *rend, GLenum map, GLint mapsize, const GLushort * values),
+ (map, mapsize, values))
+
+DEFUN_LOCAL_VOID (ReadBuffer,
+ (void *rend, GLenum mode),
+ (mode))
+
+DEFUN_LOCAL_VOID (CopyPixels,
+ (void *rend, GLint x, GLint y, GLsizei width, GLsizei height, GLenum type),
+ (x, y, width, height, type))
+
+DEFUN_LOCAL_VOID (ReadPixels,
+ (void *rend, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels),
+ (x, y, width, height, format, type, pixels))
+
+DEFUN_LOCAL_VOID (DrawPixels,
+ (void *rend, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels),
+ (width, height, format, type, pixels))
+
+DEFUN_LOCAL_VOID (GetBooleanv,
+ (void *rend, GLenum pname, GLboolean * params),
+ (pname, params))
+
+DEFUN_LOCAL_VOID (GetClipPlane,
+ (void *rend, GLenum plane, GLdouble * equation),
+ (plane, equation))
+
+DEFUN_LOCAL_VOID (GetDoublev,
+ (void *rend, GLenum pname, GLdouble * params),
+ (pname, params))
+
+DEFUN_LOCAL (GLenum, GetError,
+ (void *rend),
+ ())
+
+DEFUN_LOCAL_VOID (GetFloatv,
+ (void *rend, GLenum pname, GLfloat * params),
+ (pname, params))
+
+DEFUN_LOCAL_VOID (GetIntegerv,
+ (void *rend, GLenum pname, GLint * params),
+ (pname, params))
+
+DEFUN_LOCAL_VOID (GetLightfv,
+ (void *rend, GLenum light, GLenum pname, GLfloat * params),
+ (light, pname, params))
+
+DEFUN_LOCAL_VOID (GetLightiv,
+ (void *rend, GLenum light, GLenum pname, GLint * params),
+ (light, pname, params))
+
+DEFUN_LOCAL_VOID (GetMapdv,
+ (void *rend, GLenum target, GLenum query, GLdouble * v),
+ (target, query, v))
+
+DEFUN_LOCAL_VOID (GetMapfv,
+ (void *rend, GLenum target, GLenum query, GLfloat * v),
+ (target, query, v))
+
+DEFUN_LOCAL_VOID (GetMapiv,
+ (void *rend, GLenum target, GLenum query, GLint * v),
+ (target, query, v))
+
+DEFUN_LOCAL_VOID (GetMaterialfv,
+ (void *rend, GLenum face, GLenum pname, GLfloat * params),
+ (face, pname, params))
+
+DEFUN_LOCAL_VOID (GetMaterialiv,
+ (void *rend, GLenum face, GLenum pname, GLint * params),
+ (face, pname, params))
+
+DEFUN_LOCAL_VOID (GetPixelMapfv,
+ (void *rend, GLenum map, GLfloat * values),
+ (map, values))
+
+DEFUN_LOCAL_VOID (GetPixelMapuiv,
+ (void *rend, GLenum map, GLuint * values),
+ (map, values))
+
+DEFUN_LOCAL_VOID (GetPixelMapusv,
+ (void *rend, GLenum map, GLushort * values),
+ (map, values))
+
+DEFUN_LOCAL_VOID (GetPolygonStipple,
+ (void *rend, GLubyte * mask),
+ (mask))
+
+DEFUN_LOCAL (const GLubyte *, GetString,
+ (void *rend, GLenum name),
+ (name))
+
+DEFUN_LOCAL_VOID (GetTexEnvfv,
+ (void *rend, GLenum target, GLenum pname, GLfloat * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (GetTexEnviv,
+ (void *rend, GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (GetTexGendv,
+ (void *rend, GLenum coord, GLenum pname, GLdouble * params),
+ (coord, pname, params))
+
+DEFUN_LOCAL_VOID (GetTexGenfv,
+ (void *rend, GLenum coord, GLenum pname, GLfloat * params),
+ (coord, pname, params))
+
+DEFUN_LOCAL_VOID (GetTexGeniv,
+ (void *rend, GLenum coord, GLenum pname, GLint * params),
+ (coord, pname, params))
+
+DEFUN_LOCAL_VOID (GetTexImage,
+ (void *rend, GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels),
+ (target, level, format, type, pixels))
+
+DEFUN_LOCAL_VOID (GetTexParameterfv,
+ (void *rend, GLenum target, GLenum pname, GLfloat * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (GetTexParameteriv,
+ (void *rend, GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (GetTexLevelParameterfv,
+ (void *rend, GLenum target, GLint level, GLenum pname, GLfloat * params),
+ (target, level, pname, params))
+
+DEFUN_LOCAL_VOID (GetTexLevelParameteriv,
+ (void *rend, GLenum target, GLint level, GLenum pname, GLint * params),
+ (target, level, pname, params))
+
+DEFUN_LOCAL (GLboolean, IsEnabled,
+ (void *rend, GLenum cap),
+ (cap))
+
+DEFUN_LOCAL (GLboolean, IsList,
+ (void *rend, GLuint list),
+ (list))
+
+DEFUN_LOCAL_VOID (DepthRange,
+ (void *rend, GLclampd zNear, GLclampd zFar),
+ (zNear, zFar))
+
+DEFUN_LOCAL_VOID (Frustum,
+ (void *rend, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar),
+ (left, right, bottom, top, zNear, zFar))
+
+DEFUN_LOCAL_VOID (LoadIdentity,
+ (void *rend),
+ ())
+
+DEFUN_LOCAL_VOID (LoadMatrixf,
+ (void *rend, const GLfloat * m),
+ (m))
+
+DEFUN_LOCAL_VOID (LoadMatrixd,
+ (void *rend, const GLdouble * m),
+ (m))
+
+DEFUN_LOCAL_VOID (MatrixMode,
+ (void *rend, GLenum mode),
+ (mode))
+
+DEFUN_LOCAL_VOID (MultMatrixf,
+ (void *rend, const GLfloat * m),
+ (m))
+
+DEFUN_LOCAL_VOID (MultMatrixd,
+ (void *rend, const GLdouble * m),
+ (m))
+
+DEFUN_LOCAL_VOID (Ortho,
+ (void *rend, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar),
+ (left, right, bottom, top, zNear, zFar))
+
+DEFUN_LOCAL_VOID (PopMatrix,
+ (void *rend),
+ ())
+
+DEFUN_LOCAL_VOID (PushMatrix,
+ (void *rend),
+ ())
+
+DEFUN_LOCAL_VOID (Rotated,
+ (void *rend, GLdouble angle, GLdouble x, GLdouble y, GLdouble z),
+ (angle, x, y, z))
+
+DEFUN_LOCAL_VOID (Rotatef,
+ (void *rend, GLfloat angle, GLfloat x, GLfloat y, GLfloat z),
+ (angle, x, y, z))
+
+DEFUN_LOCAL_VOID (Scaled,
+ (void *rend, GLdouble x, GLdouble y, GLdouble z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (Scalef,
+ (void *rend, GLfloat x, GLfloat y, GLfloat z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (Translated,
+ (void *rend, GLdouble x, GLdouble y, GLdouble z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (Translatef,
+ (void *rend, GLfloat x, GLfloat y, GLfloat z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (Viewport,
+ (void *rend, GLint x, GLint y, GLsizei width, GLsizei height),
+ (x, y, width, height))
+
+DEFUN_LOCAL_VOID (ArrayElement,
+ (void *rend, GLint i),
+ (i))
+
+DEFUN_LOCAL_VOID (BindTexture,
+ (void *rend, GLenum target, GLenum texture),
+ (target, texture))
+
+DEFUN_LOCAL_VOID (ColorPointer,
+ (void *rend, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer),
+ (size, type, stride, pointer))
+
+DEFUN_LOCAL_VOID (DisableClientState,
+ (void *rend, GLenum array),
+ (array))
+
+DEFUN_LOCAL_VOID (DrawArrays,
+ (void *rend, GLenum mode, GLint first, GLsizei count),
+ (mode, first, count))
+
+DEFUN_LOCAL_VOID (DrawElements,
+ (void *rend, GLenum mode, GLsizei count, GLenum type, const GLvoid * indices),
+ (mode, count, type, indices))
+
+DEFUN_LOCAL_VOID (EdgeFlagPointer,
+ (void *rend, GLsizei stride, const GLvoid * pointer),
+ (stride, pointer))
+
+DEFUN_LOCAL_VOID (EnableClientState,
+ (void *rend, GLenum array),
+ (array))
+
+DEFUN_LOCAL_VOID (IndexPointer,
+ (void *rend, GLenum type, GLsizei stride, const GLvoid * pointer),
+ (type, stride, pointer))
+
+DEFUN_LOCAL_VOID (Indexub,
+ (void *rend, GLubyte c),
+ (c))
+
+DEFUN_LOCAL_VOID (Indexubv,
+ (void *rend, const GLubyte * c),
+ (c))
+
+DEFUN_LOCAL_VOID (InterleavedArrays,
+ (void *rend, GLenum format, GLsizei stride, const GLvoid * pointer),
+ (format, stride, pointer))
+
+DEFUN_LOCAL_VOID (NormalPointer,
+ (void *rend, GLenum type, GLsizei stride, const GLvoid * pointer),
+ (type, stride, pointer))
+
+DEFUN_LOCAL_VOID (PolygonOffset,
+ (void *rend, GLfloat factor, GLfloat units),
+ (factor, units))
+
+DEFUN_LOCAL_VOID (TexCoordPointer,
+ (void *rend, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer),
+ (size, type, stride, pointer))
+
+DEFUN_LOCAL_VOID (VertexPointer,
+ (void *rend, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer),
+ (size, type, stride, pointer))
+
+DEFUN_LOCAL (GLboolean, AreTexturesResident,
+ (void *rend, GLsizei n, const GLenum * textures, GLboolean * residences),
+ (n, textures, residences))
+
+DEFUN_LOCAL_VOID (CopyTexImage1D,
+ (void *rend, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border),
+ (target, level, internalformat, x, y, width, border))
+
+DEFUN_LOCAL_VOID (CopyTexImage2D,
+ (void *rend, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border),
+ (target, level, internalformat, x, y, width, height, border))
+
+DEFUN_LOCAL_VOID (CopyTexSubImage1D,
+ (void *rend, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width),
+ (target, level, xoffset, x, y, width))
+
+DEFUN_LOCAL_VOID (CopyTexSubImage2D,
+ (void *rend, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height),
+ (target, level, xoffset, yoffset, x, y, width, height))
+
+DEFUN_LOCAL_VOID (DeleteTextures,
+ (void *rend, GLsizei n, const GLenum * textures),
+ (n, textures))
+
+DEFUN_LOCAL_VOID (GenTextures,
+ (void *rend, GLsizei n, GLenum * textures),
+ (n, textures))
+
+DEFUN_LOCAL_VOID (GetPointerv,
+ (void *rend, GLenum pname, GLvoid * * params),
+ (pname, params))
+
+DEFUN_LOCAL (GLboolean, IsTexture,
+ (void *rend, GLenum texture),
+ (texture))
+
+DEFUN_LOCAL_VOID (PrioritizeTextures,
+ (void *rend, GLsizei n, const GLenum * textures, const GLclampf * priorities),
+ (n, textures, priorities))
+
+DEFUN_LOCAL_VOID (TexSubImage1D,
+ (void *rend, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels),
+ (target, level, xoffset, width, format, type, pixels))
+
+DEFUN_LOCAL_VOID (TexSubImage2D,
+ (void *rend, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels),
+ (target, level, xoffset, yoffset, width, height, format, type, pixels))
+
+DEFUN_LOCAL_VOID (PopClientAttrib,
+ (void *rend),
+ ())
+
+DEFUN_LOCAL_VOID (PushClientAttrib,
+ (void *rend, GLbitfield mask),
+ (mask))
+
+DEFUN_LOCAL_VOID (BlendColor,
+ (void *rend, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha),
+ (red, green, blue, alpha))
+
+DEFUN_LOCAL_VOID (BlendEquation,
+ (void *rend, GLenum mode),
+ (mode))
+
+DEFUN_LOCAL_VOID (DrawRangeElements,
+ (void *rend, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices),
+ (mode, start, end, count, type, indices))
+
+DEFUN_LOCAL_VOID (ColorTable,
+ (void *rend, GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table),
+ (target, internalformat, width, format, type, table))
+
+DEFUN_LOCAL_VOID (ColorTableParameterfv,
+ (void *rend, GLenum target, GLenum pname, const GLfloat * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (ColorTableParameteriv,
+ (void *rend, GLenum target, GLenum pname, const GLint * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (CopyColorTable,
+ (void *rend, GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width),
+ (target, internalformat, x, y, width))
+
+DEFUN_LOCAL_VOID (GetColorTable,
+ (void *rend, GLenum target, GLenum format, GLenum type, GLvoid * table),
+ (target, format, type, table))
+
+DEFUN_LOCAL_VOID (GetColorTableParameterfv,
+ (void *rend, GLenum target, GLenum pname, GLfloat * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (GetColorTableParameteriv,
+ (void *rend, GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (ColorSubTable,
+ (void *rend, GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data),
+ (target, start, count, format, type, data))
+
+DEFUN_LOCAL_VOID (CopyColorSubTable,
+ (void *rend, GLenum target, GLsizei start, GLint x, GLint y, GLsizei width),
+ (target, start, x, y, width))
+
+DEFUN_LOCAL_VOID (ConvolutionFilter1D,
+ (void *rend, GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image),
+ (target, internalformat, width, format, type, image))
+
+DEFUN_LOCAL_VOID (ConvolutionFilter2D,
+ (void *rend, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image),
+ (target, internalformat, width, height, format, type, image))
+
+DEFUN_LOCAL_VOID (ConvolutionParameterf,
+ (void *rend, GLenum target, GLenum pname, GLfloat params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (ConvolutionParameterfv,
+ (void *rend, GLenum target, GLenum pname, const GLfloat * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (ConvolutionParameteri,
+ (void *rend, GLenum target, GLenum pname, GLint params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (ConvolutionParameteriv,
+ (void *rend, GLenum target, GLenum pname, const GLint * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (CopyConvolutionFilter1D,
+ (void *rend, GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width),
+ (target, internalformat, x, y, width))
+
+DEFUN_LOCAL_VOID (CopyConvolutionFilter2D,
+ (void *rend, GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height),
+ (target, internalformat, x, y, width, height))
+
+DEFUN_LOCAL_VOID (GetConvolutionFilter,
+ (void *rend, GLenum target, GLenum format, GLenum type, GLvoid * image),
+ (target, format, type, image))
+
+DEFUN_LOCAL_VOID (GetConvolutionParameterfv,
+ (void *rend, GLenum target, GLenum pname, GLfloat * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (GetConvolutionParameteriv,
+ (void *rend, GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (GetSeparableFilter,
+ (void *rend, GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span),
+ (target, format, type, row, column, span))
+
+DEFUN_LOCAL_VOID (SeparableFilter2D,
+ (void *rend, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column),
+ (target, internalformat, width, height, format, type, row, column))
+
+DEFUN_LOCAL_VOID (GetHistogram,
+ (void *rend, GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values),
+ (target, reset, format, type, values))
+
+DEFUN_LOCAL_VOID (GetHistogramParameterfv,
+ (void *rend, GLenum target, GLenum pname, GLfloat * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (GetHistogramParameteriv,
+ (void *rend, GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (GetMinmax,
+ (void *rend, GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values),
+ (target, reset, format, type, values))
+
+DEFUN_LOCAL_VOID (GetMinmaxParameterfv,
+ (void *rend, GLenum target, GLenum pname, GLfloat * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (GetMinmaxParameteriv,
+ (void *rend, GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (Histogram,
+ (void *rend, GLenum target, GLsizei width, GLenum internalformat, GLboolean sink),
+ (target, width, internalformat, sink))
+
+DEFUN_LOCAL_VOID (Minmax,
+ (void *rend, GLenum target, GLenum internalformat, GLboolean sink),
+ (target, internalformat, sink))
+
+DEFUN_LOCAL_VOID (ResetHistogram,
+ (void *rend, GLenum target),
+ (target))
+
+DEFUN_LOCAL_VOID (ResetMinmax,
+ (void *rend, GLenum target),
+ (target))
+
+DEFUN_LOCAL_VOID (TexImage3D,
+ (void *rend, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels),
+ (target, level, internalformat, width, height, depth, border, format, type, pixels))
+
+DEFUN_LOCAL_VOID (TexSubImage3D,
+ (void *rend, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels),
+ (target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels))
+
+DEFUN_LOCAL_VOID (CopyTexSubImage3D,
+ (void *rend, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height),
+ (target, level, xoffset, yoffset, zoffset, x, y, width, height))
+
+DEFUN_LOCAL_VOID (ActiveTextureARB,
+ (void *rend, GLenum texture),
+ (texture))
+
+DEFUN_LOCAL_VOID (ClientActiveTextureARB,
+ (void *rend, GLenum texture),
+ (texture))
+
+DEFUN_LOCAL_VOID (MultiTexCoord1dARB,
+ (void *rend, GLenum target, GLdouble s),
+ (target, s))
+
+DEFUN_LOCAL_VOID (MultiTexCoord1dvARB,
+ (void *rend, GLenum target, const GLdouble * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord1fARB,
+ (void *rend, GLenum target, GLfloat s),
+ (target, s))
+
+DEFUN_LOCAL_VOID (MultiTexCoord1fvARB,
+ (void *rend, GLenum target, const GLfloat * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord1iARB,
+ (void *rend, GLenum target, GLint s),
+ (target, s))
+
+DEFUN_LOCAL_VOID (MultiTexCoord1ivARB,
+ (void *rend, GLenum target, const GLint * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord1sARB,
+ (void *rend, GLenum target, GLshort s),
+ (target, s))
+
+DEFUN_LOCAL_VOID (MultiTexCoord1svARB,
+ (void *rend, GLenum target, const GLshort * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord2dARB,
+ (void *rend, GLenum target, GLdouble s, GLdouble t),
+ (target, s, t))
+
+DEFUN_LOCAL_VOID (MultiTexCoord2dvARB,
+ (void *rend, GLenum target, const GLdouble * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord2fARB,
+ (void *rend, GLenum target, GLfloat s, GLfloat t),
+ (target, s, t))
+
+DEFUN_LOCAL_VOID (MultiTexCoord2fvARB,
+ (void *rend, GLenum target, const GLfloat * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord2iARB,
+ (void *rend, GLenum target, GLint s, GLint t),
+ (target, s, t))
+
+DEFUN_LOCAL_VOID (MultiTexCoord2ivARB,
+ (void *rend, GLenum target, const GLint * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord2sARB,
+ (void *rend, GLenum target, GLshort s, GLshort t),
+ (target, s, t))
+
+DEFUN_LOCAL_VOID (MultiTexCoord2svARB,
+ (void *rend, GLenum target, const GLshort * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord3dARB,
+ (void *rend, GLenum target, GLdouble s, GLdouble t, GLdouble r),
+ (target, s, t, r))
+
+DEFUN_LOCAL_VOID (MultiTexCoord3dvARB,
+ (void *rend, GLenum target, const GLdouble * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord3fARB,
+ (void *rend, GLenum target, GLfloat s, GLfloat t, GLfloat r),
+ (target, s, t, r))
+
+DEFUN_LOCAL_VOID (MultiTexCoord3fvARB,
+ (void *rend, GLenum target, const GLfloat * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord3iARB,
+ (void *rend, GLenum target, GLint s, GLint t, GLint r),
+ (target, s, t, r))
+
+DEFUN_LOCAL_VOID (MultiTexCoord3ivARB,
+ (void *rend, GLenum target, const GLint * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord3sARB,
+ (void *rend, GLenum target, GLshort s, GLshort t, GLshort r),
+ (target, s, t, r))
+
+DEFUN_LOCAL_VOID (MultiTexCoord3svARB,
+ (void *rend, GLenum target, const GLshort * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord4dARB,
+ (void *rend, GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q),
+ (target, s, t, r, q))
+
+DEFUN_LOCAL_VOID (MultiTexCoord4dvARB,
+ (void *rend, GLenum target, const GLdouble * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord4fARB,
+ (void *rend, GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q),
+ (target, s, t, r, q))
+
+DEFUN_LOCAL_VOID (MultiTexCoord4fvARB,
+ (void *rend, GLenum target, const GLfloat * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord4iARB,
+ (void *rend, GLenum target, GLint s, GLint t, GLint r, GLint q),
+ (target, s, t, r, q))
+
+DEFUN_LOCAL_VOID (MultiTexCoord4ivARB,
+ (void *rend, GLenum target, const GLint * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (MultiTexCoord4sARB,
+ (void *rend, GLenum target, GLshort s, GLshort t, GLshort r, GLshort q),
+ (target, s, t, r, q))
+
+DEFUN_LOCAL_VOID (MultiTexCoord4svARB,
+ (void *rend, GLenum target, const GLshort * v),
+ (target, v))
+
+DEFUN_LOCAL_VOID (LoadTransposeMatrixfARB,
+ (void *rend, const GLfloat * m),
+ (m))
+
+DEFUN_LOCAL_VOID (LoadTransposeMatrixdARB,
+ (void *rend, const GLdouble * m),
+ (m))
+
+DEFUN_LOCAL_VOID (MultTransposeMatrixfARB,
+ (void *rend, const GLfloat * m),
+ (m))
+
+DEFUN_LOCAL_VOID (MultTransposeMatrixdARB,
+ (void *rend, const GLdouble * m),
+ (m))
+
+DEFUN_LOCAL_VOID (SampleCoverageARB,
+ (void *rend, GLclampf value, GLboolean invert),
+ (value, invert))
+
+DEFUN_EXTERN_VOID (__unused413,
+ (),
+ ())
+
+DEFUN_ALIAS_VOID (PolygonOffsetEXT, PolygonOffset,
+ (GLfloat factor, GLfloat bias),
+ (factor, bias))
+
+DEFUN_EXTERN_VOID (GetTexFilterFuncSGIS,
+ (GLenum target, GLenum filter, GLfloat * weights),
+ (target, filter, weights))
+
+DEFUN_EXTERN_VOID (TexFilterFuncSGIS,
+ (GLenum target, GLenum filter, GLsizei n, const GLfloat * weights),
+ (target, filter, n, weights))
+
+DEFUN_ALIAS_VOID (GetHistogramEXT, GetHistogram,
+ (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values),
+ (target, reset, format, type, values))
+
+DEFUN_ALIAS_VOID (GetHistogramParameterfvEXT, GetHistogramParameterfv,
+ (GLenum target, GLenum pname, GLfloat * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (GetHistogramParameterivEXT, GetHistogramParameteriv,
+ (GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (GetMinmaxEXT, GetMinmax,
+ (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values),
+ (target, reset, format, type, values))
+
+DEFUN_ALIAS_VOID (GetMinmaxParameterfvEXT, GetMinmaxParameterfv,
+ (GLenum target, GLenum pname, GLfloat * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (GetMinmaxParameterivEXT, GetMinmaxParameteriv,
+ (GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (GetConvolutionFilterEXT, GetConvolutionFilter,
+ (GLenum target, GLenum format, GLenum type, GLvoid * image),
+ (target, format, type, image))
+
+DEFUN_ALIAS_VOID (GetConvolutionParameterfvEXT, GetConvolutionParameterfv,
+ (GLenum target, GLenum pname, GLfloat * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (GetConvolutionParameterivEXT, GetConvolutionParameteriv,
+ (GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (GetSeparableFilterEXT, GetSeparableFilter,
+ (GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span),
+ (target, format, type, row, column, span))
+
+DEFUN_ALIAS_VOID (GetColorTableSGI, GetColorTable,
+ (GLenum target, GLenum format, GLenum type, GLvoid * table),
+ (target, format, type, table))
+
+DEFUN_ALIAS_VOID (GetColorTableParameterfvSGI, GetColorTableParameterfv,
+ (GLenum target, GLenum pname, GLfloat * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (GetColorTableParameterivSGI, GetColorTableParameteriv,
+ (GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_EXTERN_VOID (PixelTexGenSGIX,
+ (GLenum mode),
+ (mode))
+
+DEFUN_EXTERN_VOID (PixelTexGenParameteriSGIS,
+ (GLenum pname, GLint param),
+ (pname, param))
+
+DEFUN_EXTERN_VOID (PixelTexGenParameterivSGIS,
+ (GLenum pname, const GLint * params),
+ (pname, params))
+
+DEFUN_EXTERN_VOID (PixelTexGenParameterfSGIS,
+ (GLenum pname, GLfloat param),
+ (pname, param))
+
+DEFUN_EXTERN_VOID (PixelTexGenParameterfvSGIS,
+ (GLenum pname, const GLfloat * params),
+ (pname, params))
+
+DEFUN_EXTERN_VOID (GetPixelTexGenParameterivSGIS,
+ (GLenum pname, GLint * params),
+ (pname, params))
+
+DEFUN_EXTERN_VOID (GetPixelTexGenParameterfvSGIS,
+ (GLenum pname, GLfloat * params),
+ (pname, params))
+
+DEFUN_EXTERN_VOID (TexImage4DSGIS,
+ (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid * pixels),
+ (target, level, internalformat, width, height, depth, size4d, border, format, type, pixels))
+
+DEFUN_EXTERN_VOID (TexSubImage4DSGIS,
+ (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid * pixels),
+ (target, level, xoffset, yoffset, zoffset, woffset, width, height, depth, size4d, format, type, pixels))
+
+DEFUN_ALIAS (GLboolean, AreTexturesResidentEXT, AreTexturesResident,
+ (GLsizei n, const GLenum * textures, GLboolean * residences),
+ (n, textures, residences))
+
+DEFUN_ALIAS_VOID (GenTexturesEXT, GenTextures,
+ (GLsizei n, GLenum * textures),
+ (n, textures))
+
+DEFUN_EXTERN (GLboolean, IsTextureEXT,
+ (GLenum texture),
+ (texture))
+
+DEFUN_EXTERN_VOID (DetailTexFuncSGIS,
+ (GLenum target, GLsizei n, const GLfloat * points),
+ (target, n, points))
+
+DEFUN_EXTERN_VOID (GetDetailTexFuncSGIS,
+ (GLenum target, GLfloat * points),
+ (target, points))
+
+DEFUN_EXTERN_VOID (SharpenTexFuncSGIS,
+ (GLenum target, GLsizei n, const GLfloat * points),
+ (target, n, points))
+
+DEFUN_EXTERN_VOID (GetSharpenTexFuncSGIS,
+ (GLenum target, GLfloat * points),
+ (target, points))
+
+DEFUN_EXTERN_VOID (SampleMaskSGIS,
+ (GLclampf value, GLboolean invert),
+ (value, invert))
+
+DEFUN_EXTERN_VOID (SamplePatternSGIS,
+ (GLenum pattern),
+ (pattern))
+
+DEFUN_EXTERN_VOID (ColorPointerEXT,
+ (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer),
+ (size, type, stride, count, pointer))
+
+DEFUN_EXTERN_VOID (EdgeFlagPointerEXT,
+ (GLsizei stride, GLsizei count, const GLboolean * pointer),
+ (stride, count, pointer))
+
+DEFUN_EXTERN_VOID (IndexPointerEXT,
+ (GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer),
+ (type, stride, count, pointer))
+
+DEFUN_EXTERN_VOID (NormalPointerEXT,
+ (GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer),
+ (type, stride, count, pointer))
+
+DEFUN_EXTERN_VOID (TexCoordPointerEXT,
+ (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer),
+ (size, type, stride, count, pointer))
+
+DEFUN_EXTERN_VOID (VertexPointerEXT,
+ (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer),
+ (size, type, stride, count, pointer))
+
+DEFUN_EXTERN_VOID (SpriteParameterfSGIX,
+ (GLenum pname, GLfloat param),
+ (pname, param))
+
+DEFUN_EXTERN_VOID (SpriteParameterfvSGIX,
+ (GLenum pname, const GLfloat * params),
+ (pname, params))
+
+DEFUN_EXTERN_VOID (SpriteParameteriSGIX,
+ (GLenum pname, GLint param),
+ (pname, param))
+
+DEFUN_EXTERN_VOID (SpriteParameterivSGIX,
+ (GLenum pname, const GLint * params),
+ (pname, params))
+
+DEFUN_LOCAL_VOID (PointParameterfEXT,
+ (void *rend, GLenum pname, GLfloat param),
+ (pname, param))
+
+DEFUN_ALIAS_VOID (PointParameterfEXT, PointParameterf,
+ (GLenum pname, GLfloat param),
+ (pname, param))
+
+DEFUN_LOCAL_VOID (PointParameterfvEXT,
+ (void *rend, GLenum pname, const GLfloat * params),
+ (pname, params))
+
+DEFUN_ALIAS_VOID (PointParameterfvEXT, PointParameterfv,
+ (GLenum pname, const GLfloat * params),
+ (pname, params))
+
+DEFUN_EXTERN (GLint, GetInstrumentsSGIX,
+ (),
+ ())
+
+DEFUN_EXTERN_VOID (InstrumentsBufferSGIX,
+ (GLsizei size, GLint * buffer),
+ (size, buffer))
+
+DEFUN_EXTERN (GLint, PollInstrumentsSGIX,
+ (GLint * marker_p),
+ (marker_p))
+
+DEFUN_EXTERN_VOID (ReadInstrumentsSGIX,
+ (GLint marker),
+ (marker))
+
+DEFUN_EXTERN_VOID (StartInstrumentsSGIX,
+ (),
+ ())
+
+DEFUN_EXTERN_VOID (StopInstrumentsSGIX,
+ (GLint marker),
+ (marker))
+
+DEFUN_EXTERN_VOID (FrameZoomSGIX,
+ (GLint factor),
+ (factor))
+
+DEFUN_EXTERN_VOID (TagSampleBufferSGIX,
+ (),
+ ())
+
+DEFUN_EXTERN_VOID (ReferencePlaneSGIX,
+ (const GLdouble * equation),
+ (equation))
+
+DEFUN_EXTERN_VOID (FlushRasterSGIX,
+ (),
+ ())
+
+DEFUN_EXTERN_VOID (GetListParameterfvSGIX,
+ (GLuint list, GLenum pname, GLfloat * params),
+ (list, pname, params))
+
+DEFUN_EXTERN_VOID (GetListParameterivSGIX,
+ (GLuint list, GLenum pname, GLint * params),
+ (list, pname, params))
+
+DEFUN_EXTERN_VOID (ListParameterfSGIX,
+ (GLuint list, GLenum pname, GLfloat param),
+ (list, pname, param))
+
+DEFUN_EXTERN_VOID (ListParameterfvSGIX,
+ (GLuint list, GLenum pname, const GLfloat * params),
+ (list, pname, params))
+
+DEFUN_EXTERN_VOID (ListParameteriSGIX,
+ (GLuint list, GLenum pname, GLint param),
+ (list, pname, param))
+
+DEFUN_EXTERN_VOID (ListParameterivSGIX,
+ (GLuint list, GLenum pname, const GLint * params),
+ (list, pname, params))
+
+DEFUN_EXTERN_VOID (FragmentColorMaterialSGIX,
+ (GLenum face, GLenum mode),
+ (face, mode))
+
+DEFUN_EXTERN_VOID (FragmentLightfSGIX,
+ (GLenum light, GLenum pname, GLfloat param),
+ (light, pname, param))
+
+DEFUN_EXTERN_VOID (FragmentLightfvSGIX,
+ (GLenum light, GLenum pname, const GLfloat * params),
+ (light, pname, params))
+
+DEFUN_EXTERN_VOID (FragmentLightiSGIX,
+ (GLenum light, GLenum pname, GLint param),
+ (light, pname, param))
+
+DEFUN_EXTERN_VOID (FragmentLightivSGIX,
+ (GLenum light, GLenum pname, const GLint * params),
+ (light, pname, params))
+
+DEFUN_EXTERN_VOID (FragmentLightModelfSGIX,
+ (GLenum pname, GLfloat param),
+ (pname, param))
+
+DEFUN_EXTERN_VOID (FragmentLightModelfvSGIX,
+ (GLenum pname, const GLfloat * params),
+ (pname, params))
+
+DEFUN_EXTERN_VOID (FragmentLightModeliSGIX,
+ (GLenum pname, GLint param),
+ (pname, param))
+
+DEFUN_EXTERN_VOID (FragmentLightModelivSGIX,
+ (GLenum pname, const GLint * params),
+ (pname, params))
+
+DEFUN_EXTERN_VOID (FragmentMaterialfSGIX,
+ (GLenum face, GLenum pname, GLfloat param),
+ (face, pname, param))
+
+DEFUN_EXTERN_VOID (FragmentMaterialfvSGIX,
+ (GLenum face, GLenum pname, const GLfloat * params),
+ (face, pname, params))
+
+DEFUN_EXTERN_VOID (FragmentMaterialiSGIX,
+ (GLenum face, GLenum pname, GLint param),
+ (face, pname, param))
+
+DEFUN_EXTERN_VOID (FragmentMaterialivSGIX,
+ (GLenum face, GLenum pname, const GLint * params),
+ (face, pname, params))
+
+DEFUN_EXTERN_VOID (GetFragmentLightfvSGIX,
+ (GLenum light, GLenum pname, GLfloat * params),
+ (light, pname, params))
+
+DEFUN_EXTERN_VOID (GetFragmentLightivSGIX,
+ (GLenum light, GLenum pname, GLint * params),
+ (light, pname, params))
+
+DEFUN_EXTERN_VOID (GetFragmentMaterialfvSGIX,
+ (GLenum face, GLenum pname, GLfloat * params),
+ (face, pname, params))
+
+DEFUN_EXTERN_VOID (GetFragmentMaterialivSGIX,
+ (GLenum face, GLenum pname, GLint * params),
+ (face, pname, params))
+
+DEFUN_EXTERN_VOID (LightEnviSGIX,
+ (GLenum pname, GLint param),
+ (pname, param))
+
+DEFUN_EXTERN_VOID (VertexWeightfEXT,
+ (GLfloat weight),
+ (weight))
+
+DEFUN_EXTERN_VOID (VertexWeightfvEXT,
+ (const GLfloat * weight),
+ (weight))
+
+DEFUN_EXTERN_VOID (VertexWeightPointerEXT,
+ (GLsizei size, GLenum type, GLsizei stride, const GLvoid * pointer),
+ (size, type, stride, pointer))
+
+DEFUN_EXTERN_VOID (FlushVertexArrayRangeNV,
+ (),
+ ())
+
+DEFUN_LOCAL_VOID (VertexArrayRangeNV,
+ (void *rend, GLsizei length, const GLvoid * pointer),
+ (length, pointer))
+
+DEFUN_ALIAS_VOID (VertexArrayRangeNV, VertexArrayRangeAPPLE,
+ (GLsizei length, const GLvoid * pointer),
+ (length, pointer))
+
+DEFUN_LOCAL_VOID (CombinerParameterfvNV,
+ (void *rend, GLenum pname, const GLfloat * params),
+ (pname, params))
+
+DEFUN_LOCAL_VOID (CombinerParameterfNV,
+ (void *rend, GLenum pname, GLfloat param),
+ (pname, param))
+
+DEFUN_LOCAL_VOID (CombinerParameterivNV,
+ (void *rend, GLenum pname, const GLint * params),
+ (pname, params))
+
+DEFUN_LOCAL_VOID (CombinerParameteriNV,
+ (void *rend, GLenum pname, GLint param),
+ (pname, param))
+
+DEFUN_LOCAL_VOID (CombinerInputNV,
+ (void *rend, GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage),
+ (stage, portion, variable, input, mapping, componentUsage))
+
+DEFUN_LOCAL_VOID (CombinerOutputNV,
+ (void *rend, GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum),
+ (stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum))
+
+DEFUN_LOCAL_VOID (FinalCombinerInputNV,
+ (void *rend, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage),
+ (variable, input, mapping, componentUsage))
+
+DEFUN_LOCAL_VOID (GetCombinerInputParameterfvNV,
+ (void *rend, GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params),
+ (stage, portion, variable, pname, params))
+
+DEFUN_LOCAL_VOID (GetCombinerInputParameterivNV,
+ (void *rend, GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params),
+ (stage, portion, variable, pname, params))
+
+DEFUN_LOCAL_VOID (GetCombinerOutputParameterfvNV,
+ (void *rend, GLenum stage, GLenum portion, GLenum pname, GLfloat * params),
+ (stage, portion, pname, params))
+
+DEFUN_LOCAL_VOID (GetCombinerOutputParameterivNV,
+ (void *rend, GLenum stage, GLenum portion, GLenum pname, GLint * params),
+ (stage, portion, pname, params))
+
+DEFUN_LOCAL_VOID (GetFinalCombinerInputParameterfvNV,
+ (void *rend, GLenum variable, GLenum pname, GLfloat * params),
+ (variable, pname, params))
+
+DEFUN_LOCAL_VOID (GetFinalCombinerInputParameterivNV,
+ (void *rend, GLenum variable, GLenum pname, GLint * params),
+ (variable, pname, params))
+
+DEFUN_EXTERN_VOID (ResizeBuffersMESA,
+ (),
+ ())
+
+DEFUN_LOCAL_VOID (WindowPos2dMESA,
+ (void *rend, GLdouble x, GLdouble y),
+ (x, y))
+
+DEFUN_ALIAS_VOID (WindowPos2dMESA, WindowPos2d,
+ (GLdouble x, GLdouble y),
+ (x, y))
+
+DEFUN_LOCAL_VOID (WindowPos2dvMESA,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_ALIAS_VOID (WindowPos2dvMESA, WindowPos2dv,
+ (const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (WindowPos2fMESA,
+ (void *rend, GLfloat x, GLfloat y),
+ (x, y))
+
+DEFUN_ALIAS_VOID (WindowPos2fMESA, WindowPos2f,
+ (GLfloat x, GLfloat y),
+ (x, y))
+
+DEFUN_LOCAL_VOID (WindowPos2fvMESA,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_ALIAS_VOID (WindowPos2fvMESA, WindowPos2fv,
+ (const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (WindowPos2iMESA,
+ (void *rend, GLint x, GLint y),
+ (x, y))
+
+DEFUN_ALIAS_VOID (WindowPos2iMESA, WindowPos2i,
+ (GLint x, GLint y),
+ (x, y))
+
+DEFUN_LOCAL_VOID (WindowPos2ivMESA,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_ALIAS_VOID (WindowPos2ivMESA, WindowPos2iv,
+ (const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (WindowPos2sMESA,
+ (void *rend, GLshort x, GLshort y),
+ (x, y))
+
+DEFUN_ALIAS_VOID (WindowPos2sMESA, WindowPos2s,
+ (GLshort x, GLshort y),
+ (x, y))
+
+DEFUN_LOCAL_VOID (WindowPos2svMESA,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_ALIAS_VOID (WindowPos2svMESA, WindowPos2sv,
+ (const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (WindowPos3dMESA,
+ (void *rend, GLdouble x, GLdouble y, GLdouble z),
+ (x, y, z))
+
+DEFUN_ALIAS_VOID (WindowPos3dMESA, WindowPos3d,
+ (GLdouble x, GLdouble y, GLdouble z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (WindowPos3dvMESA,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_ALIAS_VOID (WindowPos3dvMESA, WindowPos3dv,
+ (const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (WindowPos3fMESA,
+ (void *rend, GLfloat x, GLfloat y, GLfloat z),
+ (x, y, z))
+
+DEFUN_ALIAS_VOID (WindowPos3fMESA, WindowPos3f,
+ (GLfloat x, GLfloat y, GLfloat z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (WindowPos3fvMESA,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_ALIAS_VOID (WindowPos3fvMESA, WindowPos3fv,
+ (const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (WindowPos3iMESA,
+ (void *rend, GLint x, GLint y, GLint z),
+ (x, y, z))
+
+DEFUN_ALIAS_VOID (WindowPos3iMESA, WindowPos3i,
+ (GLint x, GLint y, GLint z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (WindowPos3ivMESA,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_ALIAS_VOID (WindowPos3ivMESA, WindowPos3iv,
+ (const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (WindowPos3sMESA,
+ (void *rend, GLshort x, GLshort y, GLshort z),
+ (x, y, z))
+
+DEFUN_ALIAS_VOID (WindowPos3sMESA, WindowPos3s,
+ (GLshort x, GLshort y, GLshort z),
+ (x, y, z))
+
+DEFUN_LOCAL_VOID (WindowPos3svMESA,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_ALIAS_VOID (WindowPos3svMESA, WindowPos3sv,
+ (const GLshort * v),
+ (v))
+
+DEFUN_EXTERN_VOID (WindowPos4dMESA,
+ (GLdouble x, GLdouble y, GLdouble z, GLdouble w),
+ (x, y, z, w))
+
+DEFUN_EXTERN_VOID (WindowPos4dvMESA,
+ (const GLdouble * v),
+ (v))
+
+DEFUN_EXTERN_VOID (WindowPos4fMESA,
+ (GLfloat x, GLfloat y, GLfloat z, GLfloat w),
+ (x, y, z, w))
+
+DEFUN_EXTERN_VOID (WindowPos4fvMESA,
+ (const GLfloat * v),
+ (v))
+
+DEFUN_EXTERN_VOID (WindowPos4iMESA,
+ (GLint x, GLint y, GLint z, GLint w),
+ (x, y, z, w))
+
+DEFUN_EXTERN_VOID (WindowPos4ivMESA,
+ (const GLint * v),
+ (v))
+
+DEFUN_EXTERN_VOID (WindowPos4sMESA,
+ (GLshort x, GLshort y, GLshort z, GLshort w),
+ (x, y, z, w))
+
+DEFUN_EXTERN_VOID (WindowPos4svMESA,
+ (const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (BlendFuncSeparateEXT,
+ (void *rend, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha),
+ (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha))
+
+DEFUN_EXTERN_VOID (IndexMaterialEXT,
+ (GLenum face, GLenum mode),
+ (face, mode))
+
+DEFUN_EXTERN_VOID (IndexFuncEXT,
+ (GLenum func, GLclampf ref),
+ (func, ref))
+
+DEFUN_LOCAL_VOID (LockArraysEXT,
+ (void *rend, GLint first, GLsizei count),
+ (first, count))
+
+DEFUN_LOCAL_VOID (UnlockArraysEXT,
+ (void *rend),
+ ())
+
+DEFUN_EXTERN_VOID (CullParameterdvEXT,
+ (GLenum pname, GLdouble * params),
+ (pname, params))
+
+DEFUN_EXTERN_VOID (CullParameterfvEXT,
+ (GLenum pname, GLfloat * params),
+ (pname, params))
+
+DEFUN_EXTERN_VOID (HintPGI,
+ (GLenum target, GLint mode),
+ (target, mode))
+
+DEFUN_LOCAL_VOID (FogCoordfEXT,
+ (void *rend, GLfloat coord),
+ (coord))
+
+DEFUN_LOCAL_VOID (FogCoordfvEXT,
+ (void *rend, const GLfloat * coord),
+ (coord))
+
+DEFUN_LOCAL_VOID (FogCoorddEXT,
+ (void *rend, GLdouble coord),
+ (coord))
+
+DEFUN_LOCAL_VOID (FogCoorddvEXT,
+ (void *rend, const GLdouble * coord),
+ (coord))
+
+DEFUN_LOCAL_VOID (FogCoordPointerEXT,
+ (void *rend, GLenum type, GLsizei stride, const GLvoid * pointer),
+ (type, stride, pointer))
+
+DEFUN_EXTERN_VOID (TbufferMask3DFX,
+ (GLuint mask),
+ (mask))
+
+DEFUN_LOCAL_VOID (CompressedTexImage3DARB,
+ (void *rend, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data),
+ (target, level, internalformat, width, height, depth, border, imageSize, data))
+
+DEFUN_LOCAL_VOID (CompressedTexImage2DARB,
+ (void *rend, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data),
+ (target, level, internalformat, width, height, border, imageSize, data))
+
+DEFUN_LOCAL_VOID (CompressedTexImage1DARB,
+ (void *rend, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data),
+ (target, level, internalformat, width, border, imageSize, data))
+
+DEFUN_LOCAL_VOID (CompressedTexSubImage3DARB,
+ (void *rend, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data),
+ (target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data))
+
+DEFUN_LOCAL_VOID (CompressedTexSubImage2DARB,
+ (void *rend, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data),
+ (target, level, xoffset, yoffset, width, height, format, imageSize, data))
+
+DEFUN_LOCAL_VOID (CompressedTexSubImage1DARB,
+ (void *rend, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data),
+ (target, level, xoffset, width, format, imageSize, data))
+
+DEFUN_LOCAL_VOID (GetCompressedTexImageARB,
+ (void *rend, GLenum target, GLint level, void * img),
+ (target, level, img))
+
+DEFUN_LOCAL_VOID (SecondaryColor3bEXT,
+ (void *rend, GLbyte red, GLbyte green, GLbyte blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (SecondaryColor3bvEXT,
+ (void *rend, const GLbyte * v),
+ (v))
+
+DEFUN_LOCAL_VOID (SecondaryColor3dEXT,
+ (void *rend, GLdouble red, GLdouble green, GLdouble blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (SecondaryColor3dvEXT,
+ (void *rend, const GLdouble * v),
+ (v))
+
+DEFUN_LOCAL_VOID (SecondaryColor3fEXT,
+ (void *rend, GLfloat red, GLfloat green, GLfloat blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (SecondaryColor3fvEXT,
+ (void *rend, const GLfloat * v),
+ (v))
+
+DEFUN_LOCAL_VOID (SecondaryColor3iEXT,
+ (void *rend, GLint red, GLint green, GLint blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (SecondaryColor3ivEXT,
+ (void *rend, const GLint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (SecondaryColor3sEXT,
+ (void *rend, GLshort red, GLshort green, GLshort blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (SecondaryColor3svEXT,
+ (void *rend, const GLshort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (SecondaryColor3ubEXT,
+ (void *rend, GLubyte red, GLubyte green, GLubyte blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (SecondaryColor3ubvEXT,
+ (void *rend, const GLubyte * v),
+ (v))
+
+DEFUN_LOCAL_VOID (SecondaryColor3uiEXT,
+ (void *rend, GLuint red, GLuint green, GLuint blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (SecondaryColor3uivEXT,
+ (void *rend, const GLuint * v),
+ (v))
+
+DEFUN_LOCAL_VOID (SecondaryColor3usEXT,
+ (void *rend, GLushort red, GLushort green, GLushort blue),
+ (red, green, blue))
+
+DEFUN_LOCAL_VOID (SecondaryColor3usvEXT,
+ (void *rend, const GLushort * v),
+ (v))
+
+DEFUN_LOCAL_VOID (SecondaryColorPointerEXT,
+ (void *rend, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer),
+ (size, type, stride, pointer))
+
+DEFUN_EXTERN (GLboolean, AreProgramsResidentNV,
+ (GLsizei n, const GLuint * ids, GLboolean * residences),
+ (n, ids, residences))
+
+DEFUN_LOCAL_VOID (BindProgramNV,
+ (void *rend, GLenum target, GLuint id),
+ (target, id))
+
+DEFUN_ALIAS_VOID (BindProgramNV, BindProgramARB,
+ (GLenum target, GLuint id),
+ (target, id))
+
+DEFUN_LOCAL_VOID (DeleteProgramsNV,
+ (void *rend, GLsizei n, const GLuint * ids),
+ (n, ids))
+
+DEFUN_ALIAS_VOID (DeleteProgramsNV, DeleteProgramsARB,
+ (GLsizei n, const GLuint * ids),
+ (n, ids))
+
+DEFUN_EXTERN_VOID (ExecuteProgramNV,
+ (GLenum target, GLuint id, const GLfloat * params),
+ (target, id, params))
+
+DEFUN_LOCAL_VOID (GenProgramsNV,
+ (void *rend, GLsizei n, GLuint * ids),
+ (n, ids))
+
+DEFUN_ALIAS_VOID (GenProgramsNV, GenProgramsARB,
+ (GLsizei n, GLuint * ids),
+ (n, ids))
+
+DEFUN_EXTERN_VOID (GetProgramParameterdvNV,
+ (GLenum target, GLuint index, GLenum pname, GLdouble * params),
+ (target, index, pname, params))
+
+DEFUN_EXTERN_VOID (GetProgramParameterfvNV,
+ (GLenum target, GLuint index, GLenum pname, GLfloat * params),
+ (target, index, pname, params))
+
+DEFUN_EXTERN_VOID (GetProgramivNV,
+ (GLuint id, GLenum pname, GLint * params),
+ (id, pname, params))
+
+DEFUN_EXTERN_VOID (GetProgramStringNV,
+ (GLuint id, GLenum pname, GLubyte * program),
+ (id, pname, program))
+
+DEFUN_EXTERN_VOID (GetTrackMatrixivNV,
+ (GLenum target, GLuint address, GLenum pname, GLint * params),
+ (target, address, pname, params))
+
+DEFUN_LOCAL_VOID (GetVertexAttribdvNV,
+ (void *rend, GLuint index, GLenum pname, GLdouble * params),
+ (index, pname, params))
+
+DEFUN_ALIAS_VOID (GetVertexAttribdvNV, GetVertexAttribdvARB,
+ (GLuint index, GLenum pname, GLdouble * params),
+ (index, pname, params))
+
+DEFUN_LOCAL_VOID (GetVertexAttribfvNV,
+ (void *rend, GLuint index, GLenum pname, GLfloat * params),
+ (index, pname, params))
+
+DEFUN_ALIAS_VOID (GetVertexAttribfvNV, GetVertexAttribfvARB,
+ (GLuint index, GLenum pname, GLfloat * params),
+ (index, pname, params))
+
+DEFUN_LOCAL_VOID (GetVertexAttribivNV,
+ (void *rend, GLuint index, GLenum pname, GLint * params),
+ (index, pname, params))
+
+DEFUN_ALIAS_VOID (GetVertexAttribivNV, GetVertexAttribivNV,
+ (GLuint index, GLenum pname, GLint * params),
+ (index, pname, params))
+
+DEFUN_LOCAL_VOID (GetVertexAttribPointervNV,
+ (void *rend, GLuint index, GLenum pname, GLvoid ** pointer),
+ (index, pname, pointer))
+
+DEFUN_ALIAS_VOID (GetVertexAttribPointervNV, GetVertexAttribPointervARB,
+ (GLuint index, GLenum pname, GLvoid ** pointer),
+ (index, pname, pointer))
+
+DEFUN_LOCAL (GLboolean, IsProgramNV,
+ (void *rend, GLuint id),
+ (id))
+
+DEFUN_ALIAS (GLboolean, IsProgramNV, IsProgramARB,
+ (GLuint id),
+ (id))
+
+DEFUN_EXTERN_VOID (LoadProgramNV,
+ (GLenum target, GLuint id, GLsizei len, const GLubyte * program),
+ (target, id, len, program))
+
+DEFUN_EXTERN_VOID (ProgramParameter4dNV,
+ (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w),
+ (target, index, x, y, z, w))
+
+DEFUN_EXTERN_VOID (ProgramParameter4dvNV,
+ (GLenum target, GLuint index, const GLdouble * params),
+ (target, index, params))
+
+DEFUN_EXTERN_VOID (ProgramParameter4fNV,
+ (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w),
+ (target, index, x, y, z, w))
+
+DEFUN_EXTERN_VOID (ProgramParameter4fvNV,
+ (GLenum target, GLuint index, const GLfloat * params),
+ (target, index, params))
+
+DEFUN_EXTERN_VOID (ProgramParameters4dvNV,
+ (GLenum target, GLuint index, GLuint num, const GLdouble * params),
+ (target, index, num, params))
+
+DEFUN_EXTERN_VOID (ProgramParameters4fvNV,
+ (GLenum target, GLuint index, GLuint num, const GLfloat * params),
+ (target, index, num, params))
+
+DEFUN_EXTERN_VOID (RequestResidentProgramsNV,
+ (GLsizei n, const GLuint * ids),
+ (n, ids))
+
+DEFUN_EXTERN_VOID (TrackMatrixNV,
+ (GLenum target, GLuint address, GLenum matrix, GLenum transform),
+ (target, address, matrix, transform))
+
+DEFUN_EXTERN_VOID (VertexAttribPointerNV,
+ (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer),
+ (index, size, type, stride, pointer))
+
+DEFUN_LOCAL_VOID (VertexAttrib1dNV,
+ (void *rend, GLuint index, GLdouble x),
+ (index, x))
+
+DEFUN_ALIAS_VOID (VertexAttrib1dNV, VertexAttrib1dARB,
+ (GLuint index, GLdouble x),
+ (index, x))
+
+DEFUN_LOCAL_VOID (VertexAttrib1dvNV,
+ (void *rend, GLuint index, const GLdouble * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib1dvNV, VertexAttrib1dvARB,
+ (GLuint index, const GLdouble * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib1fNV,
+ (void *rend, GLuint index, GLfloat x),
+ (index, x))
+
+DEFUN_ALIAS_VOID (VertexAttrib1fNV, VertexAttrib1fARB,
+ (GLuint index, GLfloat x),
+ (index, x))
+
+DEFUN_LOCAL_VOID (VertexAttrib1fvNV,
+ (void *rend, GLuint index, const GLfloat * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib1fvNV, VertexAttrib1fvARB,
+ (GLuint index, const GLfloat * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib1sNV,
+ (void *rend, GLuint index, GLshort x),
+ (index, x))
+
+DEFUN_ALIAS_VOID (VertexAttrib1sNV, VertexAttrib1sARB,
+ (GLuint index, GLshort x),
+ (index, x))
+
+DEFUN_LOCAL_VOID (VertexAttrib1svNV,
+ (void *rend, GLuint index, const GLshort * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib1svNV, VertexAttrib1svARB,
+ (GLuint index, const GLshort * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib2dNV,
+ (void *rend, GLuint index, GLdouble x, GLdouble y),
+ (index, x, y))
+
+DEFUN_ALIAS_VOID (VertexAttrib2dNV, VertexAttrib2dARB,
+ (GLuint index, GLdouble x, GLdouble y),
+ (index, x, y))
+
+DEFUN_LOCAL_VOID (VertexAttrib2dvNV,
+ (void *rend, GLuint index, const GLdouble * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib2dvNV, VertexAttrib2dvARB,
+ (GLuint index, const GLdouble * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib2fNV,
+ (void *rend, GLuint index, GLfloat x, GLfloat y),
+ (index, x, y))
+
+DEFUN_ALIAS_VOID (VertexAttrib2fNV, VertexAttrib2fARB,
+ (GLuint index, GLfloat x, GLfloat y),
+ (index, x, y))
+
+DEFUN_LOCAL_VOID (VertexAttrib2fvNV,
+ (void *rend, GLuint index, const GLfloat * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib2fvNV, VertexAttrib2fvARB,
+ (GLuint index, const GLfloat * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib2sNV,
+ (void *rend, GLuint index, GLshort x, GLshort y),
+ (index, x, y))
+
+DEFUN_ALIAS_VOID (VertexAttrib2sNV, VertexAttrib2sARB,
+ (GLuint index, GLshort x, GLshort y),
+ (index, x, y))
+
+DEFUN_LOCAL_VOID (VertexAttrib2svNV,
+ (void *rend, GLuint index, const GLshort * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib2svNV, VertexAttrib2svARB,
+ (GLuint index, const GLshort * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib3dNV,
+ (void *rend, GLuint index, GLdouble x, GLdouble y, GLdouble z),
+ (index, x, y, z))
+
+DEFUN_ALIAS_VOID (VertexAttrib3dNV, VertexAttrib3dARB,
+ (GLuint index, GLdouble x, GLdouble y, GLdouble z),
+ (index, x, y, z))
+
+DEFUN_LOCAL_VOID (VertexAttrib3dvNV,
+ (void *rend, GLuint index, const GLdouble * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib3dvNV, VertexAttrib3dvARB,
+ (GLuint index, const GLdouble * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib3fNV,
+ (void *rend, GLuint index, GLfloat x, GLfloat y, GLfloat z),
+ (index, x, y, z))
+
+DEFUN_ALIAS_VOID (VertexAttrib3fNV, VertexAttrib3fARB,
+ (GLuint index, GLfloat x, GLfloat y, GLfloat z),
+ (index, x, y, z))
+
+DEFUN_LOCAL_VOID (VertexAttrib3fvNV,
+ (void *rend, GLuint index, const GLfloat * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib3fvNV, VertexAttrib3fvARB,
+ (GLuint index, const GLfloat * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib3sNV,
+ (void *rend, GLuint index, GLshort x, GLshort y, GLshort z),
+ (index, x, y, z))
+
+DEFUN_ALIAS_VOID (VertexAttrib3sNV, VertexAttrib3sARB,
+ (GLuint index, GLshort x, GLshort y, GLshort z),
+ (index, x, y, z))
+
+DEFUN_LOCAL_VOID (VertexAttrib3svNV,
+ (void *rend, GLuint index, const GLshort * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib3svNV, VertexAttrib3svARB,
+ (GLuint index, const GLshort * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4dNV,
+ (void *rend, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w),
+ (index, x, y, z, w))
+
+DEFUN_ALIAS_VOID (VertexAttrib4dNV, VertexAttrib4dARB,
+ (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w),
+ (index, x, y, z, w))
+
+DEFUN_LOCAL_VOID (VertexAttrib4dvNV,
+ (void *rend, GLuint index, const GLdouble * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib4dvNV, VertexAttrib4dvARB,
+ (GLuint index, const GLdouble * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4fNV,
+ (void *rend, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w),
+ (index, x, y, z, w))
+
+DEFUN_ALIAS_VOID (VertexAttrib4fNV, VertexAttrib4fARB,
+ (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w),
+ (index, x, y, z, w))
+
+DEFUN_LOCAL_VOID (VertexAttrib4fvNV,
+ (void *rend, GLuint index, const GLfloat * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib4fvNV, VertexAttrib4fvARB,
+ (GLuint index, const GLfloat * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4sNV,
+ (void *rend, GLuint index, GLshort x, GLshort y, GLshort z, GLshort w),
+ (index, x, y, z, w))
+
+DEFUN_ALIAS_VOID (VertexAttrib4sNV, VertexAttrib4sARB,
+ (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w),
+ (index, x, y, z, w))
+
+DEFUN_LOCAL_VOID (VertexAttrib4svNV,
+ (void *rend, GLuint index, const GLshort * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib4svNV, VertexAttrib4svARB,
+ (GLuint index, const GLshort * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4ubNV,
+ (void *rend, GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w),
+ (index, x, y, z, w))
+
+DEFUN_ALIAS_VOID (VertexAttrib4ubNV, VertexAttrib4NubARB,
+ (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w),
+ (index, x, y, z, w))
+
+DEFUN_LOCAL_VOID (VertexAttrib4ubvNV,
+ (void *rend, GLuint index, const GLubyte * v),
+ (index, v))
+
+DEFUN_ALIAS_VOID (VertexAttrib4ubvNV, VertexAttrib4ubvARB,
+ (GLuint index, const GLubyte * v),
+ (index, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs1dvNV,
+ (GLuint index, GLsizei n, const GLdouble * v),
+ (index, n, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs1fvNV,
+ (GLuint index, GLsizei n, const GLfloat * v),
+ (index, n, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs1svNV,
+ (GLuint index, GLsizei n, const GLshort * v),
+ (index, n, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs2dvNV,
+ (GLuint index, GLsizei n, const GLdouble * v),
+ (index, n, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs2fvNV,
+ (GLuint index, GLsizei n, const GLfloat * v),
+ (index, n, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs2svNV,
+ (GLuint index, GLsizei n, const GLshort * v),
+ (index, n, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs3dvNV,
+ (GLuint index, GLsizei n, const GLdouble * v),
+ (index, n, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs3fvNV,
+ (GLuint index, GLsizei n, const GLfloat * v),
+ (index, n, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs3svNV,
+ (GLuint index, GLsizei n, const GLshort * v),
+ (index, n, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs4dvNV,
+ (GLuint index, GLsizei n, const GLdouble * v),
+ (index, n, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs4fvNV,
+ (GLuint index, GLsizei n, const GLfloat * v),
+ (index, n, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs4svNV,
+ (GLuint index, GLsizei n, const GLshort * v),
+ (index, n, v))
+
+DEFUN_EXTERN_VOID (VertexAttribs4ubvNV,
+ (GLuint index, GLsizei n, const GLubyte * v),
+ (index, n, v))
+
+DEFUN_LOCAL_VOID (PointParameteriNV,
+ (void *rend, GLenum pname, GLint params),
+ (pname, params))
+
+DEFUN_LOCAL_VOID (PointParameterivNV,
+ (void *rend, GLenum pname, const GLint * params),
+ (pname, params))
+
+DEFUN_LOCAL_VOID (MultiDrawArraysEXT,
+ (void *rend, GLenum mode, GLint * first, GLsizei * count, GLsizei primcount),
+ (mode, first, count, primcount))
+
+DEFUN_LOCAL_VOID (MultiDrawElementsEXT,
+ (void *rend, GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount),
+ (mode, count, type, indices, primcount))
+
+DEFUN_LOCAL_VOID (ActiveStencilFaceEXT,
+ (void *rend, GLenum face),
+ (face))
+
+DEFUN_EXTERN_VOID (DeleteFencesNV,
+ (GLsizei n, const GLuint * fences),
+ (n, fences))
+
+DEFUN_EXTERN_VOID (GenFencesNV,
+ (GLsizei n, GLuint * fences),
+ (n, fences))
+
+DEFUN_EXTERN (GLboolean, IsFenceNV,
+ (GLuint fence),
+ (fence))
+
+DEFUN_EXTERN (GLboolean, TestFenceNV,
+ (GLuint fence),
+ (fence))
+
+DEFUN_EXTERN_VOID (GetFenceivNV,
+ (GLuint fence, GLenum pname, GLint * params),
+ (fence, pname, params))
+
+DEFUN_EXTERN_VOID (FinishFenceNV,
+ (GLuint fence),
+ (fence))
+
+DEFUN_EXTERN_VOID (SetFenceNV,
+ (GLuint fence, GLenum condition),
+ (fence, condition))
+
+DEFUN_LOCAL_VOID (VertexAttrib4bvARB,
+ (void *rend, GLuint index, const GLbyte * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4ivARB,
+ (void *rend, GLuint index, const GLint * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4ubvARB,
+ (void *rend, GLuint index, const GLubyte * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4usvARB,
+ (void *rend, GLuint index, const GLushort * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4uivARB,
+ (void *rend, GLuint index, const GLuint * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4NbvARB,
+ (void *rend, GLuint index, const GLbyte * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4NsvARB,
+ (void *rend, GLuint index, const GLshort * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4NivARB,
+ (void *rend, GLuint index, const GLint * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4NusvARB,
+ (void *rend, GLuint index, const GLushort * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttrib4NuivARB,
+ (void *rend, GLuint index, const GLuint * v),
+ (index, v))
+
+DEFUN_LOCAL_VOID (VertexAttribPointerARB,
+ (void *rend, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer),
+ (index, size, type, normalized, stride, pointer))
+
+DEFUN_LOCAL_VOID (EnableVertexAttribArrayARB,
+ (void *rend, GLuint index),
+ (index))
+
+DEFUN_LOCAL_VOID (DisableVertexAttribArrayARB,
+ (void *rend, GLuint index),
+ (index))
+
+DEFUN_LOCAL_VOID (ProgramStringARB,
+ (void *rend, GLenum target, GLenum format, GLsizei len, const GLvoid * string),
+ (target, format, len, string))
+
+DEFUN_LOCAL_VOID (ProgramEnvParameter4dARB,
+ (void *rend, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w),
+ (target, index, x, y, z, w))
+
+DEFUN_LOCAL_VOID (ProgramEnvParameter4dvARB,
+ (void *rend, GLenum target, GLuint index, const GLdouble * params),
+ (target, index, params))
+
+DEFUN_LOCAL_VOID (ProgramEnvParameter4fARB,
+ (void *rend, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w),
+ (target, index, x, y, z, w))
+
+DEFUN_LOCAL_VOID (ProgramEnvParameter4fvARB,
+ (void *rend, GLenum target, GLuint index, const GLfloat * params),
+ (target, index, params))
+
+DEFUN_LOCAL_VOID (ProgramLocalParameter4dARB,
+ (void *rend, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w),
+ (target, index, x, y, z, w))
+
+DEFUN_LOCAL_VOID (ProgramLocalParameter4dvARB,
+ (void *rend, GLenum target, GLuint index, const GLdouble * params),
+ (target, index, params))
+
+DEFUN_LOCAL_VOID (ProgramLocalParameter4fARB,
+ (void *rend, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w),
+ (target, index, x, y, z, w))
+
+DEFUN_LOCAL_VOID (ProgramLocalParameter4fvARB,
+ (void *rend, GLenum target, GLuint index, const GLfloat * params),
+ (target, index, params))
+
+DEFUN_LOCAL_VOID (GetProgramEnvParameterdvARB,
+ (void *rend, GLenum target, GLuint index, GLdouble * params),
+ (target, index, params))
+
+DEFUN_LOCAL_VOID (GetProgramEnvParameterfvARB,
+ (void *rend, GLenum target, GLuint index, GLfloat * params),
+ (target, index, params))
+
+DEFUN_LOCAL_VOID (GetProgramLocalParameterdvARB,
+ (void *rend, GLenum target, GLuint index, GLdouble * params),
+ (target, index, params))
+
+DEFUN_LOCAL_VOID (GetProgramLocalParameterfvARB,
+ (void *rend, GLenum target, GLuint index, GLfloat * params),
+ (target, index, params))
+
+DEFUN_LOCAL_VOID (GetProgramivARB,
+ (void *rend, GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_LOCAL_VOID (GetProgramStringARB,
+ (void *rend, GLenum target, GLenum pname, GLvoid * string),
+ (target, pname, string))
+
+DEFUN_EXTERN_VOID (ProgramNamedParameter4fNV,
+ (GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w),
+ (id, len, name, x, y, z, w))
+
+DEFUN_EXTERN_VOID (ProgramNamedParameter4dNV,
+ (GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w),
+ (id, len, name, x, y, z, w))
+
+DEFUN_EXTERN_VOID (ProgramNamedParameter4fvNV,
+ (GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v),
+ (id, len, name, v))
+
+DEFUN_EXTERN_VOID (ProgramNamedParameter4dvNV,
+ (GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v),
+ (id, len, name, v))
+
+DEFUN_EXTERN_VOID (GetProgramNamedParameterfvNV,
+ (GLuint id, GLsizei len, const GLubyte * name, GLfloat * params),
+ (id, len, name, params))
+
+DEFUN_EXTERN_VOID (GetProgramNamedParameterdvNV,
+ (GLuint id, GLsizei len, const GLubyte * name, GLdouble * params),
+ (id, len, name, params))
+
+#if OSVERSION < 704 /* Mac OS X 10.3.4 */
+
+DEFUN_EXTERN_VOID (BindBufferARB,
+ (GLenum target, GLuint buffer),
+ (target, buffer))
+
+DEFUN_EXTERN_VOID (BufferDataARB,
+ (GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage),
+ (target, size, data, usage))
+
+DEFUN_EXTERN_VOID (BufferSubDataARB,
+ (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data),
+ (target, offset, size, data))
+
+DEFUN_EXTERN_VOID (DeleteBuffersARB,
+ (GLsizei n, const GLuint * buffer),
+ (n, buffer))
+
+DEFUN_EXTERN_VOID (GenBuffersARB,
+ (GLsizei n, GLuint * buffer),
+ (n, buffer))
+
+DEFUN_EXTERN_VOID (GetBufferParameterivARB,
+ (GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_EXTERN_VOID (GetBufferPointervARB,
+ (GLenum target, GLenum pname, GLvoid ** params),
+ (target, pname, params))
+
+DEFUN_EXTERN_VOID (GetBufferSubDataARB,
+ (GLenum target, GLintptrARB offset, GLsizeiptrARB size, void * data),
+ (target, offset, size, data))
+
+DEFUN_EXTERN (GLboolean, IsBufferARB,
+ (GLuint buffer),
+ (buffer))
+
+DEFUN_EXTERN (void*, MapBufferARB,
+ (GLenum target, GLenum access),
+ (target, access))
+
+DEFUN_EXTERN (GLboolean, UnmapBufferARB,
+ (GLenum target),
+ (target))
+
+DEFUN_EXTERN_VOID (DepthBoundsEXT,
+ (GLclampd zmin, GLclampd zmax),
+ (zmin, zmax))
+
+#endif /* OSVERSION < 704 */
+
+#if OSVERSION < 700 /* Mac OS X 10.3.0 */
+
+DEFUN_EXTERN_VOID (GenQueriesARB,
+ (GLsizei n, GLuint * ids),
+ (n, ids))
+
+DEFUN_EXTERN_VOID (DeleteQueriesARB,
+ (GLsizei n, const GLuint * ids),
+ (n, ids))
+
+DEFUN_EXTERN (GLboolean, IsQueryARB,
+ (GLuint id),
+ (id))
+
+DEFUN_EXTERN_VOID (BeginQueryARB,
+ (GLenum target, GLuint id),
+ (target, id))
+
+DEFUN_EXTERN_VOID (EndQueryARB,
+ (GLenum target),
+ (target))
+
+DEFUN_EXTERN_VOID (GetQueryivARB,
+ (GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_EXTERN_VOID (GetQueryObjectivARB,
+ (GLuint id, GLenum pname, GLint * params),
+ (id, pname, params))
+
+DEFUN_EXTERN_VOID (GetQueryObjectuivARB,
+ (GLuint id, GLenum pname, GLuint * params),
+ (id, pname, params))
+
+#endif /* OSVERSION < 700 */
+
+DEFUN_EXTERN_VOID (MultiModeDrawArraysIBM,
+ (const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride),
+ (mode, first, count, primcount, modestride))
+
+DEFUN_EXTERN_VOID (MultiModeDrawElementsIBM,
+ (const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride),
+ (mode, count, type, indices, primcount, modestride))
+
+DEFUN_LOCAL_VOID (BlendEquationSeparateEXT,
+ (void *rend, GLenum modeRGB, GLenum modeA),
+ (modeRGB, modeA))
+
+#if OSVERSION < 704
+
+DEFUN_ALIAS_VOID (BlendEquationSeparateEXT, BlendEquationSeparateATI,
+ (GLenum modeRGB, GLenum modeA),
+ (modeRGB, modeA))
+
+#endif /* OSVERSION < 704 */
+
+DEFUN_ALIAS_VOID (ArrayElementEXT, ArrayElement,
+ (GLint i),
+ (i))
+
+DEFUN_ALIAS_VOID (BindTextureEXT, BindTexture,
+ (GLenum target, GLuint texture),
+ (target, texture))
+
+DEFUN_ALIAS_VOID (BlendFuncSeparateINGR, BlendFuncSeparateEXT,
+ (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha),
+ (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha))
+
+DEFUN_ALIAS_VOID (ColorTableParameterfvSGI, ColorTableParameterfv,
+ (GLenum target, GLenum pname, const GLfloat * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (ColorTableParameterivSGI, ColorTableParameteriv,
+ (GLenum target, GLenum pname, const GLint * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (ColorTableSGI, ColorTable,
+ (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table),
+ (target, internalformat, width, format, type, table))
+
+DEFUN_ALIAS_VOID (ConvolutionFilter1DEXT, ConvolutionFilter1D,
+ (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image),
+ (target, internalformat, width, format, type, image))
+
+DEFUN_ALIAS_VOID (ConvolutionFilter2DEXT, ConvolutionFilter2D,
+ (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image),
+ (target, internalformat, width, height, format, type, image))
+
+DEFUN_ALIAS_VOID (ConvolutionParameterfEXT, ConvolutionParameterf,
+ (GLenum target, GLenum pname, GLfloat params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (ConvolutionParameterfvEXT, ConvolutionParameterfv,
+ (GLenum target, GLenum pname, const GLfloat * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (ConvolutionParameteriEXT, ConvolutionParameteri,
+ (GLenum target, GLenum pname, GLint params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (ConvolutionParameterivEXT, ConvolutionParameteriv,
+ (GLenum target, GLenum pname, const GLint * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (CopyColorSubTableEXT, CopyColorSubTable,
+ (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width),
+ (target, start, x, y, width))
+
+DEFUN_ALIAS_VOID (CopyColorTableSGI, CopyColorTable,
+ (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width),
+ (target, internalformat, x, y, width))
+
+DEFUN_ALIAS_VOID (CopyConvolutionFilter1DEXT, CopyConvolutionFilter1D,
+ (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width),
+ (target, internalformat, x, y, width))
+
+DEFUN_ALIAS_VOID (CopyConvolutionFilter2DEXT, CopyConvolutionFilter2D,
+ (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height),
+ (target, internalformat, x, y, width, height))
+
+DEFUN_ALIAS_VOID (CopyTexImage1DEXT, CopyTexImage1D,
+ (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border),
+ (target, level, internalformat, x, y, width, border))
+
+DEFUN_ALIAS_VOID (CopyTexImage2DEXT, CopyTexImage2D,
+ (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border),
+ (target, level, internalformat, x, y, width, height, border))
+
+DEFUN_ALIAS_VOID (CopyTexSubImage1DEXT, CopyTexSubImage1D,
+ (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width),
+ (target, level, xoffset, x, y, width))
+
+DEFUN_ALIAS_VOID (CopyTexSubImage2DEXT, CopyTexSubImage2D,
+ (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height),
+ (target, level, xoffset, yoffset, x, y, width, height))
+
+DEFUN_ALIAS_VOID (CopyTexSubImage3DEXT, CopyTexSubImage3D,
+ (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height),
+ (target, level, xoffset, yoffset, zoffset, x, y, width, height))
+
+DEFUN_ALIAS_VOID (DeleteTexturesEXT, DeleteTextures,
+ (GLsizei n, const GLuint *textures),
+ (n, textures))
+
+DEFUN_ALIAS_VOID (DrawArraysEXT, DrawArrays,
+ (GLenum mode, GLint first, GLsizei count),
+ (mode, first, count))
+
+DEFUN_ALIAS_VOID (GetPointervEXT, GetPointerv,
+ (GLenum pname, GLvoid * * params),
+ (pname, params))
+
+DEFUN_ALIAS_VOID (HistogramEXT, Histogram,
+ (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink),
+ (target, width, internalformat, sink))
+
+DEFUN_ALIAS_VOID (MinmaxEXT, Minmax,
+ (GLenum target, GLenum internalformat, GLboolean sink),
+ (target, internalformat, sink))
+
+DEFUN_ALIAS_VOID (PointParameterfSGIS, PointParameterf,
+ (GLenum pname, GLfloat param),
+ (pname, param))
+
+DEFUN_ALIAS_VOID (PointParameterfvSGIS, PointParameterfv,
+ (GLenum pname, const GLfloat * params),
+ (pname, params))
+
+DEFUN_ALIAS_VOID (PointParameteri, PointParameteriNV,
+ (GLenum pname, GLint params),
+ (pname, params))
+
+DEFUN_ALIAS_VOID (PointParameteriv, PointParameterivNV,
+ (GLenum pname, const GLint * params),
+ (pname, params))
+
+DEFUN_ALIAS_VOID (PrioritizeTexturesEXT, PrioritizeTextures,
+ (GLsizei n, const GLenum * textures, const GLclampf * priorities),
+ (n, textures, priorities))
+
+DEFUN_ALIAS_VOID (ResetHistogramEXT, ResetHistogram,
+ (GLenum target),
+ (target))
+
+DEFUN_ALIAS_VOID (ResetMinmaxEXT, ResetMinmax,
+ (GLenum target),
+ (target))
+
+DEFUN_ALIAS_VOID (SampleMaskEXT, SampleMaskSGIS,
+ (GLclampf value, GLboolean invert),
+ (value, invert))
+
+DEFUN_ALIAS_VOID (SamplePatternEXT, SamplePatternSGIS,
+ (GLenum pattern),
+ (pattern))
+
+DEFUN_ALIAS_VOID (SeparableFilter2DEXT, SeparableFilter2D,
+ (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column),
+ (target, internalformat, width, height, format, type, row, column))
+
+DEFUN_ALIAS_VOID (TexImage3DEXT, TexImage3D,
+ (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels),
+ (target, level, internalformat, width, height, depth, border, format, type, pixels))
+
+DEFUN_ALIAS_VOID (TexSubImage1DEXT, TexSubImage1D,
+ (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels),
+ (target, level, xoffset, width, format, type, pixels))
+
+DEFUN_ALIAS_VOID (TexSubImage2DEXT, TexSubImage2D,
+ (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels),
+ (target, level, xoffset, yoffset, width, height, format, type, pixels))
+
+DEFUN_ALIAS_VOID (TexSubImage3DEXT, TexSubImage3D,
+ (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels),
+ (target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels))
+
+#if OSVERSION < 704
+
+DEFUN_ALIAS_VOID (BindBuffer, BindBufferARB,
+ (GLenum target, GLuint buffer),
+ (target, buffer))
+
+DEFUN_ALIAS_VOID (BufferData, BufferDataARB,
+ (GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage),
+ (target, size, data, usage))
+
+DEFUN_ALIAS_VOID (BufferSubData, BufferSubDataARB,
+ (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data),
+ (target, offset, size, data))
+
+DEFUN_ALIAS_VOID (DeleteBuffers, DeleteBuffersARB,
+ (GLsizei n, const GLuint * buffer),
+ (n, buffer))
+
+DEFUN_ALIAS_VOID (GenBuffers, GenBuffersARB,
+ (GLsizei n, GLuint * buffer),
+ (n, buffer))
+
+DEFUN_ALIAS_VOID (GetBufferParameteriv, GetBufferParameterivARB,
+ (GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (GetBufferPointerv, GetBufferPointervARB,
+ (GLenum target, GLenum pname, GLvoid ** params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (GetBufferSubData, GetBufferSubDataARB,
+ (GLenum target, GLintptrARB offset, GLsizeiptrARB size, void * data),
+ (target, offset, size, data))
+
+DEFUN_ALIAS (GLboolean, IsBuffer, IsBufferARB,
+ (GLuint buffer),
+ (buffer))
+
+DEFUN_ALIAS (void*, MapBuffer, MapBufferARB,
+ (GLenum target, GLenum access),
+ (target, access))
+
+DEFUN_ALIAS (GLboolean, UnmapBuffer, UnmapBufferARB,
+ (GLenum target),
+ (target))
+
+#endif /* OSVERSION < 704 */
+
+#if OSVERSION < 700 /* Mac OS X 10.3.0 */
+
+DEFUN_ALIAS_VOID (GenQueries, GenQueriesARB,
+ (GLsizei n, GLuint * ids),
+ (n, ids))
+
+DEFUN_ALIAS_VOID (DeleteQueries, DeleteQueriesARB,
+ (GLsizei n, const GLuint * ids),
+ (n, ids))
+
+DEFUN_ALIAS (GLboolean, IsQuery, IsQueryARB,
+ (GLuint id),
+ (id))
+
+DEFUN_ALIAS_VOID (BeginQuery, BeginQueryARB,
+ (GLenum target, GLuint id),
+ (target, id))
+
+DEFUN_ALIAS_VOID (EndQuery, EndQueryARB,
+ (GLenum target),
+ (target))
+
+DEFUN_ALIAS_VOID (GetQueryiv, GetQueryivARB,
+ (GLenum target, GLenum pname, GLint * params),
+ (target, pname, params))
+
+DEFUN_ALIAS_VOID (GetQueryObjectiv, GetQueryObjectivARB,
+ (GLuint id, GLenum pname, GLint * params),
+ (id, pname, params))
+
+DEFUN_ALIAS_VOID (GetQueryObjectuiv, GetQueryObjectuivARB,
+ (GLuint id, GLenum pname, GLuint * params),
+ (id, pname, params))
+
+#endif /* OSVERSION < 700 */
+
+#define INDIRECT_DISPATCH_INIT(d,p) \
+do { \
+ (d)[0] = (void *) &p ## Accum; \
+ (d)[1] = (void *) &p ## AlphaFunc; \
+ (d)[2] = (void *) &p ## AreTexturesResident; \
+ (d)[3] = (void *) &p ## ArrayElement; \
+ (d)[4] = (void *) &p ## Begin; \
+ (d)[5] = (void *) &p ## BindTexture; \
+ (d)[6] = (void *) &p ## Bitmap; \
+ (d)[7] = (void *) &p ## BlendFunc; \
+ (d)[8] = (void *) &p ## CallList; \
+ (d)[9] = (void *) &p ## CallLists; \
+ (d)[10] = (void *) &p ## Clear; \
+ (d)[11] = (void *) &p ## ClearAccum; \
+ (d)[12] = (void *) &p ## ClearColor; \
+ (d)[13] = (void *) &p ## ClearDepth; \
+ (d)[14] = (void *) &p ## ClearIndex; \
+ (d)[15] = (void *) &p ## ClearStencil; \
+ (d)[16] = (void *) &p ## ClipPlane; \
+ (d)[17] = (void *) &p ## Color3b; \
+ (d)[18] = (void *) &p ## Color3bv; \
+ (d)[19] = (void *) &p ## Color3d; \
+ (d)[20] = (void *) &p ## Color3dv; \
+ (d)[21] = (void *) &p ## Color3f; \
+ (d)[22] = (void *) &p ## Color3fv; \
+ (d)[23] = (void *) &p ## Color3i; \
+ (d)[24] = (void *) &p ## Color3iv; \
+ (d)[25] = (void *) &p ## Color3s; \
+ (d)[26] = (void *) &p ## Color3sv; \
+ (d)[27] = (void *) &p ## Color3ub; \
+ (d)[28] = (void *) &p ## Color3ubv; \
+ (d)[29] = (void *) &p ## Color3ui; \
+ (d)[30] = (void *) &p ## Color3uiv; \
+ (d)[31] = (void *) &p ## Color3us; \
+ (d)[32] = (void *) &p ## Color3usv; \
+ (d)[33] = (void *) &p ## Color4b; \
+ (d)[34] = (void *) &p ## Color4bv; \
+ (d)[35] = (void *) &p ## Color4d; \
+ (d)[36] = (void *) &p ## Color4dv; \
+ (d)[37] = (void *) &p ## Color4f; \
+ (d)[38] = (void *) &p ## Color4fv; \
+ (d)[39] = (void *) &p ## Color4i; \
+ (d)[40] = (void *) &p ## Color4iv; \
+ (d)[41] = (void *) &p ## Color4s; \
+ (d)[42] = (void *) &p ## Color4sv; \
+ (d)[43] = (void *) &p ## Color4ub; \
+ (d)[44] = (void *) &p ## Color4ubv; \
+ (d)[45] = (void *) &p ## Color4ui; \
+ (d)[46] = (void *) &p ## Color4uiv; \
+ (d)[47] = (void *) &p ## Color4us; \
+ (d)[48] = (void *) &p ## Color4usv; \
+ (d)[49] = (void *) &p ## ColorMask; \
+ (d)[50] = (void *) &p ## ColorMaterial; \
+ (d)[51] = (void *) &p ## ColorPointer; \
+ (d)[52] = (void *) &p ## CopyPixels; \
+ (d)[53] = (void *) &p ## CopyTexImage1D; \
+ (d)[54] = (void *) &p ## CopyTexImage2D; \
+ (d)[55] = (void *) &p ## CopyTexSubImage1D; \
+ (d)[56] = (void *) &p ## CopyTexSubImage2D; \
+ (d)[57] = (void *) &p ## CullFace; \
+ (d)[58] = (void *) &p ## DeleteLists; \
+ (d)[59] = (void *) &p ## DeleteTextures; \
+ (d)[60] = (void *) &p ## DepthFunc; \
+ (d)[61] = (void *) &p ## DepthMask; \
+ (d)[62] = (void *) &p ## DepthRange; \
+ (d)[63] = (void *) &p ## Disable; \
+ (d)[64] = (void *) &p ## DisableClientState; \
+ (d)[65] = (void *) &p ## DrawArrays; \
+ (d)[66] = (void *) &p ## DrawBuffer; \
+ (d)[67] = (void *) &p ## DrawElements; \
+ (d)[68] = (void *) &p ## DrawPixels; \
+ (d)[69] = (void *) &p ## EdgeFlag; \
+ (d)[70] = (void *) &p ## EdgeFlagPointer; \
+ (d)[71] = (void *) &p ## EdgeFlagv; \
+ (d)[72] = (void *) &p ## Enable; \
+ (d)[73] = (void *) &p ## EnableClientState; \
+ (d)[74] = (void *) &p ## End; \
+ (d)[75] = (void *) &p ## EndList; \
+ (d)[76] = (void *) &p ## EvalCoord1d; \
+ (d)[77] = (void *) &p ## EvalCoord1dv; \
+ (d)[78] = (void *) &p ## EvalCoord1f; \
+ (d)[79] = (void *) &p ## EvalCoord1fv; \
+ (d)[80] = (void *) &p ## EvalCoord2d; \
+ (d)[81] = (void *) &p ## EvalCoord2dv; \
+ (d)[82] = (void *) &p ## EvalCoord2f; \
+ (d)[83] = (void *) &p ## EvalCoord2fv; \
+ (d)[84] = (void *) &p ## EvalMesh1; \
+ (d)[85] = (void *) &p ## EvalMesh2; \
+ (d)[86] = (void *) &p ## EvalPoint1; \
+ (d)[87] = (void *) &p ## EvalPoint2; \
+ (d)[88] = (void *) &p ## FeedbackBuffer; \
+ (d)[89] = (void *) &p ## Finish; \
+ (d)[90] = (void *) &p ## Flush; \
+ (d)[91] = (void *) &p ## Fogf; \
+ (d)[92] = (void *) &p ## Fogfv; \
+ (d)[93] = (void *) &p ## Fogi; \
+ (d)[94] = (void *) &p ## Fogiv; \
+ (d)[95] = (void *) &p ## FrontFace; \
+ (d)[96] = (void *) &p ## Frustum; \
+ (d)[97] = (void *) &p ## GenLists; \
+ (d)[98] = (void *) &p ## GenTextures; \
+ (d)[99] = (void *) &p ## GetBooleanv; \
+ (d)[100] = (void *) &p ## GetClipPlane; \
+ (d)[101] = (void *) &p ## GetDoublev; \
+ (d)[102] = (void *) &p ## GetError; \
+ (d)[103] = (void *) &p ## GetFloatv; \
+ (d)[104] = (void *) &p ## GetIntegerv; \
+ (d)[105] = (void *) &p ## GetLightfv; \
+ (d)[106] = (void *) &p ## GetLightiv; \
+ (d)[107] = (void *) &p ## GetMapdv; \
+ (d)[108] = (void *) &p ## GetMapfv; \
+ (d)[109] = (void *) &p ## GetMapiv; \
+ (d)[110] = (void *) &p ## GetMaterialfv; \
+ (d)[111] = (void *) &p ## GetMaterialiv; \
+ (d)[112] = (void *) &p ## GetPixelMapfv; \
+ (d)[113] = (void *) &p ## GetPixelMapuiv; \
+ (d)[114] = (void *) &p ## GetPixelMapusv; \
+ (d)[115] = (void *) &p ## GetPointerv; \
+ (d)[116] = (void *) &p ## GetPolygonStipple; \
+ (d)[117] = (void *) &p ## GetString; \
+ (d)[118] = (void *) &p ## GetTexEnvfv; \
+ (d)[119] = (void *) &p ## GetTexEnviv; \
+ (d)[120] = (void *) &p ## GetTexGendv; \
+ (d)[121] = (void *) &p ## GetTexGenfv; \
+ (d)[122] = (void *) &p ## GetTexGeniv; \
+ (d)[123] = (void *) &p ## GetTexImage; \
+ (d)[124] = (void *) &p ## GetTexLevelParameterfv; \
+ (d)[125] = (void *) &p ## GetTexLevelParameteriv; \
+ (d)[126] = (void *) &p ## GetTexParameterfv; \
+ (d)[127] = (void *) &p ## GetTexParameteriv; \
+ (d)[128] = (void *) &p ## Hint; \
+ (d)[129] = (void *) &p ## IndexMask; \
+ (d)[130] = (void *) &p ## IndexPointer; \
+ (d)[131] = (void *) &p ## Indexd; \
+ (d)[132] = (void *) &p ## Indexdv; \
+ (d)[133] = (void *) &p ## Indexf; \
+ (d)[134] = (void *) &p ## Indexfv; \
+ (d)[135] = (void *) &p ## Indexi; \
+ (d)[136] = (void *) &p ## Indexiv; \
+ (d)[137] = (void *) &p ## Indexs; \
+ (d)[138] = (void *) &p ## Indexsv; \
+ (d)[139] = (void *) &p ## Indexub; \
+ (d)[140] = (void *) &p ## Indexubv; \
+ (d)[141] = (void *) &p ## InitNames; \
+ (d)[142] = (void *) &p ## InterleavedArrays; \
+ (d)[143] = (void *) &p ## IsEnabled; \
+ (d)[144] = (void *) &p ## IsList; \
+ (d)[145] = (void *) &p ## IsTexture; \
+ (d)[146] = (void *) &p ## LightModelf; \
+ (d)[147] = (void *) &p ## LightModelfv; \
+ (d)[148] = (void *) &p ## LightModeli; \
+ (d)[149] = (void *) &p ## LightModeliv; \
+ (d)[150] = (void *) &p ## Lightf; \
+ (d)[151] = (void *) &p ## Lightfv; \
+ (d)[152] = (void *) &p ## Lighti; \
+ (d)[153] = (void *) &p ## Lightiv; \
+ (d)[154] = (void *) &p ## LineStipple; \
+ (d)[155] = (void *) &p ## LineWidth; \
+ (d)[156] = (void *) &p ## ListBase; \
+ (d)[157] = (void *) &p ## LoadIdentity; \
+ (d)[158] = (void *) &p ## LoadMatrixd; \
+ (d)[159] = (void *) &p ## LoadMatrixf; \
+ (d)[160] = (void *) &p ## LoadName; \
+ (d)[161] = (void *) &p ## LogicOp; \
+ (d)[162] = (void *) &p ## Map1d; \
+ (d)[163] = (void *) &p ## Map1f; \
+ (d)[164] = (void *) &p ## Map2d; \
+ (d)[165] = (void *) &p ## Map2f; \
+ (d)[166] = (void *) &p ## MapGrid1d; \
+ (d)[167] = (void *) &p ## MapGrid1f; \
+ (d)[168] = (void *) &p ## MapGrid2d; \
+ (d)[169] = (void *) &p ## MapGrid2f; \
+ (d)[170] = (void *) &p ## Materialf; \
+ (d)[171] = (void *) &p ## Materialfv; \
+ (d)[172] = (void *) &p ## Materiali; \
+ (d)[173] = (void *) &p ## Materialiv; \
+ (d)[174] = (void *) &p ## MatrixMode; \
+ (d)[175] = (void *) &p ## MultMatrixd; \
+ (d)[176] = (void *) &p ## MultMatrixf; \
+ (d)[177] = (void *) &p ## NewList; \
+ (d)[178] = (void *) &p ## Normal3b; \
+ (d)[179] = (void *) &p ## Normal3bv; \
+ (d)[180] = (void *) &p ## Normal3d; \
+ (d)[181] = (void *) &p ## Normal3dv; \
+ (d)[182] = (void *) &p ## Normal3f; \
+ (d)[183] = (void *) &p ## Normal3fv; \
+ (d)[184] = (void *) &p ## Normal3i; \
+ (d)[185] = (void *) &p ## Normal3iv; \
+ (d)[186] = (void *) &p ## Normal3s; \
+ (d)[187] = (void *) &p ## Normal3sv; \
+ (d)[188] = (void *) &p ## NormalPointer; \
+ (d)[189] = (void *) &p ## Ortho; \
+ (d)[190] = (void *) &p ## PassThrough; \
+ (d)[191] = (void *) &p ## PixelMapfv; \
+ (d)[192] = (void *) &p ## PixelMapuiv; \
+ (d)[193] = (void *) &p ## PixelMapusv; \
+ (d)[194] = (void *) &p ## PixelStoref; \
+ (d)[195] = (void *) &p ## PixelStorei; \
+ (d)[196] = (void *) &p ## PixelTransferf; \
+ (d)[197] = (void *) &p ## PixelTransferi; \
+ (d)[198] = (void *) &p ## PixelZoom; \
+ (d)[199] = (void *) &p ## PointSize; \
+ (d)[200] = (void *) &p ## PolygonMode; \
+ (d)[201] = (void *) &p ## PolygonOffset; \
+ (d)[202] = (void *) &p ## PolygonStipple; \
+ (d)[203] = (void *) &p ## PopAttrib; \
+ (d)[204] = (void *) &p ## PopClientAttrib; \
+ (d)[205] = (void *) &p ## PopMatrix; \
+ (d)[206] = (void *) &p ## PopName; \
+ (d)[207] = (void *) &p ## PrioritizeTextures; \
+ (d)[208] = (void *) &p ## PushAttrib; \
+ (d)[209] = (void *) &p ## PushClientAttrib; \
+ (d)[210] = (void *) &p ## PushMatrix; \
+ (d)[211] = (void *) &p ## PushName; \
+ (d)[212] = (void *) &p ## RasterPos2d; \
+ (d)[213] = (void *) &p ## RasterPos2dv; \
+ (d)[214] = (void *) &p ## RasterPos2f; \
+ (d)[215] = (void *) &p ## RasterPos2fv; \
+ (d)[216] = (void *) &p ## RasterPos2i; \
+ (d)[217] = (void *) &p ## RasterPos2iv; \
+ (d)[218] = (void *) &p ## RasterPos2s; \
+ (d)[219] = (void *) &p ## RasterPos2sv; \
+ (d)[220] = (void *) &p ## RasterPos3d; \
+ (d)[221] = (void *) &p ## RasterPos3dv; \
+ (d)[222] = (void *) &p ## RasterPos3f; \
+ (d)[223] = (void *) &p ## RasterPos3fv; \
+ (d)[224] = (void *) &p ## RasterPos3i; \
+ (d)[225] = (void *) &p ## RasterPos3iv; \
+ (d)[226] = (void *) &p ## RasterPos3s; \
+ (d)[227] = (void *) &p ## RasterPos3sv; \
+ (d)[228] = (void *) &p ## RasterPos4d; \
+ (d)[229] = (void *) &p ## RasterPos4dv; \
+ (d)[230] = (void *) &p ## RasterPos4f; \
+ (d)[231] = (void *) &p ## RasterPos4fv; \
+ (d)[232] = (void *) &p ## RasterPos4i; \
+ (d)[233] = (void *) &p ## RasterPos4iv; \
+ (d)[234] = (void *) &p ## RasterPos4s; \
+ (d)[235] = (void *) &p ## RasterPos4sv; \
+ (d)[236] = (void *) &p ## ReadBuffer; \
+ (d)[237] = (void *) &p ## ReadPixels; \
+ (d)[238] = (void *) &p ## Rectd; \
+ (d)[239] = (void *) &p ## Rectdv; \
+ (d)[240] = (void *) &p ## Rectf; \
+ (d)[241] = (void *) &p ## Rectfv; \
+ (d)[242] = (void *) &p ## Recti; \
+ (d)[243] = (void *) &p ## Rectiv; \
+ (d)[244] = (void *) &p ## Rects; \
+ (d)[245] = (void *) &p ## Rectsv; \
+ (d)[246] = (void *) &p ## RenderMode; \
+ (d)[247] = (void *) &p ## Rotated; \
+ (d)[248] = (void *) &p ## Rotatef; \
+ (d)[249] = (void *) &p ## Scaled; \
+ (d)[250] = (void *) &p ## Scalef; \
+ (d)[251] = (void *) &p ## Scissor; \
+ (d)[252] = (void *) &p ## SelectBuffer; \
+ (d)[253] = (void *) &p ## ShadeModel; \
+ (d)[254] = (void *) &p ## StencilFunc; \
+ (d)[255] = (void *) &p ## StencilMask; \
+ (d)[256] = (void *) &p ## StencilOp; \
+ (d)[257] = (void *) &p ## TexCoord1d; \
+ (d)[258] = (void *) &p ## TexCoord1dv; \
+ (d)[259] = (void *) &p ## TexCoord1f; \
+ (d)[260] = (void *) &p ## TexCoord1fv; \
+ (d)[261] = (void *) &p ## TexCoord1i; \
+ (d)[262] = (void *) &p ## TexCoord1iv; \
+ (d)[263] = (void *) &p ## TexCoord1s; \
+ (d)[264] = (void *) &p ## TexCoord1sv; \
+ (d)[265] = (void *) &p ## TexCoord2d; \
+ (d)[266] = (void *) &p ## TexCoord2dv; \
+ (d)[267] = (void *) &p ## TexCoord2f; \
+ (d)[268] = (void *) &p ## TexCoord2fv; \
+ (d)[269] = (void *) &p ## TexCoord2i; \
+ (d)[270] = (void *) &p ## TexCoord2iv; \
+ (d)[271] = (void *) &p ## TexCoord2s; \
+ (d)[272] = (void *) &p ## TexCoord2sv; \
+ (d)[273] = (void *) &p ## TexCoord3d; \
+ (d)[274] = (void *) &p ## TexCoord3dv; \
+ (d)[275] = (void *) &p ## TexCoord3f; \
+ (d)[276] = (void *) &p ## TexCoord3fv; \
+ (d)[277] = (void *) &p ## TexCoord3i; \
+ (d)[278] = (void *) &p ## TexCoord3iv; \
+ (d)[279] = (void *) &p ## TexCoord3s; \
+ (d)[280] = (void *) &p ## TexCoord3sv; \
+ (d)[281] = (void *) &p ## TexCoord4d; \
+ (d)[282] = (void *) &p ## TexCoord4dv; \
+ (d)[283] = (void *) &p ## TexCoord4f; \
+ (d)[284] = (void *) &p ## TexCoord4fv; \
+ (d)[285] = (void *) &p ## TexCoord4i; \
+ (d)[286] = (void *) &p ## TexCoord4iv; \
+ (d)[287] = (void *) &p ## TexCoord4s; \
+ (d)[288] = (void *) &p ## TexCoord4sv; \
+ (d)[289] = (void *) &p ## TexCoordPointer; \
+ (d)[290] = (void *) &p ## TexEnvf; \
+ (d)[291] = (void *) &p ## TexEnvfv; \
+ (d)[292] = (void *) &p ## TexEnvi; \
+ (d)[293] = (void *) &p ## TexEnviv; \
+ (d)[294] = (void *) &p ## TexGend; \
+ (d)[295] = (void *) &p ## TexGendv; \
+ (d)[296] = (void *) &p ## TexGenf; \
+ (d)[297] = (void *) &p ## TexGenfv; \
+ (d)[298] = (void *) &p ## TexGeni; \
+ (d)[299] = (void *) &p ## TexGeniv; \
+ (d)[300] = (void *) &p ## TexImage1D; \
+ (d)[301] = (void *) &p ## TexImage2D; \
+ (d)[302] = (void *) &p ## TexParameterf; \
+ (d)[303] = (void *) &p ## TexParameterfv; \
+ (d)[304] = (void *) &p ## TexParameteri; \
+ (d)[305] = (void *) &p ## TexParameteriv; \
+ (d)[306] = (void *) &p ## TexSubImage1D; \
+ (d)[307] = (void *) &p ## TexSubImage2D; \
+ (d)[308] = (void *) &p ## Translated; \
+ (d)[309] = (void *) &p ## Translatef; \
+ (d)[310] = (void *) &p ## Vertex2d; \
+ (d)[311] = (void *) &p ## Vertex2dv; \
+ (d)[312] = (void *) &p ## Vertex2f; \
+ (d)[313] = (void *) &p ## Vertex2fv; \
+ (d)[314] = (void *) &p ## Vertex2i; \
+ (d)[315] = (void *) &p ## Vertex2iv; \
+ (d)[316] = (void *) &p ## Vertex2s; \
+ (d)[317] = (void *) &p ## Vertex2sv; \
+ (d)[318] = (void *) &p ## Vertex3d; \
+ (d)[319] = (void *) &p ## Vertex3dv; \
+ (d)[320] = (void *) &p ## Vertex3f; \
+ (d)[321] = (void *) &p ## Vertex3fv; \
+ (d)[322] = (void *) &p ## Vertex3i; \
+ (d)[323] = (void *) &p ## Vertex3iv; \
+ (d)[324] = (void *) &p ## Vertex3s; \
+ (d)[325] = (void *) &p ## Vertex3sv; \
+ (d)[326] = (void *) &p ## Vertex4d; \
+ (d)[327] = (void *) &p ## Vertex4dv; \
+ (d)[328] = (void *) &p ## Vertex4f; \
+ (d)[329] = (void *) &p ## Vertex4fv; \
+ (d)[330] = (void *) &p ## Vertex4i; \
+ (d)[331] = (void *) &p ## Vertex4iv; \
+ (d)[332] = (void *) &p ## Vertex4s; \
+ (d)[333] = (void *) &p ## Vertex4sv; \
+ (d)[334] = (void *) &p ## VertexPointer; \
+ (d)[335] = (void *) &p ## Viewport; \
+ (d)[336] = (void *) &p ## BlendFuncSeparateEXT; \
+ (d)[337] = (void *) &p ## BlendColor; \
+ (d)[338] = (void *) &p ## BlendEquation; \
+ (d)[339] = (void *) &p ## LockArraysEXT; \
+ (d)[340] = (void *) &p ## UnlockArraysEXT; \
+ (d)[341] = (void *) &p ## ClientActiveTextureARB; \
+ (d)[342] = (void *) &p ## ActiveTextureARB; \
+ (d)[343] = (void *) &p ## MultiTexCoord1dARB; \
+ (d)[344] = (void *) &p ## MultiTexCoord1dvARB; \
+ (d)[345] = (void *) &p ## MultiTexCoord1fARB; \
+ (d)[346] = (void *) &p ## MultiTexCoord1fvARB; \
+ (d)[347] = (void *) &p ## MultiTexCoord1iARB; \
+ (d)[348] = (void *) &p ## MultiTexCoord1ivARB; \
+ (d)[349] = (void *) &p ## MultiTexCoord1sARB; \
+ (d)[350] = (void *) &p ## MultiTexCoord1svARB; \
+ (d)[351] = (void *) &p ## MultiTexCoord2dARB; \
+ (d)[352] = (void *) &p ## MultiTexCoord2dvARB; \
+ (d)[353] = (void *) &p ## MultiTexCoord2fARB; \
+ (d)[354] = (void *) &p ## MultiTexCoord2fvARB; \
+ (d)[355] = (void *) &p ## MultiTexCoord2iARB; \
+ (d)[356] = (void *) &p ## MultiTexCoord2ivARB; \
+ (d)[357] = (void *) &p ## MultiTexCoord2sARB; \
+ (d)[358] = (void *) &p ## MultiTexCoord2svARB; \
+ (d)[359] = (void *) &p ## MultiTexCoord3dARB; \
+ (d)[360] = (void *) &p ## MultiTexCoord3dvARB; \
+ (d)[361] = (void *) &p ## MultiTexCoord3fARB; \
+ (d)[362] = (void *) &p ## MultiTexCoord3fvARB; \
+ (d)[363] = (void *) &p ## MultiTexCoord3iARB; \
+ (d)[364] = (void *) &p ## MultiTexCoord3ivARB; \
+ (d)[365] = (void *) &p ## MultiTexCoord3sARB; \
+ (d)[366] = (void *) &p ## MultiTexCoord3svARB; \
+ (d)[367] = (void *) &p ## MultiTexCoord4dARB; \
+ (d)[368] = (void *) &p ## MultiTexCoord4dvARB; \
+ (d)[369] = (void *) &p ## MultiTexCoord4fARB; \
+ (d)[370] = (void *) &p ## MultiTexCoord4fvARB; \
+ (d)[371] = (void *) &p ## MultiTexCoord4iARB; \
+ (d)[372] = (void *) &p ## MultiTexCoord4ivARB; \
+ (d)[373] = (void *) &p ## MultiTexCoord4sARB; \
+ (d)[374] = (void *) &p ## MultiTexCoord4svARB; \
+ (d)[375] = (void *) &p ## LoadTransposeMatrixdARB; \
+ (d)[376] = (void *) &p ## LoadTransposeMatrixfARB; \
+ (d)[377] = (void *) &p ## MultTransposeMatrixdARB; \
+ (d)[378] = (void *) &p ## MultTransposeMatrixfARB; \
+ (d)[379] = (void *) &p ## CompressedTexImage3DARB; \
+ (d)[380] = (void *) &p ## CompressedTexImage2DARB; \
+ (d)[381] = (void *) &p ## CompressedTexImage1DARB; \
+ (d)[382] = (void *) &p ## CompressedTexSubImage3DARB; \
+ (d)[383] = (void *) &p ## CompressedTexSubImage2DARB; \
+ (d)[384] = (void *) &p ## CompressedTexSubImage1DARB; \
+ (d)[385] = (void *) &p ## GetCompressedTexImageARB; \
+ (d)[386] = (void *) &p ## SecondaryColor3bEXT; \
+ (d)[387] = (void *) &p ## SecondaryColor3bvEXT; \
+ (d)[388] = (void *) &p ## SecondaryColor3dEXT; \
+ (d)[389] = (void *) &p ## SecondaryColor3dvEXT; \
+ (d)[390] = (void *) &p ## SecondaryColor3fEXT; \
+ (d)[391] = (void *) &p ## SecondaryColor3fvEXT; \
+ (d)[392] = (void *) &p ## SecondaryColor3iEXT; \
+ (d)[393] = (void *) &p ## SecondaryColor3ivEXT; \
+ (d)[394] = (void *) &p ## SecondaryColor3sEXT; \
+ (d)[395] = (void *) &p ## SecondaryColor3svEXT; \
+ (d)[396] = (void *) &p ## SecondaryColor3ubEXT; \
+ (d)[397] = (void *) &p ## SecondaryColor3ubvEXT; \
+ (d)[398] = (void *) &p ## SecondaryColor3uiEXT; \
+ (d)[399] = (void *) &p ## SecondaryColor3uivEXT; \
+ (d)[400] = (void *) &p ## SecondaryColor3usEXT; \
+ (d)[401] = (void *) &p ## SecondaryColor3usvEXT; \
+ (d)[402] = (void *) &p ## SecondaryColorPointerEXT; \
+ (d)[403] = (void *) &p ## VertexArrayRangeNV; \
+ (d)[405] = (void *) &p ## DrawRangeElements; \
+ (d)[406] = (void *) &p ## ColorTable; \
+ (d)[407] = (void *) &p ## ColorTableParameterfv; \
+ (d)[408] = (void *) &p ## ColorTableParameteriv; \
+ (d)[409] = (void *) &p ## CopyColorTable; \
+ (d)[410] = (void *) &p ## GetColorTable; \
+ (d)[411] = (void *) &p ## GetColorTableParameterfv; \
+ (d)[412] = (void *) &p ## GetColorTableParameteriv; \
+ (d)[413] = (void *) &p ## ColorSubTable; \
+ (d)[414] = (void *) &p ## CopyColorSubTable; \
+ (d)[415] = (void *) &p ## ConvolutionFilter1D; \
+ (d)[416] = (void *) &p ## ConvolutionFilter2D; \
+ (d)[417] = (void *) &p ## ConvolutionParameterf; \
+ (d)[418] = (void *) &p ## ConvolutionParameterfv; \
+ (d)[419] = (void *) &p ## ConvolutionParameteri; \
+ (d)[420] = (void *) &p ## ConvolutionParameteriv; \
+ (d)[421] = (void *) &p ## CopyConvolutionFilter1D; \
+ (d)[422] = (void *) &p ## CopyConvolutionFilter2D; \
+ (d)[423] = (void *) &p ## GetConvolutionFilter; \
+ (d)[424] = (void *) &p ## GetConvolutionParameterfv; \
+ (d)[425] = (void *) &p ## GetConvolutionParameteriv; \
+ (d)[426] = (void *) &p ## GetSeparableFilter; \
+ (d)[427] = (void *) &p ## SeparableFilter2D; \
+ (d)[428] = (void *) &p ## GetHistogram; \
+ (d)[429] = (void *) &p ## GetHistogramParameterfv; \
+ (d)[430] = (void *) &p ## GetHistogramParameteriv; \
+ (d)[431] = (void *) &p ## GetMinmax; \
+ (d)[432] = (void *) &p ## GetMinmaxParameterfv; \
+ (d)[433] = (void *) &p ## GetMinmaxParameteriv; \
+ (d)[434] = (void *) &p ## Histogram; \
+ (d)[435] = (void *) &p ## Minmax; \
+ (d)[436] = (void *) &p ## ResetHistogram; \
+ (d)[437] = (void *) &p ## ResetMinmax; \
+ (d)[438] = (void *) &p ## TexImage3D; \
+ (d)[439] = (void *) &p ## TexSubImage3D; \
+ (d)[440] = (void *) &p ## CopyTexSubImage3D; \
+ (d)[441] = (void *) &p ## CombinerParameterfvNV; \
+ (d)[442] = (void *) &p ## CombinerParameterfNV; \
+ (d)[443] = (void *) &p ## CombinerParameterivNV; \
+ (d)[444] = (void *) &p ## CombinerParameteriNV; \
+ (d)[445] = (void *) &p ## CombinerInputNV; \
+ (d)[446] = (void *) &p ## CombinerOutputNV; \
+ (d)[447] = (void *) &p ## FinalCombinerInputNV; \
+ (d)[448] = (void *) &p ## GetCombinerInputParameterfvNV; \
+ (d)[449] = (void *) &p ## GetCombinerInputParameterivNV; \
+ (d)[450] = (void *) &p ## GetCombinerOutputParameterfvNV; \
+ (d)[451] = (void *) &p ## GetCombinerOutputParameterivNV; \
+ (d)[452] = (void *) &p ## GetFinalCombinerInputParameterfvNV; \
+ (d)[453] = (void *) &p ## GetFinalCombinerInputParameterivNV; \
+ (d)[458] = (void *) &p ## BlendEquationSeparateEXT; \
+ (d)[459] = (void *) &p ## SampleCoverageARB; \
+ (d)[471] = (void *) &p ## BindProgramNV; \
+ (d)[472] = (void *) &p ## DeleteProgramsNV; \
+ (d)[473] = (void *) &p ## GenProgramsNV; \
+ (d)[474] = (void *) &p ## IsProgramNV; \
+ (d)[475] = (void *) &p ## VertexAttrib1sNV; \
+ (d)[476] = (void *) &p ## VertexAttrib1fNV; \
+ (d)[477] = (void *) &p ## VertexAttrib1dNV; \
+ (d)[478] = (void *) &p ## VertexAttrib2sNV; \
+ (d)[479] = (void *) &p ## VertexAttrib2fNV; \
+ (d)[480] = (void *) &p ## VertexAttrib2dNV; \
+ (d)[481] = (void *) &p ## VertexAttrib3sNV; \
+ (d)[482] = (void *) &p ## VertexAttrib3fNV; \
+ (d)[483] = (void *) &p ## VertexAttrib3dNV; \
+ (d)[484] = (void *) &p ## VertexAttrib4sNV; \
+ (d)[485] = (void *) &p ## VertexAttrib4fNV; \
+ (d)[486] = (void *) &p ## VertexAttrib4dNV; \
+ (d)[487] = (void *) &p ## VertexAttrib4ubNV; \
+ (d)[488] = (void *) &p ## VertexAttrib1svNV; \
+ (d)[489] = (void *) &p ## VertexAttrib1fvNV; \
+ (d)[490] = (void *) &p ## VertexAttrib1dvNV; \
+ (d)[491] = (void *) &p ## VertexAttrib2svNV; \
+ (d)[492] = (void *) &p ## VertexAttrib2fvNV; \
+ (d)[493] = (void *) &p ## VertexAttrib2dvNV; \
+ (d)[494] = (void *) &p ## VertexAttrib3svNV; \
+ (d)[495] = (void *) &p ## VertexAttrib3fvNV; \
+ (d)[496] = (void *) &p ## VertexAttrib3dvNV; \
+ (d)[497] = (void *) &p ## VertexAttrib4bvARB; \
+ (d)[498] = (void *) &p ## VertexAttrib4svNV; \
+ (d)[498] = (void *) &p ## VertexAttrib4NsvARB; \
+ (d)[499] = (void *) &p ## VertexAttrib4ivARB; \
+ (d)[500] = (void *) &p ## VertexAttrib4ubvNV; \
+ (d)[500] = (void *) &p ## VertexAttrib4ubvARB; \
+ (d)[501] = (void *) &p ## VertexAttrib4usvARB; \
+ (d)[502] = (void *) &p ## VertexAttrib4uivARB; \
+ (d)[503] = (void *) &p ## VertexAttrib4fvNV; \
+ (d)[504] = (void *) &p ## VertexAttrib4dvNV; \
+ (d)[505] = (void *) &p ## VertexAttrib4NbvARB; \
+ (d)[507] = (void *) &p ## VertexAttrib4NivARB; \
+ (d)[509] = (void *) &p ## VertexAttrib4NusvARB; \
+ (d)[510] = (void *) &p ## VertexAttrib4NuivARB; \
+ (d)[511] = (void *) &p ## VertexAttribPointerARB; \
+ (d)[512] = (void *) &p ## EnableVertexAttribArrayARB; \
+ (d)[513] = (void *) &p ## DisableVertexAttribArrayARB; \
+ (d)[514] = (void *) &p ## GetVertexAttribdvNV; \
+ (d)[515] = (void *) &p ## GetVertexAttribfvNV; \
+ (d)[516] = (void *) &p ## GetVertexAttribivNV; \
+ (d)[517] = (void *) &p ## GetVertexAttribPointervNV; \
+ (d)[518] = (void *) &p ## ProgramEnvParameter4dARB; \
+ (d)[519] = (void *) &p ## ProgramEnvParameter4dvARB; \
+ (d)[520] = (void *) &p ## ProgramEnvParameter4fARB; \
+ (d)[521] = (void *) &p ## ProgramEnvParameter4fvARB; \
+ (d)[522] = (void *) &p ## ProgramLocalParameter4dARB; \
+ (d)[523] = (void *) &p ## ProgramLocalParameter4dvARB; \
+ (d)[524] = (void *) &p ## ProgramLocalParameter4fARB; \
+ (d)[525] = (void *) &p ## ProgramLocalParameter4fvARB; \
+ (d)[526] = (void *) &p ## GetProgramEnvParameterdvARB; \
+ (d)[527] = (void *) &p ## GetProgramEnvParameterfvARB; \
+ (d)[528] = (void *) &p ## GetProgramLocalParameterdvARB; \
+ (d)[529] = (void *) &p ## GetProgramLocalParameterfvARB; \
+ (d)[530] = (void *) &p ## ProgramStringARB; \
+ (d)[531] = (void *) &p ## GetProgramStringARB; \
+ (d)[532] = (void *) &p ## GetProgramivARB; \
+ (d)[540] = (void *) &p ## PointParameterfEXT; \
+ (d)[541] = (void *) &p ## PointParameterfvEXT; \
+ (d)[542] = (void *) &p ## PointParameteriNV; \
+ (d)[543] = (void *) &p ## PointParameterivNV; \
+ (d)[544] = (void *) &p ## FogCoordfEXT; \
+ (d)[545] = (void *) &p ## FogCoordfvEXT; \
+ (d)[546] = (void *) &p ## FogCoorddEXT; \
+ (d)[547] = (void *) &p ## FogCoorddvEXT; \
+ (d)[548] = (void *) &p ## FogCoordPointerEXT; \
+ (d)[567] = (void *) &p ## MultiDrawArraysEXT; \
+ (d)[568] = (void *) &p ## MultiDrawElementsEXT; \
+ (d)[569] = (void *) &p ## WindowPos2dMESA; \
+ (d)[570] = (void *) &p ## WindowPos2dvMESA; \
+ (d)[571] = (void *) &p ## WindowPos2fMESA; \
+ (d)[572] = (void *) &p ## WindowPos2fvMESA; \
+ (d)[573] = (void *) &p ## WindowPos2iMESA; \
+ (d)[574] = (void *) &p ## WindowPos2ivMESA; \
+ (d)[575] = (void *) &p ## WindowPos2sMESA; \
+ (d)[576] = (void *) &p ## WindowPos2svMESA; \
+ (d)[577] = (void *) &p ## WindowPos3dMESA; \
+ (d)[578] = (void *) &p ## WindowPos3dvMESA; \
+ (d)[579] = (void *) &p ## WindowPos3fMESA; \
+ (d)[580] = (void *) &p ## WindowPos3fvMESA; \
+ (d)[581] = (void *) &p ## WindowPos3iMESA; \
+ (d)[582] = (void *) &p ## WindowPos3ivMESA; \
+ (d)[583] = (void *) &p ## WindowPos3sMESA; \
+ (d)[584] = (void *) &p ## WindowPos3svMESA; \
+ (d)[585] = (void *) &p ## ActiveStencilFaceEXT; \
+} while (0)
diff --git a/nx-X11/lib/GL/apple/dri_driver.c b/nx-X11/lib/GL/apple/dri_driver.c
new file mode 100644
index 000000000..ce8b0736a
--- /dev/null
+++ b/nx-X11/lib/GL/apple/dri_driver.c
@@ -0,0 +1,1141 @@
+/* $XFree86: xc/lib/GL/apple/dri_driver.c,v 1.2 2003/10/31 02:22:12 torrey Exp $ */
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright (c) 2002 Apple Computer, Inc.
+Copyright (c) 2004 Torrey T. Lyons
+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 PRECISION INSIGHT AND/OR ITS 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.
+
+**************************************************************************/
+
+/*
+ * Original Authors:
+ * Kevin E. Martin <kevin@precisioninsight.com>
+ * Brian E. Paul <brian@precisioninsight.com>
+ */
+
+/*
+ * This file follows Mesa's dri_util.c closely. The code in dri_util.c
+ * gets compiled into each of the DRI 3D drivers. A typical DRI driver,
+ * is loaded dynamically by libGL, so libGL knows nothing about the
+ * internal functions here. On Mac OS X the AppleDRI driver code is
+ * statically linked into libGL, but otherwise it tries to behave like
+ * a standard DRI driver.
+ *
+ * The functions defined here are called from the GL library via function
+ * pointers in the __DRIdisplayRec, __DRIscreenRec, __DRIcontextRec,
+ * __DRIdrawableRec structures defined in glxclient.h. Those function
+ * pointers are initialized by code in this file. The process starts when
+ * libGL calls the __driCreateScreen() function at the end of this file.
+ *
+ * The above-mentioned DRI structures have no dependencies on Mesa.
+ * Each structure instead has a generic (void *) private pointer that
+ * points to a private structure. For Mesa drivers, these private
+ * structures are the __DRIdrawablePrivateRec, __DRIcontextPrivateRec,
+ * __DRIscreenPrivateRec, and __DRIvisualPrivateRec structures defined
+ * in dri_mesaint.h. We allocate and attach those structs here in
+ * this file.
+ */
+
+
+#ifdef GLX_DIRECT_RENDERING
+
+/* These are first to ensure that Apple's GL headers are used. */
+#include <OpenGL/OpenGL.h>
+#include <OpenGL/CGLContext.h>
+
+#include <unistd.h>
+#include <X11/Xlibint.h>
+#include <X11/extensions/Xext.h>
+
+#define GLAPIENTRYP *
+#include "extutil.h"
+#include "glxclient.h"
+#include "appledri.h"
+#include "dri_driver.h"
+#include "x-list.h"
+#include "x-hash.h"
+
+/**
+ * This is used in a couple of places that call \c driMesaCreateNewDrawable.
+ */
+static const int empty_attribute_list[1] = { None };
+
+/* Context binding */
+static Bool driMesaBindContext(Display *dpy, int scrn,
+ GLXDrawable draw, GLXContext gc);
+static Bool driMesaUnbindContext(Display *dpy, int scrn,
+ GLXDrawable draw, GLXContext gc,
+ int will_rebind);
+
+/* Drawable methods */
+static void *driMesaCreateNewDrawable(__DRInativeDisplay *dpy,
+ const __GLcontextModes *modes,
+ __DRIid draw, __DRIdrawable *pdraw,
+ int renderType, const int *attrs);
+static __DRIdrawable *driMesaGetDrawable(__DRInativeDisplay *dpy,
+ GLXDrawable draw,
+ void *screenPrivate);
+static void driMesaSwapBuffers(__DRInativeDisplay *dpy, void *drawPrivate);
+static void driMesaDestroyDrawable(__DRInativeDisplay *dpy, void *drawPrivate);
+
+/* Context methods */
+static void *driMesaCreateContext(Display *dpy, XVisualInfo *vis, void *shared,
+ __DRIcontext *pctx);
+static void driMesaDestroyContext(__DRInativeDisplay *dpy, int scrn,
+ void *screenPrivate);
+
+/* Screen methods */
+static void *driMesaCreateScreen(__DRInativeDisplay *dpy, int scrn,
+ __DRIscreen *psc, int numConfigs,
+ __GLXvisualConfig *config);
+static void driMesaDestroyScreen(__DRInativeDisplay *dpy, int scrn,
+ void *screenPrivate);
+
+static void driMesaCreateSurface(Display *dpy, int scrn,
+ __DRIdrawablePrivate *pdp);
+
+static void unwrap_context(__DRIcontextPrivate *pcp);
+static void wrap_context(__DRIcontextPrivate *pcp);
+
+extern const CGLContextObj XAppleDRIGetIndirectContext(void);
+
+/*****************************************************************/
+
+/* Maintain a list of drawables */
+
+static inline Bool
+__driMesaAddDrawable(x_hash_table *drawHash, __DRIdrawable *pdraw)
+{
+ __DRIdrawablePrivate *pdp = (__DRIdrawablePrivate *)pdraw->private;
+
+ assert(drawHash != NULL);
+
+ x_hash_table_insert(drawHash, (void *) pdp->draw, pdraw);
+
+ return GL_TRUE;
+}
+
+static inline __DRIdrawable *
+__driMesaFindDrawable(x_hash_table *drawHash, GLXDrawable draw)
+{
+ if (drawHash == NULL)
+ return NULL;
+
+ return x_hash_table_lookup(drawHash, (void *) draw, NULL);
+}
+
+struct find_by_uid_closure {
+ unsigned int uid;
+ __DRIdrawable *ret;
+};
+
+static void
+find_by_uid_cb(void *k, void *v, void *data)
+{
+ __DRIdrawable *pdraw = v;
+ __DRIdrawablePrivate *pdp = (__DRIdrawablePrivate *)pdraw->private;
+ struct find_by_uid_closure *c = data;
+
+ if (pdp->uid == c->uid)
+ c->ret = pdraw;
+}
+
+static __DRIdrawable *
+__driMesaFindDrawableByUID(x_hash_table *drawHash, unsigned int uid)
+{
+ struct find_by_uid_closure c;
+
+ c.uid = uid;
+ c.ret = NULL;
+ x_hash_table_foreach(drawHash, find_by_uid_cb, &c);
+
+ return c.ret;
+}
+
+static inline void
+__driMesaRemoveDrawable(x_hash_table *drawHash, __DRIdrawable *pdraw)
+{
+ __DRIdrawablePrivate *pdp = (__DRIdrawablePrivate *)pdraw->private;
+
+ if (drawHash == NULL)
+ return;
+
+ x_hash_table_remove(drawHash, (void *) pdp->draw);
+}
+
+static Bool __driMesaWindowExistsFlag;
+
+static int __driMesaWindowExistsErrorHandler(Display *dpy, XErrorEvent *xerr)
+{
+ if (xerr->error_code == BadWindow) {
+ __driMesaWindowExistsFlag = GL_FALSE;
+ }
+ return 0;
+}
+
+static Bool __driMesaWindowExists(Display *dpy, GLXDrawable draw)
+{
+ XWindowAttributes xwa;
+ int (*oldXErrorHandler)(Display *, XErrorEvent *);
+
+ __driMesaWindowExistsFlag = GL_TRUE;
+ oldXErrorHandler = XSetErrorHandler(__driMesaWindowExistsErrorHandler);
+ XGetWindowAttributes(dpy, draw, &xwa); /* dummy request */
+ XSetErrorHandler(oldXErrorHandler);
+ return __driMesaWindowExistsFlag;
+}
+
+static void __driMesaCollectCallback(void *k, void *v, void *data)
+{
+ GLXDrawable draw = (GLXDrawable) k;
+ __DRIdrawable *pdraw = v;
+ x_list **todelete = data;
+
+ __DRIdrawablePrivate *pdp = (__DRIdrawablePrivate *)pdraw->private;
+ Display *dpy;
+
+ dpy = pdp->driScreenPriv->display;
+ XSync(dpy, GL_FALSE);
+ if (!pdp->destroyed && !__driMesaWindowExists(dpy, draw)) {
+ /* Destroy the local drawable data in the hash table, if the
+ drawable no longer exists in the Xserver */
+ pdp->destroyed = TRUE;
+ *todelete = x_list_prepend(*todelete, pdraw);
+ }
+}
+
+/* pdp->mutex is held. */
+static void __driMesaGarbageCollectDrawables(void *drawHash)
+{
+ __DRIdrawable *pdraw;
+ __DRIdrawablePrivate *pdp;
+ Display *dpy;
+ x_list *todelete = NULL, *node;
+
+ x_hash_table_foreach(drawHash, __driMesaCollectCallback, &todelete);
+
+ for (node = todelete; node != NULL; node = node->next)
+ {
+ pdraw = node->data;
+ pdp = (__DRIdrawablePrivate *)pdraw->private;
+ dpy = pdp->driScreenPriv->display;
+
+ /* Destroy the local drawable data in the hash table, if the
+ drawable no longer exists in the Xserver */
+
+ __driMesaRemoveDrawable(drawHash, pdraw);
+ (*pdraw->destroyDrawable)(dpy, pdraw->private);
+ Xfree(pdraw);
+ }
+
+ x_list_free(todelete);
+}
+
+/*****************************************************************/
+
+/* returns with psp->mutex locked if successful. */
+static Bool
+driMesaFindDrawableByUID(Display *dpy,unsigned int uid,
+ __DRIscreenPrivate **psp_ret,
+ __DRIdrawablePrivate **pdp_ret)
+{
+ __DRIscreen *pDRIScreen;
+ __DRIscreenPrivate *psp;
+ __DRIdrawable *pdraw;
+ int scrn;
+
+ for (scrn = 0; scrn < ScreenCount(dpy); scrn++)
+ {
+ if (!(pDRIScreen = __glXFindDRIScreen(dpy, scrn))) {
+ /* ERROR!!! */
+ return FALSE;
+ } else if (!(psp = (__DRIscreenPrivate *)pDRIScreen->private)) {
+ /* ERROR!!! */
+ return FALSE;
+ }
+
+ xmutex_lock(psp->mutex);
+
+ pdraw = __driMesaFindDrawableByUID(psp->drawHash, uid);
+ if (pdraw != NULL) {
+ *psp_ret = psp;
+ *pdp_ret = pdraw->private;
+ return TRUE;
+ };
+
+ xmutex_unlock(psp->mutex);
+ }
+
+ return FALSE;
+}
+
+static void
+unbind_context(__DRIcontextPrivate *pcp)
+{
+ /* Unbind the context from its old drawable. */
+
+ if (pcp->driDrawablePriv != NULL)
+ {
+ if (pcp->next != NULL)
+ pcp->next->prev = pcp->prev;
+ if (pcp->prev != NULL)
+ pcp->prev->next = pcp->next;
+
+ if (pcp->driDrawablePriv->driContextPriv == pcp)
+ pcp->driDrawablePriv->driContextPriv = pcp->next;
+
+ pcp->driDrawablePriv = NULL;
+ pcp->prev = pcp->next = NULL;
+ }
+
+ if (pcp->surface_id != 0)
+ {
+ pcp->surface_id = 0;
+ pcp->pending_clear = TRUE;
+ }
+}
+
+static void
+unbind_drawable(__DRIdrawablePrivate *pdp)
+{
+ __DRIcontextPrivate *pcp, *next;
+
+ for (pcp = pdp->driContextPriv; pcp != NULL; pcp = next)
+ {
+ next = pcp->next;
+ unbind_context(pcp);
+ }
+}
+
+static void
+update_context(__DRIcontextPrivate *pcp)
+{
+ if (pcp->pending_clear)
+ {
+ CGLClearDrawable(pcp->ctx);
+ pcp->pending_clear = FALSE;
+ }
+
+ if (pcp->pending_update && pcp->surface_id != 0)
+ {
+ xp_update_gl_context(pcp->ctx);
+ pcp->pending_update = FALSE;
+ }
+}
+
+static Bool driMesaUnbindContext(Display *dpy, int scrn,
+ GLXDrawable draw, GLXContext gc,
+ int will_rebind)
+{
+ __DRIscreen *pDRIScreen;
+// __DRIdrawable *pdraw;
+ __DRIcontextPrivate *pcp;
+ __DRIscreenPrivate *psp;
+ __DRIdrawablePrivate *pdp;
+
+ /*
+ ** Assume error checking is done properly in glXMakeCurrent before
+ ** calling driMesaUnbindContext.
+ */
+
+ if (gc == NULL || draw == None) {
+ /* ERROR!!! */
+ return GL_FALSE;
+ }
+
+ if (!(pDRIScreen = __glXFindDRIScreen(dpy, scrn))) {
+ /* ERROR!!! */
+ return GL_FALSE;
+ } else if (!(psp = (__DRIscreenPrivate *)pDRIScreen->private)) {
+ /* ERROR!!! */
+ return GL_FALSE;
+ }
+
+ xmutex_lock(psp->mutex);
+
+ pcp = (__DRIcontextPrivate *)gc->driContext.private;
+
+ pdp = pcp->driDrawablePriv;
+ if (pdp == NULL) {
+ /* ERROR!!! */
+ xmutex_unlock(psp->mutex);
+ return GL_FALSE;
+ }
+
+ /* Put this thread back into normal (indirect) dispatch mode. */
+ CGLSetCurrentContext(XAppleDRIGetIndirectContext());
+ pcp->thread_id = 0;
+
+ /* Lazily unbind the drawable from the context */
+ unbind_context(pcp);
+
+ if (pdp->refcount == 0) {
+ /* ERROR!!! */
+ xmutex_unlock(psp->mutex);
+ return GL_FALSE;
+ } else if (--pdp->refcount == 0) {
+#if 0
+ /*
+ ** NOT_DONE: When a drawable is unbound from one direct
+ ** rendering context and then bound to another, we do not want
+ ** to destroy the drawable data structure each time only to
+ ** recreate it immediatly afterwards when binding to the next
+ ** context. This also causes conflicts with caching of the
+ ** drawable stamp.
+ **
+ ** In addition, we don't destroy the drawable here since Mesa
+ ** keeps private data internally (e.g., software accumulation
+ ** buffers) that should not be destroyed unless the client
+ ** explicitly requests that the window be destroyed.
+ **
+ ** When GLX 1.3 is integrated, the create and destroy drawable
+ ** functions will have user level counterparts and the memory
+ ** will be able to be recovered.
+ **
+ ** Below is an example of what needs to go into the destroy
+ ** drawable routine to support GLX 1.3.
+ */
+ __driMesaRemoveDrawable(psp->drawHash, pdraw);
+ (*pdraw->destroyDrawable)(dpy, pdraw->private);
+ Xfree(pdraw);
+#endif
+ }
+
+ xmutex_unlock(psp->mutex);
+ return GL_TRUE;
+}
+
+static Bool driMesaBindContext(Display *dpy, int scrn,
+ GLXDrawable draw, GLXContext gc)
+{
+ __DRIscreen *pDRIScreen;
+ const __GLcontextModes *modes;
+ __DRIdrawable *pdraw;
+ __DRIdrawablePrivate *pdp;
+ __DRIscreenPrivate *psp;
+ __DRIcontextPrivate *pcp;
+
+ /*
+ ** Assume error checking is done properly in glXMakeCurrent before
+ ** calling driMesaBindContext.
+ */
+
+ if (gc == NULL || draw == None) {
+ /* ERROR!!! */
+ return GL_FALSE;
+ }
+
+ if (!(pDRIScreen = __glXFindDRIScreen(dpy, scrn))) {
+ /* ERROR!!! */
+ return GL_FALSE;
+ } else if (!(psp = (__DRIscreenPrivate *)pDRIScreen->private)) {
+ /* ERROR!!! */
+ return GL_FALSE;
+ }
+
+ modes = gc->driContext.mode;
+
+ if ( modes == NULL ) {
+ /* ERROR!!! */
+ return GL_FALSE;
+ }
+
+ xmutex_lock(psp->mutex);
+
+ pdraw = __driMesaFindDrawable(psp->drawHash, draw);
+ if (!pdraw) {
+ /* Allocate a new drawable */
+ pdraw = (__DRIdrawable *)Xmalloc(sizeof(__DRIdrawable));
+ if (!pdraw) {
+ /* ERROR!!! */
+ xmutex_unlock(psp->mutex);
+ return GL_FALSE;
+ }
+
+ /* Create a new drawable */
+ pdraw->private = driMesaCreateNewDrawable(dpy, modes, draw, pdraw,
+ GLX_WINDOW_BIT,
+ empty_attribute_list);
+ if (!pdraw->private) {
+ /* ERROR!!! */
+ Xfree(pdraw);
+ xmutex_unlock(psp->mutex);
+ return GL_FALSE;
+ }
+
+ /* Add pdraw to drawable list */
+ if (!__driMesaAddDrawable(psp->drawHash, pdraw)) {
+ /* ERROR!!! */
+ (*pdraw->destroyDrawable)(dpy, pdraw->private);
+ Xfree(pdraw);
+ xmutex_unlock(psp->mutex);
+ return GL_FALSE;
+ }
+ }
+
+ pdp = (__DRIdrawablePrivate *)pdraw->private;
+ pcp = (__DRIcontextPrivate *)gc->driContext.private;
+
+ if (pdp->surface_id == 0)
+ {
+ /* Surface got destroyed. Try to create a new one. */
+
+ driMesaCreateSurface(dpy, scrn, pdp);
+ }
+
+ unbind_context(pcp);
+
+ /* Bind the drawable to the context */
+ pcp->driDrawablePriv = pdp;
+ pcp->prev = NULL;
+ pcp->next = pdp->driContextPriv;
+ pdp->driContextPriv = pcp;
+ pdp->refcount++;
+
+ /* And the physical surface to the physical context */
+ if (pcp->surface_id != pdp->surface_id)
+ {
+ pcp->surface_id = 0;
+
+ /* Attaching the drawable sets the default viewport. But we don't
+ want to catch that call to glViewport in our wrappers. */
+ unwrap_context(pcp);
+
+ if (pdp->surface_id == 0)
+ CGLClearDrawable(pcp->ctx);
+ else if (xp_attach_gl_context(pcp->ctx, pdp->surface_id) == Success)
+ pcp->surface_id = pdp->surface_id;
+ else
+ fprintf(stderr, "failed to bind to surface\n");
+
+ wrap_context(pcp);
+
+ pcp->pending_clear = FALSE;
+ pcp->pending_update = FALSE;
+ }
+ else if (pcp->pending_clear)
+ {
+ CGLClearDrawable(pcp->ctx);
+ pcp->pending_clear = FALSE;
+ }
+
+ /* Activate the CGL context and remember which thread it's current for. */
+ CGLSetCurrentContext(pcp->ctx);
+ pcp->thread_id = xthread_self();
+
+ xmutex_unlock(psp->mutex);
+ return GL_TRUE;
+}
+
+/*****************************************************************/
+
+static xp_client_id
+get_client_id(void)
+{
+ static xp_client_id id;
+
+ if (id == 0)
+ {
+ if (xp_init(XP_IN_BACKGROUND) != Success
+ || xp_get_client_id(&id) != Success)
+ {
+ return 0;
+ }
+ }
+
+ return id;
+}
+
+static void driMesaCreateSurface(Display *dpy, int scrn,
+ __DRIdrawablePrivate *pdp)
+{
+ xp_client_id client_id;
+ unsigned int key[2];
+
+ pdp->surface_id = 0;
+ pdp->uid = 0;
+
+ client_id = get_client_id();
+ if (client_id == 0)
+ return;
+
+ if (XAppleDRICreateSurface(dpy, scrn, pdp->draw,
+ client_id, key, &pdp->uid))
+ {
+ xp_import_surface(key, &pdp->surface_id);
+ }
+}
+
+/**
+ * This is called via __DRIscreenRec's createNewDrawable pointer.
+ */
+static void *driMesaCreateNewDrawable(__DRInativeDisplay *dpy,
+ const __GLcontextModes *modes,
+ __DRIid draw,
+ __DRIdrawable *pdraw,
+ int renderType,
+ const int *attrs)
+{
+ __DRIscreen * const pDRIScreen = __glXFindDRIScreen(dpy, modes->screen);
+ __DRIscreenPrivate *psp;
+ __DRIdrawablePrivate *pdp;
+
+
+ pdraw->private = NULL;
+
+ /* Since pbuffers are not yet supported, no drawable attributes are
+ * supported either.
+ */
+ (void) attrs;
+
+ if ( (pDRIScreen == NULL) || (pDRIScreen->private == NULL) ) {
+ return NULL;
+ }
+
+ pdp = (__DRIdrawablePrivate *)Xmalloc(sizeof(__DRIdrawablePrivate));
+ if (!pdp) {
+ return NULL;
+ }
+
+ pdp->draw = draw;
+ pdp->refcount = 0;
+ pdp->surface_id = 0;
+ pdp->uid = 0;
+ pdp->destroyed = FALSE;
+
+ psp = (__DRIscreenPrivate *)pDRIScreen->private;
+ pdp->driScreenPriv = psp;
+ pdp->driContextPriv = NULL;
+
+ driMesaCreateSurface(dpy, modes->screen, pdp);
+ if (pdp->surface_id == 0) {
+ Xfree(pdp);
+ return NULL;
+ }
+
+ pdraw->private = pdp;
+ pdraw->destroyDrawable = driMesaDestroyDrawable;
+ pdraw->swapBuffers = driMesaSwapBuffers; /* called by glXSwapBuffers() */
+
+#if 0
+ /* We don't support these yet. */
+ if ( driCompareGLXAPIVersion( 20030317 ) >= 0 ) {
+ pdraw->getSBC = driGetSBC;
+ pdraw->waitForSBC = driWaitForSBC;
+ pdraw->waitForMSC = driWaitForMSC;
+ pdraw->swapBuffersMSC = driSwapBuffersMSC;
+ pdraw->frameTracking = NULL;
+ pdraw->queryFrameTracking = driQueryFrameTracking;
+
+ /* This special default value is replaced with the configured
+ * default value when the drawable is first bound to a direct
+ * rendering context. */
+ pdraw->swap_interval = (unsigned)-1;
+ }
+#endif
+
+ return (void *) pdp;
+}
+
+static __DRIdrawable *driMesaGetDrawable(__DRInativeDisplay *dpy,
+ GLXDrawable draw,
+ void *screenPrivate)
+{
+ __DRIscreenPrivate *psp = (__DRIscreenPrivate *) screenPrivate;
+ __DRIdrawable *dri_draw;
+
+ xmutex_lock(psp->mutex);
+
+ /*
+ ** Make sure this routine returns NULL if the drawable is not bound
+ ** to a direct rendering context!
+ */
+ dri_draw = __driMesaFindDrawable(psp->drawHash, draw);
+
+ xmutex_unlock(psp->mutex);
+ return dri_draw;
+}
+
+static void driMesaSwapBuffers(__DRInativeDisplay *dpy, void *drawPrivate)
+{
+ __DRIdrawablePrivate *pdp = (__DRIdrawablePrivate *) drawPrivate;
+ __DRIcontextPrivate *pcp;
+ xthread_t self = xthread_self();
+ static Bool warned;
+
+ xmutex_lock(pdp->driScreenPriv->mutex);
+
+ /* FIXME: this is sub-optimal, since we may not always find a context
+ bound to the given drawable on this thread. */
+
+ for (pcp = pdp->driContextPriv; pcp != NULL; pcp = pcp->next)
+ {
+ if (pcp->thread_id == self || pcp->thread_id == 0)
+ break;
+ }
+
+ if (pcp != NULL)
+ {
+ CGLFlushDrawable(pcp->ctx);
+ }
+ else
+ {
+ if (!warned) {
+ fprintf(stderr, "glXSwapBuffers: no context for this drawable\n");
+ warned = TRUE;
+ }
+ }
+
+ xmutex_unlock(pdp->driScreenPriv->mutex);
+}
+
+/* pdp->mutex is held. */
+static void driMesaDestroyDrawable(__DRInativeDisplay *dpy, void *drawPrivate)
+{
+ __DRIdrawablePrivate *pdp = (__DRIdrawablePrivate *)drawPrivate;
+
+ if (pdp) {
+ unbind_drawable(pdp);
+ if (pdp->surface_id != 0) {
+ xp_destroy_surface(pdp->surface_id);
+ pdp->surface_id = 0;
+ }
+ if (!pdp->destroyed) {
+ /* don't try to destroy an already destroyed surface. */
+ XAppleDRIDestroySurface(dpy, pdp->driScreenPriv->myNum, pdp->draw);
+ }
+ Xfree(pdp);
+ }
+}
+
+/*****************************************************************/
+
+static CGLPixelFormatObj
+driCreatePixelFormat(Display *dpy, __DRIscreenPrivate *psp,
+ XVisualInfo *visinfo, __GLXvisualConfig *config)
+{
+ int i;
+ CGLPixelFormatAttribute attr[64]; // currently uses max of 30
+ CGLPixelFormatObj result;
+ long n_formats;
+
+ i = 0;
+
+ if (!config->rgba)
+ return NULL;
+
+ if (config->stereo)
+ attr[i++] = kCGLPFAStereo;
+
+ if (config->doubleBuffer)
+ attr[i++] = kCGLPFADoubleBuffer;
+
+ attr[i++] = kCGLPFAColorSize;
+ attr[i++] = config->redSize + config->greenSize + config->blueSize;
+ attr[i++] = kCGLPFAAlphaSize;
+ attr[i++] = 1; /* FIXME: ignoring config->alphaSize which is always 0 */
+
+ if (config->accumRedSize + config->accumGreenSize
+ + config->accumBlueSize + config->accumAlphaSize > 0)
+ {
+ attr[i++] = kCGLPFAAccumSize;
+ attr[i++] = (config->accumRedSize + config->accumGreenSize
+ + config->accumBlueSize + config->accumAlphaSize);
+ }
+
+ if (config->depthSize > 0) {
+ attr[i++] = kCGLPFADepthSize;
+ attr[i++] = config->depthSize;
+ }
+
+ if (config->stencilSize > 0) {
+ attr[i++] = kCGLPFAStencilSize;
+ attr[i++] = config->stencilSize;
+ }
+
+ if (config->auxBuffers > 0) {
+ attr[i++] = kCGLPFAAuxBuffers;
+ attr[i++] = config->auxBuffers;
+ }
+
+ /* FIXME: things we don't handle: color/alpha masks, level,
+ visualrating, transparentFoo */
+
+ attr[i++] = 0;
+
+ result = NULL;
+ CGLChoosePixelFormat(attr, &result, &n_formats);
+
+ return result;
+}
+
+static void *driMesaCreateContext(Display *dpy, XVisualInfo *vis, void *shared,
+ __DRIcontext *pctx)
+{
+ __DRIscreen *pDRIScreen;
+ __DRIcontextPrivate *pcp;
+ __DRIcontextPrivate *pshare = (__DRIcontextPrivate *)shared;
+ __DRIscreenPrivate *psp;
+ int i;
+
+ if (!(pDRIScreen = __glXFindDRIScreen(dpy, vis->screen))) {
+ /* ERROR!!! */
+ return NULL;
+ } else if (!(psp = (__DRIscreenPrivate *)pDRIScreen->private)) {
+ /* ERROR!!! */
+ return NULL;
+ }
+
+ /* Create the hash table */
+ if (!psp->drawHash) {
+ xmutex_lock(psp->mutex);
+ if (!psp->drawHash)
+ psp->drawHash = x_hash_table_new(NULL, NULL, NULL, NULL);
+ xmutex_unlock(psp->mutex);
+ }
+
+ pcp = (__DRIcontextPrivate *)Xmalloc(sizeof(__DRIcontextPrivate));
+ if (!pcp) {
+ return NULL;
+ }
+
+ pcp->display = dpy;
+ pcp->driScreenPriv = psp;
+ pcp->driDrawablePriv = NULL;
+
+ pcp->ctx = NULL;
+ pcp->surface_id = 0;
+
+ pcp->pending_clear = FALSE;
+ pcp->pending_update = FALSE;
+
+ pcp->ctx = NULL;
+ for (i = 0; pcp->ctx == NULL && i < psp->numVisuals; i++) {
+ if (psp->visuals[i].vid == vis->visualid) {
+ CGLCreateContext(psp->visuals[i].pixel_format,
+ pshare ? pshare->ctx : NULL, &pcp->ctx);
+ }
+ }
+
+ if (!pcp->ctx) {
+ Xfree(pcp);
+ return NULL;
+ }
+
+ pctx->destroyContext = driMesaDestroyContext;
+ pctx->bindContext = driMesaBindContext;
+ pctx->unbindContext = driMesaUnbindContext;
+
+ wrap_context(pcp);
+
+ xmutex_lock(psp->mutex);
+ __driMesaGarbageCollectDrawables(pcp->driScreenPriv->drawHash);
+ xmutex_unlock(psp->mutex);
+
+ return pcp;
+}
+
+static void driMesaDestroyContext(__DRInativeDisplay *dpy, int scrn,
+ void *contextPrivate)
+{
+ __DRIcontextPrivate *pcp = (__DRIcontextPrivate *) contextPrivate;
+
+ if (pcp) {
+ xmutex_lock(pcp->driScreenPriv->mutex);
+ unbind_context(pcp);
+ __driMesaGarbageCollectDrawables(pcp->driScreenPriv->drawHash);
+ xmutex_unlock(pcp->driScreenPriv->mutex);
+ CGLDestroyContext(pcp->ctx);
+ Xfree(pcp);
+ }
+}
+
+/*****************************************************************/
+
+static void *driMesaCreateScreen(__DRInativeDisplay *dpy, int scrn,
+ __DRIscreen *psc, int numConfigs,
+ __GLXvisualConfig *config)
+{
+ int directCapable, i, n;
+ __DRIscreenPrivate *psp;
+ XVisualInfo visTmpl, *visinfo;
+
+ if (!XAppleDRIQueryDirectRenderingCapable(dpy, scrn, &directCapable)) {
+ return NULL;
+ }
+
+ if (!directCapable) {
+ return NULL;
+ }
+
+ psp = (__DRIscreenPrivate *)Xmalloc(sizeof(__DRIscreenPrivate));
+ if (!psp) {
+ return NULL;
+ }
+
+ psp->mutex = xmutex_malloc();
+ if (psp->mutex != NULL) {
+ xmutex_init (psp->mutex);
+ xmutex_set_name (psp->mutex, "AppleDRI");
+ }
+ psp->display = dpy;
+ psp->myNum = scrn;
+
+#if 0
+ if (!XAppleDRIAuthConnection(dpy, scrn, magic)) {
+ Xfree(psp);
+ (void)XAppleDRICloseConnection(dpy, scrn);
+ return NULL;
+ }
+#endif
+
+ /*
+ * Allocate space for an array of visual records and initialize them.
+ */
+ psp->visuals = (__DRIvisualPrivate *)Xmalloc(numConfigs *
+ sizeof(__DRIvisualPrivate));
+ if (!psp->visuals) {
+ Xfree(psp);
+ return NULL;
+ }
+
+ visTmpl.screen = scrn;
+ visinfo = XGetVisualInfo(dpy, VisualScreenMask, &visTmpl, &n);
+ if (n != numConfigs) {
+ Xfree(psp);
+ return NULL;
+ }
+
+ psp->numVisuals = 0;
+ for (i = 0; i < numConfigs; i++, config++) {
+ psp->visuals[psp->numVisuals].vid = visinfo[i].visualid;
+ psp->visuals[psp->numVisuals].pixel_format =
+ driCreatePixelFormat(dpy, psp, &visinfo[i], config);
+ if (psp->visuals[psp->numVisuals].pixel_format != NULL) {
+ psp->numVisuals++;
+ }
+ }
+
+ XFree(visinfo);
+
+ if (psp->numVisuals == 0) {
+ /* Couldn't create any pixel formats. */
+ Xfree(psp->visuals);
+ Xfree(psp);
+ return NULL;
+ }
+
+ /* Initialize the drawHash when the first context is created */
+ psp->drawHash = NULL;
+
+ psc->destroyScreen = driMesaDestroyScreen;
+ psc->createContext = driMesaCreateContext;
+ psc->createNewDrawable = driMesaCreateNewDrawable;
+ psc->getDrawable = driMesaGetDrawable;
+
+ return (void *)psp;
+}
+
+static void driMesaDestroyScreen(__DRInativeDisplay *dpy, int scrn,
+ void *screenPrivate)
+{
+ __DRIscreenPrivate *psp = (__DRIscreenPrivate *) screenPrivate;
+
+ if (psp) {
+ //FIXME resetDriver ?
+ Xfree(psp->visuals);
+ Xfree(psp);
+ }
+}
+
+/* Note: definitely can't make any X protocol requests here. */
+static void driAppleSurfaceNotify(Display *dpy, unsigned int uid, int kind)
+{
+ __DRIscreenPrivate *psp;
+ __DRIdrawablePrivate *pdp;
+ __DRIcontextPrivate *pcp;
+
+ /* locks psp->mutex if successful. */
+ if (driMesaFindDrawableByUID(dpy, uid, &psp, &pdp))
+ {
+ xthread_t self = xthread_self();
+
+ switch (kind)
+ {
+ Bool all_safe;
+
+ case AppleDRISurfaceNotifyDestroyed:
+ xp_destroy_surface(pdp->surface_id);
+ pdp->surface_id = 0;
+
+ for (pcp = pdp->driContextPriv; pcp != NULL; pcp = pcp->next)
+ {
+ pcp->surface_id = 0;
+
+ if (pcp->thread_id == self || pcp->thread_id == 0) {
+ CGLClearDrawable(pcp->ctx);
+ pcp->pending_clear = FALSE;
+ } else
+ pcp->pending_clear = TRUE;
+ }
+ break;
+
+ case AppleDRISurfaceNotifyChanged:
+ all_safe = TRUE;
+ for (pcp = pdp->driContextPriv; pcp != NULL; pcp = pcp->next)
+ {
+ if (pcp->thread_id != 0 && pcp->thread_id != self) {
+ all_safe = FALSE;
+ break;
+ }
+ }
+ for (pcp = pdp->driContextPriv; pcp != NULL; pcp = pcp->next)
+ {
+ if (all_safe) {
+ xp_update_gl_context(pcp->ctx);
+ pcp->pending_update = FALSE;
+ } else
+ pcp->pending_update = TRUE;
+ }
+ break;
+ }
+
+ xmutex_unlock(psp->mutex);
+ }
+}
+
+/**
+ * Entrypoint function used to create a new driver-private screen structure.
+ *
+ * \param dpy Display pointer.
+ * \param scrn Index of the screen.
+ * \param psc DRI screen data (not driver private)
+ * \param numConfigs Number of visual configs pointed to by \c configs.
+ * \param config Array of GLXvisualConfigs exported by the 2D driver.
+ *
+ * \deprecated
+ * In dynamically linked drivers, this function has been replaced by
+ * \c __driCreateNewScreen.
+ */
+void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
+ int numConfigs, __GLXvisualConfig *config)
+{
+ static int here_before;
+
+ if (!here_before)
+ {
+ XAppleDRISetSurfaceNotifyHandler(driAppleSurfaceNotify);
+ here_before = True;
+ }
+
+ return driMesaCreateScreen(dpy, scrn, psc, numConfigs, config);
+}
+
+void __driRegisterExtensions(void)
+{
+}
+
+__private_extern__ void XAppleDRIUseIndirectDispatch(void)
+{
+ CGLSetCurrentContext(XAppleDRIGetIndirectContext());
+}
+
+/*****************************************************************/
+
+/*
+ * Currently (Mac OS X 10.3) the only way we have of regaining control
+ * from threads calling GL and nothing else is by patching the dispatch
+ * table of the CGLContext, so that glViewport, glFlush and glFinish
+ * call us back.
+ *
+ * Since glNewList and glEndList overwrite the entire dispatch table we
+ * also need to patch those so we can restore the others.
+ *
+ * WARNING: This is not expected to work on future OS releases.
+ */
+
+#define WRAP_CGL(context, vec, fun) \
+ do { \
+ (context)->disp.vec = (context)->ctx->disp.vec; \
+ (context)->ctx->disp.vec = (fun); \
+ } while (0)
+
+#define UNWRAP_CGL(context, vec) \
+ do { \
+ (context)->ctx->disp.vec = (context)->disp.vec; \
+ } while (0)
+
+#define WRAP_BOILERPLATE \
+ GLXContext gc; \
+ __DRIcontextPrivate *pcp; \
+ gc = __glXGetCurrentContext(); \
+ if (gc == NULL || !gc->isDirect) return; \
+ pcp = (__DRIcontextPrivate *) gc->driContext.private; \
+ if (pcp == NULL) return;
+
+static void viewport_callback(GLIContext ctx, GLint x, GLint y,
+ GLsizei width, GLsizei height)
+{
+ WRAP_BOILERPLATE
+
+ xmutex_lock(pcp->driScreenPriv->mutex);
+ update_context(pcp);
+ xmutex_unlock(pcp->driScreenPriv->mutex);
+
+ (*pcp->disp.viewport)(ctx, x, y, width, height);
+}
+
+static void new_list_callback(GLIContext ctx, GLuint list, GLenum mode)
+{
+ WRAP_BOILERPLATE
+
+ unwrap_context(pcp);
+ (*pcp->ctx->disp.new_list)(ctx, list, mode);
+ wrap_context(pcp);
+}
+
+static void end_list_callback(GLIContext ctx)
+{
+ WRAP_BOILERPLATE
+
+ unwrap_context(pcp);
+ (*pcp->ctx->disp.end_list)(ctx);
+ wrap_context(pcp);
+}
+
+static void unwrap_context(__DRIcontextPrivate *pcp)
+{
+ UNWRAP_CGL(pcp, viewport);
+ UNWRAP_CGL(pcp, new_list);
+ UNWRAP_CGL(pcp, end_list);
+}
+
+static void wrap_context(__DRIcontextPrivate *pcp)
+{
+ WRAP_CGL(pcp, new_list, new_list_callback);
+ WRAP_CGL(pcp, end_list, end_list_callback);
+ WRAP_CGL(pcp, viewport, viewport_callback);
+}
+
+#endif /* GLX_DIRECT_RENDERING */
diff --git a/nx-X11/lib/GL/apple/dri_driver.h b/nx-X11/lib/GL/apple/dri_driver.h
new file mode 100644
index 000000000..84965786f
--- /dev/null
+++ b/nx-X11/lib/GL/apple/dri_driver.h
@@ -0,0 +1,188 @@
+/* $XFree86: xc/lib/GL/apple/dri_driver.h,v 1.1 2003/06/30 01:45:10 torrey Exp $ */
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright (c) 2002 Apple Computer, 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, 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 PRECISION INSIGHT AND/OR ITS 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.
+
+**************************************************************************/
+
+/*
+ * Authors:
+ * Kevin E. Martin <kevin@precisioninsight.com>
+ * Brian Paul <brian@precisioninsight.com>
+ */
+
+#ifndef _DRI_DRIVER_H_
+#define _DRI_DRIVER_H_
+
+#include "Xplugin.h"
+#include "Xthreads.h"
+#include <CoreGraphics/CoreGraphics.h>
+#include <OpenGL/OpenGL.h>
+#include <OpenGL/CGLContext.h>
+
+#ifdef GLX_DIRECT_RENDERING
+
+typedef struct __DRIdisplayPrivateRec __DRIdisplayPrivate;
+typedef struct __DRIscreenPrivateRec __DRIscreenPrivate;
+typedef struct __DRIvisualPrivateRec __DRIvisualPrivate;
+typedef struct __DRIcontextPrivateRec __DRIcontextPrivate;
+typedef struct __DRIdrawablePrivateRec __DRIdrawablePrivate;
+
+#endif /* GLX_DIRECT_RENDERING */
+
+#define DRI_MESA_VALIDATE_DRAWABLE_INFO(dpy,scrn,pDrawPriv) \
+ do { \
+ if (*(pDrawPriv->pStamp) != pDrawPriv->lastStamp) { \
+ driMesaUpdateDrawableInfo(dpy,scrn,pDrawPriv); \
+ } \
+ } while (0)
+
+struct __DRIdrawablePrivateRec {
+ /*
+ ** X's drawable ID associated with this private drawable.
+ */
+ GLXDrawable draw;
+
+ /*
+ ** Reference count for number of context's currently bound to this
+ ** drawable. Once the refcount reaches 0, the drawable can be
+ ** destroyed. This behavior will change with GLX 1.3.
+ */
+ int refcount;
+
+ xp_surface_id surface_id;
+ unsigned int uid;
+
+ /*
+ ** Pointer to contexts to which this drawable is currently bound.
+ */
+ __DRIcontextPrivate *driContextPriv;
+
+ /*
+ ** Pointer to screen on which this drawable was created.
+ */
+ __DRIscreenPrivate *driScreenPriv;
+
+ /*
+ ** Set when the drawable on the server is known to have gone away
+ */
+ unsigned int destroyed :1;
+};
+
+struct __DRIcontextPrivateRec {
+ /*
+ ** Other contexts bound to the same drawable.
+ */
+ __DRIcontextPrivate *next, *prev;
+
+ /*
+ ** Kernel context handle used to access the device lock.
+ */
+ XID contextID;
+
+ CGLContextObj ctx;
+
+ /*
+ ** Set when attached
+ */
+ xp_surface_id surface_id;
+ xthread_t thread_id;
+
+ /*
+ ** This context's display pointer.
+ */
+ Display *display;
+
+ /*
+ ** Pointer to drawable currently bound to this context.
+ */
+ __DRIdrawablePrivate *driDrawablePriv;
+
+ /*
+ ** Pointer to screen on which this context was created.
+ */
+ __DRIscreenPrivate *driScreenPriv;
+
+ /*
+ ** wrapped CGL vectors
+ */
+ struct {
+ void (*viewport)(GLIContext ctx, GLint x, GLint y,
+ GLsizei width, GLsizei height);
+ void (*new_list)(GLIContext ctx, GLuint list, GLenum mode);
+ void (*end_list)(GLIContext ctx);
+ } disp;
+
+ unsigned int pending_update :1;
+ unsigned int pending_clear :1;
+};
+
+struct __DRIvisualPrivateRec {
+ /*
+ ** X's visual ID associated with this private visual.
+ */
+ VisualID vid;
+
+ /*
+ ** CGL object representing the visual
+ */
+ CGLPixelFormatObj pixel_format;
+};
+
+struct __DRIscreenPrivateRec {
+ /*
+ ** Display for this screen
+ */
+ Display *display;
+
+ /*
+ ** Mutex for this screen
+ */
+ xmutex_t mutex;
+
+ /*
+ ** Current screen's number
+ */
+ int myNum;
+
+ /*
+ ** Core rendering library's visuals associated with the current
+ ** screen.
+ */
+ __DRIvisualPrivate *visuals;
+ int numVisuals;
+
+ /*
+ ** Hash table to hold the drawable information for this screen.
+ */
+ void *drawHash;
+};
+
+
+extern void driMesaUpdateDrawableInfo(Display *dpy, int scrn,
+ __DRIdrawablePrivate *pdp);
+
+
+#endif /* _DRI_DRIVER_H_ */
diff --git a/nx-X11/lib/GL/apple/dri_glx.c b/nx-X11/lib/GL/apple/dri_glx.c
new file mode 100644
index 000000000..c2adc868f
--- /dev/null
+++ b/nx-X11/lib/GL/apple/dri_glx.c
@@ -0,0 +1,265 @@
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright (c) 2002 Apple Computer, Inc.
+Copyright (c) 2004 Torrey T. Lyons
+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 PRECISION INSIGHT AND/OR ITS 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.
+
+**************************************************************************/
+/* $XFree86: xc/lib/GL/apple/dri_glx.c,v 1.2 2004/04/21 04:59:40 torrey Exp $ */
+
+/*
+ * Authors:
+ * Kevin E. Martin <kevin@precisioninsight.com>
+ * Brian Paul <brian@precisioninsight.com>
+ *
+ */
+
+#ifdef GLX_DIRECT_RENDERING
+
+#include <unistd.h>
+#include <X11/Xlibint.h>
+#include <X11/extensions/Xext.h>
+#include "extutil.h"
+#include "glxclient.h"
+#include "appledri.h"
+#include <stdio.h>
+#include "dri_glx.h"
+#include <sys/types.h>
+#include <stdarg.h>
+
+
+/* Apple OpenGL "driver" information. */
+static const char *__driAppleDriverName = "apple";
+static const int __driAppleDriverMajor = 1;
+static const int __driAppleDriverMinor = 0;
+static const int __driAppleDriverPatch = 0;
+
+
+/*
+ * printf wrappers
+ */
+
+static void InfoMessageF(const char *f, ...)
+{
+ va_list args;
+ const char *env;
+
+ if ((env = getenv("LIBGL_DEBUG")) && strstr(env, "verbose")) {
+ fprintf(stderr, "libGL: ");
+ va_start(args, f);
+ vfprintf(stderr, f, args);
+ va_end(args);
+ }
+}
+
+static void ErrorMessageF(const char *f, ...)
+{
+ va_list args;
+
+ if (getenv("LIBGL_DEBUG")) {
+ fprintf(stderr, "libGL error: ");
+ va_start(args, f);
+ vfprintf(stderr, f, args);
+ va_end(args);
+ }
+}
+
+
+/*
+ * Given a display pointer and screen number, determine the name of
+ * the DRI driver for the screen. (I.e. "r128", "tdfx", etc).
+ * Return True for success, False for failure.
+ */
+static Bool GetDriverName(Display *dpy, int scrNum, char **driverName)
+{
+ int directCapable;
+
+ *driverName = NULL;
+
+ if (!XAppleDRIQueryDirectRenderingCapable(dpy, scrNum, &directCapable)) {
+ ErrorMessageF("XAppleDRIQueryDirectRenderingCapable failed\n");
+ return False;
+ }
+ if (!directCapable) {
+ ErrorMessageF("XAppleDRIQueryDirectRenderingCapable returned false\n");
+ return False;
+ }
+
+ *driverName = (char *) __driAppleDriverName;
+
+ InfoMessageF("XF86DRIGetClientDriverName: %d.%d.%d %s (screen %d)\n",
+ __driAppleDriverMajor, __driAppleDriverMinor,
+ __driAppleDriverPatch, *driverName, scrNum);
+
+ return True;
+}
+
+
+/*
+ * Exported function for querying the DRI driver for a given screen.
+ *
+ * The returned char pointer points to a static array that will be
+ * overwritten by subsequent calls.
+ */
+const char *glXGetScreenDriver (Display *dpy, int scrNum) {
+ static char ret[32];
+ char *driverName;
+ if (GetDriverName(dpy, scrNum, &driverName)) {
+ int len;
+ if (!driverName)
+ return NULL;
+ len = strlen (driverName);
+ if (len >= 31)
+ return NULL;
+ memcpy (ret, driverName, len+1);
+ Xfree(driverName);
+ return ret;
+ }
+ return NULL;
+}
+
+
+/*
+ * Exported function for obtaining a driver's option list (UTF-8 encoded XML).
+ *
+ * The returned char pointer points directly into the driver. Therefore
+ * it should be treated as a constant.
+ *
+ * If the driver was not found or does not support configuration NULL is
+ * returned.
+ *
+ * Note: In a standard GLX imlementation the driver remains opened after
+ * this function returns.
+ */
+const char *glXGetDriverConfig(const char *driverName) {
+ /* the apple stub driver does not support configuration */
+ return NULL;
+}
+
+
+static void driDestroyDisplay(Display *dpy, void *private)
+{
+ __DRIdisplayPrivate *pdpyp = (__DRIdisplayPrivate *)private;
+
+ if (pdpyp) {
+ Xfree(pdpyp->libraryHandles);
+ Xfree(pdpyp);
+ }
+}
+
+
+void *driCreateDisplay(Display *dpy, __DRIdisplay *pdisp)
+{
+ const int numScreens = ScreenCount(dpy);
+ __DRIdisplayPrivate *pdpyp;
+ int eventBase, errorBase;
+ int major, minor, patch;
+ int scrn;
+
+ /* Initialize these fields to NULL in case we fail.
+ * If we don't do this we may later get segfaults trying to free random
+ * addresses when the display is closed.
+ */
+ pdisp->private = NULL;
+ pdisp->destroyDisplay = NULL;
+ pdisp->createScreen = NULL;
+
+ if (!XAppleDRIQueryExtension(dpy, &eventBase, &errorBase)) {
+ return NULL;
+ }
+
+ if (!XAppleDRIQueryVersion(dpy, &major, &minor, &patch)) {
+ return NULL;
+ }
+
+ pdpyp = (__DRIdisplayPrivate *)Xmalloc(sizeof(__DRIdisplayPrivate));
+ if (!pdpyp) {
+ return NULL;
+ }
+
+ pdpyp->driMajor = major;
+ pdpyp->driMinor = minor;
+ pdpyp->driPatch = patch;
+
+ pdisp->destroyDisplay = driDestroyDisplay;
+
+ /* allocate array of pointers to createScreen funcs */
+ pdisp->createScreen = (CreateScreenFunc *) Xmalloc(numScreens * sizeof(void *));
+ if (!pdisp->createScreen)
+ return NULL;
+
+ /* allocate array of pointers to createScreen funcs */
+ pdisp->createNewScreen = (CreateNewScreenFunc *) Xmalloc(numScreens * sizeof(void *));
+ if (!pdisp->createNewScreen) {
+ Xfree(pdisp->createScreen);
+ Xfree(pdpyp);
+ return NULL;
+ }
+
+ /* allocate array of library handles */
+ pdpyp->libraryHandles = (void **) Xmalloc(numScreens * sizeof(void*));
+ if (!pdpyp->libraryHandles) {
+ Xfree(pdisp->createNewScreen);
+ Xfree(pdisp->createScreen);
+ Xfree(pdpyp);
+ return NULL;
+ }
+
+ /* we'll statically bind to the __driCreateScreen function */
+ for (scrn = 0; scrn < numScreens; scrn++) {
+ pdisp->createScreen[scrn] = __driCreateScreen;
+ pdisp->createNewScreen[scrn] = NULL;
+ pdpyp->libraryHandles[scrn] = NULL;
+ }
+
+ return (void *)pdpyp;
+}
+
+
+/*
+** Here we'll query the DRI driver for each screen and let each
+** driver register its GL extension functions. We only have to
+** do this once. But it MUST be done before we create any contexts
+** (i.e. before any dispatch tables are created) and before
+** glXGetProcAddressARB() returns.
+**
+** Currently called by glXGetProcAddress(), __glXInitialize(), and
+** __glXNewIndirectAPI().
+*/
+void
+__glXRegisterExtensions(void)
+{
+ static GLboolean alreadyCalled = GL_FALSE;
+
+ if (alreadyCalled) {
+ return;
+ }
+
+ __driRegisterExtensions ();
+
+ alreadyCalled = GL_TRUE;
+}
+
+
+#endif /* GLX_DIRECT_RENDERING */
diff --git a/nx-X11/lib/GL/apple/dri_glx.h b/nx-X11/lib/GL/apple/dri_glx.h
new file mode 100644
index 000000000..6d01b35a5
--- /dev/null
+++ b/nx-X11/lib/GL/apple/dri_glx.h
@@ -0,0 +1,67 @@
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright (c) 2002 Apple Computer, 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, 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 PRECISION INSIGHT AND/OR ITS 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.
+
+**************************************************************************/
+/* $XFree86$ */
+
+/*
+ * Authors:
+ * Kevin E. Martin <kevin@precisioninsight.com>
+ * Brian Paul <brian@precisioninsight.com>
+ *
+ */
+
+#ifndef _DRI_GLX_H_
+#define _DRI_GLX_H_
+
+#ifdef GLX_DIRECT_RENDERING
+
+struct __DRIdisplayPrivateRec {
+ /*
+ ** XFree86-DRI version information
+ */
+ int driMajor;
+ int driMinor;
+ int driPatch;
+
+ /*
+ ** Array of library handles [indexed by screen number]
+ */
+ void **libraryHandles;
+};
+
+typedef struct __DRIdisplayPrivateRec __DRIdisplayPrivate;
+typedef struct __DRIscreenPrivateRec __DRIscreenPrivate;
+typedef struct __DRIvisualPrivateRec __DRIvisualPrivate;
+typedef struct __DRIcontextPrivateRec __DRIcontextPrivate;
+typedef struct __DRIdrawablePrivateRec __DRIdrawablePrivate;
+
+extern void *__driCreateScreen (Display *dpy, int scrn, __DRIscreen *psc,
+ int numConfigs, __GLXvisualConfig *config);
+extern void __driRegisterExtensions (void);
+
+#endif /* GLX_DIRECT_RENDERING */
+#endif /* _DRI_GLX_H_ */