summaryrefslogtreecommitdiffstats
path: root/src/mesa/vbo
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'mesa_7_5_branch'Brian Paul2009-05-211-2/+5
|\
| * vbo: fix incorrect loop limit in bind_array_obj()Brian Paul2009-05-211-1/+4
| | | | | | | | | | | | The generic_array[] is 16 elements in size, but the loop was doing 32 iterations. The out of bounds array write was clobbering the following inputs[] array but as luck would have it, that didn't matter.
| * mesa: use MAX_ values instead of literalsBrian Paul2009-05-211-2/+2
| |
* | mesa: added gl_array_object::Weight array fieldBrian Paul2009-05-211-1/+1
| | | | | | | | | | | | | | We don't really implement vertex weights but in the VBO code this fixes and odd case for the legacy_array[] setup. Before, the vbo->draw_prims() call was always indicating that the vertex weight array was present/enabled when it really wasn't.
* | vbo: return VP_NONE from get_program_mode() if running fixed-func vertex programBrian Paul2009-05-211-0/+2
| | | | | | | | | | | | | | 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.
* | vbo: move vp_mode enum to vbo_exec.h, use enum instead of GLuintBrian Paul2009-05-212-8/+14
| |
* | mesa: move gl_array_attrib::_MaxElement to gl_array_object::_MaxElementBrian Paul2009-05-211-2/+3
| | | | | | | | This value is per array object.
* | vbo: s/8/MAX_TEXTURE_COORD_UNITS/Brian Paul2009-05-211-1/+1
| |
* | mesa: move the NullBufferObj from GLcontext to gl_shared_stateBrian Paul2009-05-075-9/+12
| | | | | | | | | | Since shared array objects may point to the null/default buffer object, the null/default buffer object should be part of the shared state.
* | vbo: in glDraw[Range]Element() code, check for out of bounds indexesBrian Paul2009-05-071-0/+7
| | | | | | | | | | No-op the bad drawing command rather than go out of bounds and render garbage. Print a warning to alert the developer to the bad drawing call.
* | mesa: use _mesa_sizeof_type() in vbo split codeBrian Paul2009-05-071-16/+2
| |
* | mesa: vbo code reformatting, clean-up, commentsBrian Paul2009-05-071-43/+52
| |
* | mesa: in vbo split code, map buffers read-only, not write-onlyBrian Paul2009-05-071-6/+6
|/ | | | And use GL_ELEMENT_ARRAY_BUFFER where appropriate.
* vbo: cache last dlist vertex in malloced memoryKeith Whitwell2009-04-163-10/+53
| | | | | | 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
|
* vbo: yet tighter still usage of FLUSH_NEED_CURRENTKeith Whitwell2009-03-091-3/+3
| | | | | | | | 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.
* vbo: stricter checks on Driver.NeedFlushKeith Whitwell2009-03-091-4/+6
| | | | | | | | 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 <[email protected]>
* mesa: s/int/GLsizeiptr/ to silence warning with 64-bit buildBrian Paul2009-03-071-1/+1
|
* vbo: make bind_array_obj() code a little more conciseBrian Paul2009-03-071-12/+13
|
* mesa: Follow ARB_map_buffer_range more stricly.José Fonseca2009-03-041-6/+9
| | | | | Namelly, FlushMappedBufferRange takes a subrange relative to the original range.
* Merge commit 'origin/master' into gallium-map-rangeJosé Fonseca2009-03-042-1/+10
|\
| * vbo: second attempt - avoid getting buffer_ptr and buffer_map out of syncKeith Whitwell2009-03-042-1/+10
| |
| * Revert "vbo: avoid getting buffer_ptr and buffer_map out of sync"Keith Whitwell2009-03-042-8/+1
| | | | | | | | | | | | This fixed a minor bug but broke everything else. This reverts commit 579ef8ab1984d895867f547afa60b3bec4c4599a.
| * vbo: avoid getting buffer_ptr and buffer_map out of syncKeith Whitwell2009-03-042-1/+8
| |
* | Merge commit 'origin/master' into gallium-map-rangeJosé Fonseca2009-03-041-6/+4
|\|
| * vbo: use FLUSH_UPDATE_CURRENT flag to indicate whether the vbo module is activeKeith Whitwell2009-03-041-6/+4
| | | | | | | | | | 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.
* | mesa: Implement and use FlushMappedBufferRange.José Fonseca2009-03-041-0/+7
| |
* | mesa: Massage the interface to more closely resemble ARB_map_buffer_rangeJosé Fonseca2009-03-031-5/+2
|/
* Merge commit 'origin/gallium-0.1'Keith Whitwell2009-03-036-59/+166
|\ | | | | | | | | | | | | | | | | | | 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
| * vbo: missing line from previous commitKeith Whitwell2009-03-031-1/+1
| |
| * vbo: use MapBufferRange where availableKeith Whitwell2009-03-035-57/+154
| | | | | | | | | | | | 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.
| * mesa: Add BeginVertices driver callKeith Whitwell2009-03-033-0/+13
| | | | | | | | | | Provides notification to the VBO modules prior to the first immediate call. Pairs with FlushVertices()
* | mesa: save some useful VBO debug/dump code (disabled)Brian Paul2009-03-021-0/+42
| |
* | mesa: get rid of _math_init()Brian Paul2009-02-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | Only VBO uses the evaluator code so call _math_init_eval() there. Only TNL uses the transform/translate code so call _math_init_transformation() and _math_init_translate9) there. This is a step toward resolving some symbol collisions between Mesa's and gallium's x86 codegen. Have VBO and TNL modules call _math_init_transformation()
* | mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul2009-02-096-43/+192
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell2008-10-104-33/+92
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * mesa: replace GLuint with GLbitfield to be clearer about usageBrian Paul2008-10-073-3/+3
| | | | | | | | | | | | 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-033-7/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-032-26/+42
| | |
| * | Merge commit 'origin/master' into HEADKeith Whitwell2008-09-262-13/+16
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/vbo/vbo.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_exec_draw.c
| * \ \ Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell2008-09-181-4/+6
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | Conflicts: src/mesa/shader/slang/slang_link.c
| | * | mesa: fix display list regression (check if save->prim_count > 0 in ↵Brian Paul2008-09-161-5/+7
| | | | | | | | | | | | | | | | vbo_save_EndList())
| | * | mesa: protect against double-free in _vbo_DestroyContext()Brian Paul2008-09-161-4/+6
| | | |
| | * | mesa: get another class of degenerate dlists workingKeith Whitwell2008-09-151-0/+24
| | | | | | | | | | | | | | | | Primitive begin in one dlist, end in another.
| * | | Merge commit 'origin/master' into gallium-0.2Keith Whitwell2008-09-181-0/+26
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: progs/trivial/Makefile src/mesa/glapi/glthread.c
| * \ \ \ Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell2008-09-111-1/+13
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Makefile progs/demos/Makefile progs/glsl/Makefile progs/redbook/Makefile progs/samples/Makefile progs/tests/Makefile progs/trivial/Makefile progs/xdemos/Makefile src/gallium/Makefile src/mesa/main/attrib.c src/mesa/main/bufferobj.c src/mesa/vbo/vbo_exec_draw.c
| | * | | mesa: improved gl_buffer_object reference countingBrian Paul2008-09-045-26/+69
| | | | | | | | | | | | | | | | | | | | | | | | | Use new _mesa_reference_buffer_object() function wherever possible. Fixes buffer object/display list crash reported in ParaView.
| * | | | Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/mesa into ↵Alan Hourihane2008-09-115-38/+70
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * \ \ \ \ Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell2008-09-119-25/+203
| |\ \ \ \ \ | | | |/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A first attempt at moving gallium onto a branch directly off master... It will be interesting to see how much work this takes to get running. Have resolved the conflicts semi-arbitarily, not compiled or tested. Conflicts: .gitignore Makefile configs/config.mgw configs/darwin configs/darwin-x86ppc configs/default configs/freebsd-dri configs/linux-dri configs/linux-dri-xcb configs/linux-fbdev configs/linux-static configs/linux-x86-64-static configs/linux-x86-static doxygen/Makefile include/GL/gl.h progs/demos/Makefile progs/demos/descrip.mms progs/demos/texenv.c progs/egl/.gitignore progs/egl/Makefile progs/glsl/.gitignore progs/glsl/Makefile progs/glsl/convolutions.c progs/samples/Makefile.mgw progs/tests/.gitignore progs/trivial/.gitignore progs/trivial/point-param.c progs/trivial/tri.c progs/xdemos/.gitignore progs/xdemos/glthreads.c src/egl/drivers/demo/Makefile src/egl/drivers/dri/Makefile src/egl/main/Makefile src/glu/Makefile src/glu/sgi/Makefile src/glu/sgi/Makefile.mgw src/glut/glx/Makefile.mgw src/glut/os2/WarpWin.cpp src/glut/os2/glut_cindex.cpp src/glut/os2/glut_gamemode.cpp src/glut/os2/glut_win.cpp src/glut/os2/glut_winmisc.cpp src/glut/os2/os2_glx.cpp src/glut/os2/os2_menu.cpp src/glut/os2/os2_winproc.cpp src/glw/Makefile src/glx/x11/dri_glx.c src/glx/x11/glxext.c src/mesa/Makefile src/mesa/Makefile.mgw src/mesa/descrip.mms src/mesa/drivers/beos/Makefile src/mesa/drivers/common/descrip.mms src/mesa/drivers/common/driverfuncs.c src/mesa/drivers/directfb/Makefile src/mesa/drivers/dri/Makefile.template src/mesa/drivers/dri/common/dri_bufmgr.c src/mesa/drivers/dri/common/dri_bufmgr.h src/mesa/drivers/dri/common/dri_util.c src/mesa/drivers/dri/common/extension_helper.h src/mesa/drivers/dri/common/mmio.h src/mesa/drivers/dri/common/utils.c src/mesa/drivers/dri/common/utils.h src/mesa/drivers/dri/glcore/Makefile src/mesa/drivers/dri/i810/i810screen.c src/mesa/drivers/dri/i915/intel_ioctl.c src/mesa/drivers/dri/i915/intel_ioctl.h src/mesa/drivers/dri/i915/intel_screen.c src/mesa/drivers/dri/i915/server/i830_common.h src/mesa/drivers/dri/i915/server/i830_dri.h src/mesa/drivers/dri/i965/intel_screen.c src/mesa/drivers/dri/i965/server/i830_common.h src/mesa/drivers/dri/i965/server/i830_dri.h src/mesa/drivers/dri/mach64/mach64_screen.c src/mesa/drivers/dri/nouveau/nouveau_context.h src/mesa/drivers/dri/nouveau/nouveau_fifo.c src/mesa/drivers/dri/nouveau/nouveau_fifo.h src/mesa/drivers/dri/nouveau/nouveau_screen.c src/mesa/drivers/dri/nouveau/nouveau_screen.h src/mesa/drivers/dri/r128/r128_tex.h src/mesa/drivers/dri/savage/savageioctl.h src/mesa/drivers/fbdev/Makefile src/mesa/drivers/osmesa/Makefile src/mesa/drivers/osmesa/descrip.mms src/mesa/drivers/x11/Makefile src/mesa/drivers/x11/descrip.mms src/mesa/drivers/x11/xm_dd.c src/mesa/glapi/glapi.c src/mesa/glapi/glthread.c src/mesa/main/api_validate.c src/mesa/main/attrib.c src/mesa/main/bufferobj.c src/mesa/main/bufferobj.h src/mesa/main/buffers.c src/mesa/main/config.h src/mesa/main/context.c src/mesa/main/descrip.mms src/mesa/main/drawpix.c src/mesa/main/enums.c src/mesa/main/fbobject.c src/mesa/main/glheader.h src/mesa/main/imports.c src/mesa/main/mipmap.c src/mesa/main/mm.c src/mesa/main/mm.h src/mesa/main/mtypes.h src/mesa/main/points.c src/mesa/main/sources src/mesa/main/state.c src/mesa/main/texcompress_fxt1.c src/mesa/main/texenvprogram.c src/mesa/main/texobj.c src/mesa/main/texstate.c src/mesa/main/texstore.c src/mesa/math/descrip.mms src/mesa/shader/arbprogram.c src/mesa/shader/descrip.mms src/mesa/shader/prog_execute.c src/mesa/shader/prog_statevars.c src/mesa/shader/prog_statevars.h src/mesa/shader/prog_uniform.c src/mesa/shader/program.c src/mesa/shader/program.h src/mesa/shader/shader_api.c src/mesa/shader/slang/descrip.mms src/mesa/shader/slang/library/slang_vertex_builtin_gc.h src/mesa/sources src/mesa/swrast/descrip.mms src/mesa/swrast/s_drawpix.c src/mesa/swrast/s_fragprog.c src/mesa/swrast/s_readpix.c src/mesa/swrast/s_span.c src/mesa/swrast_setup/descrip.mms src/mesa/tnl/descrip.mms src/mesa/tnl/t_context.h src/mesa/tnl/t_vp_build.c src/mesa/tnl/tnl.h src/mesa/vbo/descrip.mms src/mesa/vbo/vbo_context.c src/mesa/vbo/vbo_exec_array.c src/mesa/x86-64/xform4.S src/mesa/x86/rtasm/x86sse.c src/mesa/x86/rtasm/x86sse.h windows/VC6/progs/glut/glut.dsp windows/VC7/mesa/gdi/gdi.vcproj windows/VC7/mesa/glu/glu.vcproj windows/VC7/mesa/mesa.sln windows/VC7/mesa/mesa/mesa.vcproj windows/VC7/mesa/osmesa/osmesa.vcproj windows/VC7/progs/glut/glut.vcproj windows/VC8/mesa/gdi/gdi.vcproj windows/VC8/mesa/glu/glu.vcproj windows/VC8/mesa/mesa.sln windows/VC8/mesa/mesa/mesa.vcproj windows/VC8/progs/glut/glut.vcproj