Go to file
Sergey Sharybin 86546ca42d Fixed more threading issues with metaballs
This time issue was caused by static variables used in
BKE_scene_base_iter_next function.

Change is not so much ultimate actually, but didn't
find more clear solution for now. So the changes are:

- Wrap almost all the static variables into own context-
  like structure, which is owned by the callee function
  and getting passed to the iteration function.

- Recursion detection wasn't possible with such approach,
  so recursion detection still uses static in_next_object
  variable, but which is now stored in thread local
  storage (TLS, or thread variable if this names are more
  clear for you).

This makes code thread-safe, but for sure final solution
shall be completely different. Ideally, dependency graph
shall be possible to answer on question "which object is
a motherball for this metaball". This will avoid iterating
via all the bases, objects and duplis just to get needed
motherball.

Further, metaball evaluation ideally will use the same
kind of depsgraph filtering, which will get result for
question like "which objects belongs to this group of
metaballs".

But this ideal things are to be solved in Joshua's and
mind GSoC projects.

Tested on linux (gcc and clang) and windows (msvc2008),
hopefully no compilation error will happen.

Thanks to Brecht for reviewing the change and getting
feedback for other possible ways we've dicussed!
2013-07-09 08:23:01 +00:00
build_files Patch [#35897] install_deps: add OpenEXR to ldconfig by Gavin Howard, thanks. 2013-06-30 16:20:59 +00:00
doc update doxygen congfig and tweaks to warnings when running doxygen. 2013-07-03 04:47:50 +00:00
extern Update libmv from own branch 2013-06-01 10:30:46 +00:00
intern Fix #36064: cycles direct/indirect light passes with materials that have zero 2013-07-08 23:31:45 +00:00
release move keymap ui into modules, its not loaded on startup anymore. 2013-07-08 22:57:51 +00:00
source Fixed more threading issues with metaballs 2013-07-09 08:23:01 +00:00
CMakeLists.txt Cycles: update build configurations to include CUDA sm_35 architecture. When using 2013-06-20 13:10:47 +00:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile Fix a mismatch in help message (check_spelling_osl obviously checks OLS, and check_spelling_c, C code! :P ) 2013-05-14 14:37:51 +00:00
SConstruct Scons and BuildBot changes for MSVC 2012 support. 2013-06-18 11:55:32 +00:00