diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-04-22 18:27:12 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-04-22 18:27:12 +0400 |
commit | dee74c299ff345bfd4d516db5f55d7fb255db5d7 (patch) | |
tree | e00bce103d2f86a8c5f1b047265105acf0e47061 /intern/cycles/kernel/osl/osl_shader.cpp | |
parent | 919ecbe55d44dd13a8a07c354a00b9bfc9ec8596 (diff) |
Attempt to fix #35041 and #34725: cycles crash with OSL and both a 3D viewport
and preview running at the same time.
It seems there's something in OSL/LLVM that's not thread safe, but I couldn't
figure out what exactly. Now all renders share the same OSL ShadingSystem which
should avoid the problem.
Diffstat (limited to 'intern/cycles/kernel/osl/osl_shader.cpp')
-rw-r--r-- | intern/cycles/kernel/osl/osl_shader.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/intern/cycles/kernel/osl/osl_shader.cpp b/intern/cycles/kernel/osl/osl_shader.cpp index 555edf598f1..ddde199663a 100644 --- a/intern/cycles/kernel/osl/osl_shader.cpp +++ b/intern/cycles/kernel/osl/osl_shader.cpp @@ -127,6 +127,9 @@ static void shaderdata_to_shaderglobals(KernelGlobals *kg, ShaderData *sd, /* clear trace data */ tdata->tracedata.init = false; + + /* used by renderservices */ + sd->osl_globals = kg; } /* Surface */ |