MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ dispatch_cycle_branches()

std::vector< std::shared_ptr< Vruta::Routine > > MayaFlux::Kriya::BufferPipeline::dispatch_cycle_branches ( bool  frame_rate)
private

Definition at line 60 of file BufferPipelineExecution.cpp.

61{
62 std::vector<std::shared_ptr<Vruta::Routine>> synchronous_tasks;
63
64 for (auto& branch : m_branches) {
65 if (!branch.condition(m_current_cycle)) {
66 continue;
67 }
68
69 std::shared_ptr<Vruta::Routine> task = frame_rate
70 ? std::shared_ptr<Vruta::Routine>(dispatch_frame_branch(branch))
71 : std::shared_ptr<Vruta::Routine>(dispatch_branch_async(branch, m_current_cycle));
72
73 if (branch.synchronous && task) {
74 synchronous_tasks.push_back(task);
75 }
76 }
77
78 return synchronous_tasks;
79}
std::vector< BranchInfo > m_branches
std::shared_ptr< Vruta::GraphicsRoutine > dispatch_frame_branch(BranchInfo &branch)
std::shared_ptr< Vruta::SoundRoutine > dispatch_branch_async(BranchInfo &branch, uint64_t cycle)
@ Vruta
Coroutines, schedulers, clocks, task management.

References dispatch_branch_async(), dispatch_frame_branch(), m_branches, and m_current_cycle.

Referenced by execute_frame_phased(), execute_frame_streaming(), execute_phased(), and execute_streaming().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: