From 8b80d19f3641b7f09745b8d50433dda213864e50 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 26 May 2021 11:16:47 +0200 Subject: Fix T88552: Cycles changing Render Passes in viewport does not work Backporting this fixes T90599. --- intern/cycles/blender/blender_sync.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 9d0f9f29f94..3e8a7f8bb53 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -224,8 +224,18 @@ void BlenderSync::sync_recalc(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d if (b_v3d) { BlenderViewportParameters new_viewport_parameters(b_v3d); + if (viewport_parameters.modified(new_viewport_parameters)) { world_recalc = true; + has_updates_ = true; + } + + if (!has_updates_) { + Film *film = scene->film; + + const PassType new_display_pass = new_viewport_parameters.get_viewport_display_render_pass( + b_v3d); + has_updates_ |= film->get_display_pass() != new_display_pass; } } } -- cgit v1.2.3