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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-02-14 20:11:47 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-02-14 20:11:47 +0400
commitadbd84c320d8b0781e97d09055f6cde4920b79f8 (patch)
tree4df5496bd2d96a0115aa45526555097f73caad3c /intern/cycles/render/mesh.cpp
parenta47af30561ea9b0b2933a4af202a560b3576ee11 (diff)
Fix #34121: OSL + persistent images option was not freeing shader memory properly,
causing memory to increase continuously during animation render.
Diffstat (limited to 'intern/cycles/render/mesh.cpp')
-rw-r--r--intern/cycles/render/mesh.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp
index 57776e4cfa6..3a6fba32b34 100644
--- a/intern/cycles/render/mesh.cpp
+++ b/intern/cycles/render/mesh.cpp
@@ -966,6 +966,14 @@ void MeshManager::device_free(Device *device, DeviceScene *dscene)
dscene->attributes_map.clear();
dscene->attributes_float.clear();
dscene->attributes_float3.clear();
+
+ OSLGlobals *og = (OSLGlobals*)device->osl_memory();
+
+ if(og) {
+ og->object_name_map.clear();
+ og->attribute_map.clear();
+ og->object_names.clear();
+ }
}
void MeshManager::tag_update(Scene *scene)