Blender  V3.3
COM_MultiThreadedOperation.cc
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
4 #include "COM_ExecutionSystem.h"
5 
6 namespace blender::compositor {
7 
9 {
10  num_passes_ = 1;
11  current_pass_ = 0;
13 }
14 
15 void MultiThreadedOperation::update_memory_buffer(MemoryBuffer *output,
16  const rcti &area,
18 {
21  exec_system_->execute_work(area, [=](const rcti &split_rect) {
23  });
25  }
26 }
27 
28 } // namespace blender::compositor
void execute_work(const rcti &work_rect, std::function< void(const rcti &split_rect)> work_func)
a MemoryBuffer contains access to the data of a chunk
virtual void update_memory_buffer_started(MemoryBuffer *UNUSED(output), const rcti &UNUSED(area), Span< MemoryBuffer * > UNUSED(inputs))
virtual void update_memory_buffer_finished(MemoryBuffer *UNUSED(output), const rcti &UNUSED(area), Span< MemoryBuffer * > UNUSED(inputs))
virtual void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs)=0
ccl_global KernelShaderEvalInput ccl_global float * output
static void area(int d1, int d2, int e1, int e2, float weights[2])
static bNodeSocketTemplate inputs[]