swr: [rasterizer common] Use C++ thread_local keyword
authorTim Rowley <timothy.o.rowley@intel.com>
Wed, 22 Mar 2017 23:55:13 +0000 (18:55 -0500)
committerTim Rowley <timothy.o.rowley@intel.com>
Tue, 28 Mar 2017 16:24:39 +0000 (11:24 -0500)
Allows use of thread_local objects with constructors.

Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
src/gallium/drivers/swr/rasterizer/common/os.h

index 28e7ff5..71c4da3 100644 (file)
@@ -47,7 +47,6 @@
 #endif
 
 #define OSALIGN(RWORD, WIDTH) __declspec(align(WIDTH)) RWORD
-#define THREAD __declspec(thread)
 #define INLINE __forceinline
 #define DEBUGBREAK __debugbreak()
 
@@ -108,7 +107,6 @@ typedef unsigned int    DWORD;
 #define MAX_PATH PATH_MAX
 
 #define OSALIGN(RWORD, WIDTH) RWORD __attribute__((aligned(WIDTH)))
-#define THREAD __thread
 #ifndef INLINE
 #define INLINE __inline
 #endif
@@ -242,6 +240,8 @@ pid_t gettid(void);
 
 #endif
 
+#define THREAD thread_local
+
 // Universal types
 typedef uint8_t     KILOBYTE[1024];
 typedef KILOBYTE    MEGABYTE[1024];