diff options
author | Patrick Rudolph <[email protected]> | 2016-10-26 17:11:00 +0200 |
---|---|---|
committer | Axel Davy <[email protected]> | 2016-12-20 23:44:23 +0100 |
commit | ac2927335bc7cd4994d2fc0906eb328773b1f923 (patch) | |
tree | 3dc5241c7c4dc691ad80852c6aab42ef90f1aee1 /src/gallium/auxiliary/os | |
parent | 2c371a25a8800883dda353853cca6b5a2ba71bb4 (diff) |
st/nine: Implement gallium nine CSMT
Use an offloading thread for all nine_context functions.
Macros are used to ease the reading of the code.
Signed-off-by: Patrick Rudolph <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/os')
-rw-r--r-- | src/gallium/auxiliary/os/os_thread.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/os/os_thread.h b/src/gallium/auxiliary/os/os_thread.h index ec8adbc75bb..21faf4b3beb 100644 --- a/src/gallium/auxiliary/os/os_thread.h +++ b/src/gallium/auxiliary/os/os_thread.h @@ -97,6 +97,17 @@ static inline void pipe_thread_setname( const char *name ) } +static inline int pipe_thread_is_self( pipe_thread thread ) +{ +#if defined(HAVE_PTHREAD) +# if defined(__GNU_LIBRARY__) && defined(__GLIBC__) && defined(__GLIBC_MINOR__) && \ + (__GLIBC__ >= 3 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 12)) + return pthread_equal(pthread_self(), thread); +# endif +#endif + return 0; +} + /* pipe_mutex */ typedef mtx_t pipe_mutex; |