Partial revert of rev58110
authorSergey Sharybin <sergey.vfx@gmail.com>
Tue, 9 Jul 2013 18:38:33 +0000 (18:38 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Tue, 9 Jul 2013 18:38:33 +0000 (18:38 +0000)
There's one thing we didn't foresee from the beginning,
which is apparently TLS is only available in OSX starting
from version 10.7, and we still do support of 10.6.

After recent Brecht's changes about locked viewport
while initializing BI render this TLS is not needed
in trunk anymore. So reverting this chunk of base
iteration to use static variable. But leaving all the
other static variables warped into context still, it
should help a bit in the future refactor.

Real fix would be to have some kind of graph context
evaluation structure which would be passing to update
routines (which will solve threaded mballs update) and
making depsgraph responsible for getting a motherball.
But this is all for GSoC project.

source/blender/blenkernel/intern/scene.c
source/blender/blenlib/BLI_threads.h

index 5b09f65d7db419def6a18a7c8579648b257e5d9f..744a8247233ce316d4d94f8101da4c744d787886 100644 (file)
@@ -748,7 +748,7 @@ void BKE_scene_unlink(Main *bmain, Scene *sce, Scene *newsce)
  */
 int BKE_scene_base_iter_next(SceneBaseIter *iter, Scene **scene, int val, Base **base, Object **ob)
 {
-       static ThreadVariable int in_next_object = 0;
+       static int in_next_object = 0;
        int run_again = 1;
        
        /* init */
index ec5581882702ebad1b5bfb25e134afd978ef1ebe..154986936a29f5416f2ba95d73b759e932ed96e4 100644 (file)
@@ -182,13 +182,6 @@ int BLI_thread_queue_size(ThreadQueue *queue);
 void BLI_thread_queue_wait_finish(ThreadQueue *queue);
 void BLI_thread_queue_nowait(ThreadQueue *queue);
 
-/* Thread Local Storage */
-#ifdef _MSC_VER
-#  define ThreadVariable  __declspec(thread)
-#else
-#  define ThreadVariable  __thread
-#endif
-
 #ifdef __cplusplus
 }
 #endif