summaryrefslogtreecommitdiff
path: root/src/mesa/vbo/vbo_exec_api.c
AgeCommit message (Collapse)Author
2010-02-09mesa: Enable true refcounting for NullBufferObj.Michal Krol
This object can be shared with another context, so we cannot just delete it when the owning context is being destroyed. Ensuring that buffer objects are properly refcounted guarantees NullBufferObj is destroyed when all references to it are removed.
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-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-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-08-14vbo: call _mesa_valid_to_render()Brian 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
2009-06-08mesa/vbo: drop all references to vbo on destroyKeith Whitwell
We were adding references to the input arrays, but failing to drop them on destruction. This could lead to a 64kb buffer being leaked each context destruction.
2009-05-07mesa: move the NullBufferObj from GLcontext to gl_shared_stateBrian Paul
Since shared array objects may point to the null/default buffer object, the null/default buffer object should be part of the shared state.
2009-03-09vbo: yet tighter still usage of FLUSH_NEED_CURRENTKeith Whitwell
Previous change broke redbook/polys and probably others. I'm fairly sure that drivers like r300 don't need to touch ctx->Driver.NeedVertices, but this code is incredibly fragile and I'm not confident about removing it from there. Hopefully this gets things working again.
2009-03-09vbo: stricter checks on Driver.NeedFlushKeith Whitwell
This variable is being used in the r300 driver to trigger a flush under circumstances unrelated to the use in the vbo module. Tighten up the checks in vbo so as to avoid conflict with r300. Reported by Maciej Cencora <m.cencora@gmail.com>
2009-03-04vbo: second attempt - avoid getting buffer_ptr and buffer_map out of syncKeith Whitwell
2009-03-04Revert "vbo: avoid getting buffer_ptr and buffer_map out of sync"Keith Whitwell
This fixed a minor bug but broke everything else. This reverts commit 579ef8ab1984d895867f547afa60b3bec4c4599a.
2009-03-04vbo: avoid getting buffer_ptr and buffer_map out of syncKeith Whitwell
2009-03-04vbo: use FLUSH_UPDATE_CURRENT flag to indicate whether the vbo module is activeKeith Whitwell
Add asserts for expected values on wakeup and flush. Remove cases where this flag is set or cleared except when waking up and flushing vbo module.
2009-03-03Merge commit 'origin/gallium-0.1'Keith Whitwell
Conflicts: scons/gallium.py src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/include/pipe/p_defines.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_exec_draw.c
2009-03-03vbo: missing line from previous commitKeith Whitwell
2009-03-03vbo: use MapBufferRange where availableKeith Whitwell
Previously would have to allocate a new VBO after firing a draw command as subsequent call to Map() on old VBO might block if the driver had submitted the commands to hardware.
2009-03-03mesa: Add BeginVertices driver callKeith Whitwell
Provides notification to the VBO modules prior to the first immediate call. Pairs with FlushVertices()
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.
2008-10-10Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell
Conflicts: src/gallium/auxiliary/gallivm/instructionssoa.cpp src/gallium/auxiliary/gallivm/soabuiltins.c src/gallium/auxiliary/rtasm/rtasm_x86sse.c src/gallium/auxiliary/rtasm/rtasm_x86sse.h src/mesa/main/texenvprogram.c src/mesa/shader/arbprogparse.c src/mesa/shader/prog_statevars.c src/mesa/state_tracker/st_draw.c src/mesa/vbo/vbo_exec_draw.c
2008-10-03mesa: add new internal state for tracking current vertex attribsKeith Whitwell
2008-09-26Merge commit 'origin/master' into HEADKeith Whitwell
Conflicts: src/mesa/vbo/vbo.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_exec_draw.c
2008-09-25mesa: fix some VBO buffer object issuesBrian Paul
The VBO module may use a real VBO or a malloc'd buffer for vertex storage. Be careful not to accidentally replace the later with the former when drawing. Check if using a real VBO at destroy time to prevent a double-free.
2008-09-23added vbo_use_buffer_objects() to specify that immediate mode data should be ↵Brian
put into bufferobjects
2008-09-23mesa: s/GL_POLYGON+1/PRIM_OUTSIDE_BEGIN_END/Brian Paul
(cherry picked from commit 8a369b909a6648ae7a5a0c2dcb972a2f96f99a80)
2008-09-21mesa: refactor: move #define FEATURE flags into new mfeatures.h fileKeith Whitwell
Also, check the FEATURE flags in many places. (cherry picked from commit 40d1a40f294f1ed2dacfad6f5498322fc08cc2d1) Conflicts: src/mesa/main/config.h src/mesa/main/context.c src/mesa/main/texobj.c src/mesa/main/texstate.c src/mesa/main/texstore.c
2008-09-11Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/mesa into ↵Alan Hourihane
gallium-0.2 Conflicts: src/mesa/drivers/dri/i915/intel_ioctl.c src/mesa/main/texstore.c src/mesa/tnl/t_vp_build.c src/mesa/vbo/vbo_exec_draw.c
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-07-07mesa: added GLAPIENTRY keywordsJonathan White
2008-07-03mesa: added _vbo_VertexAttrib4f()Brian Paul
2008-06-20mesa: added _vbo_Materialfv()Brian Paul
2008-06-20mesa: _vbo_Color4f, _vbo_Normal3f, _vbo_MultiTexCoord4f functionsBrian Paul
2008-06-18mesa: s/GL_POLYGON+1/PRIM_OUTSIDE_BEGIN_END/Brian Paul
2008-06-10mesa: refactor: move #define FEATURE flags into new mfeatures.h fileBrian Paul
Also, check the FEATURE flags in many places.
2008-04-11mesa: Fix glBegin-time test for invalid programs/shaders.Brian Paul
Cherry-picked from master.
2008-03-14mesa: revert fast-track glColor and similar calls when not immediate mode ↵Brian
rendering Revert commit d08cd68d3f5456b69ad504ede2b090c0bb6474db This change caused some glean tests to fail. The alpha value of colors was always 1.0 instead of the value from glColor4fv(). The mesa color array found in st_draw() has size=3 instead of size=4.
2008-03-10mesa: fast-track glColor and similar calls when not immediate mode renderingKeith Whitwell
Often these are mixed in with draw arrays calls, etc. Try not to get the whole immediate rendering state machine going when we receive one of these on their own.
2008-02-20Fix glBegin-time test for invalid programs/shaders.Brian
2007-08-20fix VBO clean-up in vbo_exec_vtx_destroy()Brian
2007-08-17added vbo_use_buffer_objects() to specify that immediate mode data should be ↵Brian
put into bufferobjects