diff options
author | Keith Whitwell <[email protected]> | 2000-12-26 05:09:27 +0000 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2000-12-26 05:09:27 +0000 |
commit | cab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290 (patch) | |
tree | 45385bd755d8e3876c54b2b0113636f5ceb7976a /src/mesa/main/dispatch.c | |
parent | d1ff1f6798b003a820f5de9fad835ff352f31afe (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.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/mesa/main/dispatch.c b/src/mesa/main/dispatch.c index a2198cb15f0..a2e411eb230 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" |