[Bf-blender-cvs] [0dced1af34e] master: Fix T78149: Cycles memory leak rendering animation with Embree

Brecht Van Lommel noreply at git.blender.org
Wed Jun 24 19:13:49 CEST 2020


Commit: 0dced1af34e2a714475c24357cf93c2b0147f27f
Author: Brecht Van Lommel
Date:   Tue Jun 23 21:07:53 2020 +0200
Branches: master
https://developer.blender.org/rB0dced1af34e2a714475c24357cf93c2b0147f27f

Fix T78149: Cycles memory leak rendering animation with Embree

===================================================================

M	intern/cycles/render/geometry.cpp

===================================================================

diff --git a/intern/cycles/render/geometry.cpp b/intern/cycles/render/geometry.cpp
index 797321f6eff..9da1c083ba2 100644
--- a/intern/cycles/render/geometry.cpp
+++ b/intern/cycles/render/geometry.cpp
@@ -1029,23 +1029,14 @@ void GeometryManager::device_update_bvh(Device *device,
 
   VLOG(1) << "Using " << bvh_layout_name(bparams.bvh_layout) << " layout.";
 
-#ifdef WITH_EMBREE
-  if (bparams.bvh_layout == BVH_LAYOUT_EMBREE) {
-    if (dscene->data.bvh.scene) {
-      BVHEmbree::destroy(dscene->data.bvh.scene);
-    }
-  }
-#endif
-
   BVH *bvh = BVH::create(bparams, scene->geometry, scene->objects);
   bvh->build(progress, &device->stats);
 
   if (progress.get_cancel()) {
 #ifdef WITH_EMBREE
-    if (bparams.bvh_layout == BVH_LAYOUT_EMBREE) {
-      if (dscene->data.bvh.scene) {
-        BVHEmbree::destroy(dscene->data.bvh.scene);
-      }
+    if (dscene->data.bvh.scene) {
+      BVHEmbree::destroy(dscene->data.bvh.scene);
+      dscene->data.bvh.scene = NULL;
     }
 #endif
     delete bvh;
@@ -1417,6 +1408,13 @@ void GeometryManager::device_update(Device *device,
 
 void GeometryManager::device_free(Device *device, DeviceScene *dscene)
 {
+#ifdef WITH_EMBREE
+  if (dscene->data.bvh.scene) {
+    BVHEmbree::destroy(dscene->data.bvh.scene);
+    dscene->data.bvh.scene = NULL;
+  }
+#endif
+
   dscene->bvh_nodes.free();
   dscene->bvh_leaf_nodes.free();
   dscene->object_node.free();



More information about the Bf-blender-cvs mailing list