aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/vbo/vbo_save_draw.c
Commit message (Collapse)AuthorAgeFilesLines
* vbo: Avoid extra validation of DrawElements.Eric Anholt2009-08-121-0/+1
| | | | | | | | | | | | | 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.
* vbo: cache last dlist vertex in malloced memoryKeith Whitwell2009-04-161-10/+21
| | | | | | Avoids repeated mapping of the VBO buffer on display list replay. We need access to the final vertex in order to update the GL current attrib values.
* vbo: Silence integer-to-pointer warnings.Michal Krol2009-03-151-3/+3
|
* mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul2009-02-091-8/+25
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit 'origin/gallium-0.2' into gallium-master-merge Conflicts: Makefile docs/relnotes-7.4.html docs/relnotes.html src/mesa/drivers/dri/i965/brw_wm.h src/mesa/main/imports.c src/mesa/main/mtypes.h src/mesa/main/texcompress.c src/mesa/main/texenvprogram.c src/mesa/main/version.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_draw.c
| * mesa: replace GLuint with GLbitfield to be clearer about usageBrian Paul2008-10-071-1/+1
| | | | | | | | Also, fix up some comments to be doxygen style.
| * mesa: update state after binding vertex list in dlist pathKeith Whitwell2008-10-071-0/+5
| |
| * mesa: avoid generating constant vertex attributes in fixedfunc programsKeith Whitwell2008-10-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * mesa: add new internal state for tracking current vertex attribsKeith Whitwell2008-10-031-8/+16
| |
| * mesa: improved gl_buffer_object reference countingBrian Paul2008-09-041-8/+20
| | | | | | | | | | Use new _mesa_reference_buffer_object() function wherever possible. Fixes buffer object/display list crash reported in ParaView.
| * fix an attr/src mix-up when setting-up/binding vertex arraysBrian Paul2008-05-161-4/+6
| | | | | | | | | | This fixes problems with incorrect material coefficients when glMaterial is called per-vertex.
* | mesa: fix GLSL issue preventing use of all 16 generic vertex attributesBrian Paul2009-02-021-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only 15 actually worked before since we always reserved generic[0] as an alias for vertex position. The case of vertex attribute 0 is tricky. The spec says that there is no aliasing between generic vertex attributes 0..MAX_VERTEX_ATTRIBS-1 and the conventional attributes. But it also says that calls to glVertexAttrib(0, v) are equivalent to glVertex(v). The distinction seems to be in glVertex-mode versus vertex array mode. So update the VBO code so that if the shader uses generic[0] but not gl_Vertex, route the attribute data set with glVertex() to go to shader input generic[0]. No change needed for the glDrawArrays/Elements() path. This is a potentially risky change so regressions are possible. All the usual tests seem OK though.
* | mesa: set the new array->Format field in VBO codeBrian Paul2009-01-231-0/+1
| | | | | | | | Should help to solve failed assertion in i965 driver (see bug 19708)
* | mesa: improved gl_buffer_object reference countingBrian Paul2008-09-041-8/+20
| | | | | | | | | | Use new _mesa_reference_buffer_object() function wherever possible. Fixes buffer object/display list crash reported in ParaView.
* | fix an attr/src mix-up when setting-up/binding vertex arraysBrian Paul2008-05-161-1/+1
| | | | | | | | | | This fixes problems with incorrect material coefficients when glMaterial is called per-vertex.
* | fix memory access error in vbo_bind_vertex_listXiang, Haihao2007-09-201-1/+1
| |
* | mesa: bind VBO_ATTRIB_XXX to correct input array whenXiang, Haihao2007-09-141-2/+4
|/ | | | executing a display list. fix #10604
* Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian2007-07-041-7/+7
| | | | of -I flags.
* s/version/vertex/Brian2007-04-121-1/+1
|
* fix bug in _playback_copy_to_current(): need to skip version position data ↵Brian2007-04-121-0/+2
| | | | (see bug 10587)
* Merge branch 'origin' into glsl-compiler-1Brian2007-03-091-1/+1
|\ | | | | | | | | | | Conflicts: src/mesa/main/context.c
| * Fix #10071 - wrong max_index in vbo draw_prims. (Papadakos Panagiotis)Aapo Tahkola2007-02-261-1/+1
| |
* | XXX comments about shadersBrian2007-02-221-0/+1
|/
* Fix invalid enums passed to MapBufferAapo Tahkola2007-01-181-1/+1
|
* Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesa ↵Keith Whitwell2007-01-161-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | into vbo-0.2 Conflicts: src/mesa/array_cache/sources src/mesa/drivers/dri/i965/brw_context.c src/mesa/drivers/dri/i965/brw_draw.c src/mesa/drivers/dri/i965/brw_fallback.c src/mesa/drivers/dri/i965/brw_vs_emit.c src/mesa/drivers/dri/i965/brw_vs_tnl.c src/mesa/drivers/dri/mach64/mach64_context.c src/mesa/main/extensions.c src/mesa/main/getstring.c src/mesa/tnl/sources src/mesa/tnl/t_save_api.c src/mesa/tnl/t_save_playback.c src/mesa/tnl/t_vtx_api.c src/mesa/tnl/t_vtx_exec.c src/mesa/vbo/vbo_attrib.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_api.c src/mesa/vbo/vbo_save_draw.c
* Fix typo in display list attrib binding.Keith Whitwell2006-11-021-1/+1
|
* Move edgeflag into the VERT_ATTRIB_SEVEN slot. This means that ourKeith Whitwell2006-10-301-12/+10
| | | | | | | NV_vertex_program implementation has slightly incorrect aliasing behaviour. I think this is reasonable given the simplification and the fact that the mainstream ARB_vp continues to have the correct behaviour.
* better handling of current attributes. Trivial dlist and varray tests workKeith Whitwell2006-10-301-3/+25
|
* Checkpoint of new vbo-building code. Currently builds regular arraysKeith Whitwell2006-10-291-0/+202
rather than VBO's - VBOs are easy but need to look closer at the driver interface. The trivial/tri demo works.