[Bf-blender-cvs] [0830458bccc] blender-v2.93-release: Fix T88093: persistent data and particle object instancing not working

Brecht Van Lommel noreply at git.blender.org
Tue May 11 22:55:12 CEST 2021


Commit: 0830458bcccd3df1c3e79016d68cd73b12e44e1f
Author: Brecht Van Lommel
Date:   Tue May 11 17:17:00 2021 +0200
Branches: blender-v2.93-release
https://developer.blender.org/rB0830458bcccd3df1c3e79016d68cd73b12e44e1f

Fix T88093: persistent data and particle object instancing not working

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

M	intern/cycles/blender/blender_sync.cpp

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

diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index aa87ac1dd81..4ec0477c585 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -739,12 +739,18 @@ void BlenderSync::free_data_after_sync(BL::Depsgraph &b_depsgraph)
    * caches to be releases from blender side in order to reduce peak memory
    * footprint during synchronization process.
    */
+
   const bool is_interface_locked = b_engine.render() && b_engine.render().use_lock_interface();
-  const bool can_free_caches = (BlenderSession::headless || is_interface_locked) &&
-                               /* Baking re-uses the depsgraph multiple times, clearing crashes
-                                * reading un-evaluated mesh data which isn't aligned with the
-                                * geometry we're baking, see T71012. */
-                               !scene->bake_manager->get_baking();
+  const bool is_persistent_data = b_engine.render() && b_engine.render().use_persistent_data();
+  const bool can_free_caches =
+      (BlenderSession::headless || is_interface_locked) &&
+      /* Baking re-uses the depsgraph multiple times, clearing crashes
+       * reading un-evaluated mesh data which isn't aligned with the
+       * geometry we're baking, see T71012. */
+      !scene->bake_manager->get_baking() &&
+      /* Persistent data must main caches for performance and correctness. */
+      !is_persistent_data;
+
   if (!can_free_caches) {
     return;
   }



More information about the Bf-blender-cvs mailing list