summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/os
Commit message (Collapse)AuthorAgeFilesLines
* gallium/os: Fix os_time_sleep() on Windows for small durations.José Fonseca2012-12-061-1/+5
| | | | | | Prevents undetermined sleeps. Reviewed-by: Brian Paul <[email protected]>
* llvmpipe: Implement PIPE_QUERY_TIMESTAMP and PIPE_QUERY_TIME_ELAPSED.James Benton2012-12-032-0/+22
| | | | | | | | | | | | | | | | | | This required an update for the query storage in llvmpipe, there can now be an active query per query type, so an occlusion query can run at the same time as a time elapsed query. Based on PIPE_QUERY_TIME_ELAPSED patch from Dave Airlie. v2: fix up piglits for timers (also from Dave Airlie) a) if we don't render anything the result is 0, so just return the current time b) add missing screen get_timestamp callback. Signed-off-by: Dave Airlie <[email protected]> Signed-off-by: José Fonseca <[email protected]>
* util: add more memory debugging featuresBrian Paul2012-11-281-0/+3
| | | | | | | | Add a DEBUG_FREED_MEMORY option to help catch use-after-free errors. Add debug_memory_check() function which can be periodically called to check that all known blocks are good. Reviewed-by: José Fonseca <[email protected]>
* util: add GALLIUM_LOG_FILE option for logging output to a fileBrian Paul2012-05-251-3/+22
| | | | Useful for logging different runs to files and diffing, etc.
* auxiliary/os: Add missing signal.h include.Baldo Davide2012-05-051-0/+1
| | | | | | | | The signal.h include was missed in the commit bc16c73407d11bb6702cf7de9925bfaeb80a5272 which leads to broken compilations under Linux. Signed-off-by: José Fonseca <[email protected]>
* gallium: use Mesa pthread_barrier_t on Haiku, as it is incomplete under HaikuAlexander von Gluck2011-12-271-1/+1
| | | | | Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* Remove windows kernel support code.José Fonseca2011-11-295-293/+6
| | | | | | Not actively used. Reviewed-by: Brian Paul <[email protected]>
* gallium/auxiliary: Remove os_stream.José Fonseca2011-11-296-652/+0
| | | | | | XP kernel mode was the only subsystem lacking stdio FILES. Reviewed-by: Brian Paul <[email protected]>
* auxiliary/os: add wrappers for mmap/munmapChia-I Wu2011-08-241-0/+87
| | | | | | The use of mmap() in winsys requires large file support. Not all OSes have LFS so a wrapper should be used. In particular, os_mmap() should call __mmap2() on Android.
* gallium: add PIPE_OS_ANDROID supportChia-I Wu2011-08-211-1/+1
| | | | | | | Android uses Linux kernel and its own C runtime. It resembles PIPE_OS_LINUX a lot with some minor exceptions. Reviewed-by: Brian Paul <[email protected]>
* scons: make embedding orthogonal to the platformJosé Fonseca2011-06-174-16/+7
| | | | To enable embedding in platforms other than linux.
* gallium: block signals for new thread when spawning threadsDave Airlie2011-05-161-1/+8
| | | | | | | | | | | | | I'm hard pressed to think of any reason a gallium thread would want to receive a signal, especially considering its probably loaded as a library and you don't want the threads interfering with the main threads signal handling. This solves a problem loading llvmpipe into the X server for AIGLX, where the X server relies on the SIGIO signal going to the main thread, but once llvmpipe loads the SIGIO can end up in any of its threads. Signed-off-by: Dave Airlie <[email protected]>
* os: simplify ifdefnobled2011-04-271-1/+1
| | | | | | | The actual code that needs this include is just using "if defined (PIPE_OS_UNIX)", and the two conditions should match. This should also make the file compile under Hurd.
* os: Fix pipe_static_mutex on Windows.José Fonseca2011-03-061-1/+2
|
* os: Open file streams in binary mode.Michal Krol2010-11-081-1/+1
| | | | Otherwise we'll get garbled data on Windows.
* auxiliary: add copyright headersLuca Barbieri2010-08-211-0/+26
| | | | Thanks to Jose Fonseca for pointing out they were missing.
* os_stream: fix bugs in allocation pathLuca Barbieri2010-08-211-16/+8
|
* os_stream: add printf facilityLuca Barbieri2010-08-206-3/+83
|
* os: remove gratuitous pipe_barrier placeholder codenobled2010-07-121-21/+1
| | | | | | | There's already an implementation of pipe_barrier using the other pipe_* primitives; just use that on Windows, too. Now Windows passes pipe_barrier_test.
* os, rbug: remove PIPE_THREAD_HAVE_CONDVARnobled2010-07-121-1/+0
| | | | | The new default implementation of pipe_condvar makes it unnecessary.
* os: Implement pipe_condvar on Windows Vista and laternobled2010-07-121-0/+30
| | | | | | | | Unfortunately compiling with these defines enabled would mean Gallium can't run on Windows XP/2003 or older. Todo: Need a macro to declare if we don't care about WinXP compatibililty.
* os: Implement pipe_condvar on win32nobled2010-07-121-7/+27
| | | | | | | | Or at least a little of it. This version will sleep for a fixed amount of time instead of just deadlocking, which is a slight improvement. Also do the same thing on any unrecognized platform.
* gallium: Add tokens for Cygwin.Vinson Lee2010-05-132-6/+6
|
* os: Check for spurious wakeups in pipe_barrier_wait.Vinson Lee2010-04-261-1/+8
| | | | | | | | | | | | | | 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.
* os: Implement pipe_barrier for POSIX platforms without pthread_barrier_t.Vinson Lee2010-04-171-5/+26
| | | | This patch was tested on Mac OS X.
* os: Temporarily use posix thread for embedded too.Kurt Daverman2010-03-311-6/+6
|
* gallivm/llvmpipe: rename os_llvm.h to lp_bld.hBrian Paul2010-03-151-47/+0
| | | | | | | The llvm wrapper wasn't really an OS thing. Use lp_bld.h for now but we eventually should rename/re-prefix all the files/functions in the gallivm/ directory.
* Merge branch '7.8'Michel Dänzer2010-03-121-1/+1
|\
| * Grammar and spelling fixesJeff Smith2010-03-121-1/+1
| | | | | | | | | | Signed-off-by: Jeff Smith <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* | gallium/os: wrapper for llvm-c/Core.h and #define HAVE_LLVM if neededBrian Paul2010-03-111-0/+47
|/
* os: A stream for debug logging.José Fonseca2010-02-144-2/+87
| | | | | | | Just a wrapper around os_log_message. Although it would probably make more sense to be the other way around. Also some comment fixes.
* os: Add a growable string stream.José Fonseca2010-02-142-0/+177
|
* os: Complement/improve stream inline helpers.José Fonseca2010-02-141-0/+17
|
* os: Fix bad calloc.José Fonseca2010-02-141-10/+1
|
* os: Make streams abstract.José Fonseca2010-02-144-262/+158
| | | | | Also replace windows kernel stream with null implementation. It was severely limited and no easy means to test it now.
* os: Do not use Pthreads barrier functions on Mac OS X.Vinson Lee2010-02-101-42/+52
| | | | Pthreads barrier functions are not available on some POSIX platforms.
* os: Don't assert on missing implementation of barrier init/destroy. Just usage.José Fonseca2010-02-051-2/+0
|
* Merge remote branch 'origin/lp-binning'José Fonseca2010-02-051-7/+144
| | | | | | | | | | 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
* auxiliary: util_stream -> os_streamJosé Fonseca2010-02-043-0/+388
|
* os: Ensure header includes are outside extern "C" {}.José Fonseca2010-02-041-2/+6
|
* os: Time abstractions.José Fonseca2010-02-042-0/+220
| | | | Simplified version of u_time.[ch]
* os/os_memory_aligned.h: fix memory allocation alignment for 64 bitsJosé Fonseca2010-02-042-3/+3
| | | | Based on Andreia Gaita <[email protected]>'s patch.
* os: Add missing dummy threading definitions.José Fonseca2010-02-041-0/+19
|
* os: Also add the aligned memory prototypes to the embedded section.José Fonseca2010-02-031-0/+6
|
* os: New OS abstraction module.José Fonseca2010-02-037-0/+715
|
* gallium: Move p_thread.h and p_atomic.h out of gallium interfaces.José Fonseca2010-02-021-0/+279
Into os/os_thread.h and util/u_atomic.h respectively.