Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Toenne <lukas.toenne@googlemail.com>2012-09-04 12:53:44 +0400
committerLukas Toenne <lukas.toenne@googlemail.com>2012-09-04 12:53:44 +0400
commit71871463a4bb3c58bfa3c3b36019c1b3b02dcf1d (patch)
tree82dbcd69121f031dcc7b758a6cadd4343dfd58fa /intern/cycles/kernel/osl/osl_shader.cpp
parent3804b2d2ba2d907ee4e84b191d7f551a414b72d5 (diff)
Fix for bad memory leak in OSL: the context created for each OSL sample did not get released properly.
Diffstat (limited to 'intern/cycles/kernel/osl/osl_shader.cpp')
-rw-r--r--intern/cycles/kernel/osl/osl_shader.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/intern/cycles/kernel/osl/osl_shader.cpp b/intern/cycles/kernel/osl/osl_shader.cpp
index 345614c2868..a7c21e7b595 100644
--- a/intern/cycles/kernel/osl/osl_shader.cpp
+++ b/intern/cycles/kernel/osl/osl_shader.cpp
@@ -382,10 +382,8 @@ void OSLShader::eval_displacement(KernelGlobals *kg, ShaderData *sd)
void OSLShader::release(KernelGlobals *kg, const ShaderData *sd)
{
OSL::ShadingSystem *ss = kg->osl.ss;
- OSLGlobals::ThreadData *tdata = tls_get(OSLGlobals::ThreadData, kg->osl.thread_data);
- OSL::ShadingContext *ctx = ss->get_context(tdata->thread_info);
-
- ss->release_context(ctx);
+
+ ss->release_context((OSL::ShadingContext *)sd->osl_ctx);
}
/* BSDF Closure */