[Mesa-dev] [PATCH 08/10] swr: [rasterizer common] Use C++ thread_local keyword

Tim Rowley timothy.o.rowley at intel.com
Sat Mar 25 12:01:00 UTC 2017


Allows use of thread_local objects with constructors.
---
 src/gallium/drivers/swr/rasterizer/common/os.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/swr/rasterizer/common/os.h b/src/gallium/drivers/swr/rasterizer/common/os.h
index 28e7ff5..71c4da3 100644
--- a/src/gallium/drivers/swr/rasterizer/common/os.h
+++ b/src/gallium/drivers/swr/rasterizer/common/os.h
@@ -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];
-- 
2.7.4



More information about the mesa-dev mailing list