15 #if defined(_WIN32) || defined(_WIN64)
17 #elif defined(__APPLE__) || defined(__linux__) || \
18 defined(__FreeBSD__) || defined(__OpenBSD__) || \
19 defined(__sun) || defined(ANDROID) || \
20 defined(__GLIBC__) || defined(__GNU__) || \
22 #define ANGLE_OS_POSIX
24 #error Unsupported platform.
27 #if defined(ANGLE_OS_WIN)
29 #define VC_EXTRALEAN 1
31 #elif defined(ANGLE_OS_POSIX)
33 #include <semaphore.h>
35 #endif // ANGLE_OS_WIN
43 #if defined(ANGLE_OS_WIN)
44 typedef DWORD OS_TLSIndex;
45 #define OS_INVALID_TLS_INDEX (TLS_OUT_OF_INDEXES)
46 #elif defined(ANGLE_OS_POSIX)
47 typedef pthread_key_t OS_TLSIndex;
48 #define OS_INVALID_TLS_INDEX (static_cast<OS_TLSIndex>(-1))
49 #endif // ANGLE_OS_WIN
57 ASSERT(nIndex != OS_INVALID_TLS_INDEX);
58 #if defined(ANGLE_OS_WIN)
59 return TlsGetValue(nIndex);
60 #elif defined(ANGLE_OS_POSIX)
61 return pthread_getspecific(nIndex);
62 #endif // ANGLE_OS_WIN
65 #endif // __OSINCLUDE_H
bool OS_FreeTLSIndex(OS_TLSIndex nIndex)
#define ASSERT(expression)
bool OS_SetTLSValue(OS_TLSIndex nIndex, void *lpvValue)
typedef DWORD(WINAPI *XInputGetState_t)(DWORD dwUserIndex
OS_TLSIndex OS_AllocTLSIndex()
void * OS_GetTLSValue(OS_TLSIndex nIndex)