summaryrefslogtreecommitdiff
path: root/src/mesa/vbo/vbo_exec_array.c
AgeCommit message (Collapse)Author
2009-09-01mesa: Make MultiDrawElements submit multiple primitives at once.Eric Anholt
Previously, MultiDrawElements just called DrawElements a bunch of times. By sending several primitives down the pipeline at once, we avoid a bunch of validation. On my GL demo, this improves fps by 2.5% (+/- .41%) and reduces CPU usage by 70.5% (+/- 2.9%) (n=3). Reviewed by: Ian Romanick <ian.d.romanick@intel.com>
2009-08-14vbo: call _mesa_valid_to_render()Brian Paul
2009-08-12vbo: use _mesa_is_bufferobj()Brian Paul
2009-08-12vbo: fix incorrect pointerBrian Paul
2009-08-12vbo: Avoid extra validation of DrawElements.Eric Anholt
This saves mapping the index buffer to get a bounds on the indices that drivers just drop on the floor in the VBO case (cache win), saves a bonus walk of the indices in the CheckArrayBounds case, and other miscellaneous validation. On intel it's a particularly a large win (50-100% in my app) because even though we let the indices stay in both CPU and GPU caches, we still end up waiting for the GPU to be done with the buffer before reading from it. Drivers that want the min/max_index fields must now check index_bounds_valid and use vbo_get_minmax_index before using them.
2009-06-09vbo: more glDrawElements debug code (disabled)Brian Paul
2009-06-03vbo: minor reformattingBrian Paul
2009-06-03vbo: move/refactor debug codeBrian Paul
2009-06-03vbo: added debug code to check array data validity (disabled)Brian Paul
2009-06-03vbo: tweak out-of-bounds VBO access error messageBrian Paul
Subtract 1 from _MaxElement to be clearer.
2009-05-22mesa: fix warning message in vbo_exec_DrawRangeElements()Brian Paul
2009-05-22mesa: use Elements() for loop limitBrian Paul
2009-05-22mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBSBrian Paul
Be clearer that this is the number of generic vertex program/shader attributes, not counting the legacy attributes (pos, normal, color, etc).
2009-05-21vbo: fix build breakage...oopsBrian Paul
2009-05-21vbo: comments, whitespace clean-upsBrian Paul
2009-05-21Merge branch 'mesa_7_5_branch'Brian Paul
2009-05-21vbo: fix incorrect loop limit in bind_array_obj()Brian Paul
The generic_array[] is 16 elements in size, but the loop was doing 32 iterations. The out of bounds array write was clobbering the following inputs[] array but as luck would have it, that didn't matter.
2009-05-21mesa: use MAX_ values instead of literalsBrian Paul
2009-05-21mesa: added gl_array_object::Weight array fieldBrian Paul
We don't really implement vertex weights but in the VBO code this fixes and odd case for the legacy_array[] setup. Before, the vbo->draw_prims() call was always indicating that the vertex weight array was present/enabled when it really wasn't.
2009-05-21mesa: move gl_array_attrib::_MaxElement to gl_array_object::_MaxElementBrian Paul
This value is per array object.
2009-05-21vbo: s/8/MAX_TEXTURE_COORD_UNITS/Brian Paul
2009-05-07vbo: in glDraw[Range]Element() code, check for out of bounds indexesBrian Paul
No-op the bad drawing command rather than go out of bounds and render garbage. Print a warning to alert the developer to the bad drawing call.
2009-03-07vbo: make bind_array_obj() code a little more conciseBrian Paul
2009-03-02mesa: save some useful VBO debug/dump code (disabled)Brian Paul
2008-10-07mesa: replace GLuint with GLbitfield to be clearer about usageBrian Paul
Also, fix up some comments to be doxygen style.
2008-10-03mesa: avoid generating constant vertex attributes in fixedfunc programsKeith Whitwell
Keep track of enabled/active vertex attributes. Keep track of potential vertex program outputs. When generating fragment program, replace references to fragment attributes which are effectively non-varying and non-computed passthrough attributes with references to the new CURRENT_ATTRIB tracked state value. Only downside is slight ugliness in VBO code where we need to validate state twice in succession.
2008-08-26vbo: seed initial max_element value with a more likely candidateKeith Whitwell
2008-06-25mesa: point size arraysBrian Paul
2008-06-05mesa: added _mesa_DrawArrays, DrawElements, DrawRangeElements() wrappers for ↵Brian Paul
VBO funcs
2008-05-31mesa: Apply MSVC portability fixes from Alan Hourihane.José Fonseca
2008-04-11mesa: Fix glBegin-time test for invalid programs/shaders.Brian Paul
Cherry-picked from master.
2007-07-04Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian
of -I flags.
2007-02-14fix typo preventing generic arrays from working with ARB_vp (bug #9952)Roland Scheidegger
2007-02-09 array overflow fixZou Nan hai
2007-01-30Use new rebase helper. Remove other rebase code.Keith Whitwell
2007-01-25do not rebase index buffers as it does not work currently (tested with r200 ↵Roland Scheidegger
and sw mesa)
2007-01-18Fix invalid enums passed to MapBufferAapo Tahkola
2007-01-15Remove unused index buffer.Keith Whitwell
2007-01-15Remove special-case handling for index and edgeflagKeith Whitwell
This isn't required with the changes to core mesa and the new attribute layout.
2006-11-03need to call bind_arrays() in vbo_exec_DrawRangeElements.Roland Scheidegger
2006-11-02Fix typo in last commitKeith Whitwell
2006-11-02Similarly, fill in missing input slots in the vertex-array +Keith Whitwell
NV_vertex_program path.
2006-11-02Fill in missing input slots in the vertex-array + no-vertex-programKeith Whitwell
path.
2006-10-30better handling of current attributes. Trivial dlist and varray tests workKeith Whitwell
2006-10-29Checkpoint of new vbo-building code. Currently builds regular arraysKeith Whitwell
rather than VBO's - VBOs are easy but need to look closer at the driver interface. The trivial/tri demo works.