summaryrefslogtreecommitdiff
path: root/src/mesa/tnl/t_array_api.c
AgeCommit message (Collapse)Author
2006-10-26If DEBUG, check that all array indices really do fall in [start,end] inBrian Paul
the DrawRangeElements() call. Warn the user if that's not true.
2006-04-14Replace ctx->Const.MaxTextureUnits w/ ctx->Const.MaxTexture[Coord/Image]UnitsBrian Paul
in various places. Note that ctx->Texture.CurrentUnit needs to be tested against Coord/Image limits when referenced, not just in glActiveTexture().
2005-11-16Replace GL_POLYGON+1 with PRIM_OUTSIDE_BEGIN_ENDBrian Paul
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-04-22Simplify the pipeline_stage structureKeith Whitwell
- remove input/output fields, input tracking removed. - remove state fields, the validate function now called on every statechange. - add an explicit 'create' function. Add in code to build vertex program to implement current t&l state. Still disabled, but turn on with a #define in t_vp_build.h.
2005-02-10mesa-tnl-0-to-NULL.patch from Jeff MuizelaarKeith Whitwell
2004-08-25Silence gcc 3.4 warnings on ReactOS. Mostly unused var warnings. (patch ↵Brian Paul
1015696)
2004-05-27Convert all calls using _glapi_Dispatch to use the new GL_CALL macro.Ian Romanick
2004-03-01Fix calling fallback_drawarrays() with the wrong argumentsRoland Scheidegger
2004-02-26fix another glDrawArrays indexing bug, jump through _glapi_Dispatch functionsBrian Paul
2004-01-15add casts to quiet compiler warningsKarl Schultz
2004-01-14Fix up more confusions with count vs end in array functionsKeith Whitwell
2004-01-13remove unused variableKarl Schultz
2004-01-12Don't call _tnl_draw_range_elements() unless start == 0.Keith Whitwell
2004-01-09Change < to <= when testing counts against ctx->Const.MaxArrayLockSize,Brian Paul
per Daniel Borca. Also, added XXX comments to mark where there may be a problem with the calls to _tnl_vb_bind_arrays(). Is the last parameter a count or index?
2003-12-04Fix some problems with glDrawElements and vertex buffer objects.Brian Paul
2003-11-29Fix generic/conventional vertex array glitches.Brian Paul
Changed _NEW_ARRAY_ATTRIB_0 back to 0x10000 so that the conventional and generic enable bits do not alias. In ac_import.c test Array.Normal.Enabled instead of Array._Enabled & _NEW_ARRAY_COLOR0, etc. In t_array_import.c give priority for generic arrays over conventional arrays on an individual basis, not all or none.
2003-11-24Merge vtx-0-2-branchKeith Whitwell
2003-10-23s/GLuint */GLvoid */Brian Paul
2003-10-22Initial work for bounds checking of vertex arrays and vertex buffer objects.Brian Paul
Only glDrawArrays() done so far. Simplified glVertex/Color/etcPointer functions. Misc casts added here and there.
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-09-17Implement GL_ELEMENT_ARRAY_BUFFER_ARB for buffer objects.Brian Paul
2003-04-10remove a constBrian Paul
2003-04-10drawarrayrange fixKeith Whitwell
2003-03-01Killed mmath.[ch]. Moved low-level functions/assembly code into imports.[ch]Brian Paul
Moved type conversion and interpolation macros into macros.h Updated all the files that used to include mmath.h
2003-02-17Replace some #defines with enums. (Klaus Niederkrueger)Brian Paul
2002-12-19Add missing break statementsKeith Whitwell
2002-10-24Header file clean-up:Brian Paul
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.
2002-06-29Applied Matt Sealey's patch to remove/isolate all stdio.h function calls.Brian Paul
Instead of mstdio.[ch], use imports.[ch] to isolate these functions.
2002-04-19new castsBrian Paul
2002-04-09bring in changes from dri tcl branchKeith Whitwell
2002-01-22Clean-up/renaming of the per-vertex attribute bits, specifically, theBrian Paul
VERT_BIT_* flags are new and used in many places (esp in T&L code). Updated some comments for doxygen. Various code clean-ups.
2002-01-05Vertex program checkpoint commit: converted all vertex attributes (color,Brian Paul
normal, texcoords, fogcoord, secondary color, etc) to GLfloat[4] datatype. Aliasing of glVertex, glNormal, glColor, glFogCoord, etc. to glVertexAttrib now complete.
2001-12-03simplify drawarrays pathsKeith Whitwell
2001-11-29use smaller buffer when decomposing large drawarrays, for cache goodnessKeith Whitwell
2001-11-22Another locked drawarrys fixKeith Whitwell
2001-09-14silence minor warningsBrian Paul
2001-08-13Removed optimizations (this code is now seldom used)Keith Whitwell
2001-08-02Fix SGL testGeoSets.exe polygon mode problem (wrong interpretation ofKeith Whitwell
count parameter in DrawArrays)
2001-08-02Fix SGL monoindexed bug (glDrawRangeElements in dlist)Keith Whitwell
2001-05-11Clean up _tnl_Begin/begin/hard_begin.Keith Whitwell
Fix some problems with draw_arrays, draw_elements.
2001-05-11Clean up translation of array elements, copying of elts in pure-eltKeith Whitwell
cassettes. Fixes problem with isosurf/compiled-array-elt/strips.
2001-05-10Replace PipelineStart, PipelineFinish with RunPipeline. Clean upKeith Whitwell
_tnl_run_pipeline() a little.
2001-04-28Support for floating point color representation in tnl module.Keith Whitwell
2001-04-26no-copy drawarrays for remaining non-fan primitivesKeith Whitwell
2001-03-12Consistent copyright info (version number, date) across all files.Gareth Hughes
2001-03-07fixed a bunch of g++ warnings/errors. Compiling with g++ can help find lots ↵Brian Paul
of potential problems
2001-03-03lots of gl_*() to _mesa_*() namespace clean-upBrian Paul
2001-02-20Added GLvector4chan type, removed lots of CHAN_TYPE ifdefs.Keith Whitwell
2001-02-15Fix propogation of material values in VB's that don't reach the lightingKeith Whitwell
stage. (Materials now treated more like colors, etc.). Continue whipping the dd templates into shape. Remove old NormalLength code; may come back as a driver helper, but not useful for, eg. hardware t&l drivers.