[Bf-blender-cvs] [b177fbd2ecb] temp-compositor-scheduling: Compostior: Test for break to stop compositing.

Jeroen Bakker noreply at git.blender.org
Tue Apr 13 10:49:20 CEST 2021


Commit: b177fbd2ecbc69fb14d72e608d6169693f3901de
Author: Jeroen Bakker
Date:   Tue Apr 13 10:12:59 2021 +0200
Branches: temp-compositor-scheduling
https://developer.blender.org/rBb177fbd2ecbc69fb14d72e608d6169693f3901de

Compostior: Test for break to stop compositing.

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

M	source/blender/compositor/intern/COM_ExecutionSystem.cc

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

diff --git a/source/blender/compositor/intern/COM_ExecutionSystem.cc b/source/blender/compositor/intern/COM_ExecutionSystem.cc
index 93013fbe14a..67264a94c73 100644
--- a/source/blender/compositor/intern/COM_ExecutionSystem.cc
+++ b/source/blender/compositor/intern/COM_ExecutionSystem.cc
@@ -285,10 +285,12 @@ static bool is_completed(Vector<ExecutionGroup *> &groups)
   return true;
 }
 
-static void wait_for_completion(Vector<ExecutionGroup *> &groups)
+static void wait_for_completion(const bNodeTree *node_tree, Vector<ExecutionGroup *> &groups)
 {
-  /* TODO: check for break! */
   while (!is_completed(groups)) {
+    if (node_tree->test_break && node_tree->test_break(node_tree->tbh)) {
+      break;
+    }
     /* TODO: Wrap this in a function in BLI. */
     std::this_thread::yield();
   }
@@ -309,7 +311,7 @@ void ExecutionSystem::execute_groups(eCompositorPriority priority)
         }
       }
       schedule_root_work_packages(m_groups);
-      wait_for_completion(groups);
+      wait_for_completion(m_context.getbNodeTree(), groups);
       break;
     }
     case eSchedulingMode::OutputToInput: {



More information about the Bf-blender-cvs mailing list