summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
AgeCommit message (Collapse)Author
2010-02-23pipebuffer: fix inverted signalled checkingLuca Barbieri
A return of 0 means the fence is signalled. Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-02-02gallium: Move p_thread.h and p_atomic.h out of gallium interfaces.José Fonseca
Into os/os_thread.h and util/u_atomic.h respectively.
2010-01-25pipebuffer: Reapply the mesa_7_7_branch's changes.José Fonseca
After the last mesa_7_7_branch merge the old master code remained, instead of the newer mesa_7_7_branch's code. This commit makes both branches match, modulo interface changes. Note: future mesa_7_7_branch -> master merges will most likely hit conflicts in these files. Unless otherwise stated, the mesa_7_7_branch is the reference.
2010-01-22gallium/aux: re-add pb_buffer_fenced.[ch] accidentally remove during mergeBrian Paul
2010-01-22Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
2010-01-21pipebuffer: Release the lock during map wait. Cleanups.José Fonseca
2010-01-21pipebuffer: Swap buffers out to system memory when running out of memory.José Fonseca
2010-01-14Merge branch 'mesa_7_7_branch'Jakob Bornecrantz
Conflicts: src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/util/Makefile src/gallium/drivers/r300/r300_state_derived.c
2010-01-07Revert "pipebuffer: Multi-threading fixes for fencing."Jakob Bornecrantz
This reverts commit 5b64d94390e4805e1634f0c8b5e3156e12b8b872.
2010-01-06Merge remote branch 'origin/mesa_7_7_branch'José Fonseca
Conflicts: configs/default src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/mesa/main/version.h
2010-01-06pipebuffer: Multi-threading fixes for fencing.José Fonseca
I had this patch on my hard drive for long time. It doesn't fully address SVGA multi-threading issues, but causes no regressions, so decided to commit while it still applies cleanly. Attention: merging this into master will cause issues due to recent changes in reference counting to fix strict aliasing rules violation.
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-11-19pb: Make fenced buffers threadsafe.José Fonseca
2009-11-02gallium/util: add casts to silence warningsBrian Paul
2009-10-25gallium: Move enum pipe_error into p_defines.h.José Fonseca
It's really just another define. No need for its own header.
2009-10-05Merge branch 'mesa_7_6_branch'Brian Paul
Conflicts: src/gallium/auxiliary/util/u_cpu_detect.c
2009-10-02gallium: replace // comments with /* */Brian Paul
2009-09-24pipebuffer: fix warningsKeith Whitwell
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-05-08pb: Dump the fenced buffer sizes.José Fonseca
2009-04-24pipebuffer: don't fail when validating mapped buffersKeith Whitwell
This can be almost impossible to avoid - hopefully we won't encounter a situation where this is a true requirement. Would probably require drivers to flush between hardware and software vertex processing.
2009-03-25Add #ifdefs needed to compile Gallium on Solaris with gcc or Sun ccAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
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-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