[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