summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/bufferobj.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Enable true refcounting for NullBufferObj.Michal Krol2010-02-091-0/+11
| | | | | | | | 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.
* mesa: Protect buffer objects reference counting with a mutex.Michal Krol2010-02-091-4/+6
|
* mesa: added _mesa_GetBufferParameteri64v()Brian Paul2010-01-021-0/+42
| | | | This is a new function in GL 3.2. No dispatch for this function yet.
* mesa: code refactoring to eliminate a switch stmt in bind_buffer_object()Brian Paul2009-10-271-66/+45
|
* mesa: fix more buffer object error messagesBrian Paul2009-09-221-3/+3
|
* mesa: combined PBO validate/map helpersBrian Paul2009-09-031-0/+82
|
* mesa: consolidate PBO map/unmap helpersBrian Paul2009-09-031-67/+32
| | | | | | | Instead of _mesa_map_readpix_pbo() use _mesa_map_pbo_source(). Instead of _mesa_map_drawpix_pbo() and _mesa_map_bitmap_pbo() use _mesa_map_pbo_dest().
* mesa: change ctx->Driver.BufferData() to return GLboolean for success/failureBrian Paul2009-09-031-8/+18
| | | | | Return GL_FALSE if we failed to allocate the buffer. Then raise GL_OUT_OF_MEMORY in core Mesa.
* mesa: set additional fields in _mesa_buffer_map_range()Brian Paul2009-08-311-3/+5
|
* mesa: set Length/Offset fields in _mesa_buffer_map()Brian Paul2009-08-311-0/+2
|
* mesa: additional assertions for ctx->Driver.UnmapBuffer()Brian Paul2009-08-311-4/+7
| | | | | The Pointer, Offset and Lenght fields should be cleared by the driver function since ctx->Driver.Unmap() may be called from VBO code, etc.
* mesa: new assertions, comments about buffer mappingBrian Paul2009-08-311-12/+29
| | | | | | | Since ctx->Driver.MapBuffer() and ctx->Driver.MapBufferRange() may be called from other places in Mesa (such as VBO) it's important that the driver callbacks set all the buffer object fields properly (Pointer, Offset, Length, etc). Add assertions to make sure that the driver does that.
* mesa: use _mesa_is_bufferobj()Brian Paul2009-08-121-17/+17
|
* mesa: use _mesa_bufferobj_mapped()Brian Paul2009-08-071-15/+15
|
* mesa: make buffer object-related driver fallback functions staticBrian Paul2009-06-191-10/+36
| | | | Plug them in via _mesa_init_buffer_object_functions().
* Merge branch 'arb_map_buffer_range'Brian Paul2009-06-151-10/+225
|\ | | | | | | | | | | | | Conflicts: docs/relnotes-7.6.html src/mesa/main/mtypes.h
| * mesa: implement GL_ARB_map_buffer_rangeBrian Paul2009-06-081-10/+225
| | | | | | | | | | | | | | | | | | | | Only enabled for software drivers at this point. Note that the gl_buffer_object::Access enum field has been replaced by a gl_buffer_object::AccessFlags bitfield. The new field is a mask of the GL_MAP_x_BIT flags which is a superset of the old GL_READ_ONLY, GL_WRITE_ONLY and GL_READ_WRITE modes. When we query GL_BUFFER_ACCESS_ARB we translate the bitfield into the conventional enum values.
* | mesa: use _mesa_reference_buffer_object() in a few placesBrian Paul2009-06-121-5/+9
| |
* | mesa: added a simple bounds checker to glMap/UnmapBuffer() (disabled)Brian Paul2009-06-091-0/+35
|/
* mesa: added buffer object debug code (disabled)Brian Paul2009-06-031-0/+36
|
* mesa: fix error test mistake in _mesa_CopyBufferSubData()Brian Paul2009-06-021-1/+1
|
* mesa: _mesa_CopyBufferSubData() function, and driver fall-backBrian Paul2009-06-021-3/+142
|
* mesa: use Elements() for loop boundBrian Paul2009-05-221-2/+2
|
* mesa: minor code simplificationBrian Paul2009-05-221-9/+11
|
* mesa: remove pointless null ptr check, improved some error messagesBrian Paul2009-05-211-3/+3
|
* mesa: move the NullBufferObj from GLcontext to gl_shared_stateBrian Paul2009-05-071-12/+4
| | | | | Since shared array objects may point to the null/default buffer object, the null/default buffer object should be part of the shared state.
* mesa: fix comments, s/texture/buffer/Brian Paul2009-05-071-2/+2
|
* mesa: remove unused gl_buffer_object::OnCard fieldBrian Paul2009-05-071-2/+0
|
* mesa: added gl_buffer_object::Written flag (for debug purposes)Brian Paul2009-05-071-0/+6
| | | | The flag is set when we data has been written into the buffer object.
* mesa: Compute gl_client_array->_MaxElement during array validationBrian Paul2009-05-071-0/+2
| | | | | | Used to be done in the glVertex/Normal/Color/etc/Pointer() calls but if the VBO was reallocated the size could change. New _NEW_BUFFER_OBJECT state flag.
* mesa: set bufObj->Pointer = NULL after unmappingBrian Paul2009-02-271-4/+3
| | | | Also, ctx->Driver.UnmapBuffer can never be null, so remove conditional.
* mesa: if a buffer object is mapped when glDeleteBuffers() is called, unmap itBrian Paul2009-02-271-0/+5
|
* mesa: updated commentsBrian Paul2009-02-271-24/+18
|
* mesa: fix incorrect error handling in glBufferDataARB()Brian Paul2009-02-271-2/+4
| | | | | | If glBufferDataARB() is called while a buffer object is currently mapped we're supposed to unmap the current buffer, then replace it. Don't generate an error.
* Merge commit 'origin/master' into gallium-0.2Brian Paul2009-01-021-1/+1
|\ | | | | | | | | | | | | Conflicts: src/mesa/main/ffvertex_prog.c src/mesa/main/texenvprogram.c
| * mesa: increase max texture image units and GLSL samplers to 16Brian Paul2008-12-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The max texture coord units is still 8. All the fixed-function paths are still limited to 8 too. But GLSL shaders can use more samplers now. Note that some texcoord-related data structures are declared to be 16 elements in size rather than 8. This just simplifies the code in a few places; the extra elements aren't accessible to the user. These changes haven't been extensively tested yet, but sanity checking has been done. It should be possible to increase the max image units/samplers to 32 without doing anything special. Beyond that we'll need longer bitfields in a few places.
* | mesa: fix default buffer object access valueBrian Paul2008-09-261-2/+9
| |
* | Merge commit 'origin/master' into gallium-0.2Keith Whitwell2008-09-181-1/+4
|\| | | | | | | | | | | | | Conflicts: progs/trivial/Makefile src/mesa/glapi/glthread.c
| * mesa: remove some assertions that are invalid during context tear-downBrian Paul2008-09-151-1/+4
| |
* | Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/mesa into ↵Alan Hourihane2008-09-111-96/+92
|\| | | | | | | | | | | | | | | | | | | | | 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
| * mesa: improved gl_buffer_object reference countingBrian Paul2008-09-041-96/+92
| | | | | | | | | | Use new _mesa_reference_buffer_object() function wherever possible. Fixes buffer object/display list crash reported in ParaView.
* | Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell2008-09-111-2/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * gallium: fix typo s/_mesa_unmap_drapix_pbo/_mesa_unmap_drawpix_pbo/Brian Paul2008-04-251-2/+2
| |
| * Refactor PBO validate/map code.Brian2008-03-211-61/+15
| | | | | | | | | | | | We always need to do PBO validation, so do that in core Mesa before calling driv er routine. cherry-picked from Mesa/master.
| * add a number of PBO validate/map/unmap functionsBrian Paul2008-03-211-2/+185
| | | | | | | | | | Helper functions for (some) drivers, including swrast. cherry-picked from Mesa/master
* | Refactor PBO validate/map code.Brian2008-03-211-61/+15
| | | | | | | | We always need to do PBO validation, so do that in core Mesa before calling driver routine.
* | add a number of PBO validate/map/unmap functionsBrian2008-03-211-2/+185
| | | | | | | | Helper functions for (some) drivers, including swrast.
* | For _mesa_share_state(), update the context's references to the new share ↵Brian2007-08-231-71/+99
|/ | | | group's objects (Shane Blackett)
* silence C++ warningsBrian2007-01-231-2/+2
|
* move a conditional into an assertionBrian Paul2006-09-211-3/+6
|