Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Castilla <manzanillawork@gmail.com>2021-07-07 01:06:46 +0300
committerManuel Castilla <manzanillawork@gmail.com>2021-07-07 02:09:31 +0300
commit1657fa039dcbf969b5e514ab77d72880817a7f9e (patch)
treef01967b94548d09d00639f74d5fc16ff29cf0707 /source/blender/compositor/intern/COM_ExecutionSystem.h
parentf49f406f679c516478b0f7fa6eac5443012e2fa5 (diff)
Compositor: Fix crash when executing works in constant folding
Work scheduler needed initialization and execution models are not created during constant folding. This moves work execution method to execution system.
Diffstat (limited to 'source/blender/compositor/intern/COM_ExecutionSystem.h')
-rw-r--r--source/blender/compositor/intern/COM_ExecutionSystem.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/compositor/intern/COM_ExecutionSystem.h b/source/blender/compositor/intern/COM_ExecutionSystem.h
index e106209651c..38c3432a8ec 100644
--- a/source/blender/compositor/intern/COM_ExecutionSystem.h
+++ b/source/blender/compositor/intern/COM_ExecutionSystem.h
@@ -150,7 +150,9 @@ class ExecutionSystem {
*/
ExecutionModel *execution_model_;
- private: // methods
+ ThreadMutex work_mutex_;
+ ThreadCondition work_finished_cond_;
+
public:
/**
* \brief Create a new ExecutionSystem and initialize it with the
@@ -199,6 +201,8 @@ class ExecutionSystem {
void execute_work(const rcti &work_rect, std::function<void(const rcti &split_rect)> work_func);
+ bool is_breaked() const;
+
private:
/* allow the DebugInfo class to look at internals */
friend class DebugInfo;