summaryrefslogtreecommitdiffstats
path: root/src/mesa/vbo
Commit message (Collapse)AuthorAgeFilesLines
* vbo: Don't discount stride == 0 for testing all varyings in VBOs.Eric Anholt2011-06-231-2/+1
| | | | | | | | | | | | | | | | | In fixed function, stride == 0 (e.g. glColor4f() outside of the draw call) would get turned into uniform inputs, which is why it was ignored originally in this test. For shaders, drivers end up seeing a need to upload stride == 0 data, and get confused by needing to upload when vbo_all_varyings_in_vbos() returned true. In the 965 driver case, it wouldn't bother to compute the min/max index, and uploaded nothing if the min/max wasn't known. We've talked about removing the ff stride=0-into-uniforms code, so this check shouldn't be missed once that's gone. Fixes ARB_vertex_buffer_object/mixed-immediate-and-vbo Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37934 Reviewed-by: Brian Paul <[email protected]>
* vbo: Don't bother checking for stride == 0 for "any varying in a VBO".Eric Anholt2011-06-231-2/+1
| | | | | | | We would still want to consider that data as being in a VBO even if we managed to produce this case, which as far as I know we can't. Reviewed-by: Brian Paul <[email protected]>
* vbo: minor simplification in print_draw_arrays() debug functionBrian Paul2011-06-131-4/+4
|
* vbo: run 'indent' on vbo_save_api.cBrian Paul2011-06-081-362/+456
|
* vbo: rename DO_FALLBACK -> dlist_fallbackBrian Paul2011-06-081-9/+9
|
* vbo: remove node->count > 0 test in vbo_save_playback_vertex_list()Brian Paul2011-06-081-9/+11
| | | | | | | | | | | | | | See piglit dlist-fdo31590.c test and http://bugs.freedesktop.org/show_bug.cgi?id=31590 In this case we had node->prim_count=1 but node->count==0 because the display list started with glBegin() but had no vertices. The call to glEvalCoord1f() triggered the DO_FALLBACK() path. When replaying the display list, the old condition basically no-op'd the call to vbo_save_playback_vertex_list call(). That led to the invalid operation error being raised in glEnd(). NOTE: This is a candidate for the 7.10 branch.
* vbo: check array indexes to prevent negative indexingBrian Paul2011-06-082-10/+13
| | | | | | See the piglit dlist-fdo31590.c test NOTE: This is a candidate for the 7.10 branch.
* vbo: added a commentBrian Paul2011-06-081-1/+1
|
* mesa: add implementation of glDrawElementsInstancedBaseVertexPierre-Eric Pelloux-Prayer2011-06-021-1/+26
| | | | Signed-off-by: Brian Paul <[email protected]>
* vbo: init prim[] array with memset()Brian Paul2011-04-151-6/+2
| | | | This fixes a Coverity warning about uninitialized data.
* mesa: Update _ElementSize in a few more places.José Fonseca2011-04-073-0/+5
|
* mesa: Update _ElementSize.Brian Paul2011-04-074-0/+5
|
* mesa/st: Prevent 'end' < 'start' in vbo_exec_DrawRangeElementsBaseVertex()José Fonseca2011-04-071-1/+6
| | | | | | | | We adjust 'end' to fit into _MaxElement, but that may result into a 'start' value bigger than 'end' being passed downstream, causing havoc. This could be seen with arb_robustness_draw-vbo-bounds, due to an application bug.
* vbo: mark vertex arrays as dirty when re-bindingMarek Olšák2011-03-081-1/+12
| | | | | This fixes: https://bugs.freedesktop.org/show_bug.cgi?id=34378
* vbo: fix error parameterBrian Paul2011-03-021-1/+1
| | | | Spotted by Ian.
* vbo: add vbo_always_unmap_buffers()Brian Paul2011-03-013-1/+22
| | | | | | Drivers can call this function as needed. It tells the VBO module to always unmap the current glBegin/glEnd VBO when we flush. Otherwise it's possible to be in a flushed state but still have the VBO mapped.
* vbo: generate GL_INVALID_VALUE for bad glVertexAttrib indexBrian Paul2011-03-013-26/+26
|
* vbo: silence unused var warningBrian Paul2011-02-281-0/+1
|
* vbo: added vbo_check_buffers_are_unmapped() debug functionBrian Paul2011-02-222-0/+19
|
* vbo: removed unused #defines, add commentsBrian Paul2011-02-221-3/+6
|
* vbo: simplify NeedFlush flag clearingBrian Paul2011-02-221-4/+1
|
* vbo: use ctx intstead of exec->ctxBrian Paul2011-02-221-8/+8
|
* vbo: more commentsBrian Paul2011-02-211-0/+5
|
* vbo: make vbo_exec_FlushVertices_internal() staticBrian Paul2011-02-212-22/+20
|
* vbo: remove old debug code, add commentsBrian Paul2011-02-211-4/+8
|
* vbo: rename, document function paramsBrian Paul2011-02-211-5/+5
|
* vbo: commentsBrian Paul2011-02-211-0/+8
|
* vbo: replace assert(0) with proper assertionsBrian Paul2011-02-211-5/+2
|
* vbo: rename some vars, add new comments, fix formatting, etc.Brian Paul2011-02-212-58/+77
|
* vbo: use ctx instead of exec->ctxBrian Paul2011-02-211-3/+3
|
* vbo: add debug code to verify that buffers are unmapped before drawingBrian Paul2011-02-181-0/+25
|
* vbo: bind arrays only when necessaryMarek Olšák2011-02-141-0/+5
| | | | | We don't need to call bind_arrays in the vbo module if the states which the function depends on are not dirty.
* vbo: notify a driver that we change buffer offsets, strides, etc.Marek Olšák2011-02-142-0/+2
|
* vbo: added commentBrian Paul2011-01-201-1/+1
|
* vbo: initialize num_instances in a few placesBrian Paul2011-01-182-0/+2
| | | | | | This fixes https://bugs.freedesktop.org/show_bug.cgi?id=33247 There might still be some issues with drawing multiple instances with VBO splitting to investigate someday.
* vbo: init num_instances in split_prims()Brian Paul2011-01-171-0/+1
| | | | Fixes a VTK regression after adding GL_ARB_draw_instanced.
* mesa: s/primcount/numInstances/Brian Paul2011-01-171-10/+10
| | | | | primcount is also a parameter to glMultiDrawElements(). Use numInstances to avoid confusion between these things.
* vbo: Include mfeatures.h in files that perform feature tests.Vinson Lee2011-01-099-0/+9
|
* vbo: remove a redundant call to _ae_invalidate_stateMarek Olšák2011-01-061-1/+0
| | | | It's called in vbo_exec_invalidate_state too.
* vbo: Clean up header file inclusion in vbo.h.Vinson Lee2010-12-301-1/+4
|
* vbo: Avoid the copy to current in dlists if not required.Mathias Fröhlich2010-12-103-25/+36
| | | | | | | | The current state is allowed to be undefined past DrawElements et al. Consequently omit that copying at least in the display list code. This pays us some percents performance. Signed-off-by: Brian Paul <[email protected]>
* vbo: Fix GLES2 glVertexAttrib.Chia-I Wu2010-12-082-34/+48
| | | | | | | | | Attribute 0 has no special meaning in GLES2. Add VertexAttrib4f_nopos for that purpose and make _es_VertexAttrib* call the new function. Rename _vbo_* to _es_* to avoid confusion. These functions are only used by GLES, and now some of them (_es_VertexAttrib*) even behave differently than vbo_VertexAttrib*.
* vbo: Drop second ATTR macro.Chia-I Wu2010-12-081-27/+1
| | | | | There is no need to have a special version of ATTR for !FEATURE_beginend, since 81ccb3e2ce708619f4c23537a237d61bdffdd35f.
* vbo: Avoid unnecessary copy to/from current in vertex format upgrade.Francisco Jerez2010-11-062-48/+63
| | | | | | | | | | | | | | | | | Rebuilding the vertex format from scratch every time we see a new vertex attribute is rather costly, new attributes can be appended at the end avoiding a copy to current and then back again, and the full attr pointer recalculation. In the not so likely case of an already existing attribute having its size increased the old behavior is preserved, this could be optimized more, not sure if it's worth it. It's a modest improvement in FlightGear (that game punishes the VBO module pretty hard in general, framerate goes from some 46 FPS to 50 FPS with the nouveau classic driver). Signed-off-by: Brian Paul <[email protected]>
* Merge branch 'glapi-reorg'Chia-I Wu2010-10-291-8/+8
|\ | | | | | | | | | | | | | | | | Conflicts: src/mapi/glapi/glapi_sparc.S src/mapi/glapi/glapi_x86.S src/mapi/glapi/glapidispatch.h src/mapi/glapi/glapioffsets.h src/mapi/glapi/glprocs.h
| * vbo: Use CALL_* macros.Chia-I Wu2010-10-271-8/+8
| | | | | | | | | | Use macros to access _glapi_table consistently. There is no functional change.
* | mesa: implement integer-valued vertex attribute functionsBrian Paul2010-10-283-0/+237
| | | | | | | | The integers still get converted to floats. That'll have to change someday.
* | vbo: re-indent fileBrian Paul2010-10-281-181/+234
|/
* vbo: support for primitive restartBrian Paul2010-10-213-86/+186
| | | | | We handle splitting of glDrawArrays() calls into two primitives here so that drivers don't have to worry about it.
* Drop the "neutral" tnl moduleKristian Høgsberg2010-10-141-7/+7
| | | | | | | Just always check for FLUSH_UPDATE_CURRENT and call Driver.BeginVertices when necessary. By using the unlikely() macros, this ends up as a 10% performance improvement (for isosurf, anyway) over the old, complicated function pointer swapping.