summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/pipebuffer
Commit message (Collapse)AuthorAgeFilesLines
* pipebuffer: slab: if size < alignment, use alignment to find bucketLuca Barbieri2010-02-231-1/+5
| | | | | | | | | | If the size is lower than the alignment, we must use the alignment to select the bucket. Otherwise, the selected bucket won't be able to satisfy our request and will fail. Signed-off-by: José Fonseca <[email protected]>
* pipebuffer: fix inverted signalled checkingLuca Barbieri2010-02-231-1/+1
| | | | | | A return of 0 means the fence is signalled. Signed-off-by: José Fonseca <[email protected]>
* pipebuffer: avoid assert due to increasing a zeroed refcntLuca Barbieri2010-02-231-1/+1
| | | | | | | | The cache manager stores buffers with a reference count that dropped to 0. pipe_reference asserts in this case on debug builds, so use pipe_reference_init instead. Signed-off-by: José Fonseca <[email protected]>
* pipebuffer: Don't synchronize when checking for buffer overflows.José Fonseca2010-02-221-1/+3
| | | | To avoid masking synchronization issues in debug builds.
* gallium: cast to silence waringBrian Paul2010-02-101-1/+1
|
* gallium: use os_time.h in pb_bufmgr_cache.cBrian Paul2010-02-101-9/+9
| | | | Untested, but seems straightforward.
* gallium: Move p_thread.h and p_atomic.h out of gallium interfaces.José Fonseca2010-02-026-6/+6
| | | | Into os/os_thread.h and util/u_atomic.h respectively.
* gallium: pipe/p_inlines.h -> util/u_inlines.hJosé Fonseca2010-02-021-0/+1
|
* pipebuffer: Reapply the mesa_7_7_branch's changes.José Fonseca2010-01-252-335/+769
| | | | | | | | | | 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.
* gallium/aux: re-add pb_buffer_fenced.[ch] accidentally remove during mergeBrian Paul2010-01-222-769/+333
|
* Merge branch 'mesa_7_7_branch'Brian Paul2010-01-228-487/+811
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * pipebuffer: Remove unnecessary header.Vinson Lee2010-01-211-1/+0
| |
| * pipebuffer: Release the lock during map wait. Cleanups.José Fonseca2010-01-211-63/+131
| |
| * pipebuffer: Swap buffers out to system memory when running out of memory.José Fonseca2010-01-216-491/+706
| |
| * pipebuffer: Ensure buffer size/alignment is not zero.José Fonseca2010-01-181-0/+3
| |
* | Merge branch 'mesa_7_7_branch'Jakob Bornecrantz2010-01-141-171/+111
|\| | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/util/Makefile src/gallium/drivers/r300/r300_state_derived.c
| * Revert "pipebuffer: Multi-threading fixes for fencing."Jakob Bornecrantz2010-01-071-170/+111
| | | | | | | | This reverts commit 5b64d94390e4805e1634f0c8b5e3156e12b8b872.
* | Merge remote branch 'origin/mesa_7_7_branch'José Fonseca2010-01-061-16/+18
|\| | | | | | | | | | | | | Conflicts: configs/default src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/mesa/main/version.h
| * pipebuffer: Multi-threading fixes for fencing.José Fonseca2010-01-061-111/+170
| | | | | | | | | | | | | | | | | | 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.
* | gallium: Generate a single library for auxiliaries with Make too.José Fonseca2010-01-011-19/+0
| |
* | scons: Aggregate all tiny libraries in a single library.José Fonseca2010-01-011-19/+0
| | | | | | | | | | Makes integration of gallium into out of tree components much easier. No pratical change for components in this tree,
* | gallium: fix ref counting bug in pb_bufmgrJosé Fonseca2009-12-031-4/+1
| | | | | | | | This was discovered by the pipe_reference api change.
* | gallium: fix reference counting functions to be strict-aliasing compliantRoland Scheidegger2009-12-033-2/+9
| | | | | | | | | | | | | | | | | | | | | | 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.
* | pb: Make fenced buffers threadsafe.José Fonseca2009-11-191-112/+168
|/
* gallium/util: add casts to silence warningsBrian Paul2009-11-021-3/+3
|
* gallium: Move enum pipe_error into p_defines.h.José Fonseca2009-10-256-6/+5
| | | | It's really just another define. No need for its own header.
* Merge branch 'mesa_7_6_branch'Brian Paul2009-10-051-1/+1
|\ | | | | | | | | | | Conflicts: src/gallium/auxiliary/util/u_cpu_detect.c
| * gallium: replace // comments with /* */Brian Paul2009-10-021-1/+1
| |
* | pipebuffer: fix printf warningsKeith Whitwell2009-09-241-1/+1
| |
* | pipebuffer: fix warningsKeith Whitwell2009-09-241-2/+2
|/
* pipebuffer: handle possible null pointer dereferenceZack Rusin2009-07-062-0/+4
| | | | reported by clang static analyzer
* pipebuffer: Use a type consistently for sizes/offsets.José Fonseca2009-06-1812-84/+90
| | | | | | | 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.
* pipebuffer: Silence out of heap space debug printJakob Bornecrantz2009-06-081-1/+1
|
* pb: Save the stack backtrace when creating/mapping a debug buffer.José Fonseca2009-05-081-1/+101
|
* pb: Dump the fenced buffer sizes.José Fonseca2009-05-081-4/+6
|
* pipebuffer: don't fail when validating mapped buffersKeith Whitwell2009-04-241-4/+5
| | | | | | 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.
* Add #ifdefs needed to compile Gallium on Solaris with gcc or Sun ccAlan Coopersmith2009-03-251-2/+2
| | | | Signed-off-by: Alan Coopersmith <[email protected]>
* gallium: Remove remnants of reference counting internals outside of p_refcnt.h.Michel Dänzer2009-03-237-17/+17
|
* gallium: Use struct pipe_atomic for pipe refcounts.Thomas Hellstrom2009-03-167-17/+21
| | | | Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* gallium: Remove some superfluous instances of #include "p_inlines.h".Michel Dänzer2009-03-041-1/+0
|
* gallium: Unify reference counting.Michel Dänzer2009-03-049-47/+37
| | | | | | | | | | | | | | 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().
* Merge commit 'origin/gallium-0.1'José Fonseca2009-03-031-1/+1
|\ | | | | | | | | Conflicts: src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
| * pipebuffer: Fix copy'n'paste typo.José Fonseca2009-03-031-1/+1
| |
* | pipebuffer: Cleanup merge.José Fonseca2009-03-031-43/+0
| |
* | pb: fix up merge mistakesKeith Whitwell2009-03-031-9/+7
| |
* | Merge commit 'origin/gallium-0.1'Keith Whitwell2009-03-031-9/+64
|\| | | | | | | | | | | | | | | | | | | 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
| * pipebuffer: Cleanup code & comments.José Fonseca2009-03-021-11/+7
| |
| * pipebuffer: Handle PIPE_BUFFER_USAGE_DONTBLOCK flag.José Fonseca2009-03-021-5/+15
| | | | | | | | | | | | Conflicts: src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
| * pipebuffer: Wait for the GPU to finish reading too.José Fonseca2009-03-021-3/+4
| | | | | | | | No real change, as we're not tracking relocations read/write access yet.
| * pipebuffer: Remove unused var.José Fonseca2009-03-021-1/+0
| |