summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_bufferobjects.c
AgeCommit message (Collapse)Author
2009-03-04mesa: Follow ARB_map_buffer_range more stricly.José Fonseca
Namelly, FlushMappedBufferRange takes a subrange relative to the original range.
2009-03-04Merge commit 'origin/master' into gallium-map-rangeJosé Fonseca
2009-03-04mesa: Implement and use FlushMappedBufferRange.José Fonseca
2009-03-04gallium: Unify reference counting.Michel Dänzer
The core reference counting code is centralized in p_refcnt.h. This has some consequences related to struct pipe_buffer: * The screen member of struct pipe_buffer must be initialized, or pipe_buffer_reference() will crash trying to destroy a buffer with reference count 0. u_simple_screen takes care of this, but I may have missed some of the drivers not using it. * Except for rare exceptions deep in winsys code, buffers must always be allocated via pipe_buffer_create() or via screen->*buffer_create() rather than via winsys->*buffer_create().
2009-03-03mesa: Massage the interface to more closely resemble ARB_map_buffer_rangeJosé Fonseca
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-03mesa/st: implement MapBufferRange callbackKeith Whitwell
Using PIPE_BUFFER_USAGE_DONTBLOCK.
2009-02-24gallium: Add pipe_buffer_write/read inlines.José Fonseca
Saves code, and will simplify future interface changes.
2009-02-12mesa: use new ST_CALLOC_STRUCT() macro in gallium state trackerBrian Paul
2009-02-12mesa: consistantly use mesa memory-functions in gallium state trackerBrian Paul
Use _mesa_malloc(), _mesa_free(), etc everywhere, not malloc(), free(), etc. Still using CALLOC_STRUCT() at this point.
2008-09-03gallium: Have pipe_buffer_* receive a pipe_screen instead of a pipe_context.José Fonseca
We want to use the pipe_buffer_* inlines everywhere, but a pipe context is not always available nor is it needed.
2008-04-30gallium: use new buffer wrapper functions in p_inlines.hBrian Paul
This allows us to remove most of the direct references to winsys in the state tracker.
2008-01-25gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ codeKeith Whitwell
Provide an actual definition of the pipe_buffer struct, containing the parameters used to create the buffer, and its refcount. Shift refcounting buffers out of the winsys interface, similar to surfaces & textures. Rework pipebuffer/ to reflect the fact these changes, and also Michel's reworking of the buffer interface.
2008-01-25gallium: Simplify winsys buffer interface.Michel Dänzer
The properties of a buffer represented by struct pipe_buffer_handle are now basically constant over its lifetime. The state tracker gets to deal with any more complex buffer semantics it may need to provide.
2007-12-09add fence interfaces and buffer create flags to pipe_winsyskeithw
2007-11-06Supply buffer usage hints to winsys.José Fonseca
Winsys driver needs some hints in order to allocate the appropriate kind of memory for the buffer.
2007-09-10merge buffer_unreference(), buffer_reference()Brian
2007-08-10Lift common winsys functions into pipe's new p_winsys.Keith Whitwell
2007-08-10minor clean-upsBrian
2007-08-10pipe->region_alloc() now takes width instead of pitch, plus a flags paramBrian
2007-08-06New st_init_*_functions() to initialize the driver functions table.Brian
We need to do these initializations before initializing the Mesa context because context init involves creating texture/program/etc objects.
2007-08-06Add pipe buffer managment functions.Keith Whitwell
The state_tracker driver needs these to implement, eg. pixel buffer objects, vertex buffer objects.