diff options
author | Joshua Leung <aligorith@gmail.com> | 2018-02-22 09:22:50 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-02-27 13:23:22 +0300 |
commit | 3d7235fc8787c8f63ead313f0a891600dbc4d6fa (patch) | |
tree | 2425b442f6aa63fd3cb59342c4a057d5db2ab4d2 /intern/gawain | |
parent | 5a1a63a858604f2a253b05c25feeb8da69b3f5b9 (diff) |
MSVC 2013 Compile Fix/Workaround for "static thread_local" vars
Apparently MSVC 2013 has trouble with stuff that's been declared
"static thread_local" (and/or maybe even the "thread_local" keyword).
https://stackoverflow.com/questions/29399494/what-is-the-current-state-of-support-for-thread-local-across-platforms
Diffstat (limited to 'intern/gawain')
-rw-r--r-- | intern/gawain/src/gwn_vertex_array_id.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/intern/gawain/src/gwn_vertex_array_id.cpp b/intern/gawain/src/gwn_vertex_array_id.cpp index f0233dd0ef9..90a2b42ab67 100644 --- a/intern/gawain/src/gwn_vertex_array_id.cpp +++ b/intern/gawain/src/gwn_vertex_array_id.cpp @@ -46,7 +46,12 @@ struct Gwn_Context { #endif }; +#if defined(_MSC_VER) && (_MSC_VER == 1800) +#define thread_local __declspec(thread) +thread_local Gwn_Context* active_ctx = NULL; +#else static thread_local Gwn_Context* active_ctx = NULL; +#endif static void clear_orphans(Gwn_Context* ctx) { |