summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/pipebuffer
AgeCommit message (Collapse)Author
2008-12-12Revert "pipebuffer: Ondemand buffer manager."Keith Whitwell
This reverts commit 17849eafaacfbb2124d86f561a91b707317d3b31.
2008-12-12Revert "pipebuffer: Fix buffer overflow."Keith Whitwell
This reverts commit 55839ae064d64b7fcc180fcddb364bf31ab760dc.
2008-11-25Merge commit 'origin/gallium-0.1' into gallium-0.2Alan Hourihane
Conflicts: scons/gallium.py src/gallium/auxiliary/pipebuffer/pb_buffer.h
2008-11-25pipebuffer: Fix buffer overflow.José Fonseca
2008-11-24pipebuffer: Ondemand buffer manager.José Fonseca
A variation of malloc buffers which get transferred to real graphics memory when there is an attempt to validate them.
2008-11-24pipebuffer: Implement proper buffer validation.José Fonseca
2008-11-05gallium: s/mmDestroy/u_mmDestroy/Brian Paul
2008-11-03pipebuffer: Ensure refcounts of live buffer objects are never zero.José Fonseca
2008-10-29gallium: prefix memory manager functions with u_ to differentiate from ↵Brian Paul
functions in mesa/main/mm.c
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