summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2001-03-28 17:19:58 +0000
committerBrian Paul <[email protected]>2001-03-28 17:19:58 +0000
commit3c257e187bded9417d00471286d86ea4e483a98a (patch)
treea143a2de409689910ae0db8818aae4b09fdb318b /src/mesa
parentfb8af6fc9780e6238c309487d265822fc7052a0d (diff)
New mechanism for thread-safe GL API dispatch. C-based dispatch is faster.
Folded glapinoop.c code into glapi.c. Added code to glapitemp.h to fill in dispatch tables. Updated Makefiles.
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/Makefile.X115
-rw-r--r--src/mesa/glapi/glapi.c137
-rw-r--r--src/mesa/glapi/glapi.h6
-rw-r--r--src/mesa/glapi/glapitemp.h1532
-rw-r--r--src/mesa/main/Makefile.DJ22
-rw-r--r--src/mesa/main/Makefile.X115
-rw-r--r--src/mesa/main/context.c3
-rw-r--r--src/mesa/main/dispatch.c65
8 files changed, 1004 insertions, 771 deletions
diff --git a/src/mesa/Makefile.X11 b/src/mesa/Makefile.X11
index a2c0388f3bb..fe2e4cece9a 100644
--- a/src/mesa/Makefile.X11
+++ b/src/mesa/Makefile.X11
@@ -1,8 +1,8 @@
-# $Id: Makefile.X11,v 1.47 2001/03/19 02:25:35 keithw Exp $
+# $Id: Makefile.X11,v 1.48 2001/03/28 17:19:58 brianp Exp $
# Mesa 3-D graphics library
# Version: 3.5
-# Copyright (C) 1995-2000 Brian Paul
+# Copyright (C) 1995-2001 Brian Paul
# Makefile for core library
@@ -74,7 +74,6 @@ CORE_SOURCES = \
fog.c \
get.c \
glapi.c \
- glapinoop.c \
glthread.c \
hash.c \
highpc.c \
diff --git a/src/mesa/glapi/glapi.c b/src/mesa/glapi/glapi.c
index 64459e7a167..9e3117e121d 100644
--- a/src/mesa/glapi/glapi.c
+++ b/src/mesa/glapi/glapi.c
@@ -1,4 +1,4 @@
-/* $Id: glapi.c,v 1.51 2001/03/12 00:48:38 gareth Exp $ */
+/* $Id: glapi.c,v 1.52 2001/03/28 17:19:58 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -48,31 +48,128 @@
#include "glheader.h"
#include "glapi.h"
-#include "glapinoop.h"
#include "glapioffsets.h"
#include "glapitable.h"
#include "glthread.h"
-/* This is used when thread safety is disabled */
-struct _glapi_table *_glapi_Dispatch = (struct _glapi_table *) __glapi_noop_table;
-struct _glapi_table *_glapi_RealDispatch = (struct _glapi_table *) __glapi_noop_table;
-/* Used when thread safety disabled */
-void *_glapi_Context = NULL;
+/***** BEGIN NO-OP DISPATCH *****/
+
+static GLboolean WarnFlag = GL_FALSE;
+
+void
+_glapi_noop_enable_warnings(GLboolean enable)
+{
+ WarnFlag = enable;
+}
+
+static GLboolean
+warn(void)
+{
+ if (WarnFlag || getenv("MESA_DEBUG") || getenv("LIBGL_DEBUG"))
+ return GL_TRUE;
+ else
+ return GL_FALSE;
+}
+
+
+#define KEYWORD1 static
+#define KEYWORD2
+#define NAME(func) NoOp##func
+
+#define F stderr
+
+#define DISPATCH(func, args, msg) \
+ if (warn()) { \
+ fprintf(stderr, "GL User Error: calling "); \
+ fprintf msg; \
+ fprintf(stderr, " without a current context\n"); \
+ }
+
+#define RETURN_DISPATCH(func, args, msg) \
+ if (warn()) { \
+ fprintf(stderr, "GL User Error: calling "); \
+ fprintf msg; \
+ fprintf(stderr, " without a current context\n"); \
+ } \
+ return 0
+
+#define DISPATCH_TABLE_NAME __glapi_noop_table
+#define UNUSED_TABLE_NAME __usused_noop_functions
+
+#define TABLE_ENTRY(name) (void *) NoOp##name
+
+static int NoOpUnused(void)
+{
+ if (warn()) {
+ fprintf(stderr, "GL User Error: calling extension function without a current context\n");
+ }
+ return 0;
+}
+
+#include "glapitemp.h"
+
+/***** END NO-OP DISPATCH *****/
+
+
+
+/***** BEGIN THREAD-SAFE DISPATCH *****/
+/* if we support thread-safety, build a special dispatch table for use
+ * in thread-safety mode (ThreadSafe == GL_TRUE). Each entry in the
+ * dispatch table will call _glthread_GetTSD() to get the actual dispatch
+ * table bound to the current thread, then jump through that table.
+ */
#if defined(THREADS)
-/* Flag to indicate whether thread-safe dispatch is enabled */
-static GLboolean ThreadSafe = GL_FALSE;
+static GLboolean ThreadSafe = GL_FALSE; /* In thread-safe mode? */
+static _glthread_TSD DispatchTSD; /* Per-thread dispatch pointer */
+static _glthread_TSD RealDispatchTSD; /* only when using override */
+static _glthread_TSD ContextTSD; /* Per-thread context pointer */
+
-static _glthread_TSD DispatchTSD;
-static _glthread_TSD RealDispatchTSD; /* only when using override */
+#define KEYWORD1 static
+#define KEYWORD2 GLAPIENTRY
+#define NAME(func) _ts_##func
-static _glthread_TSD ContextTSD;
+#define DISPATCH(FUNC, ARGS, MESSAGE) \
+ struct _glapi_table *dispatch; \
+ dispatch = (struct _glapi_table *) _glthread_GetTSD(&DispatchTSD); \
+ if (!dispatch) \
+ dispatch = (struct _glapi_table *) __glapi_noop_table; \
+ (dispatch->FUNC) ARGS
+
+#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \
+ struct _glapi_table *dispatch; \
+ dispatch = (struct _glapi_table *) _glthread_GetTSD(&DispatchTSD); \
+ if (!dispatch) \
+ dispatch = (struct _glapi_table *) __glapi_noop_table; \
+ return (dispatch->FUNC) ARGS
+
+#define DISPATCH_TABLE_NAME __glapi_threadsafe_table
+#define UNUSED_TABLE_NAME __usused_threadsafe_functions
+
+#define TABLE_ENTRY(name) (void *) _ts_##name
+
+static int _ts_Unused(void)
+{
+ return 0;
+}
+
+#include "glapitemp.h"
#endif
+/***** END THREAD-SAFE DISPATCH *****/
+
+
+
+struct _glapi_table *_glapi_Dispatch = (struct _glapi_table *) __glapi_noop_table;
+struct _glapi_table *_glapi_RealDispatch = (struct _glapi_table *) __glapi_noop_table;
+
+/* Used when thread safety disabled */
+void *_glapi_Context = NULL;
static GLuint MaxDispatchOffset = sizeof(struct _glapi_table) / sizeof(void *) - 1;
@@ -81,10 +178,11 @@ static GLboolean GetSizeCalled = GL_FALSE;
static GLboolean DispatchOverride = GL_FALSE;
-
-/* strdup is actually not a standard ANSI C or POSIX routine
- Irix will not define it if ANSI mode is in effect. */
-static char *str_dup(const char *str)
+/* strdup() is actually not a standard ANSI C or POSIX routine.
+ * Irix will not define it if ANSI mode is in effect.
+ */
+static char *
+str_dup(const char *str)
{
char *copy;
copy = (char*) malloc(strlen(str) + 1);
@@ -113,6 +211,7 @@ _glapi_check_multithread(void)
firstCall = GL_FALSE;
}
else if (knownID != _glthread_GetID()) {
+ printf("Going thread-safe\n");
ThreadSafe = GL_TRUE;
}
}
@@ -190,7 +289,7 @@ _glapi_set_dispatch(struct _glapi_table *dispatch)
if (DispatchOverride) {
_glthread_SetTSD(&RealDispatchTSD, (void *) dispatch);
if (ThreadSafe)
- _glapi_RealDispatch = NULL;
+ _glapi_RealDispatch = (struct _glapi_table*) __glapi_threadsafe_table;
else
_glapi_RealDispatch = dispatch;
}
@@ -198,7 +297,7 @@ _glapi_set_dispatch(struct _glapi_table *dispatch)
/* normal operation */
_glthread_SetTSD(&DispatchTSD, (void *) dispatch);
if (ThreadSafe)
- _glapi_Dispatch = NULL;
+ _glapi_Dispatch = (struct _glapi_table *) __glapi_threadsafe_table;
else
_glapi_Dispatch = dispatch;
}
@@ -280,7 +379,7 @@ _glapi_begin_dispatch_override(struct _glapi_table *override)
#if defined(THREADS)
_glthread_SetTSD(&DispatchTSD, (void *) override);
if (ThreadSafe)
- _glapi_Dispatch = NULL;
+ _glapi_Dispatch = (struct _glapi_table *) __glapi_threadsafe_table;
else
_glapi_Dispatch = override;
#else
diff --git a/src/mesa/glapi/glapi.h b/src/mesa/glapi/glapi.h
index 7916292883a..3b022e436e1 100644
--- a/src/mesa/glapi/glapi.h
+++ b/src/mesa/glapi/glapi.h
@@ -1,4 +1,4 @@
-/* $Id: glapi.h,v 1.18 2001/01/23 23:35:47 brianp Exp $ */
+/* $Id: glapi.h,v 1.19 2001/03/28 17:20:20 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -40,6 +40,10 @@ extern struct _glapi_table *_glapi_Dispatch;
extern void
+_glapi_noop_enable_warnings(GLboolean enable);
+
+
+extern void
_glapi_check_multithread(void);
diff --git a/src/mesa/glapi/glapitemp.h b/src/mesa/glapi/glapitemp.h
index 8b26f042963..737e306eddb 100644
--- a/src/mesa/glapi/glapitemp.h
+++ b/src/mesa/glapi/glapitemp.h
@@ -1,4 +1,4 @@
-/* $Id: glapitemp.h,v 1.27 2001/03/26 23:36:51 brianp Exp $ */
+/* $Id: glapitemp.h,v 1.28 2001/03/28 17:20:20 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -35,8 +35,6 @@
* DISPATCH(func, args, msg) - code to do dispatch of named function.
* msg is a printf-style debug message.
* RETURN_DISPATCH(func, args, msg) - code to do dispatch with a return value
- * DO_INIT - if defined, emit an init function.
- * INIT - Macro invoked once per api function in the init function.
*
* Here's an example which generates the usual OpenGL functions:
* #define KEYWORD1
@@ -61,21 +59,15 @@
#endif
#ifndef NAME
-#define NAME(func) gl##func
+#error NAME must be defined
#endif
#ifndef DISPATCH
-#define DISPATCH(func, args, msg) \
- const struct _glapi_table *dispatch; \
- dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\
- (dispatch->func) args
+#error DISPATCH must be defined
#endif
#ifndef RETURN_DISPATCH
-#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \
- const struct _glapi_table *dispatch; \
- dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\
- return (dispatch->func) args
+#error RETURN_DISPATCH must be defined
#endif
@@ -95,7 +87,6 @@
/* GL 1.0 */
-
KEYWORD1 void KEYWORD2 NAME(Accum)(GLenum op, GLfloat value)
{
DISPATCH(Accum, (op, value), (F, "glAccum(0x%x, %g);", op, value));
@@ -1835,7 +1826,7 @@ KEYWORD1 void KEYWORD2 NAME(FlushRasterSGIX)(void)
}
/* 66. GL_HP_image_transform */
-#if 0
+#if 00
KEYWORD1 void KEYWORD2 NAME(GetImageTransformParameterfvHP)(GLenum target, GLenum pname, GLfloat *param)
{
DISPATCH(GetImageTransformParameterfvHP, (target, pname, param), (F, ";"));
@@ -2124,7 +2115,7 @@ KEYWORD1 void KEYWORD2 NAME(TexCoordPointervINTEL)(GLint size, GLenum type, cons
#endif
/* 138. GL_EXT_pixel_transform */
-#if 0
+#if 00
KEYWORD1 void KEYWORD2 NAME(PixelTransformParameteriEXT)(GLenum target, GLenum pname, const GLint param)
{
DISPATCH(PixelTransformParameteriEXT, (target, pname, param), (F, "glPixelTransformParameteriEXT(0x%x, 0x%x, %d);", target, pname, param));
@@ -3408,665 +3399,868 @@ KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4svARB)(GLenum target, const GLshort *v
-/**
- ** Optional initialization function, generated according to DO_INIT
- **/
-
-#ifdef DO_INIT
-
-static void NAME(InitDispatch)( void )
-{
- INITARGS;
- INIT(GetCompressedTexImageARB);
- INIT(Accum);
- INIT(AlphaFunc);
- INIT(Bitmap);
- INIT(BlendFunc);
- INIT(Clear);
- INIT(ClearAccum);
- INIT(ClearColor);
- INIT(ClearDepth);
- INIT(ClearIndex);
- INIT(ClearStencil);
- INIT(ClipPlane);
- INIT(ColorMask);
- INIT(ColorMaterial);
- INIT(CopyPixels);
- INIT(CullFace);
- INIT(DepthFunc);
- INIT(DepthMask);
- INIT(DepthRange);
- INIT(DeleteLists);
- INIT(Disable);
- INIT(DrawBuffer);
- INIT(DrawElements);
- INIT(DrawPixels);
- INIT(EndList);
- INIT(Enable);
- INIT(EvalMesh1);
- INIT(EvalMesh2);
- INIT(FeedbackBuffer);
- INIT(Finish);
- INIT(Flush);
- INIT(Fogf);
- INIT(Fogi);
- INIT(Fogfv);
- INIT(Fogiv);
- INIT(FrontFace);
- INIT(Frustum);
- INIT(GenLists);
- INIT(GetBooleanv);
- INIT(GetClipPlane);
- INIT(GetDoublev);
- INIT(GetError);
- INIT(GetFloatv);
- INIT(GetIntegerv);
- INIT(GetLightfv);
- INIT(GetLightiv);
- INIT(GetMapdv);
- INIT(GetMapfv);
- INIT(GetMapiv);
- INIT(GetMaterialfv);
- INIT(GetMaterialiv);
- INIT(GetPixelMapfv);
- INIT(GetPixelMapuiv);
- INIT(GetPixelMapusv);
- INIT(GetPolygonStipple);
- INIT(GetString);
- INIT(GetTexEnvfv);
- INIT(GetTexEnviv);
- INIT(GetTexGeniv);
- INIT(GetTexGendv);
- INIT(GetTexGenfv);
- INIT(GetTexImage);
- INIT(GetTexLevelParameterfv);
- INIT(GetTexLevelParameteriv);
- INIT(GetTexParameterfv);
- INIT(GetTexParameteriv);
- INIT(Hint);
- INIT(IndexMask);
- INIT(InitNames);
- INIT(IsEnabled);
- INIT(IsList);
- INIT(Lightf);
- INIT(Lighti);
- INIT(Lightfv);
- INIT(Lightiv);
- INIT(LightModelf);
- INIT(LightModeli);
- INIT(LightModelfv);
- INIT(LightModeliv);
- INIT(LineWidth);
- INIT(LineStipple);
- INIT(ListBase);
- INIT(LoadIdentity);
- INIT(LoadMatrixd);
- INIT(LoadMatrixf);
- INIT(LoadName);
- INIT(LogicOp);
- INIT(Map1d);
- INIT(Map1f);
- INIT(Map2d);
- INIT(Map2f);
- INIT(MapGrid1d);
- INIT(MapGrid1f);
- INIT(MapGrid2d);
- INIT(MapGrid2f);
- INIT(MatrixMode);
- INIT(MultMatrixd);
- INIT(MultMatrixf);
- INIT(NewList);
- INIT(Ortho);
- INIT(PassThrough);
- INIT(PixelMapfv);
- INIT(PixelMapuiv);
- INIT(PixelMapusv);
- INIT(PixelStoref);
- INIT(PixelStorei);
- INIT(PixelTransferf);
- INIT(PixelTransferi);
- INIT(PixelZoom);
- INIT(PointSize);
- INIT(PolygonMode);
- INIT(PolygonStipple);
- INIT(PopAttrib);
- INIT(PopMatrix);
- INIT(PopName);
- INIT(PushAttrib);
- INIT(PushMatrix);
- INIT(PushName);
- INIT(RasterPos2d);
- INIT(RasterPos2f);
- INIT(RasterPos2i);
- INIT(RasterPos2s);
- INIT(RasterPos3d);
- INIT(RasterPos3f);
- INIT(RasterPos3i);
- INIT(RasterPos3s);
- INIT(RasterPos4d);
- INIT(RasterPos4f);
- INIT(RasterPos4i);
- INIT(RasterPos4s);
- INIT(RasterPos2dv);
- INIT(RasterPos2fv);
- INIT(RasterPos2iv);
- INIT(RasterPos2sv);
- INIT(RasterPos3dv);
- INIT(RasterPos3fv);
- INIT(RasterPos3iv);
- INIT(RasterPos3sv);
- INIT(RasterPos4dv);
- INIT(RasterPos4fv);
- INIT(RasterPos4iv);
- INIT(RasterPos4sv);
- INIT(ReadBuffer);
- INIT(ReadPixels);
- INIT(Rectd);
- INIT(Rectdv);
- INIT(Rectf);
- INIT(Rectfv);
- INIT(Recti);
- INIT(Rectiv);
- INIT(Rects);
- INIT(Rectsv);
- INIT(RenderMode);
- INIT(Rotated);
- INIT(Rotatef);
- INIT(SelectBuffer);
- INIT(Scaled);
- INIT(Scalef);
- INIT(Scissor);
- INIT(ShadeModel);
- INIT(StencilFunc);
- INIT(StencilMask);
- INIT(StencilOp);
- INIT(TexGend);
- INIT(TexGendv);
- INIT(TexGenf);
- INIT(TexGenfv);
- INIT(TexGeni);
- INIT(TexGeniv);
- INIT(TexEnvf);
- INIT(TexEnvfv);
- INIT(TexEnvi);
- INIT(TexEnviv);
- INIT(TexImage1D);
- INIT(TexImage2D);
- INIT(TexParameterf);
- INIT(TexParameterfv);
- INIT(TexParameteri);
- INIT(TexParameteriv);
- INIT(Translated);
- INIT(Translatef);
- INIT(Viewport);
- INIT(AreTexturesResident);
- INIT(BindTexture);
- INIT(ColorPointer);
- INIT(CopyTexImage1D);
- INIT(CopyTexImage2D);
- INIT(CopyTexSubImage1D);
- INIT(CopyTexSubImage2D);
- INIT(DeleteTextures);
- INIT(DisableClientState);
- INIT(DrawArrays);
- INIT(EdgeFlagPointer);
- INIT(EnableClientState);
- INIT(GenTextures);
- INIT(GetPointerv);
- INIT(IndexPointer);
- INIT(InterleavedArrays);
- INIT(IsTexture);
- INIT(NormalPointer);
- INIT(PolygonOffset);
- INIT(PopClientAttrib);
- INIT(PrioritizeTextures);
- INIT(PushClientAttrib);
- INIT(TexCoordPointer);
- INIT(TexSubImage1D);
- INIT(TexSubImage2D);
- INIT(VertexPointer);
- INIT(CopyTexSubImage3D);
- INIT(DrawRangeElements);
- INIT(TexImage3D);
- INIT(TexSubImage3D);
- INIT(BlendColor);
- INIT(BlendEquation);
- INIT(ColorSubTable);
- INIT(ColorTable);
- INIT(ColorTableParameterfv);
- INIT(ColorTableParameteriv);
- INIT(ConvolutionFilter1D);
- INIT(ConvolutionFilter2D);
- INIT(ConvolutionParameterf);
- INIT(ConvolutionParameterfv);
- INIT(ConvolutionParameteri);
- INIT(ConvolutionParameteriv);
- INIT(CopyColorSubTable);
- INIT(CopyColorTable);
- INIT(CopyConvolutionFilter1D);
- INIT(CopyConvolutionFilter2D);
- INIT(GetColorTable);
- INIT(GetColorTableParameterfv);
- INIT(GetColorTableParameteriv);
- INIT(GetConvolutionFilter);
- INIT(GetConvolutionParameterfv);
- INIT(GetConvolutionParameteriv);
- INIT(GetHistogram);
- INIT(GetHistogramParameterfv);
- INIT(GetHistogramParameteriv);
- INIT(GetMinmax);
- INIT(GetMinmaxParameterfv);
- INIT(GetMinmaxParameteriv);
- INIT(GetSeparableFilter);
- INIT(Histogram);
- INIT(Minmax);
- INIT(ResetMinmax);
- INIT(ResetHistogram);
- INIT(SeparableFilter2D);
- INIT(BlendColorEXT);
- INIT(PolygonOffsetEXT);
- INIT(CopyTexSubImage3DEXT);
- INIT(TexImage3DEXT);
- INIT(TexSubImage3DEXT);
- INIT(GetTexFilterFuncSGIS);
- INIT(TexFilterFuncSGIS);
- INIT(CopyTexSubImage1DEXT);
- INIT(TexSubImage1DEXT);
- INIT(TexSubImage2DEXT);
- INIT(CopyTexImage1DEXT);
- INIT(CopyTexImage2DEXT);
- INIT(CopyTexSubImage2DEXT);
- INIT(GetHistogramEXT);
- INIT(GetHistogramParameterfvEXT);
- INIT(GetHistogramParameterivEXT);
- INIT(GetMinmaxEXT);
- INIT(GetMinmaxParameterfvEXT);
- INIT(GetMinmaxParameterivEXT);
- INIT(HistogramEXT);
- INIT(MinmaxEXT);
- INIT(ResetHistogramEXT);
- INIT(ResetMinmaxEXT);
- INIT(ConvolutionFilter1DEXT);
- INIT(ConvolutionFilter2DEXT);
- INIT(ConvolutionParameterfEXT);
- INIT(ConvolutionParameterfvEXT);
- INIT(ConvolutionParameteriEXT);
- INIT(ConvolutionParameterivEXT);
- INIT(CopyConvolutionFilter1DEXT);
- INIT(CopyConvolutionFilter2DEXT);
- INIT(GetConvolutionFilterEXT);
- INIT(GetConvolutionParameterfvEXT);
- INIT(GetConvolutionParameterivEXT);
- INIT(GetSeparableFilterEXT);
- INIT(SeparableFilter2DEXT);
- INIT(ColorTableParameterfvSGI);
- INIT(ColorTableParameterivSGI);
- INIT(ColorTableSGI);
- INIT(CopyColorTableSGI);
- INIT(GetColorTableSGI);
- INIT(GetColorTableParameterfvSGI);
- INIT(GetColorTableParameterivSGI);
- INIT(PixelTexGenSGIX);
- INIT(PixelTexGenParameterfSGIS);
- INIT(PixelTexGenParameterfvSGIS);
- INIT(PixelTexGenParameteriSGIS);
- INIT(PixelTexGenParameterivSGIS);
- INIT(GetPixelTexGenParameterfvSGIS);
- INIT(GetPixelTexGenParameterivSGIS);
- INIT(TexImage4DSGIS);
- INIT(TexSubImage4DSGIS);
- INIT(GenTexturesEXT);
- INIT(DeleteTexturesEXT);
- INIT(BindTextureEXT);
- INIT(PrioritizeTexturesEXT);
- INIT(AreTexturesResidentEXT);
- INIT(IsTextureEXT);
- INIT(DetailTexFuncSGIS);
- INIT(GetDetailTexFuncSGIS);
- INIT(GetSharpenTexFuncSGIS);
- INIT(SharpenTexFuncSGIS);
- INIT(SampleMaskSGIS);
- INIT(SamplePatternSGIS);
- INIT(VertexPointerEXT);
- INIT(NormalPointerEXT);
- INIT(ColorPointerEXT);
- INIT(IndexPointerEXT);
- INIT(TexCoordPointerEXT);
- INIT(EdgeFlagPointerEXT);
- INIT(GetPointervEXT);
- INIT(DrawArraysEXT);
- INIT(BlendEquationEXT);
- INIT(SpriteParameterfSGIX);
- INIT(SpriteParameterfvSGIX);
- INIT(SpriteParameteriSGIX);
- INIT(SpriteParameterivSGIX);
- INIT(PointParameterfEXT);
- INIT(PointParameterfvEXT);
- INIT(PointParameterfSGIS);
- INIT(PointParameterfvSGIS);
- INIT(GetInstrumentsSGIX);
- INIT(InstrumentsBufferSGIX);
- INIT(PollInstrumentsSGIX);
- INIT(ReadInstrumentsSGIX);
- INIT(StartInstrumentsSGIX);
- INIT(StopInstrumentsSGIX);
- INIT(FrameZoomSGIX);
- INIT(TagSampleBufferSGIX);
- INIT(ReferencePlaneSGIX);
- INIT(FlushRasterSGIX);
- INIT(GetImageTransformParameterfvHP);
- INIT(GetImageTransformParameterivHP);
- INIT(ImageTransformParameterfHP);
- INIT(ImageTransformParameterfvHP);
- INIT(ImageTransformParameteriHP);
- INIT(ImageTransformParameterivHP);
- INIT(ColorSubTableEXT);
- INIT(CopyColorSubTableEXT);
- INIT(HintPGI);
- INIT(ColorTableEXT);
- INIT(GetColorTableEXT);
- INIT(GetColorTableParameterfvEXT);
- INIT(GetColorTableParameterivEXT);
- INIT(GetListParameterfvSGIX);
- INIT(GetListParameterivSGIX);
- INIT(ListParameterfSGIX);
- INIT(ListParameterfvSGIX);
- INIT(ListParameteriSGIX);
- INIT(ListParameterivSGIX);
- INIT(IndexMaterialEXT);
- INIT(IndexFuncEXT);
- INIT(LockArraysEXT);
- INIT(UnlockArraysEXT);
- INIT(CullParameterfvEXT);
- INIT(CullParameterdvEXT);
- INIT(FragmentColorMaterialSGIX);
- INIT(FragmentLightfSGIX);
- INIT(FragmentLightfvSGIX);
- INIT(FragmentLightiSGIX);
- INIT(FragmentLightivSGIX);
- INIT(FragmentLightModelfSGIX);
- INIT(FragmentLightModelfvSGIX);
- INIT(FragmentLightModeliSGIX);
- INIT(FragmentLightModelivSGIX);
- INIT(FragmentMaterialfSGIX);
- INIT(FragmentMaterialfvSGIX);
- INIT(FragmentMaterialiSGIX);
- INIT(FragmentMaterialivSGIX);
- INIT(GetFragmentLightfvSGIX);
- INIT(GetFragmentLightivSGIX);
- INIT(GetFragmentMaterialfvSGIX);
- INIT(GetFragmentMaterialivSGIX);
- INIT(LightEnviSGIX);
- INIT(DrawRangeElementsEXT);
- INIT(ApplyTextureEXT);
- INIT(TextureLightEXT);
- INIT(TextureMaterialEXT);
- INIT(TexScissorINTEL);
- INIT(TexScissorFuncINTEL);
- INIT(VertexPointervINTEL);
- INIT(NormalPointervINTEL);
- INIT(ColorPointervINTEL);
- INIT(TexCoordPointervINTEL);
- INIT(PixelTransformParameteriEXT);
- INIT(PixelTransformParameterfEXT);
- INIT(PixelTransformParameterivEXT);
- INIT(PixelTransformParameterfvEXT);
- INIT(GetPixelTransformParameterivEXT);
- INIT(GetPixelTransformParameterfvEXT);
- INIT(SecondaryColorPointerEXT);
- INIT(FogCoordPointerEXT);
- INIT(BlendFuncSeparateEXT);
- INIT(BlendFuncSeparateINGR);
- INIT(FlushVertexArrayRangeNV);
- INIT(VertexArrayRangeNV);
- INIT(CombinerParameterfvNV);
- INIT(CombinerParameterfNV);
- INIT(CombinerParameterivNV);
- INIT(CombinerParameteriNV);
- INIT(CombinerInputNV);
- INIT(CombinerOutputNV);
- INIT(FinalCombinerInputNV);
- INIT(GetCombinerInputParameterfvNV);
- INIT(GetCombinerInputParameterivNV);
- INIT(GetCombinerOutputParameterfvNV);
- INIT(GetCombinerOutputParameterivNV);
- INIT(GetFinalCombinerInputParameterfvNV);
- INIT(GetFinalCombinerInputParameterivNV);
- INIT(VertexWeightfEXT);
- INIT(VertexWeightfvEXT);
- INIT(VertexWeightPointerEXT);
- INIT(ResizeBuffersMESA);
- INIT(WindowPos2iMESA);
- INIT(WindowPos2sMESA);
- INIT(WindowPos2fMESA);
- INIT(WindowPos2dMESA);
- INIT(WindowPos2ivMESA);
- INIT(WindowPos2svMESA);
- INIT(WindowPos2fvMESA);
- INIT(WindowPos2dvMESA);
- INIT(WindowPos3iMESA);
- INIT(WindowPos3sMESA);
- INIT(WindowPos3fMESA);
- INIT(WindowPos3dMESA);
- INIT(WindowPos3ivMESA);
- INIT(WindowPos3svMESA);
- INIT(WindowPos3fvMESA);
- INIT(WindowPos3dvMESA);
- INIT(WindowPos4iMESA);
- INIT(WindowPos4sMESA);
- INIT(WindowPos4fMESA);
- INIT(WindowPos4dMESA);
- INIT(WindowPos4ivMESA);
- INIT(WindowPos4svMESA);
- INIT(WindowPos4fvMESA);
- INIT(WindowPos4dvMESA);
- INIT(TbufferMask3DFX);
- INIT(SampleMaskEXT);
- INIT(SamplePatternEXT);
- INIT(ActiveTextureARB);
- INIT(ClientActiveTextureARB);
- INIT(LoadTransposeMatrixdARB);
- INIT(LoadTransposeMatrixfARB);
- INIT(MultTransposeMatrixdARB);
- INIT(MultTransposeMatrixfARB);
- INIT(SampleCoverageARB);
- INIT(SamplePassARB);
- INIT(CompressedTexImage3DARB);
- INIT(CompressedTexImage2DARB);
- INIT(CompressedTexImage1DARB);
- INIT(CompressedTexSubImage3DARB);
- INIT(CompressedTexSubImage2DARB);
- INIT(CompressedTexSubImage1DARB);
- INIT(GetCompressedTexImageARB);
-
- INIT(Begin);
- INIT(CallList);
- INIT(CallLists);
- INIT(Color3b);
- INIT(Color3d);
- INIT(Color3f);
- INIT(Color3i);
- INIT(Color3s);
- INIT(Color3ub);
- INIT(Color3ui);
- INIT(Color3us);
- INIT(Color4b);
- INIT(Color4d);
- INIT(Color4f);
- INIT(Color4i);
- INIT(Color4s);
- INIT(Color4ub);
- INIT(Color4ui);
- INIT(Color4us);
- INIT(Color3bv);
- INIT(Color3dv);
- INIT(Color3fv);
- INIT(Color3iv);
- INIT(Color3sv);
- INIT(Color3ubv);
- INIT(Color3uiv);
- INIT(Color3usv);
- INIT(Color4bv);
- INIT(Color4dv);
- INIT(Color4fv);
- INIT(Color4iv);
- INIT(Color4sv);
- INIT(Color4ubv);
- INIT(Color4uiv);
- INIT(Color4usv);
- INIT(End);
- INIT(EdgeFlag);
- INIT(EdgeFlagv);
- INIT(EvalCoord1d);
- INIT(EvalCoord1f);
- INIT(EvalCoord1dv);
- INIT(EvalCoord1fv);
- INIT(EvalCoord2d);
- INIT(EvalCoord2f);
- INIT(EvalCoord2dv);
- INIT(EvalCoord2fv);
- INIT(EvalPoint1);
- INIT(EvalPoint2);
- INIT(Indexd);
- INIT(Indexdv);
- INIT(Indexf);
- INIT(Indexfv);
- INIT(Indexi);
- INIT(Indexiv);
- INIT(Indexs);
- INIT(Indexsv);
- INIT(Materialf);
- INIT(Materiali);
- INIT(Materialfv);
- INIT(Materialiv);
- INIT(Normal3b);
- INIT(Normal3bv);
- INIT(Normal3d);
- INIT(Normal3dv);
- INIT(Normal3f);
- INIT(Normal3fv);
- INIT(Normal3i);
- INIT(Normal3iv);
- INIT(Normal3s);
- INIT(Normal3sv);
- INIT(TexCoord1d);
- INIT(TexCoord1f);
- INIT(TexCoord1i);
- INIT(TexCoord1s);
- INIT(TexCoord2d);
- INIT(TexCoord2f);
- INIT(TexCoord2s);
- INIT(TexCoord2i);
- INIT(TexCoord3d);
- INIT(TexCoord3f);
- INIT(TexCoord3i);
- INIT(TexCoord3s);
- INIT(TexCoord4d);
- INIT(TexCoord4f);
- INIT(TexCoord4i);
- INIT(TexCoord4s);
- INIT(TexCoord1dv);
- INIT(TexCoord1fv);
- INIT(TexCoord1iv);
- INIT(TexCoord1sv);
- INIT(TexCoord2dv);
- INIT(TexCoord2fv);
- INIT(TexCoord2iv);
- INIT(TexCoord2sv);
- INIT(TexCoord3dv);
- INIT(TexCoord3fv);
- INIT(TexCoord3iv);
- INIT(TexCoord3sv);
- INIT(TexCoord4dv);
- INIT(TexCoord4fv);
- INIT(TexCoord4iv);
- INIT(TexCoord4sv);
- INIT(Vertex2d);
- INIT(Vertex2dv);
- INIT(Vertex2f);
- INIT(Vertex2fv);
- INIT(Vertex2i);
- INIT(Vertex2iv);
- INIT(Vertex2s);
- INIT(Vertex2sv);
- INIT(Vertex3d);
- INIT(Vertex3dv);
- INIT(Vertex3f);
- INIT(Vertex3fv);
- INIT(Vertex3i);
- INIT(Vertex3iv);
- INIT(Vertex3s);
- INIT(Vertex3sv);
- INIT(Vertex4d);
- INIT(Vertex4dv);
- INIT(Vertex4f);
- INIT(Vertex4fv);
- INIT(Vertex4i);
- INIT(Vertex4iv);
- INIT(Vertex4s);
- INIT(Vertex4sv);
- INIT(Indexub);
- INIT(Indexubv);
- INIT(ArrayElementEXT);
- INIT(SecondaryColor3bEXT);
- INIT(SecondaryColor3bvEXT);
- INIT(SecondaryColor3dEXT);
- INIT(SecondaryColor3dvEXT);
- INIT(SecondaryColor3fEXT);
- INIT(SecondaryColor3fvEXT);
- INIT(SecondaryColor3iEXT);
- INIT(SecondaryColor3ivEXT);
- INIT(SecondaryColor3sEXT);
- INIT(SecondaryColor3svEXT);
- INIT(SecondaryColor3ubEXT);
- INIT(SecondaryColor3ubvEXT);
- INIT(SecondaryColor3uiEXT);
- INIT(SecondaryColor3uivEXT);
- INIT(SecondaryColor3usEXT);
- INIT(SecondaryColor3usvEXT);
- INIT(FogCoordfEXT);
- INIT(FogCoordfvEXT);
- INIT(FogCoorddEXT);
- INIT(FogCoorddvEXT);
- INIT(MultiTexCoord1dARB);
- INIT(MultiTexCoord1dvARB);
- INIT(MultiTexCoord1fARB);
- INIT(MultiTexCoord1fvARB);
- INIT(MultiTexCoord1iARB);
- INIT(MultiTexCoord1ivARB);
- INIT(MultiTexCoord1sARB);
- INIT(MultiTexCoord1svARB);
- INIT(MultiTexCoord2dARB);
- INIT(MultiTexCoord2dvARB);
- INIT(MultiTexCoord2fARB);
- INIT(MultiTexCoord2fvARB);
- INIT(MultiTexCoord2iARB);
- INIT(MultiTexCoord2ivARB);
- INIT(MultiTexCoord2sARB);
- INIT(MultiTexCoord2svARB);
- INIT(MultiTexCoord3dARB);
- INIT(MultiTexCoord3dvARB);
- INIT(MultiTexCoord3fARB);
- INIT(MultiTexCoord3fvARB);
- INIT(MultiTexCoord3iARB);
- INIT(MultiTexCoord3ivARB);
- INIT(MultiTexCoord3sARB);
- INIT(MultiTexCoord3svARB);
- INIT(MultiTexCoord4dARB);
- INIT(MultiTexCoord4dvARB);
- INIT(MultiTexCoord4fARB);
- INIT(MultiTexCoord4fvARB);
- INIT(MultiTexCoord4iARB);
- INIT(MultiTexCoord4ivARB);
- INIT(MultiTexCoord4sARB);
- INIT(MultiTexCoord4svARB);
- INIT(ArrayElement);
-}
+#ifdef DISPATCH_TABLE_NAME
+#ifndef TABLE_ENTRY
+#error TABLE_ENTRY must be defined
#endif
+void *DISPATCH_TABLE_NAME[] = {
+ TABLE_ENTRY(NewList),
+ TABLE_ENTRY(EndList),
+ TABLE_ENTRY(CallList),
+ TABLE_ENTRY(CallLists),
+ TABLE_ENTRY(DeleteLists),
+ TABLE_ENTRY(GenLists),
+ TABLE_ENTRY(ListBase),
+ TABLE_ENTRY(Begin),
+ TABLE_ENTRY(Bitmap),
+ TABLE_ENTRY(Color3b),
+ TABLE_ENTRY(Color3bv),
+ TABLE_ENTRY(Color3d),
+ TABLE_ENTRY(Color3dv),
+ TABLE_ENTRY(Color3f),
+ TABLE_ENTRY(Color3fv),
+ TABLE_ENTRY(Color3i),
+ TABLE_ENTRY(Color3iv),
+ TABLE_ENTRY(Color3s),
+ TABLE_ENTRY(Color3sv),
+ TABLE_ENTRY(Color3ub),
+ TABLE_ENTRY(Color3ubv),
+ TABLE_ENTRY(Color3ui),
+ TABLE_ENTRY(Color3uiv),
+ TABLE_ENTRY(Color3us),
+ TABLE_ENTRY(Color3usv),
+ TABLE_ENTRY(Color4b),
+ TABLE_ENTRY(Color4bv),
+ TABLE_ENTRY(Color4d),
+ TABLE_ENTRY(Color4dv),
+ TABLE_ENTRY(Color4f),
+ TABLE_ENTRY(Color4fv),
+ TABLE_ENTRY(Color4i),
+ TABLE_ENTRY(Color4iv),
+ TABLE_ENTRY(Color4s),
+ TABLE_ENTRY(Color4sv),
+ TABLE_ENTRY(Color4ub),
+ TABLE_ENTRY(Color4ubv),
+ TABLE_ENTRY(Color4ui),
+ TABLE_ENTRY(Color4uiv),
+ TABLE_ENTRY(Color4us),
+ TABLE_ENTRY(Color4usv),
+ TABLE_ENTRY(EdgeFlag),
+ TABLE_ENTRY(EdgeFlagv),
+ TABLE_ENTRY(End),
+ TABLE_ENTRY(Indexd),
+ TABLE_ENTRY(Indexdv),
+ TABLE_ENTRY(Indexf),
+ TABLE_ENTRY(Indexfv),
+ TABLE_ENTRY(Indexi),
+ TABLE_ENTRY(Indexiv),
+ TABLE_ENTRY(Indexs),
+ TABLE_ENTRY(Indexsv),
+ TABLE_ENTRY(Normal3b),
+ TABLE_ENTRY(Normal3bv),
+ TABLE_ENTRY(Normal3d),
+ TABLE_ENTRY(Normal3dv),
+ TABLE_ENTRY(Normal3f),
+ TABLE_ENTRY(Normal3fv),
+ TABLE_ENTRY(Normal3i),
+ TABLE_ENTRY(Normal3iv),
+ TABLE_ENTRY(Normal3s),
+ TABLE_ENTRY(Normal3sv),
+ TABLE_ENTRY(RasterPos2d),
+ TABLE_ENTRY(RasterPos2dv),
+ TABLE_ENTRY(RasterPos2f),
+ TABLE_ENTRY(RasterPos2fv),
+ TABLE_ENTRY(RasterPos2i),
+ TABLE_ENTRY(RasterPos2iv),
+ TABLE_ENTRY(RasterPos2s),
+ TABLE_ENTRY(RasterPos2sv),
+ TABLE_ENTRY(RasterPos3d),
+ TABLE_ENTRY(RasterPos3dv),
+ TABLE_ENTRY(RasterPos3f),
+ TABLE_ENTRY(RasterPos3fv),
+ TABLE_ENTRY(RasterPos3i),
+ TABLE_ENTRY(RasterPos3iv),
+ TABLE_ENTRY(RasterPos3s),
+ TABLE_ENTRY(RasterPos3sv),
+ TABLE_ENTRY(RasterPos4d),
+ TABLE_ENTRY(RasterPos4dv),
+ TABLE_ENTRY(RasterPos4f),
+ TABLE_ENTRY(RasterPos4fv),
+ TABLE_ENTRY(RasterPos4i),
+ TABLE_ENTRY(RasterPos4iv),
+ TABLE_ENTRY(RasterPos4s),
+ TABLE_ENTRY(RasterPos4sv),
+ TABLE_ENTRY(Rectd),
+ TABLE_ENTRY(Rectdv),
+ TABLE_ENTRY(Rectf),
+ TABLE_ENTRY(Rectfv),
+ TABLE_ENTRY(Recti),
+ TABLE_ENTRY(Rectiv),
+ TABLE_ENTRY(Rects),
+ TABLE_ENTRY(Rectsv),
+ TABLE_ENTRY(TexCoord1d),
+ TABLE_ENTRY(TexCoord1dv),
+ TABLE_ENTRY(TexCoord1f),
+ TABLE_ENTRY(TexCoord1fv),
+ TABLE_ENTRY(TexCoord1i),
+ TABLE_ENTRY(TexCoord1iv),
+ TABLE_ENTRY(TexCoord1s),
+ TABLE_ENTRY(TexCoord1sv),
+ TABLE_ENTRY(TexCoord2d),
+ TABLE_ENTRY(TexCoord2dv),
+ TABLE_ENTRY(TexCoord2f),
+ TABLE_ENTRY(TexCoord2fv),
+ TABLE_ENTRY(TexCoord2i),
+ TABLE_ENTRY(TexCoord2iv),
+ TABLE_ENTRY(TexCoord2s),
+ TABLE_ENTRY(TexCoord2sv),
+ TABLE_ENTRY(TexCoord3d),
+ TABLE_ENTRY(TexCoord3dv),
+ TABLE_ENTRY(TexCoord3f),
+ TABLE_ENTRY(TexCoord3fv),
+ TABLE_ENTRY(TexCoord3i),
+ TABLE_ENTRY(TexCoord3iv),
+ TABLE_ENTRY(TexCoord3s),
+ TABLE_ENTRY(TexCoord3sv),
+ TABLE_ENTRY(TexCoord4d),
+ TABLE_ENTRY(TexCoord4dv),
+ TABLE_ENTRY(TexCoord4f),
+ TABLE_ENTRY(TexCoord4fv),
+ TABLE_ENTRY(TexCoord4i),
+ TABLE_ENTRY(TexCoord4iv),
+ TABLE_ENTRY(TexCoord4s),
+ TABLE_ENTRY(TexCoord4sv),
+ TABLE_ENTRY(Vertex2d),
+ TABLE_ENTRY(Vertex2dv),
+ TABLE_ENTRY(Vertex2f),
+ TABLE_ENTRY(Vertex2fv),
+ TABLE_ENTRY(Vertex2i),
+ TABLE_ENTRY(Vertex2iv),
+ TABLE_ENTRY(Vertex2s),
+ TABLE_ENTRY(Vertex2sv),
+ TABLE_ENTRY(Vertex3d),
+ TABLE_ENTRY(Vertex3dv),
+ TABLE_ENTRY(Vertex3f),
+ TABLE_ENTRY(Vertex3fv),
+ TABLE_ENTRY(Vertex3i),
+ TABLE_ENTRY(Vertex3iv),
+ TABLE_ENTRY(Vertex3s),
+ TABLE_ENTRY(Vertex3sv),
+ TABLE_ENTRY(Vertex4d),
+ TABLE_ENTRY(Vertex4dv),
+ TABLE_ENTRY(Vertex4f),
+ TABLE_ENTRY(Vertex4fv),
+ TABLE_ENTRY(Vertex4i),
+ TABLE_ENTRY(Vertex4iv),
+ TABLE_ENTRY(Vertex4s),
+ TABLE_ENTRY(Vertex4sv),
+ TABLE_ENTRY(ClipPlane),
+ TABLE_ENTRY(ColorMaterial),
+ TABLE_ENTRY(CullFace),
+ TABLE_ENTRY(Fogf),
+ TABLE_ENTRY(Fogfv),
+ TABLE_ENTRY(Fogi),
+ TABLE_ENTRY(Fogiv),
+ TABLE_ENTRY(FrontFace),
+ TABLE_ENTRY(Hint),
+ TABLE_ENTRY(Lightf),
+ TABLE_ENTRY(Lightfv),
+ TABLE_ENTRY(Lighti),
+ TABLE_ENTRY(Lightiv),
+ TABLE_ENTRY(LightModelf),
+ TABLE_ENTRY(LightModelfv),
+ TABLE_ENTRY(LightModeli),
+ TABLE_ENTRY(LightModeliv),
+ TABLE_ENTRY(LineStipple),
+ TABLE_ENTRY(LineWidth),
+ TABLE_ENTRY(Materialf),
+ TABLE_ENTRY(Materialfv),
+ TABLE_ENTRY(Materiali),
+ TABLE_ENTRY(Materialiv),
+ TABLE_ENTRY(PointSize),
+ TABLE_ENTRY(PolygonMode),
+ TABLE_ENTRY(PolygonStipple),
+ TABLE_ENTRY(Scissor),
+ TABLE_ENTRY(ShadeModel),
+ TABLE_ENTRY(TexParameterf),
+ TABLE_ENTRY(TexParameterfv),
+ TABLE_ENTRY(TexParameteri),
+ TABLE_ENTRY(TexParameteriv),
+ TABLE_ENTRY(TexImage1D),
+ TABLE_ENTRY(TexImage2D),
+ TABLE_ENTRY(TexEnvf),
+ TABLE_ENTRY(TexEnvfv),
+ TABLE_ENTRY(TexEnvi),
+ TABLE_ENTRY(TexEnviv),
+ TABLE_ENTRY(TexGend),
+ TABLE_ENTRY(TexGendv),
+ TABLE_ENTRY(TexGenf),
+ TABLE_ENTRY(TexGenfv),
+ TABLE_ENTRY(TexGeni),
+ TABLE_ENTRY(TexGeniv),
+ TABLE_ENTRY(FeedbackBuffer),
+ TABLE_ENTRY(SelectBuffer),
+ TABLE_ENTRY(RenderMode),
+ TABLE_ENTRY(InitNames),
+ TABLE_ENTRY(LoadName),
+ TABLE_ENTRY(PassThrough),
+ TABLE_ENTRY(PopName),
+ TABLE_ENTRY(PushName),
+ TABLE_ENTRY(DrawBuffer),
+ TABLE_ENTRY(Clear),
+ TABLE_ENTRY(ClearAccum),
+ TABLE_ENTRY(ClearIndex),
+ TABLE_ENTRY(ClearColor),
+ TABLE_ENTRY(ClearStencil),
+ TABLE_ENTRY(ClearDepth),
+ TABLE_ENTRY(StencilMask),
+ TABLE_ENTRY(ColorMask),
+ TABLE_ENTRY(DepthMask),
+ TABLE_ENTRY(IndexMask),
+ TABLE_ENTRY(Accum),
+ TABLE_ENTRY(Disable),
+ TABLE_ENTRY(Enable),
+ TABLE_ENTRY(Finish),
+ TABLE_ENTRY(Flush),
+ TABLE_ENTRY(PopAttrib),
+ TABLE_ENTRY(PushAttrib),
+ TABLE_ENTRY(Map1d),
+ TABLE_ENTRY(Map1f),
+ TABLE_ENTRY(Map2d),
+ TABLE_ENTRY(Map2f),
+ TABLE_ENTRY(MapGrid1d),
+ TABLE_ENTRY(MapGrid1f),
+ TABLE_ENTRY(MapGrid2d),
+ TABLE_ENTRY(MapGrid2f),
+ TABLE_ENTRY(EvalCoord1d),
+ TABLE_ENTRY(EvalCoord1dv),
+ TABLE_ENTRY(EvalCoord1f),
+ TABLE_ENTRY(EvalCoord1fv),
+ TABLE_ENTRY(EvalCoord2d),
+ TABLE_ENTRY(EvalCoord2dv),
+ TABLE_ENTRY(EvalCoord2f),
+ TABLE_ENTRY(EvalCoord2fv),
+ TABLE_ENTRY(EvalMesh1),
+ TABLE_ENTRY(EvalPoint1),
+ TABLE_ENTRY(EvalMesh2),
+ TABLE_ENTRY(EvalPoint2),
+ TABLE_ENTRY(AlphaFunc),
+ TABLE_ENTRY(BlendFunc),
+ TABLE_ENTRY(LogicOp),
+ TABLE_ENTRY(StencilFunc),
+ TABLE_ENTRY(StencilOp),
+ TABLE_ENTRY(DepthFunc),
+ TABLE_ENTRY(PixelZoom),
+ TABLE_ENTRY(PixelTransferf),
+ TABLE_ENTRY(PixelTransferi),
+ TABLE_ENTRY(PixelStoref),
+ TABLE_ENTRY(PixelStorei),
+ TABLE_ENTRY(PixelMapfv),
+ TABLE_ENTRY(PixelMapuiv),
+ TABLE_ENTRY(PixelMapusv),
+ TABLE_ENTRY(ReadBuffer),
+ TABLE_ENTRY(CopyPixels),
+ TABLE_ENTRY(ReadPixels),
+ TABLE_ENTRY(DrawPixels),
+ TABLE_ENTRY(GetBooleanv),
+ TABLE_ENTRY(GetClipPlane),
+ TABLE_ENTRY(GetDoublev),
+ TABLE_ENTRY(GetError),
+ TABLE_ENTRY(GetFloatv),
+ TABLE_ENTRY(GetIntegerv),
+ TABLE_ENTRY(GetLightfv),
+ TABLE_ENTRY(GetLightiv),
+ TABLE_ENTRY(GetMapdv),
+ TABLE_ENTRY(GetMapfv),
+ TABLE_ENTRY(GetMapiv),
+ TABLE_ENTRY(GetMaterialfv),
+ TABLE_ENTRY(GetMaterialiv),
+ TABLE_ENTRY(GetPixelMapfv),
+ TABLE_ENTRY(GetPixelMapuiv),
+ TABLE_ENTRY(GetPixelMapusv),
+ TABLE_ENTRY(GetPolygonStipple),
+ TABLE_ENTRY(GetString),
+ TABLE_ENTRY(GetTexEnvfv),
+ TABLE_ENTRY(GetTexEnviv),
+ TABLE_ENTRY(GetTexGendv),
+ TABLE_ENTRY(GetTexGenfv),
+ TABLE_ENTRY(GetTexGeniv),
+ TABLE_ENTRY(GetTexImage),
+ TABLE_ENTRY(GetTexParameterfv),
+ TABLE_ENTRY(GetTexParameteriv),
+ TABLE_ENTRY(GetTexLevelParameterfv),
+ TABLE_ENTRY(GetTexLevelParameteriv),
+ TABLE_ENTRY(IsEnabled),
+ TABLE_ENTRY(IsList),
+ TABLE_ENTRY(DepthRange),
+ TABLE_ENTRY(Frustum),
+ TABLE_ENTRY(LoadIdentity),
+ TABLE_ENTRY(LoadMatrixf),
+ TABLE_ENTRY(LoadMatrixd),
+ TABLE_ENTRY(MatrixMode),
+ TABLE_ENTRY(MultMatrixf),
+ TABLE_ENTRY(MultMatrixd),
+ TABLE_ENTRY(Ortho),
+ TABLE_ENTRY(PopMatrix),
+ TABLE_ENTRY(PushMatrix),
+ TABLE_ENTRY(Rotated),
+ TABLE_ENTRY(Rotatef),
+ TABLE_ENTRY(Scaled),
+ TABLE_ENTRY(Scalef),
+ TABLE_ENTRY(Translated),
+ TABLE_ENTRY(Translatef),
+ TABLE_ENTRY(Viewport),
+ /* 1.1 */
+ TABLE_ENTRY(ArrayElement),
+ TABLE_ENTRY(BindTexture),
+ TABLE_ENTRY(ColorPointer),
+ TABLE_ENTRY(DisableClientState),
+ TABLE_ENTRY(DrawArrays),
+ TABLE_ENTRY(DrawElements),
+ TABLE_ENTRY(EdgeFlagPointer),
+ TABLE_ENTRY(EnableClientState),
+ TABLE_ENTRY(IndexPointer),
+ TABLE_ENTRY(Indexub),
+ TABLE_ENTRY(Indexubv),
+ TABLE_ENTRY(InterleavedArrays),
+ TABLE_ENTRY(NormalPointer),
+ TABLE_ENTRY(PolygonOffset),
+ TABLE_ENTRY(TexCoordPointer),
+ TABLE_ENTRY(VertexPointer),
+ TABLE_ENTRY(AreTexturesResident),
+ TABLE_ENTRY(CopyTexImage1D),
+ TABLE_ENTRY(CopyTexImage2D),
+ TABLE_ENTRY(CopyTexSubImage1D),
+ TABLE_ENTRY(CopyTexSubImage2D),
+ TABLE_ENTRY(DeleteTextures),
+ TABLE_ENTRY(GenTextures),
+ TABLE_ENTRY(GetPointerv),
+ TABLE_ENTRY(IsTexture),
+ TABLE_ENTRY(PrioritizeTextures),
+ TABLE_ENTRY(TexSubImage1D),
+ TABLE_ENTRY(TexSubImage2D),
+ TABLE_ENTRY(PopClientAttrib),
+ TABLE_ENTRY(PushClientAttrib),
+ /* 1.2 */
+ TABLE_ENTRY(BlendColor),
+ TABLE_ENTRY(BlendEquation),
+ TABLE_ENTRY(DrawRangeElements),
+ TABLE_ENTRY(ColorTable),
+ TABLE_ENTRY(ColorTableParameterfv),
+ TABLE_ENTRY(ColorTableParameteriv),
+ TABLE_ENTRY(CopyColorTable),
+ TABLE_ENTRY(GetColorTable),
+ TABLE_ENTRY(GetColorTableParameterfv),
+ TABLE_ENTRY(GetColorTableParameteriv),
+ TABLE_ENTRY(ColorSubTable),
+ TABLE_ENTRY(CopyColorSubTable),
+ TABLE_ENTRY(ConvolutionFilter1D),
+ TABLE_ENTRY(ConvolutionFilter2D),
+ TABLE_ENTRY(ConvolutionParameterf),
+ TABLE_ENTRY(ConvolutionParameterfv),
+ TABLE_ENTRY(ConvolutionParameteri),
+ TABLE_ENTRY(ConvolutionParameteriv),
+ TABLE_ENTRY(CopyConvolutionFilter1D),
+ TABLE_ENTRY(CopyConvolutionFilter2D),
+ TABLE_ENTRY(GetConvolutionFilter),
+ TABLE_ENTRY(GetConvolutionParameterfv),
+ TABLE_ENTRY(GetConvolutionParameteriv),
+ TABLE_ENTRY(GetSeparableFilter),
+ TABLE_ENTRY(SeparableFilter2D),
+ TABLE_ENTRY(GetHistogram),
+ TABLE_ENTRY(GetHistogramParameterfv),
+ TABLE_ENTRY(GetHistogramParameteriv),
+ TABLE_ENTRY(GetMinmax),
+ TABLE_ENTRY(GetMinmaxParameterfv),
+ TABLE_ENTRY(GetMinmaxParameteriv),
+ TABLE_ENTRY(Histogram),
+ TABLE_ENTRY(Minmax),
+ TABLE_ENTRY(ResetHistogram),
+ TABLE_ENTRY(ResetMinmax),
+ TABLE_ENTRY(TexImage3D),
+ TABLE_ENTRY(TexSubImage3D),
+ TABLE_ENTRY(CopyTexSubImage3D),
+ /* GL_ARB_multitexture */
+ TABLE_ENTRY(ActiveTextureARB),
+ TABLE_ENTRY(ClientActiveTextureARB),
+ TABLE_ENTRY(MultiTexCoord1dARB),
+ TABLE_ENTRY(MultiTexCoord1dvARB),
+ TABLE_ENTRY(MultiTexCoord1fARB),
+ TABLE_ENTRY(MultiTexCoord1fvARB),
+ TABLE_ENTRY(MultiTexCoord1iARB),
+ TABLE_ENTRY(MultiTexCoord1ivARB),
+ TABLE_ENTRY(MultiTexCoord1sARB),
+ TABLE_ENTRY(MultiTexCoord1svARB),
+ TABLE_ENTRY(MultiTexCoord2dARB),
+ TABLE_ENTRY(MultiTexCoord2dvARB),
+ TABLE_ENTRY(MultiTexCoord2fARB),
+ TABLE_ENTRY(MultiTexCoord2fvARB),
+ TABLE_ENTRY(MultiTexCoord2iARB),
+ TABLE_ENTRY(MultiTexCoord2ivARB),
+ TABLE_ENTRY(MultiTexCoord2sARB),
+ TABLE_ENTRY(MultiTexCoord2svARB),
+ TABLE_ENTRY(MultiTexCoord3dARB),
+ TABLE_ENTRY(MultiTexCoord3dvARB),
+ TABLE_ENTRY(MultiTexCoord3fARB),
+ TABLE_ENTRY(MultiTexCoord3fvARB),
+ TABLE_ENTRY(MultiTexCoord3iARB),
+ TABLE_ENTRY(MultiTexCoord3ivARB),
+ TABLE_ENTRY(MultiTexCoord3sARB),
+ TABLE_ENTRY(MultiTexCoord3svARB),
+ TABLE_ENTRY(MultiTexCoord4dARB),
+ TABLE_ENTRY(MultiTexCoord4dvARB),
+ TABLE_ENTRY(MultiTexCoord4fARB),
+ TABLE_ENTRY(MultiTexCoord4fvARB),
+ TABLE_ENTRY(MultiTexCoord4iARB),
+ TABLE_ENTRY(MultiTexCoord4ivARB),
+ TABLE_ENTRY(MultiTexCoord4sARB),
+ TABLE_ENTRY(MultiTexCoord4svARB),
+ /* GL_ARB_transpose_matrix */
+ TABLE_ENTRY(LoadTransposeMatrixfARB),
+ TABLE_ENTRY(LoadTransposeMatrixdARB),
+ TABLE_ENTRY(MultTransposeMatrixfARB),
+ TABLE_ENTRY(MultTransposeMatrixdARB),
+ /* GL_ARB_multisample */
+ TABLE_ENTRY(SampleCoverageARB),
+ TABLE_ENTRY(SamplePassARB),
+ /* GL_EXT_blend_color */
+ /* GL_EXT_polygon_offset */
+ TABLE_ENTRY(PolygonOffsetEXT),
+ /* GL_EXT_texture3D */
+ /* GL_EXT_subtexture */
+ /* GL_SGIS_texture_filter4 */
+ TABLE_ENTRY(GetTexFilterFuncSGIS),
+ TABLE_ENTRY(TexFilterFuncSGIS),
+ /* GL_EXT_subtexture */
+ /* GL_EXT_copy_texture */
+ /* GL_EXT_histogram */
+ TABLE_ENTRY(GetHistogramEXT),
+ TABLE_ENTRY(GetHistogramParameterfvEXT),
+ TABLE_ENTRY(GetHistogramParameterivEXT),
+ TABLE_ENTRY(GetMinmaxEXT),
+ TABLE_ENTRY(GetMinmaxParameterfvEXT),
+ TABLE_ENTRY(GetMinmaxParameterivEXT),
+ /* GL_EXT_convolution */
+ TABLE_ENTRY(GetConvolutionFilterEXT),
+ TABLE_ENTRY(GetConvolutionParameterfvEXT),
+ TABLE_ENTRY(GetConvolutionParameterivEXT),
+ TABLE_ENTRY(GetSeparableFilterEXT),
+ /* GL_SGI_color_table */
+ TABLE_ENTRY(GetColorTableSGI),
+ TABLE_ENTRY(GetColorTableParameterfvSGI),
+ TABLE_ENTRY(GetColorTableParameterivSGI),
+ /* GL_SGIX_pixel_texture */
+ TABLE_ENTRY(PixelTexGenSGIX),
+ /* GL_SGIS_pixel_texture */
+ TABLE_ENTRY(PixelTexGenParameteriSGIS),
+ TABLE_ENTRY(PixelTexGenParameterivSGIS),
+ TABLE_ENTRY(PixelTexGenParameterfSGIS),
+ TABLE_ENTRY(PixelTexGenParameterfvSGIS),
+ TABLE_ENTRY(GetPixelTexGenParameterivSGIS),
+ TABLE_ENTRY(GetPixelTexGenParameterfvSGIS),
+ /* GL_SGIS_texture4D */
+ TABLE_ENTRY(TexImage4DSGIS),
+ TABLE_ENTRY(TexSubImage4DSGIS),
+ /* GL_EXT_texture_object */
+ TABLE_ENTRY(AreTexturesResidentEXT),
+ TABLE_ENTRY(GenTexturesEXT),
+ TABLE_ENTRY(IsTextureEXT),
+ /* GL_SGIS_detail_texture */
+ TABLE_ENTRY(DetailTexFuncSGIS),
+ TABLE_ENTRY(GetDetailTexFuncSGIS),
+ /* GL_SGIS_sharpen_texture */
+ TABLE_ENTRY(SharpenTexFuncSGIS),
+ TABLE_ENTRY(GetSharpenTexFuncSGIS),
+ /* GL_SGIS_multisample */
+ TABLE_ENTRY(SampleMaskSGIS),
+ TABLE_ENTRY(SamplePatternSGIS),
+ /* GL_EXT_vertex_array */
+ TABLE_ENTRY(ColorPointerEXT),
+ TABLE_ENTRY(EdgeFlagPointerEXT),
+ TABLE_ENTRY(IndexPointerEXT),
+ TABLE_ENTRY(NormalPointerEXT),
+ TABLE_ENTRY(TexCoordPointerEXT),
+ TABLE_ENTRY(VertexPointerEXT),
+ /* GL_EXT_blend_minmax */
+ /* GL_SGIX_sprite */
+ TABLE_ENTRY(SpriteParameterfSGIX),
+ TABLE_ENTRY(SpriteParameterfvSGIX),
+ TABLE_ENTRY(SpriteParameteriSGIX),
+ TABLE_ENTRY(SpriteParameterivSGIX),
+ /* GL_EXT_point_parameters */
+ TABLE_ENTRY(PointParameterfEXT),
+ TABLE_ENTRY(PointParameterfvEXT),
+ /* GL_SGIX_instruments */
+ TABLE_ENTRY(GetInstrumentsSGIX),
+ TABLE_ENTRY(InstrumentsBufferSGIX),
+ TABLE_ENTRY(PollInstrumentsSGIX),
+ TABLE_ENTRY(ReadInstrumentsSGIX),
+ TABLE_ENTRY(StartInstrumentsSGIX),
+ TABLE_ENTRY(StopInstrumentsSGIX),
+ /* GL_SGIX_framezoom */
+ TABLE_ENTRY(FrameZoomSGIX),
+ /* GL_SGIX_tag_sample_buffer */
+ TABLE_ENTRY(TagSampleBufferSGIX),
+ /* GL_SGIX_reference_plane */
+ TABLE_ENTRY(ReferencePlaneSGIX),
+ /* GL_SGIX_flush_raster */
+ TABLE_ENTRY(FlushRasterSGIX),
+ /* GL_SGIX_list_priority */
+ TABLE_ENTRY(GetListParameterfvSGIX),
+ TABLE_ENTRY(GetListParameterivSGIX),
+ TABLE_ENTRY(ListParameterfSGIX),
+ TABLE_ENTRY(ListParameterfvSGIX),
+ TABLE_ENTRY(ListParameteriSGIX),
+ TABLE_ENTRY(ListParameterivSGIX),
+ /* GL_SGIX_fragment_lighting */
+ TABLE_ENTRY(FragmentColorMaterialSGIX),
+ TABLE_ENTRY(FragmentLightfSGIX),
+ TABLE_ENTRY(FragmentLightfvSGIX),
+ TABLE_ENTRY(FragmentLightiSGIX),
+ TABLE_ENTRY(FragmentLightivSGIX),
+ TABLE_ENTRY(FragmentLightModelfSGIX),
+ TABLE_ENTRY(FragmentLightModelfvSGIX),
+ TABLE_ENTRY(FragmentLightModeliSGIX),
+ TABLE_ENTRY(FragmentLightModelivSGIX),
+ TABLE_ENTRY(FragmentMaterialfSGIX),
+ TABLE_ENTRY(FragmentMaterialfvSGIX),
+ TABLE_ENTRY(FragmentMaterialiSGIX),
+ TABLE_ENTRY(FragmentMaterialivSGIX),
+ TABLE_ENTRY(GetFragmentLightfvSGIX),
+ TABLE_ENTRY(GetFragmentLightivSGIX),
+ TABLE_ENTRY(GetFragmentMaterialfvSGIX),
+ TABLE_ENTRY(GetFragmentMaterialivSGIX),
+ TABLE_ENTRY(LightEnviSGIX),
+ /* GL_EXT_vertex_weighting */
+ TABLE_ENTRY(VertexWeightfEXT),
+ TABLE_ENTRY(VertexWeightfvEXT),
+ TABLE_ENTRY(VertexWeightPointerEXT),
+ /* GL_NV_vertex_array_range */
+ TABLE_ENTRY(FlushVertexArrayRangeNV),
+ TABLE_ENTRY(VertexArrayRangeNV),
+ /* GL_NV_register_combiners */
+ TABLE_ENTRY(CombinerParameterfvNV),
+ TABLE_ENTRY(CombinerParameterfNV),
+ TABLE_ENTRY(CombinerParameterivNV),
+ TABLE_ENTRY(CombinerParameteriNV),
+ TABLE_ENTRY(CombinerInputNV),
+ TABLE_ENTRY(CombinerOutputNV),
+ TABLE_ENTRY(FinalCombinerInputNV),
+ TABLE_ENTRY(GetCombinerInputParameterfvNV),
+ TABLE_ENTRY(GetCombinerInputParameterivNV),
+ TABLE_ENTRY(GetCombinerOutputParameterfvNV),
+ TABLE_ENTRY(GetCombinerOutputParameterivNV),
+ TABLE_ENTRY(GetFinalCombinerInputParameterfvNV),
+ TABLE_ENTRY(GetFinalCombinerInputParameterivNV),
+ /* GL_MESA_resize_buffers */
+ TABLE_ENTRY(ResizeBuffersMESA),
+ /* GL_MESA_window_pos */
+ TABLE_ENTRY(WindowPos2dMESA),
+ TABLE_ENTRY(WindowPos2dvMESA),
+ TABLE_ENTRY(WindowPos2fMESA),
+ TABLE_ENTRY(WindowPos2fvMESA),
+ TABLE_ENTRY(WindowPos2iMESA),
+ TABLE_ENTRY(WindowPos2ivMESA),
+ TABLE_ENTRY(WindowPos2sMESA),
+ TABLE_ENTRY(WindowPos2svMESA),
+ TABLE_ENTRY(WindowPos3dMESA),
+ TABLE_ENTRY(WindowPos3dvMESA),
+ TABLE_ENTRY(WindowPos3fMESA),
+ TABLE_ENTRY(WindowPos3fvMESA),
+ TABLE_ENTRY(WindowPos3iMESA),
+ TABLE_ENTRY(WindowPos3ivMESA),
+ TABLE_ENTRY(WindowPos3sMESA),
+ TABLE_ENTRY(WindowPos3svMESA),
+ TABLE_ENTRY(WindowPos4dMESA),
+ TABLE_ENTRY(WindowPos4dvMESA),
+ TABLE_ENTRY(WindowPos4fMESA),
+ TABLE_ENTRY(WindowPos4fvMESA),
+ TABLE_ENTRY(WindowPos4iMESA),
+ TABLE_ENTRY(WindowPos4ivMESA),
+ TABLE_ENTRY(WindowPos4sMESA),
+ TABLE_ENTRY(WindowPos4svMESA),
+ /* GL_EXT_draw_range_elements */
+ TABLE_ENTRY(BlendFuncSeparateEXT),
+ /* GL_EXT_index_material */
+ TABLE_ENTRY(IndexMaterialEXT),
+ /* GL_EXT_index_func */
+ TABLE_ENTRY(IndexFuncEXT),
+ /* GL_EXT_compiled_vertex_array */
+ TABLE_ENTRY(LockArraysEXT),
+ TABLE_ENTRY(UnlockArraysEXT),
+ /* GL_EXT_cull_vertex */
+ TABLE_ENTRY(CullParameterdvEXT),
+ TABLE_ENTRY(CullParameterfvEXT),
+ /* GL_PGI_misc_hints */
+ TABLE_ENTRY(HintPGI),
+ /* GL_EXT_fog_coord */
+ TABLE_ENTRY(FogCoordfEXT),
+ TABLE_ENTRY(FogCoordfvEXT),
+ TABLE_ENTRY(FogCoorddEXT),
+ TABLE_ENTRY(FogCoorddvEXT),
+ TABLE_ENTRY(FogCoordPointerEXT),
+ /* GL_EXT_color_table */
+ TABLE_ENTRY(GetColorTableEXT),
+ TABLE_ENTRY(GetColorTableParameterivEXT),
+ TABLE_ENTRY(GetColorTableParameterfvEXT),
+ /* GL_3DFX_tbuffer */
+ TABLE_ENTRY(TbufferMask3DFX),
+ /* GL_ARB_texture_compression */
+ TABLE_ENTRY(CompressedTexImage3DARB),
+ TABLE_ENTRY(CompressedTexImage2DARB),
+ TABLE_ENTRY(CompressedTexImage1DARB),
+ TABLE_ENTRY(CompressedTexSubImage3DARB),
+ TABLE_ENTRY(CompressedTexSubImage2DARB),
+ TABLE_ENTRY(CompressedTexSubImage1DARB),
+ TABLE_ENTRY(GetCompressedTexImageARB),
+ /* GL_EXT_secondary_color */
+ TABLE_ENTRY(SecondaryColor3bEXT),
+ TABLE_ENTRY(SecondaryColor3bvEXT),
+ TABLE_ENTRY(SecondaryColor3dEXT),
+ TABLE_ENTRY(SecondaryColor3dvEXT),
+ TABLE_ENTRY(SecondaryColor3fEXT),
+ TABLE_ENTRY(SecondaryColor3fvEXT),
+ TABLE_ENTRY(SecondaryColor3iEXT),
+ TABLE_ENTRY(SecondaryColor3ivEXT),
+ TABLE_ENTRY(SecondaryColor3sEXT),
+ TABLE_ENTRY(SecondaryColor3svEXT),
+ TABLE_ENTRY(SecondaryColor3ubEXT),
+ TABLE_ENTRY(SecondaryColor3ubvEXT),
+ TABLE_ENTRY(SecondaryColor3uiEXT),
+ TABLE_ENTRY(SecondaryColor3uivEXT),
+ TABLE_ENTRY(SecondaryColor3usEXT),
+ TABLE_ENTRY(SecondaryColor3usvEXT),
+ TABLE_ENTRY(SecondaryColorPointerEXT),
+ /* A whole bunch of no-op functions. These might be called
+ * when someone tries to call a dynamically-registered extension
+ * function without a current rendering context.
+ */
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused),
+ TABLE_ENTRY(Unused)
+};
+#endif /* DISPATCH_TABLE_NAME */
+
+
+
+/*
+ * This is just used to silence compiler warnings.
+ * We list the functions which aren't otherwise used.
+ */
+#ifdef UNUSED_TABLE_NAME
+void *UNUSED_TABLE_NAME[] = {
+ TABLE_ENTRY(BlendColorEXT),
+ TABLE_ENTRY(CopyTexSubImage3DEXT),
+ TABLE_ENTRY(TexImage3DEXT),
+ TABLE_ENTRY(TexSubImage3DEXT),
+ TABLE_ENTRY(CopyTexSubImage1DEXT),
+ TABLE_ENTRY(TexSubImage1DEXT),
+ TABLE_ENTRY(TexSubImage2DEXT),
+ TABLE_ENTRY(CopyTexImage1DEXT),
+ TABLE_ENTRY(CopyTexImage2DEXT),
+ TABLE_ENTRY(CopyTexSubImage2DEXT),
+ TABLE_ENTRY(HistogramEXT),
+ TABLE_ENTRY(MinmaxEXT),
+ TABLE_ENTRY(ResetHistogramEXT),
+ TABLE_ENTRY(ResetMinmaxEXT),
+ TABLE_ENTRY(ConvolutionFilter1DEXT),
+ TABLE_ENTRY(ConvolutionFilter2DEXT),
+ TABLE_ENTRY(ConvolutionParameterfEXT),
+ TABLE_ENTRY(ConvolutionParameterfvEXT),
+ TABLE_ENTRY(ConvolutionParameteriEXT),
+ TABLE_ENTRY(ConvolutionParameterivEXT),
+ TABLE_ENTRY(CopyConvolutionFilter1DEXT),
+ TABLE_ENTRY(CopyConvolutionFilter2DEXT),
+ TABLE_ENTRY(SeparableFilter2DEXT),
+ TABLE_ENTRY(ColorTableParameterfvSGI),
+ TABLE_ENTRY(ColorTableParameterivSGI),
+ TABLE_ENTRY(ColorTableSGI),
+ TABLE_ENTRY(CopyColorTableSGI),
+ TABLE_ENTRY(DeleteTexturesEXT),
+ TABLE_ENTRY(BindTextureEXT),
+ TABLE_ENTRY(PrioritizeTexturesEXT),
+ TABLE_ENTRY(GetPointervEXT),
+ TABLE_ENTRY(ArrayElementEXT),
+ TABLE_ENTRY(DrawArraysEXT),
+ TABLE_ENTRY(BlendEquationEXT),
+ TABLE_ENTRY(PointParameterfSGIS),
+ TABLE_ENTRY(PointParameterfvSGIS),
+ TABLE_ENTRY(ColorSubTableEXT),
+ TABLE_ENTRY(CopyColorSubTableEXT),
+ TABLE_ENTRY(ColorTableEXT),
+ TABLE_ENTRY(DrawRangeElementsEXT),
+ TABLE_ENTRY(BlendFuncSeparateINGR),
+ TABLE_ENTRY(SampleMaskEXT),
+ TABLE_ENTRY(SamplePatternEXT)
+};
+#endif /*UNUSED_TABLE_NAME*/
+
+
#undef KEYWORD1
#undef KEYWORD2
#undef NAME
#undef DISPATCH
#undef RETURN_DISPATCH
+#undef DISPATCH_TABLE_NAME
+#undef UNUSED_TABLE_NAME
+#undef TABLE_ENTRY
diff --git a/src/mesa/main/Makefile.DJ b/src/mesa/main/Makefile.DJ
index 89cbd82eca2..4eaafa60794 100644
--- a/src/mesa/main/Makefile.DJ
+++ b/src/mesa/main/Makefile.DJ
@@ -1,29 +1,12 @@
-# $Id: Makefile.DJ,v 1.9 2000/09/26 21:22:20 brianp Exp $
+# $Id: Makefile.DJ,v 1.10 2001/03/28 17:19:58 brianp Exp $
# Mesa 3-D graphics library
# Version: 3.5
-# Copyright (C) 1995-1998 Brian Paul
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
+# Copyright (C) 1995-2001 Brian Paul
# Makefile for core library for MS-DOS using djgpp
-
-
##### MACROS #####
VPATH = RCS
@@ -67,7 +50,6 @@ CORE_SOURCES = \
fog.c \
get.c \
glapi.c \
- glapinoop.c \
glthread.c \
hash.c \
hint.c \
diff --git a/src/mesa/main/Makefile.X11 b/src/mesa/main/Makefile.X11
index a2c0388f3bb..fe2e4cece9a 100644
--- a/src/mesa/main/Makefile.X11
+++ b/src/mesa/main/Makefile.X11
@@ -1,8 +1,8 @@
-# $Id: Makefile.X11,v 1.47 2001/03/19 02:25:35 keithw Exp $
+# $Id: Makefile.X11,v 1.48 2001/03/28 17:19:58 brianp Exp $
# Mesa 3-D graphics library
# Version: 3.5
-# Copyright (C) 1995-2000 Brian Paul
+# Copyright (C) 1995-2001 Brian Paul
# Makefile for core library
@@ -74,7 +74,6 @@ CORE_SOURCES = \
fog.c \
get.c \
glapi.c \
- glapinoop.c \
glthread.c \
hash.c \
highpc.c \
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index c9f180ec0fd..6a97bb828db 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1,4 +1,4 @@
-/* $Id: context.c,v 1.130 2001/03/24 06:01:27 gareth Exp $ */
+/* $Id: context.c,v 1.131 2001/03/28 17:20:20 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -39,7 +39,6 @@
#include "extensions.h"
#include "fog.h"
#include "get.h"
-#include "glapinoop.h"
#include "glthread.h"
#include "hash.h"
#include "imports.h"
diff --git a/src/mesa/main/dispatch.c b/src/mesa/main/dispatch.c
index 0b9b17effc0..cc14c4b498d 100644
--- a/src/mesa/main/dispatch.c
+++ b/src/mesa/main/dispatch.c
@@ -1,4 +1,4 @@
-/* $Id: dispatch.c,v 1.21 2001/03/26 23:36:51 brianp Exp $ */
+/* $Id: dispatch.c,v 1.22 2001/03/28 17:20:20 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -28,9 +28,7 @@
/*
* This file generates all the gl* function entyrpoints.
* But if we're using X86-optimized dispatch (X86/glapi_x86.S) then
- * each of the entrypoints will be prefixed with _glapi_fallback_*
- * and will be called by the glapi_x86.S code when we're in thread-
- * safe mode.
+ * we don't use this file's code.
*
* Eventually this file may be replaced by automatically generated
* code from an API spec file.
@@ -41,7 +39,6 @@
*/
-
#ifdef PC_HEADER
#include "all.h"
#else
@@ -51,64 +48,21 @@
#include "glthread.h"
#endif
-
+#if !defined(USE_X86_ASM)
#define KEYWORD1
#define KEYWORD2 GLAPIENTRY
-#if defined(USE_X86_ASM) && !defined(__WIN32__) && !defined(XF86DRI)
-#define NAME(func) _glapi_fallback_##func
-#elif defined(USE_MGL_NAMESPACE)
+#if defined(USE_MGL_NAMESPACE)
#define NAME(func) mgl##func
#else
#define NAME(func) gl##func
#endif
-#ifdef DEBUG
-
-#if 0
-static int
-trace(void)
-{
- static int trace = -1;
- if (trace < 0)
- trace = getenv("MESA_TRACE") ? 1 : 0;
- return trace > 0;
-}
-#endif
-
-#define F stderr
-
-#define DISPATCH(FUNC, ARGS, MESSAGE) \
- const struct _glapi_table *dispatch; \
- dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\
- (dispatch->FUNC) ARGS
-
-#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \
- const struct _glapi_table *dispatch; \
- dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\
- return (dispatch->FUNC) ARGS
-
-#if 0
- /* From both macros above... */
- if (trace()) { \
- fprintf MESSAGE; \
- fprintf(F, "\n"); \
- }
-#endif
-
-#else
-
-#define DISPATCH(FUNC, ARGS, MESSAGE) \
- const struct _glapi_table *dispatch; \
- dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\
- (dispatch->FUNC) ARGS
+#define DISPATCH(FUNC, ARGS, MESSAGE) \
+ (_glapi_Dispatch->FUNC) ARGS
-#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \
- const struct _glapi_table *dispatch; \
- dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\
- return (dispatch->FUNC) ARGS
-
-#endif
+#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \
+ return (_glapi_Dispatch->FUNC) ARGS
#ifndef GLAPIENTRY
@@ -116,3 +70,6 @@ trace(void)
#endif
#include "glapitemp.h"
+
+
+#endif /* USE_X86_ASM */