[Bf-blender-cvs] [c3ca4874985] master: Render: Propagate view updates to draw engines

Omar Emara noreply at git.blender.org
Fri Jul 29 08:32:04 CEST 2022


Commit: c3ca4874985d33b5515989b1e4e2e75cd0382d5b
Author: Omar Emara
Date:   Fri Jul 29 08:30:51 2022 +0200
Branches: master
https://developer.blender.org/rBc3ca4874985d33b5515989b1e4e2e75cd0382d5b

Render: Propagate view updates to draw engines

Currently, draw engines are not notified of view updates if a render
engine is active and was updated. It is unclear why this is the case
currently, but this behavior was part of the initial commit.

This patch propagates view updates regardless if the update was handled
by an active render engine. This is needed by the realtime compositor as
it implements logic for view updates, which currently does not execute
if Cycles is rendering for instance.

Differential Revision: https://developer.blender.org/D15207

Reviewed By: Brecht

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

M	source/blender/editors/render/render_update.cc

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

diff --git a/source/blender/editors/render/render_update.cc b/source/blender/editors/render/render_update.cc
index 3d26e764211..7cefcf9815e 100644
--- a/source/blender/editors/render/render_update.cc
+++ b/source/blender/editors/render/render_update.cc
@@ -95,20 +95,20 @@ void ED_render_view3d_update(Depsgraph *depsgraph,
 
       CTX_free(C);
     }
-    else {
-      RenderEngineType *engine_type = ED_view3d_engine_type(scene, v3d->shading.type);
-      if (updated) {
-        DRWUpdateContext drw_context = {nullptr};
-        drw_context.bmain = bmain;
-        drw_context.depsgraph = depsgraph;
-        drw_context.scene = scene;
-        drw_context.view_layer = view_layer;
-        drw_context.region = region;
-        drw_context.v3d = v3d;
-        drw_context.engine_type = engine_type;
-        DRW_notify_view_update(&drw_context);
-      }
+
+    if (!updated) {
+      continue;
     }
+
+    DRWUpdateContext drw_context = {nullptr};
+    drw_context.bmain = bmain;
+    drw_context.depsgraph = depsgraph;
+    drw_context.scene = scene;
+    drw_context.view_layer = view_layer;
+    drw_context.region = region;
+    drw_context.v3d = v3d;
+    drw_context.engine_type = ED_view3d_engine_type(scene, v3d->shading.type);
+    DRW_notify_view_update(&drw_context);
   }
 }



More information about the Bf-blender-cvs mailing list