Commit Graph

59 Commits

Author SHA1 Message Date
Vinson Lee 1775829f8c gallium: Add tokens for Cygwin. 2010-05-13 01:25:07 -07:00
Vinson Lee 31db310be4 os: Check for spurious wakeups in pipe_barrier_wait.
The POSIX function pthread_cond_wait can have spurious wakeups when
waiting on a condition variable.

Add a 64-bit counter that is incremented whenever the barrier becomes
full. A woken thread checks the counter. If the counter has not changed
then it has been spuriously woken and goes back to sleep. If the counter
has changed then it was properly signaled and exits the barrier.

Tested on Mac OS X.

This patch was based on ideas from Luca Barbieri.
2010-04-26 00:31:20 -07:00
Vinson Lee 35aae6839e os: Implement pipe_barrier for POSIX platforms without pthread_barrier_t.
This patch was tested on Mac OS X.
2010-04-17 14:24:23 -07:00
Kurt Daverman 730cd1baaa os: Temporarily use posix thread for embedded too. 2010-03-31 18:38:07 +01:00
Vinson Lee 8df7e20788 os: Do not use Pthreads barrier functions on Mac OS X.
Pthreads barrier functions are not available on some POSIX platforms.
2010-02-10 18:12:10 -08:00
José Fonseca e95e5caee6 os: Don't assert on missing implementation of barrier init/destroy. Just usage. 2010-02-05 13:54:21 +00:00
José Fonseca a1af8eec66 Merge remote branch 'origin/lp-binning'
Conflicts:
	src/gallium/auxiliary/util/u_dl.c
	src/gallium/auxiliary/util/u_time.h
	src/gallium/drivers/llvmpipe/lp_state_derived.c
	src/gallium/drivers/llvmpipe/lp_state_surface.c
	src/gallium/drivers/llvmpipe/lp_tex_cache.c
	src/gallium/drivers/llvmpipe/lp_tile_cache.c
2010-02-05 13:48:35 +00:00
José Fonseca 1207098dee os: Add missing dummy threading definitions. 2010-02-04 14:39:30 +00:00
José Fonseca 2aaca1df9d gallium: Move p_thread.h and p_atomic.h out of gallium interfaces.
Into os/os_thread.h and util/u_atomic.h respectively.
2010-02-02 15:18:01 +00:00
Renamed from src/gallium/include/pipe/p_thread.h (Browse further)