From 8b80d19f3641b7f09745b8d50433dda213864e50 Mon Sep 17 00:00:00 2001
From: Sergey Sharybin <sergey@blender.org>
Date: Wed, 26 May 2021 11:16:47 +0200
Subject: [PATCH] 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;
     }
   }
 }
-- 
GitLab