summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/pipebuffer/pb_bufmgr_slab.c
AgeCommit message (Collapse)Author
2010-02-02gallium: Move p_thread.h and p_atomic.h out of gallium interfaces.José Fonseca
Into os/os_thread.h and util/u_atomic.h respectively.
2009-10-25gallium: Move enum pipe_error into p_defines.h.José Fonseca
It's really just another define. No need for its own header.
2009-06-18pipebuffer: Use a type consistently for sizes/offsets.José Fonseca
Avoids warnings on 64bit builds. Use regular unsigned since that's what gallium expects, but use a typedef to facilitate possible changes in the future.
2009-03-23gallium: Remove remnants of reference counting internals outside of p_refcnt.h.Michel Dänzer
2009-03-16gallium: Use struct pipe_atomic for pipe refcounts.Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
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-02-18util: Move p_debug.h into util module.José Fonseca
The debug functions depend on several util function for os abstractions, and these depend on debug functions, so a seperate module is not possible.
2009-01-29pipebuffer: Implement proper buffer validation.José Fonseca
2008-12-12Revert "pipebuffer: Implement proper buffer validation."Keith Whitwell
This reverts commit a6d866f72c88d48d2bcfb3e3c882fdb639b5a8ce.
2008-11-24pipebuffer: Implement proper buffer validation.José Fonseca
2008-09-18pipebuffer: New callback to flush all temporary-held buffers.José Fonseca
Used mostly to aid debugging memory issues or to clean up resources when the drivers are long lived.
2008-09-02pipebuffer: Comment the slab code. Remove the freeSlabs list.José Fonseca
The freeSlabs list is not really needed as we free empty slabs immediately. Time based cached is done separately.
2008-08-26gallium: thread wrapper clean-upBrian Paul
In p_thread.h replace _glthread_* functions with new pipe_* functions. Remove other old cruft.
2008-08-24gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul
Also, rename p_tile.[ch] to u_tile.[ch]
2008-07-02pipebuffer: Verify usage flag consistency. Minor cleanups.José Fonseca
2008-05-27pipebuffer: Allow slab allocations of buffers of inequal size.José Fonseca
2008-05-22pipebuffer: Don't retry allocating in slab suballocator.José Fonseca
In pipebuffer, fencing is done at on a level above sub-allocation, so no matter how many times slab allocator retries no buffer will be freed. The pipebuffer fencing implemention already retries allocating.
2008-04-15gallium: Several fixes to buffer caching.José Fonseca
2008-04-15gallium: Allow to use a single slab.José Fonseca
We often want to use a pool of equally sized buffers, so this makes the slab suballocator a drop-in replacement.
2008-04-13gallium: Initial port of Thomas slab suballocator to pipebuffer.José Fonseca
Not tested yet -- just compiles. This includes only the slab algorithm. Fencing is already implemented in pb_bufmgr_fence and time-based caching will be commited in a separate module shortly.