aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c
Commit message (Collapse)AuthorAgeFilesLines
* gallium: fix ref counting bug in pb_bufmgrJosé Fonseca2009-12-031-4/+1
| | | | This was discovered by the pipe_reference api change.
* gallium: fix reference counting functions to be strict-aliasing compliantRoland Scheidegger2009-12-031-0/+3
| | | | | | | | | | | Historically, parts of mesa code are not strict-aliasing safe, hence -fno-strict-aliasing is needed to compile (this got forgotten for scons builds for gallium, which indeed not only caused compiler warnings but also unexplicable crashes in non-debug builds). However, we should try to eliminate code not complying with strict-aliasing code at least for gallium. Hence change pipe_reference functions to make them strict-aliasing compliant. This adds a bit more complexity (especially for derived classes) but is the right thing to do, and it does in fact fix a segfault.
* pipebuffer: Use a type consistently for sizes/offsets.José Fonseca2009-06-181-4/+4
| | | | | | | 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.
* gallium: Remove remnants of reference counting internals outside of p_refcnt.h.Michel Dänzer2009-03-231-3/+3
|
* gallium: Use struct pipe_atomic for pipe refcounts.Thomas Hellstrom2009-03-161-3/+3
| | | | Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* gallium: Unify reference counting.Michel Dänzer2009-03-041-5/+6
| | | | | | | | | | | | | | 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().
* util: Move p_debug.h into util module.José Fonseca2009-02-181-1/+1
| | | | | The debug functions depend on several util function for os abstractions, and these depend on debug functions, so a seperate module is not possible.
* pipebuffer: Drop (most of) pipe winsys stuff.José Fonseca2009-02-011-1/+0
|
* gallium: make p_winsys internalZack Rusin2009-01-301-1/+1
| | | | | move it to pipe/internal/p_winsys_screen.h and start converting the state trackers to the screen usage
* pipebuffer: Implement proper buffer validation.José Fonseca2009-01-291-1/+22
|
* Revert "pipebuffer: Implement proper buffer validation."Keith Whitwell2008-12-121-22/+1
| | | | This reverts commit a6d866f72c88d48d2bcfb3e3c882fdb639b5a8ce.
* pipebuffer: Implement proper buffer validation.José Fonseca2008-11-241-1/+22
|
* pipebuffer: New callback to flush all temporary-held buffers.José Fonseca2008-09-181-3/+8
| | | | | Used mostly to aid debugging memory issues or to clean up resources when the drivers are long lived.
* pipebuffer: Add missing break statement to cache lookup logic.José Fonseca2008-09-021-6/+14
| | | | Second loop was never run. Spotted by Keith.
* gallium: thread wrapper clean-upBrian Paul2008-08-261-9/+9
| | | | | In p_thread.h replace _glthread_* functions with new pipe_* functions. Remove other old cruft.
* gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul2008-08-241-1/+1
| | | | Also, rename p_tile.[ch] to u_tile.[ch]
* pipebuffer: Verify usage flag consistency. Minor cleanups.José Fonseca2008-07-021-3/+7
|
* pipebuffer: Be more lenient when matching cached buffer sizes.José Fonseca2008-06-101-2/+5
| | | | Reuse cached buffers up to twice as big a requested.
* pipebuffer: New function to flush the buffer cache.José Fonseca2008-04-241-3/+9
|
* gallium: Several fixes to buffer caching.José Fonseca2008-04-151-14/+53
|
* gallium: Buffer cache.José Fonseca2008-04-131-0/+299