summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/main/dispatch.c65
1 files changed, 64 insertions, 1 deletions
diff --git a/src/mesa/main/dispatch.c b/src/mesa/main/dispatch.c
index 5f71d943096..81452c19a4a 100644
--- a/src/mesa/main/dispatch.c
+++ b/src/mesa/main/dispatch.c
@@ -1,4 +1,4 @@
-/* $Id: dispatch.c,v 1.10 2000/01/18 17:38:40 brianp Exp $ */
+/* $Id: dispatch.c,v 1.11 2000/01/28 19:02:57 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -75,6 +75,69 @@
+/**********************************************************************
+ * Generate the GL entrypoint functions here.
+ */
+
+#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)
+#define NAME(func) mgl##func
+#else
+#define NAME(func) gl##func
+#endif
+
+#ifdef DEBUG
+
+static int
+trace(void)
+{
+ static int trace = -1;
+ if (trace < 0)
+ trace = getenv("MESA_TRACE") ? 1 : 0;
+ return trace > 0;
+}
+
+#define DISPATCH(FUNC, ARGS, MESSAGE) \
+ const struct _glapi_table *dispatch; \
+ dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\
+ if (trace()) printf MESSAGE; \
+ (dispatch->FUNC) ARGS
+
+#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \
+ const struct _glapi_table *dispatch; \
+ dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\
+ if (trace()) printf MESSAGE; \
+ return (dispatch->FUNC) ARGS
+
+#else
+
+#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
+
+#endif
+
+
+#ifndef GLAPIENTRY
+#define GLAPIENTRY
+#endif
+
+#include "glapitemp.h"
+
+
+
+/**********************************************************************/
+
+
static int
generic_noop(void)
{