[Bf-blender-cvs] [45a47142fc4] master: Fix T89396: Cycles missing passes with multiple view layers and persistent data

Brecht Van Lommel noreply at git.blender.org
Mon Jul 12 15:41:05 CEST 2021


Commit: 45a47142fc4de73237d9335c5eb8afa946a20c1d
Author: Brecht Van Lommel
Date:   Mon Jul 12 15:38:49 2021 +0200
Branches: master
https://developer.blender.org/rB45a47142fc4de73237d9335c5eb8afa946a20c1d

Fix T89396: Cycles missing passes with multiple view layers and persistent data

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

M	intern/cycles/blender/blender_sync.cpp

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

diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 3b3a193b3e8..ce399579e25 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -404,8 +404,6 @@ void BlenderSync::sync_film(BL::SpaceView3D &b_v3d)
 
   Film *film = scene->film;
 
-  vector<Pass> prevpasses = scene->passes;
-
   if (b_v3d) {
     film->set_display_pass(update_viewport_display_passes(b_v3d, scene->passes));
   }
@@ -435,11 +433,6 @@ void BlenderSync::sync_film(BL::SpaceView3D &b_v3d)
         break;
     }
   }
-
-  if (!Pass::equals(prevpasses, scene->passes)) {
-    film->tag_passes_update(scene, prevpasses, false);
-    film->tag_modified();
-  }
 }
 
 /* Render Layer */
@@ -749,10 +742,13 @@ vector<Pass> BlenderSync::sync_render_passes(BL::Scene &b_scene,
                                         DENOISING_CLEAN_ALL_PASSES);
   scene->film->set_denoising_prefiltered_pass(denoising.store_passes &&
                                               denoising.type == DENOISER_NLM);
-
   scene->film->set_pass_alpha_threshold(b_view_layer.pass_alpha_threshold());
-  scene->film->tag_passes_update(scene, passes);
-  scene->integrator->tag_update(scene, Integrator::UPDATE_ALL);
+
+  if (!Pass::equals(passes, scene->passes)) {
+    scene->film->tag_passes_update(scene, passes);
+    scene->film->tag_modified();
+    scene->integrator->tag_update(scene, Integrator::UPDATE_ALL);
+  }
 
   return passes;
 }



More information about the Bf-blender-cvs mailing list