summaryrefslogtreecommitdiff
path: root/src/mesa/vbo/vbo_exec_array.c
AgeCommit message (Collapse)Author
2011-03-08vbo: mark vertex arrays as dirty when re-bindingMarek Olšák
This fixes: https://bugs.freedesktop.org/show_bug.cgi?id=34378
2011-02-28vbo: silence unused var warningBrian Paul
2011-02-22vbo: added vbo_check_buffers_are_unmapped() debug functionBrian Paul
2011-02-18vbo: add debug code to verify that buffers are unmapped before drawingBrian Paul
2011-02-14vbo: bind arrays only when necessaryMarek Olšák
We don't need to call bind_arrays in the vbo module if the states which the function depends on are not dirty.
2011-01-17mesa: s/primcount/numInstances/Brian Paul
primcount is also a parameter to glMultiDrawElements(). Use numInstances to avoid confusion between these things.
2010-10-21vbo: support for primitive restartBrian Paul
We handle splitting of glDrawArrays() calls into two primitives here so that drivers don't have to worry about it.
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-09-13mesa: Revert accidentally committed vertex code chunkKristian Høgsberg
2010-09-13glx: Don't destroy DRI2 drawables for legacy glx drawablesKristian Høgsberg
For GLX 1.3 drawables, we can destroy the DRI2 drawable when the GLX drawable is destroyed. However, for legacy drawables, there os no good way of knowing when the application is done with it, so we just let the DRI2 drawable linger on the server. The server will destroy the DRI2 drawable when it destroys the X drawable or the client exits anyway. https://bugs.freedesktop.org/show_bug.cgi?id=30109
2010-09-02mesa: fix some printf warnings with castsBrian Paul
2010-05-30vbo: Remove unnecessary header.Vinson Lee
2010-05-27vbo: remove dead codeBrian Paul
2010-05-27vbo: update/add commentsBrian Paul
2010-04-04mesa: implement core Mesa support for GL_ARB_draw_instancedBrian Paul
2010-02-19Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg
2010-02-19Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg
2010-02-15vbo: fix broken glMultiDrawElements()Brian Paul
Seems to be a regression from commit 60b08eb1fdf287d28ec66b9282513ab35a61aee0. (cherry picked from commit c5a4cfb03ff17955c049f16ac805f5837ea4b633)
2010-01-29vbo: fix missing state validation bugsBrian Paul
Commit 2708ddfb06a36d8568e2aa130bf1f7d551fcd309 caused a few regressions. We need to check/validate state after calling bind_arrays() because it might set the _NEW_ARRAYS flag if the varying VP inputs change. The symptom of this problem was some attribute arrays being ignored (or interpreted as constant-valued) in glDrawRangeElements or glMultiDrawElements. A follow-on patch will add some additional asserts to try to catch this kind of thing in the future. (cherry picked from commit 3cba779e16935f7c3a0bfd8af48bd5e015068e96)
2010-01-29mesa: Warn when indices are out of bounds, but do not skip the draw in debug ↵Brian Paul
builds. The driver (or preferably the hardware) should handle out of bounds indices. If there are problems then it's better to detect those in the debug builds. (cherry picked from commit e3257912e006120f6ab611e77005eed1a464030a)
2010-01-27mesa: fix int/uint comparison warningsBrian Paul
Reported by Karl Schultz.
2010-01-26vbo: if 'end' is out of bounds, clamp itBrian Paul
If we determine that the 'end' parameter to glDrawElements() is out of bounds, clamp it to the max legal index value.
2010-01-26vbo: clamp DrawElements start/end to max possible valuesBrian Paul
Some apps are sloppy with their start/end values. Clamp them to max possible values to prevent problems later.
2010-01-12vbo: Remove unnecessary header from vbo_exec_array.c.Vinson Lee
2009-11-17mesa: fix assorted compiler warningsBrian Paul
2009-10-14vbo: clean-ups, reformattingBrian Paul
2009-10-14mesa: added MESA_VERBOSE option 'draw' to debug glDrawArrays/Elements, etc.Brian Paul
2009-09-24Merge branch 'mesa_7_6_branch'Brian Paul
Conflicts: src/mesa/vbo/vbo_exec_array.c
2009-09-24vbo: limit number of warnings to 10Brian Paul
Otherwise some apps will emit tons of warnings.
2009-09-21vbo: added comment about max array indexBrian Paul
2009-09-21vbo: restore some lost warning outputBrian Paul
2009-09-21mesa: refine the error checking vbo_exec_DrawRangeElements()Brian Paul
If the 'end' index is out of bounds issue a warning as before. But instead of just no-op'ing the draw call, examine the actual array indices to see if they're OK. If the max array index is out of bounds, issue another warning and no-op the draw call. Otherwise, draw normally. This is a debug build-only feature since it could impact performance. This "fixes" the missing torus in the OGL Distilled / Picking demo.
2009-09-21mesa: refine the error checking vbo_exec_DrawRangeElements()Brian Paul
If the 'end' index is out of bounds issue a warning as before. But instead of just no-op'ing the draw call, examine the actual array indices to see if they're OK. If the max array index is out of bounds, issue another warning and no-op the draw call. Otherwise, draw normally. This is a debug build-only feature since it could impact performance. This "fixes" the missing torus in the OGL Distilled / Picking demo.
2009-09-08mesa: Add support for ARB_draw_elements_base_vertex.Eric Anholt
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