summaryrefslogtreecommitdiff
path: root/src/mesa/vbo/vbo_save_draw.c
AgeCommit message (Collapse)Author
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-04-16vbo: cache last dlist vertex in malloced memoryKeith Whitwell
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.
2009-03-15vbo: Silence integer-to-pointer warnings.Michal Krol
2009-02-09mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul
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
2009-02-02mesa: fix GLSL issue preventing use of all 16 generic vertex attributesBrian Paul
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.
2009-01-23mesa: set the new array->Format field in VBO codeBrian Paul
Should help to solve failed assertion in i965 driver (see bug 19708)
2008-10-07mesa: replace GLuint with GLbitfield to be clearer about usageBrian Paul
Also, fix up some comments to be doxygen style.
2008-10-07mesa: update state after binding vertex list in dlist pathKeith Whitwell
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-10-03mesa: add new internal state for tracking current vertex attribsKeith Whitwell
2008-09-04mesa: improved gl_buffer_object reference countingBrian Paul
Use new _mesa_reference_buffer_object() function wherever possible. Fixes buffer object/display list crash reported in ParaView.
2008-09-04mesa: improved gl_buffer_object reference countingBrian Paul
Use new _mesa_reference_buffer_object() function wherever possible. Fixes buffer object/display list crash reported in ParaView.
2008-05-16fix an attr/src mix-up when setting-up/binding vertex arraysBrian Paul
This fixes problems with incorrect material coefficients when glMaterial is called per-vertex.
2008-05-16fix an attr/src mix-up when setting-up/binding vertex arraysBrian Paul
This fixes problems with incorrect material coefficients when glMaterial is called per-vertex.
2007-09-20fix memory access error in vbo_bind_vertex_listXiang, Haihao
2007-09-14mesa: bind VBO_ATTRIB_XXX to correct input array whenXiang, Haihao
executing a display list. fix #10604
2007-07-04Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian
of -I flags.
2007-04-12s/version/vertex/Brian
2007-04-12fix bug in _playback_copy_to_current(): need to skip version position data ↵Brian
(see bug 10587)
2007-03-09Merge branch 'origin' into glsl-compiler-1Brian
Conflicts: src/mesa/main/context.c
2007-02-26Fix #10071 - wrong max_index in vbo draw_prims. (Papadakos Panagiotis)Aapo Tahkola
2007-02-22XXX comments about shadersBrian
2007-01-18Fix invalid enums passed to MapBufferAapo Tahkola
2007-01-16Merge branch 'master' of git+ssh://keithw@git.freedesktop.org/git/mesa/mesa ↵Keith Whitwell
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
2006-11-02Fix typo in display list attrib binding.Keith Whitwell
2006-10-30Move edgeflag into the VERT_ATTRIB_SEVEN slot. This means that ourKeith Whitwell
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.
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.