diff options
author | Brecht Van Lommel <brecht@blender.org> | 2021-07-12 16:38:49 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2021-07-12 16:40:45 +0300 |
commit | 45a47142fc4de73237d9335c5eb8afa946a20c1d (patch) | |
tree | 00d7fc6af5c05bd8f208a082560822fd827c8e67 /intern | |
parent | 5f3f5db95dd5cb1a1de3be1a3d619db338347860 (diff) |
Fix T89396: Cycles missing passes with multiple view layers and persistent data
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/blender_sync.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
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; } |