summaryrefslogtreecommitdiff
path: root/src/mesa/vbo
AgeCommit message (Collapse)Author
2009-12-01vbo: make flush recursion check code per-contextBrian Paul
This fixes invalid failed assertions when running multi-threaded apps.
2009-11-19vbo: added recursion check in vbo_exec_FlushVertices()Brian Paul
2009-11-17mesa: fix assorted compiler warningsBrian Paul
2009-11-04Merge branch 'mesa_7_6_branch'Brian Paul
Conflicts: src/mesa/drivers/windows/gdi/mesa.def
2009-11-04vbo: fix out-of-bounds array accessBrian Paul
The exec->vtx.inputs[] array was being written past its end. This was clobbering the following vbo_exec_context::eval state. Probably not noticed since evaluators and immediate mode rendering don't happen at the same time. Fixed the loop in vbo_exec_vtx_init(). Changed the size of the vbo_exec_context::vtx.arrays[] array. Added a bunch of debug-build assertions. Issue found by Vinson Lee.
2009-10-22mesa: fix up vbo commentsBrian Paul
2009-10-14vbo: clean-ups, reformattingBrian Paul
2009-10-14mesa: added MESA_VERBOSE option 'draw' to debug glDrawArrays/Elements, etc.Brian Paul
2009-10-07mesa: rename display list functionsBrian Paul
_mesa_alloc_instruction() sounded like it was related to vertex/fragment program instructions, but it wasn't.
2009-09-30mesa/main: New feature FEATURE_beginend.Chia-I Wu
This feature corresponds to the Begin/End paradigm. Disabling this feature also eliminates the use of GLvertexformat completely.
2009-09-30mesa/main: Make FEATURE_dlist follow feature conventions.Chia-I Wu
As shown in mfeatures.h, this allows users of dlist.h to work without knowing if the feature is available.
2009-09-30mesa/main: Make FEATURE_evaluators follow feature conventions.Chia-I Wu
As shown in mfeatures.h, this allows users of eval.h to work without knowing if the feature is available.
2009-09-30mesa/main: New feature FEATURE_arrayelt.Chia-I Wu
This allows the removal of AEcontext.
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-21vbo: disable the GL_ARB_draw_elements_base_vertex rebase pathBrian Paul
This was introduced with commit 92d7ed8a20d4a018ce5324e6537ae7b478b9e5bf. It causes rendering of stray polygons (with sw rendering at least) when running the OGL Distilled / Picking demo (click on an object). This needs additional debugging to fix/restore. Found one suspect thing: in _tnl_draw_prims() there's some mixed signed/ unsigned arithmetic/comparing at line 422 that may be incorrect.
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-28vbo: Fix array pointer calculation for MapBufferRange-mapped vertex data.Eric Anholt
We would end up with the offset from the start of the mapping rather than the offset from the start of the buffer.
2009-08-26Merge branch 'mesa_7_5_branch'Brian Paul
2009-08-24vbo: fix divide by zero exceptionBrian Paul
Fixes bug 23489.
2009-08-24vbo: fix divide by zero exceptionBrian Paul
Fixes bug 23489.
2009-08-14vbo: call _mesa_valid_to_render()Brian Paul
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-07-30vbo: Fix build on windows.Michal Krol
2009-07-13Merge branch 'mesa_7_5_branch'Brian Paul
2009-07-10vbo: fix vbo/dlist memory leakBrian Paul
Based on a patch by kristof.ralovich@gmail.com
2009-07-08mesa/vbo: always recalculate min_index and max_index when splitting verticesMaciej Cencora
2009-07-03Merge branch 'mesa_7_5_branch'Jakob Bornecrantz
Conflicts: src/mesa/main/dlist.c src/mesa/vbo/vbo_save_api.c
2009-07-02vbo: If MapBufferRange fails, try MapBuffer instead.Corbin Simpson
Fixes segfaults with radeon winsys. (Probably libdrm_radeon doing something that it shouldn't.)
2009-06-30mesa/vbo: fix compile and replay of nodes ending in a FALLBACKKeith Whitwell
Where vbo save nodes are terminated with a call to DO_FALLBACK(), as in the case of a recursive CallList which is itself within a Begin/End pair, there two problems: 1) The display list node's primitive information was incorrect, stating the cut-off prim had zero vertices 2) On replay, we would get confused by a primitive that started in a node, but was terminated by individual opcodes. This change fixes the first problem by correctly terminating the last primitive on fallback, and the second by forcing the display list to use the Loopback path, converting all nodes into immediate-mode rendering. The loopback fix is a performance hit, but avoiding this would require a fairly large rework of this code.
2009-06-30Merge branch 'mesa_7_5_branch' into dlist-statechange-shortcircuitKeith Whitwell
Need this to pick up fixes for per-vertex materials.
2009-06-30Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: src/mesa/vbo/vbo_exec_draw.c
2009-06-30mesa: Set FLUSH_EXPLICIT_BIT flags when calling FlushMappedBufferRange.José Fonseca
As prescribed by ARB_map_buffer_range.
2009-06-30mesa/vbo: use _lookup_prim_by_nr for debuggingKeith Whitwell
Switch over to specialized enum lookup for primitives
2009-06-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). (cherry picked from commit 4a95185c9f30c2de7a03bb1a0653f51b53b1111d)
2009-06-22vbo: return VP_NONE from get_program_mode() if running fixed-func vertex programBrian Paul
If we're running a vertex program to emulated fixed-function, we still need to treat vertex arrays/attributes as if we're in fixed-function mode. This should probably be back-ported to Mesa 7.5 after a bit more testing. (cherry picked from commit dda82137d28aba846dda73da230871c115e30aaf)
2009-06-19mesa: Make VBO dlist printing use the same path as other dlist printing.Eric Anholt
I was rather confused when mesa_print_display_list didn't show any of my glBegin()..glEnd(). Nothing but print_list appears to call this function, so matching its behavior seems like a good idea.
2009-06-15mesa: revert some recent VBO buffer object refcounting changesBrian Paul
Reverts part of commit d7ea9ddf5824556e47decac7ba200f37cf1e552f. We were calling _mesa_reference_buffer_object() on some heap-allocated memory that was uninitialized and could trigger an assertion. We can actually go back to "looser" ref counting of the Null/default buffer object in these cases.
2009-06-12mesa: use _mesa_reference_buffer_object() in a few placesBrian Paul
2009-06-11Merge branch 'mesa_7_5_branch'José Fonseca
2009-06-11vbo: fix assertion, #define IMM_BUFFER_NAMEBrian Paul
This was sometimes seen when Glean exited upon test failure when using Gallium.
2009-06-09Merge branch 'mesa_7_5_branch'Jakob Bornecrantz
Conflicts: Makefile src/mesa/main/version.h src/mesa/shader/slang/slang_preprocess.c src/mesa/state_tracker/st_cb_bufferobjects.c