summaryrefslogtreecommitdiff
path: root/src/mesa/main/api_loopback.c
AgeCommit message (Collapse)Author
2006-04-25Put color index attribute into the 6th attribute slot.Brian Paul
Update a lot of loops, conditionals to use the _TNL_FIRST/LAST_* values instead of specific vertex attributes. Remove the EdgeFlagv function from the GLvertexformat struct.
2005-07-18Wrap every place that accesses a dispatch table with a macro. A new script-Ian Romanick
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
2004-11-27Change the dispatch offsets for the VertexAttrib*NV functions so they don'tBrian Paul
alias with the corresponding ARB functions. GL_ARB_vertex_shader (and OpenGL 2.0's) VertexAttrib functions don't alias with conventional vertex attributes, as GL_NV_vertex_program does. So, the ARB and NV version of VertexAttrib need to be distinct.
2004-10-29VertexAttrib3svNV was incorrectBrian Paul
2004-05-27Convert all calls using _glapi_Dispatch to use the new GL_CALL macro.Ian Romanick
2004-01-21don't call glVertex functions directly, call _glapi_Dispatch->Vertex(), etcBrian Paul
2003-12-04Add missing GLAPIENTRYKarl Schultz
2003-11-24Merge vtx-0-2-branchKeith Whitwell
2003-10-21Added GLAPIENTRY decorations for all first level OpenGL API function entryKendall Bennett
points so that the calling conventions will work correctly with the assembler stubs with the Open Watcom compiler.
2003-08-30Silence compiler warnings about implicit casts or conversions by supplying ↵Karl Schultz
explicit casts and/or tweaking constant and variable definitions.
2003-07-17Merge Jose's documentation and core Mesa changes from embedded branchKeith Whitwell
2003-05-10added GL_ARB_vertex_program functionsBrian Paul
2003-04-05Pass 4th element correctly in loopback_VertexAttrib4svNVKeith Whitwell
2002-10-29updated email addressesBrian Paul
2002-10-17Add casts to quiet compiler warnings.Karl Schultz
2002-01-14Removed api_compat stuff, there's a better way.Brian Paul
Fixed FogCoord / SecondaryColor mix-ups in api_arrayelt.c
2001-12-21add _compat_VertexAttrib4fNVKeith Whitwell
2001-12-20Further help with dri libGL version skewKeith Whitwell
2001-12-14vertex program check-inBrian Paul
2001-12-04dispatch changes to minimize hassle with XFree86 libGLBrian Paul
2001-11-18API dispath updatesBrian Paul
2001-09-14more warning fixes (Karl Schultz)Brian Paul
2001-05-10Set 'prefer_float_colors' true, now that tnl uses them natively.Keith Whitwell
Apply Jeff Epler's optimization to ci spans as well, remove old code.
2001-03-12Consistent copyright info (version number, date) across all files.Gareth Hughes
2001-01-02missed a few color macro changesBrian Paul
2001-01-02Removed fixed.h (GLfixed now in mtypes.h, fixed-pt macros in mmath.h)Brian Paul
Clean-up of color conversion macros. New mmath.h macros (IROUND, IFLOOR, ICEIL, FRAC) used in various places.
2000-12-26Major rework of tnl moduleKeith Whitwell
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.
2000-11-27map glIndex* functions to glIndexi() (glIndexub was looping back to glIndexub)Brian Paul
2000-11-24Fixed a couple of bugs that crept into last commitKeith Whitwell
- Eval not compiled correctly - Material colors computed incorrectly Reworked the VERT_TEX flags, now support upto 12 texture units in tnl.
2000-11-24New files...Keith Whitwell