summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/dispatch.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: prefix a bunch of #include lines with "main/".Brian Paul2008-09-181-6/+6
| | | | | This is another step toward removing a whole bunch of -I flags from the cc commands. Still need to address driver code...
* Wrap every place that accesses a dispatch table with a macro. A new script-Ian Romanick2005-07-181-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | generated file, called src/mesa/glapi/dispatch.h, is added. This file contains three macros for each API function. It contains a GET, a SET, and a CALL. Each of the macros take a pointer to the context and a pointer to the dispatch table. In several threads on mesa3d-dev we discussed replacing _glapi_add_entrypoint with a new function called _glapi_add_dispatch. For this discussion, the important difference between the two is that the caller of _glapi_add_dispatch does *not* know what the dispatch offset will be at compile time. Because of this callers need to track the dispatch offset returned by _glapi_add_dispatch. http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2 The downside is that driver code then has to access the dispatch table two different ways. It accesses it using structure tags (e.g., exec->Begin) for functions with fixed offsets and via a remap table (e.g., exec[ remap->NewExtensionFunction ]) for functions without fixed offsets. Yuck! Using the macros allows both types of functions to be accessed identically. If a driver needs to set a pointer for Begin, it does 'SET_Begin(ctx, exec, my_begin_function)'. If it needs to set a pointer for NewExtensionFunction, it does 'SET_NewExtensionFunction(ctx, exec, my_NewExtensionFunction_function)'. Furthermore, if at some point in the future a static offset is assigned for NewExtensionFunction, only the macros need to change (instead of every single place that accesses a table for that function). This code differs slightly from the originally posted patches in that the CALL, GET, and SET marcos no longer take a context pointer as a parameter. Brian Paul had suggested that the remap table could be stored as a global since it would be set at CreateScreen time and would be constant for all contexts. This change reflects that feedback. http://marc.theaimsgroup.com/?t=112087194700001&r=1&w=2
* Add support for assembly (static) dispatch functions on x86-64. ThisIan Romanick2005-07-021-1/+1
| | | | | | is basically patch #2939 from X.org bugzilla #3379. This does *not* fix the bug as it does not dynamically generate stubs at run-time. It just gets things one step closer.
* Use the same dispatch.c source file for "normal" Mesa builds and DRIIan Romanick2005-04-071-7/+13
| | | | libGL builds.
* use new PUBLIC macro for symbol exportBrian Paul2004-11-271-1/+1
|
* fix typo, update version/dateBrian Paul2004-11-271-4/+3
|
* Convert all calls using _glapi_Dispatch to use the new GL_CALL macro.Ian Romanick2004-05-271-5/+4
|
* Added GLAPIENTRY decorations for all first level OpenGL API function entryKendall Bennett2003-10-211-1/+1
| | | | | points so that the calling conventions will work correctly with the assembler stubs with the Open Watcom compiler.
* Updates to x86 assembler support for Open Watcom and SNAPKendall Bennett2003-10-141-1/+1
|
* Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything.Ian Romanick2003-06-051-1/+0
|
* Header file clean-up:Brian Paul2002-10-241-5/+2
| | | | | | | | 1. Remove all.h and PC_HEADER junk. 2. Rolled mem.c and mem.h into imports.c and imports.h 3. Include imports.h instead of mem.h Restore _mesa_create/initialize_context() to be like they were in 4.0.4 New wrappers for a few std C functions: _mesa_atoi(), _mesa_strstr(), etc.
* Applied Matt Sealey's patch to remove/isolate all stdio.h function calls.Brian Paul2002-06-291-2/+2
| | | | Instead of mstdio.[ch], use imports.[ch] to isolate these functions.
* better api trace/log messagesBrian Paul2001-12-151-8/+10
|
* dispatch changes to minimize hassle with XFree86 libGLBrian Paul2001-12-041-6/+17
|
* Win32 updates (Karl Schultz)Brian Paul2001-09-141-1/+7
|
* Sparc optimized GLAPI dispatch table.davem692001-06-051-2/+2
|
* New mechanism for thread-safe GL API dispatch. C-based dispatch is faster.Brian Paul2001-03-281-54/+11
| | | | | | Folded glapinoop.c code into glapi.c. Added code to glapitemp.h to fill in dispatch tables. Updated Makefiles.
* removed DO_GEOMETRYBrian Paul2001-03-261-2/+1
|
* Consistent copyright info (version number, date) across all files.Gareth Hughes2001-03-121-3/+2
|
* Add a 'RenderPrimitive' callback to t_vb_render.c. Helps out driversKeith Whitwell2001-01-081-16/+1
| | | | | | | | | | that used to require a 'ReducedPrimitiveChange' callback. Various compilation fixes for XFree86. Reverted to the older version of glcore.h used internally in XFree86, and moved it to 'Mesa/include/GL/internal/glcore.h', for compatibility with XFree86.
* Committing in .Jouk Jansen2001-01-021-1/+2
| | | | | | | | | | | | Modified Files: Mesa/demos/descrip.mms Mesa/src/descrip.mms Mesa/src/dispatch.c -Updated VMS compile suppport -Included glthread.h in dispatch.c to make sure that THREADS is defined if i.e. PTHREADS is defined in the makefile. ----------------------------------------------------------------------
* Major rework of tnl moduleKeith Whitwell2000-12-261-1/+17
| | | | | | | 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.
* added tracing facility from LokiBrian Paul2000-09-051-8/+10
|
* added commentsBrian Paul2000-02-021-1/+18
|
* moved exec dispatch init to state.cBrian Paul2000-02-021-567/+2
|
* patch for XFree86 buildingBrian Paul2000-02-011-1/+11
|
* changed message format, added GL_EXT_texture3dBrian Paul2000-01-311-3/+17
|
* moved entrypoints here from glapi.cBrian Paul2000-01-281-1/+64
|
* generic_noop() now returns 0Brian Paul2000-01-181-4/+5
|
* include dispatch.hBrian Paul2000-01-131-1/+2
|
* added missing glHintPGI() functionBrian Paul2000-01-071-1/+4
|
* removed cpp conditionals from _mesa_init_exec_table()Brian Paul2000-01-071-31/+16
|
* implemented GL_ARB_tranpose_matrixBrian Paul1999-12-101-1/+9
|
* move dispatch table size check into _mesa_init_no_op_table()Brian Paul1999-11-271-11/+12
|
* added _mesa_init_no_op_table()Brian Paul1999-11-271-1/+33
|
* replaced EXT_color_table with EXT_paletted_textureBrian Paul1999-11-121-2/+2
|
* ColorTableEXT clean-upBrian Paul1999-11-111-6/+6
|
* first big check-in of new Mesa 3.3 codeBrian Paul1999-11-111-0/+546