summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
AgeCommit message (Collapse)Author
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-03-03Merge commit 'origin/gallium-0.1'José Fonseca
Conflicts: src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
2009-03-03pipebuffer: Cleanup merge.José Fonseca
2009-03-03pb: fix up merge mistakesKeith Whitwell
2009-03-03pipebuffer: Fix copy'n'paste typo.José Fonseca
2009-03-03Merge commit 'origin/gallium-0.1'Keith Whitwell
Conflicts: scons/gallium.py src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/include/pipe/p_defines.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_exec_draw.c
2009-03-02pipebuffer: Cleanup code & comments.José Fonseca
2009-03-02pipebuffer: Handle PIPE_BUFFER_USAGE_DONTBLOCK flag.José Fonseca
Conflicts: src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
2009-03-02pipebuffer: Wait for the GPU to finish reading too.José Fonseca
No real change, as we're not tracking relocations read/write access yet.
2009-03-02pipebuffer: Remove unused var.José Fonseca
2009-02-25gallium: Add support for BSD operating systems, tested with FreeBSDBenjamin Close
BSD supports pipe in the same way as linux hence options which are safe for linux are also safe for BSD. Define PIPE_OS_BSD in include/pipe/p_config.h and adjust the defines to make use of it. Also define MAP_ANONYMOUS for BSD systems which use MAP_ANON Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com>
2009-02-24pipebuffer: Remove unused var.José Fonseca
2009-02-23Merge commit 'origin/gallium-0.1'José Fonseca
Conflicts: src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c src/gallium/auxiliary/util/u_tile.c
2009-02-18pipebuffer: Dump debugging info for fenced buffer list.José Fonseca
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-10pipebuffer: Drop reliance on pipe_winsys.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-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: 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-03pipebuffer: Silent warnings.José Fonseca
Although rarely hit in normal apps, they are too noisy with test suites.
2008-07-02pipebuffer: Verify usage flag consistency. Minor cleanups.José Fonseca
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-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-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: Serialize buffers writes.José Fonseca
Allow concurrent reads from buffers by the CPU/GPU, but serialize all writes.
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-24gallium: MSVC fixes.José Fonseca
2008-02-19Remove src/mesa and src/mesa/main from gallium source include paths.José Fonseca
2008-02-18Standardize on using the pipe/ include prefix.José Fonseca
2008-02-15Code reorganization: s/aux/auxiliary/.José Fonseca
"aux" is a reserved name on Windows (X_X)