aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/r200/r200_vtxfmt.c
Commit message (Collapse)AuthorAgeFilesLines
* Make most of the _mesa_noop_*() functions static.Brian Paul2006-04-201-11/+5
| | | | | | | Generate GL_INVALID_VALUE, not GL_INVALID_ENUM when glVertexAttrib is called with a bad index. Use _mesa_noop_vtxfmt_init() in DRI drivers to initialize vertex format struct.
* s/memcpy/_mesa_memcpy/, s/FREE/_mesa_free/Brian Paul2005-10-191-1/+1
|
* Add _mesa_exec_malloc() and _mesa_exec_free() for allocatingKeith Whitwell2005-10-181-1/+1
| | | | | executable memory. Based on Thomas Hellstrom's patch. TODO: glapi.c also needs this, but cannot access this code.
* on r200, don't emit fog coords when fog isn't actually enabled. Fix bug with ↵Roland Scheidegger2005-10-181-2/+3
| | | | vtxfmt not causing a fallback when fog coords are active.
* Wrap every place that accesses a dispatch table with a macro. A new script-Ian Romanick2005-07-181-28/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* s/0/NULL/ (Jeff Muizelaar)Brian Paul2005-02-171-1/+1
|
* enable GL_EXT_fog_coord. Calculate fog factors and submit them instead of ↵Roland Scheidegger2004-11-031-4/+33
| | | | fog coords (it seems the chip cannot do fog factor computation when not using fragment depth as fog coord source). vtxfmt uses fallback for now (most code present but some magic would be needed if replaying vertices is necessary later on).
* Add code to support projective texturing and fix mixed enabling of textureEric Anholt2004-10-161-38/+3
| | | | | | | | | | | | | | | coordinate generation. Original code by Roland Schiedegger, with changes by myself. While here, ensure that the swtcl path does tnl_install_attrs enough when fog/specular are being (en/dis)abled. Notable effects: - projtex test works with TCL and is closer with swtcl (Bugzilla #1461) - 8/9 squares work in texgenmix instead of 3. - texcyl "reflect" mode works (GL_SPHERE_MAP is now a fallback -- unclear if the hardware can actually support it). - flickering in doom3 replaced by just plain darkness. - blocktube fixed (Bugzilla #984) - fixes stex3d
* add support for more than 2 texture units (max 6, default 4). use hang ↵Roland Scheidegger2004-06-021-12/+11
| | | | workarounds only for r200, not derivatives.
* Convert all calls using _glapi_Dispatch to use the new GL_CALL macro.Ian Romanick2004-05-271-29/+36
|
* Remove a debug printf that should not have been left in.Ian Romanick2004-05-051-3/+0
|
* Added support for the 3rd texture coordinate for cubemaps and 3DIan Romanick2004-05-051-71/+161
| | | | | | textures. progs/demos/cubemap and progs/demos/stex3d seem to work correctly at all tcl_mode settings. x86 / SSE codegen is currently disabled.
* Use the dispatch table directly instead of calling GL functions.Ian Romanick2004-04-271-32/+38
|
* Reenable the vtxfmt code paths in the radeon and r200 drivers.Felix Kuehling2004-01-041-7/+8
|
* clean up some compiler warningsKeith Whitwell2003-12-091-1/+2
|
* Import vtx-0-2-branchKeith Whitwell2003-11-241-8/+14
|
* Update DRI drivers to current DRI CVS and make them work.Jon Smirl2003-10-211-5/+4
|
* r200 driver, brought over by Jon SmirlKeith Whitwell2003-08-061-0/+1125