summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/pipebuffer
AgeCommit message (Collapse)Author
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-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-28pipebuffer: Fix/add detail to the under- overflow report messages.José Fonseca
2008-08-28pipebuffer: Check buffer over- & underflows when mapping/unmapping too.José Fonseca
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-25gallium: include <sched.h> on linux to get sched_yield() protoBrian
2008-08-24gallium: include u_memory.h, u_math.hBrian
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-08-07pipebuffer: Add an extra assertion to ensure buffers do not jump between lists.José Fonseca
2008-07-20pipebuffer: More detailed description of bufer over-/undereflows.José Fonseca
2008-07-13pb: buffer over/underflows are errors.José Fonseca
2008-07-09gallium: fix logic in pb_check_usage()Brian Paul
2008-07-03pipebuffer: Silent warnings.José Fonseca
Although rarely hit in normal apps, they are too noisy with test suites.
2008-07-02pipebuffer: Debug buffer manager to detect buffer under- and overflows.José Fonseca
It should detect both cpu and gpu buffer overflows.
2008-07-02pipebuffer: Verify usage flag consistency. Minor cleanups.José Fonseca
2008-06-12pb: don't assert(0) on failure to allocate - this is a normal condition in ↵Keith Whitwell
many drivers
2008-06-12pipebuffer: Fix improper memory free.José Fonseca
2008-06-10pipebuffer: Alternative buffer manager.José Fonseca
For situations where one has a reserve memory pool, or a faster/slower pool.
2008-06-10pipebuffer: Be more lenient when matching cached buffer sizes.José Fonseca
Reuse cached buffers up to twice as big a requested.
2008-05-27pipebuffer: Malloc buffer provider.José Fonseca
Simple wrapper around pb_malloc_buffer_create for convenience.
2008-05-27pipebuffer: Allow slab allocations of buffers of inequal size.José Fonseca
2008-05-22pipebuffer: More robust face null pointers.José Fonseca
It is really the caller responsibility not to call pipebuffer with null buffers, etc. But don't let the crash happen here, and still asserting early.
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-05-09gallium: Don't serialize GPU writes.José Fonseca
Only make sure the GPU is finished with a buffer before mapping. The opposite -- waiting for the CPU to be finished before handing to the CPU -- must be done before fencing.
2008-05-09pipebuffer: Temporarily reimplement validation as growable array.José Fonseca
Jose
2008-05-08gallium: Make sure functions have proper prototypes and remove unused variable.Michel Dänzer
2008-05-08pipebuffer: Preliminary buffer validation.José Fonseca
Use table to store a list of buffers to validate. Unfortunately cso_hash shrinks/regrows the hash every time, so still has to be addressed. Multi-thread validation is still WIP.
2008-05-08pipebuffer: Don't include standard headers directly.José Fonseca
2008-04-28pb: remove unused variable, squash warningKeith Whitwell
2008-04-27pipebuffer: Be extra cautious with the incoming buffers.José Fonseca
A common mistake is trying to fence user or malloc buffers. So don't let the crash happen inside pipebuffer lib.
2008-04-25gallium: Windows user mode portability fixes.José Fonseca
2008-04-24pipebuffer: New function to flush the buffer cache.José Fonseca
2008-04-22pipebuffer: Temporarily allow simultaneous CPU writes.José Fonseca
Also, fast path for re-fencing the same buffer multiple times with the same fence.
2008-04-15gallium: Fix seg fault (James Vogt).José Fonseca
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-15gallium: Serialize buffers writes.José Fonseca
Allow concurrent reads from buffers by the CPU/GPU, but serialize all writes.
2008-04-13gallium: Buffer cache.José Fonseca
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.
2008-04-08gallium: Fix overzealous assert.José Fonseca
2008-04-05gallium: Keep fenced buffers list ordered.José Fonseca
This allows to keep the list small without the overhead of full walks.
2008-04-05gallium: Fix typo.José Fonseca
2008-04-01gallium: Do not assume that buffers are freed in the same order they are fenced.José Fonseca
Also free buffers as soon as possible. This short term fix corrects the fenced list behavior but it will impact on performance. The long term fix is probably replace the linked list (legacy from the bufpool code) by a binary tree.
2008-02-27gallium: Make headers C++ friendly.José Fonseca
2008-02-24gallium: MSVC fixes.José Fonseca
2008-02-23Bring in several forgotten MSVC fixes.José Fonseca
2008-02-19Remove src/mesa and src/mesa/main from gallium source include paths.José Fonseca
2008-02-19Simplify makefile boilerplate code.José Fonseca
Don't define ASM_SOURCES variable globally -- reserve that variable to be defined locally by makefiles, together with C_SOURCES and CPP_SOURCES.
2008-02-19Move mm.c code into util module.José Fonseca
Using the u_ prefix to distingish the c source files that support gallium interfaces and those that have really no relation with gallium itself.