summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c
AgeCommit message (Collapse)Author
2009-12-03gallium: fix ref counting bug in pb_bufmgrJosé Fonseca
This was discovered by the pipe_reference api change.
2009-12-03gallium: fix reference counting functions to be strict-aliasing compliantRoland Scheidegger
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.
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-02-01pipebuffer: Drop (most of) pipe winsys stuff.José Fonseca
2009-01-30gallium: make p_winsys internalZack Rusin
move it to pipe/internal/p_winsys_screen.h and start converting the state trackers to the screen usage
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: Add missing break statement to cache lookup logic.José Fonseca
Second loop was never run. Spotted by Keith.
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-06-10pipebuffer: Be more lenient when matching cached buffer sizes.José Fonseca
Reuse cached buffers up to twice as big a requested.
2008-04-24pipebuffer: New function to flush the buffer cache.José Fonseca
2008-04-15gallium: Several fixes to buffer caching.José Fonseca
2008-04-13gallium: Buffer cache.José Fonseca