summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/radeon/radeon_vtxfmt.c
AgeCommit message (Collapse)Author
2005-10-19s/memcpy/_mesa_memcpy/, s/FREE/_mesa_free/Brian Paul
2005-10-18Add _mesa_exec_malloc() and _mesa_exec_free() for allocatingKeith Whitwell
executable memory. Based on Thomas Hellstrom's patch. TODO: glapi.c also needs this, but cannot access this code.
2005-10-17add GL_EXT_fog_coord support to radeon driver. No vtxfmt code (just uses ↵Roland Scheidegger
fallback) yet. May cause a tcl fallback if fog coord is used together with separate specular lighting. Fog factors are precomputed and then submitted instead of the raw coords (chip limitation, same as on r200).
2005-10-13enable 3rd texture unit on radeon (default still 2 enabled units). Disable ↵Roland Scheidegger
some multitexcoord codegen stuff noone understands to make it work. Replace most code testing explicitly for unit 0 and 1 with loops instead of adding test for unit 2, smaller/more readable code at the cost of maybe some slight performance hit. (Code provided by Andreas Stenglein, some adjustments by me.)
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
2005-02-16s/0/NULL/ (Jeff Muizelaar)Brian Paul
2004-07-24use GL_CALL() macro (Andreas Stenglein)Brian Paul
2004-05-27Convert all calls using _glapi_Dispatch to use the new GL_CALL macro.Ian Romanick
2004-04-26bring over build fixes from stable branchAlan Hourihane
2004-01-04Reenable the vtxfmt code paths in the radeon and r200 drivers.Felix Kuehling
2003-11-24Import vtx-0-2-branchKeith Whitwell
2003-10-21Update DRI drivers to current DRI CVS and make them work.Jon Smirl
2003-08-22patch to import Jon Smirl's work from BitkeeperBrian Paul