Blender V4.3
blender::compositor::ExecutionSystem Class Reference

the ExecutionSystem contains the whole compositor tree. More...

#include <COM_ExecutionSystem.h>

Public Member Functions

 ExecutionSystem (RenderData *rd, Scene *scene, bNodeTree *editingtree, bool rendering, const char *view_name, realtime_compositor::RenderContext *render_context, realtime_compositor::Profiler *profiler)
 Create a new ExecutionSystem and initialize it with the editingtree.
 
 ~ExecutionSystem ()
 
void set_operations (Span< NodeOperation * > operations)
 
void execute ()
 execute this system
 
const CompositorContextget_context () const
 get the reference to the compositor context
 
void execute_work (const rcti &work_rect, std::function< void(const rcti &split_rect)> work_func)
 
template<typename TResult >
void execute_work (const rcti &work_rect, std::function< TResult(const rcti &split_rect)> work_func, TResult &join, std::function< void(TResult &join, const TResult &chunk)> reduce_func)
 
bool is_breaked () const
 

Friends

class DebugInfo
 

Detailed Description

the ExecutionSystem contains the whole compositor tree.

Definition at line 93 of file COM_ExecutionSystem.h.

Constructor & Destructor Documentation

◆ ExecutionSystem()

◆ ~ExecutionSystem()

blender::compositor::ExecutionSystem::~ExecutionSystem ( )

Destructor

Definition at line 52 of file COM_ExecutionSystem.cc.

References BLI_condition_end(), and BLI_mutex_end().

Member Function Documentation

◆ execute()

void blender::compositor::ExecutionSystem::execute ( )

◆ execute_work() [1/2]

template<typename TResult >
void blender::compositor::ExecutionSystem::execute_work ( const rcti & work_rect,
std::function< TResult(const rcti &split_rect)> work_func,
TResult & join,
std::function< void(TResult &join, const TResult &chunk)> reduce_func )
inline

Multi-threaded execution of given work function passing work_rect splits as argument. Once finished, caller thread will call reduce_func for each thread result.

Definition at line 173 of file COM_ExecutionSystem.h.

References atomic_fetch_and_add_int32(), and execute_work().

◆ execute_work() [2/2]

◆ get_context()

const CompositorContext & blender::compositor::ExecutionSystem::get_context ( ) const
inline

get the reference to the compositor context

Definition at line 158 of file COM_ExecutionSystem.h.

Referenced by blender::compositor::DebugInfo::graphviz_operation().

◆ is_breaked()

◆ set_operations()

void blender::compositor::ExecutionSystem::set_operations ( Span< NodeOperation * > operations)

Friends And Related Symbol Documentation

◆ DebugInfo

friend class DebugInfo
friend

Definition at line 193 of file COM_ExecutionSystem.h.


The documentation for this class was generated from the following files: