gfx/angle/src/compiler/osinclude.h

Wed, 31 Dec 2014 07:16:47 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:16:47 +0100
branch
TOR_BUG_9701
changeset 3
141e0f1194b1
permissions
-rw-r--r--

Revert simplistic fix pending revisit of Mozilla integration attempt.

     1 //
     2 // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
     3 // Use of this source code is governed by a BSD-style license that can be
     4 // found in the LICENSE file.
     5 //
     7 #ifndef __OSINCLUDE_H
     8 #define __OSINCLUDE_H
    10 //
    11 // This file contains contains os-specific datatypes and
    12 // declares any os-specific functions.
    13 //
    15 #if defined(_WIN32) || defined(_WIN64)
    16 #define ANGLE_OS_WIN
    17 #elif defined(__APPLE__) || defined(__linux__) || \
    18       defined(__FreeBSD__) || defined(__OpenBSD__) || \
    19       defined(__sun) || defined(ANDROID) || \
    20       defined(__GLIBC__) || defined(__GNU__) || \
    21       defined(__QNX__)
    22 #define ANGLE_OS_POSIX
    23 #else
    24 #error Unsupported platform.
    25 #endif
    27 #if defined(ANGLE_OS_WIN)
    28 #define STRICT
    29 #define VC_EXTRALEAN 1
    30 #include <windows.h>
    31 #elif defined(ANGLE_OS_POSIX)
    32 #include <pthread.h>
    33 #include <semaphore.h>
    34 #include <errno.h>
    35 #endif  // ANGLE_OS_WIN
    38 #include "compiler/compiler_debug.h"
    40 //
    41 // Thread Local Storage Operations
    42 //
    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
    51 OS_TLSIndex OS_AllocTLSIndex();
    52 bool OS_SetTLSValue(OS_TLSIndex nIndex, void *lpvValue);
    53 bool OS_FreeTLSIndex(OS_TLSIndex nIndex);
    55 inline void* OS_GetTLSValue(OS_TLSIndex nIndex)
    56 {
    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
    63 }
    65 #endif // __OSINCLUDE_H

mercurial