summaryrefslogtreecommitdiff
path: root/src/mesa/main/dispatch.c
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2000-12-26 05:09:27 +0000
committerKeith Whitwell <keith@tungstengraphics.com>2000-12-26 05:09:27 +0000
commitcab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290 (patch)
tree45385bd755d8e3876c54b2b0113636f5ceb7976a /src/mesa/main/dispatch.c
parentd1ff1f6798b003a820f5de9fad835ff352f31afe (diff)
Major rework of tnl module
New array_cache module Support 8 texture units in core mesa (now support 8 everywhere) Rework core mesa statechange operations to avoid flushing on many noop statechanges.
Diffstat (limited to 'src/mesa/main/dispatch.c')
-rw-r--r--src/mesa/main/dispatch.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/mesa/main/dispatch.c b/src/mesa/main/dispatch.c
index a2198cb15f..a2e411eb23 100644
--- a/src/mesa/main/dispatch.c
+++ b/src/mesa/main/dispatch.c
@@ -1,4 +1,4 @@
-/* $Id: dispatch.c,v 1.16 2000/09/05 20:17:37 brianp Exp $ */
+/* $Id: dispatch.c,v 1.17 2000/12/26 05:09:28 keithw Exp $ */
/*
* Mesa 3-D graphics library
@@ -97,6 +97,8 @@ trace(void)
#else
+#ifdef THREADS
+
#define DISPATCH(FUNC, ARGS, MESSAGE) \
const struct _glapi_table *dispatch; \
dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\
@@ -107,6 +109,19 @@ trace(void)
dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\
return (dispatch->FUNC) ARGS
+#else
+
+
+#define DISPATCH(FUNC, ARGS, MESSAGE) \
+__asm__ ("jmp *(%%eax) ;" : : "a" (&(_glapi_Dispatch->FUNC)) )
+
+#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \
+ const struct _glapi_table *dispatch; \
+ dispatch = _glapi_Dispatch;\
+ return (dispatch->FUNC) ARGS
+
+#endif
+
#endif
@@ -114,5 +129,6 @@ trace(void)
#define GLAPIENTRY
#endif
+#define DO_GEOMETRY
#include "glapitemp.h"