summaryrefslogtreecommitdiff
path: root/src/mesa/main/varray.c
AgeCommit message (Collapse)Author
2009-06-08mesa: EXT_vertex_array_bgra fixesBrian Paul
1) Pass the correct format when calling update_array in _mesa_VertexAttribPointerARB. 2) glVertexAttribPointerNV accepts GL_BGRA format too. 3) raise INVALID_VALUE error when format is BGRA and normalized is false in glVertexAttribPointerARB (cherry picked from commit 4adb190a162c5ed0684a8616331344caadba4010)
2009-05-13mesa: reference counting for gl_array_objectBrian Paul
Every kind of object that can be shared by multiple contexts should be refcounted. (cherry picked from commit 1030bf0ded2a88a5e27f7a4d393c11cfde3d3c5a)
2009-01-23mesa: update glColorPointer, etc for GL_EXT_vertex_array_bgraBrian Paul
Add new error checking, set array state appropriately.
2008-09-21mesa: added case for fixed ptBrian Paul
2008-09-21mesa: point size arraysBrian Paul
2008-09-21mesa: GL_BYTE vertex/texcoord arraysBrian Paul
2008-09-21mesa: initial support for fixed-pt vertex arraysBrian Paul
2008-09-04mesa: improved gl_buffer_object reference countingBrian Paul
Use new _mesa_reference_buffer_object() function wherever possible. Fixes buffer object/display list crash reported in ParaView.
2008-07-29mesa: remove an error check for NV_v_p that doesn't apply to ARB_v_pBrian Paul
2008-03-09Set normalized flag for GLubyte arrays in _mesa_VertexAttribPointerNV()Markus Amsler
2008-02-04Allow first != 0 in mesa CVA handling, and add more error checking.Eric Anholt
2007-07-04Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian
of -I flags.
2007-03-27fix incorrect _MaxElement calculationRoland Scheidegger
The calculation of _MaxElement was wrong if the stride was larger than elementSize, which lead to rejection of every DrawElements call which accessed the maximum element if CheckArrayBounds was enabled.
2006-09-04get rid of GL_BOOLEAN definition (bug 8113)Brian Paul
2006-06-13clean-ups and new commentsBrian Paul
2006-06-12Add support for GL_APPLE_vertex_array_object. Several test programsIan Romanick
and demos are also added. Adding basic support to drivers should be as easy as just enabling the extension, though thorough test would also be required.
2006-04-25No longer alias generic vertex attribs with conventional attribs for ↵Brian Paul
GL_ARB_vertex_program.
2006-04-13Set array normalization flag for normals, colors (Keith)Brian Paul
2006-04-11More GLSL code:Michal Krol
- use macros to access and modify render inputs bit-field; - un-alias generic vertex attributes for ARB vertex calls; - use MAX_VERTEX_PROGRAM_ATTRIBS (NV code) or MAX_VERTEX_ATTRIBS (ARB code) in place of VERT_ATTRIB_MAX; - define VERT_ATTRIB_GENERIC0..15 for un-aliased vertex attributes for ARB_vertex_shader; - fix generic attribute index range check in arbprogparse.c; - interface GLSL varyings between vertex and fragment shader; - use 64-bit optimised bitset (bitset.h) for render inputs;
2005-11-01Re-org and clean-up of vertx/fragment program limits (instructions,Brian Paul
temporaries, parameters, etc). glGetProgramivARB() now returns all the right things. Updated i915 and r300 code to initialize program native limits and current program's native instruction/temporary/etc counts.
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-09-27VBO RefCount fix (David Reveman)Brian Paul
2004-03-10don't futz with GL_CLIENT_ACTIVE_TEXTURE in glClientActiveTexture (Robert ↵Brian Paul
Merrill)
2004-03-03more changes to VBO reference counting and deletionBrian Paul
2004-02-11Do more bookkeeping of vertex buffer object reference counts.Brian Paul
Incr/decr counts when doing glPush/PopClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT).
2004-01-13init an uninitialized variable. This doesn't fix a latent bug becauseKarl Schultz
the variable was multiplied by zero.
2003-12-12remove TexCoordInterleaveFactor. Clean up _mesa_InterleavedArrays()Brian Paul
2003-12-04Fix some problems with glDrawElements and vertex buffer objects.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-19castsBrian Paul
2003-09-17Implement GL_ELEMENT_ARRAY_BUFFER_ARB for buffer objects.Brian Paul
2003-09-17More work on ARB_vertex_buffer_object.Brian Paul
Use GLubyte * instead of void * for gl_client_array->Ptr to simplify upcoming pointer arithmetic changes.
2003-08-22Added support for GL_IBM_multimode_draw_arrays.Ian Romanick
Added non-static entrypoints and the name string for GL_SUN_multi_draw_arrays (identical to GL_EXT_multi_draw_arrays). Made add_newer_entrypoints (in src/mesa/main/context.c) table driven. This reduced the size of context.o by about 3KB.
2003-07-17Merge Jose's documentation and core Mesa changes from embedded branchKeith Whitwell
2003-06-11added missing types to _mesa_VertexAttribPointerARB()Brian Paul
2003-05-01Use ctx->Const.MaxTextureImageUnits and MaxTextureCoordUnits in more places.Brian Paul
Misc vertex array / vertex program changes.
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
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-30Implemented GL_EXT_multi_draw_arrays: glMultiDrawArraysEXT() and ↵Brian Paul
glMultiDrawElementsEXT().
2002-06-15Added ctx parameter to _mesa_debug()Brian Paul
Added _mesa_printf() Updated SetDrawBuffer() function in all drivers (ala 4.0.3) Import 4.0.3/DRI changes.
2002-06-13more removal of fprintf() callsBrian Paul
2002-04-21vertex program attribute array workBrian Paul
2002-04-04repair Array.NewState flags (Michael Fitzpatrick)Brian Paul
2002-01-11Moved _mesa_VertexAttribPointerNV into varray.c.Brian Paul
Removed dead placeholder functions from vpstate.[ch]. Changed gl_client_array's Enabled field to GLuint so it can actually hold the flags we're storing in it! Always do the switch (type) code in the vertex array functions to that <type> gets error checked!
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-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-01-05various compilation/warning fixesKeith Whitwell