Blender
V4.3
source
blender
compositor
intern
COM_MultiThreadedOperation.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#include "
COM_MultiThreadedOperation.h
"
6
#include "
COM_ExecutionSystem.h
"
7
8
namespace
blender::compositor
{
9
10
MultiThreadedOperation::MultiThreadedOperation
()
11
{
12
num_passes_
= 1;
13
current_pass_
= 0;
14
}
15
16
void
MultiThreadedOperation::update_memory_buffer(
MemoryBuffer
*
output
,
17
const
rcti
&area,
18
Span<MemoryBuffer *>
inputs
)
19
{
20
for
(
current_pass_
= 0;
current_pass_
<
num_passes_
;
current_pass_
++) {
21
update_memory_buffer_started
(
output
, area,
inputs
);
22
exec_system_
->
execute_work
(area, [=](
const
rcti
&split_rect) {
23
update_memory_buffer_partial
(
output
, split_rect,
inputs
);
24
});
25
update_memory_buffer_finished
(
output
, area,
inputs
);
26
}
27
}
28
29
}
// namespace blender::compositor
COM_ExecutionSystem.h
COM_MultiThreadedOperation.h
output
#define output
blender::Span
Definition
BLI_span.hh:75
blender::compositor::ExecutionSystem::execute_work
void execute_work(const rcti &work_rect, std::function< void(const rcti &split_rect)> work_func)
Definition
COM_ExecutionSystem.cc:82
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data
Definition
COM_MemoryBuffer.h:35
blender::compositor::MultiThreadedOperation::update_memory_buffer_started
virtual void update_memory_buffer_started(MemoryBuffer *, const rcti &, Span< MemoryBuffer * >)
Definition
COM_MultiThreadedOperation.h:28
blender::compositor::MultiThreadedOperation::update_memory_buffer_finished
virtual void update_memory_buffer_finished(MemoryBuffer *, const rcti &, Span< MemoryBuffer * >)
Definition
COM_MultiThreadedOperation.h:44
blender::compositor::MultiThreadedOperation::update_memory_buffer_partial
virtual void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs)=0
blender::compositor::MultiThreadedOperation::num_passes_
int num_passes_
Definition
COM_MultiThreadedOperation.h:16
blender::compositor::MultiThreadedOperation::MultiThreadedOperation
MultiThreadedOperation()
Definition
COM_MultiThreadedOperation.cc:10
blender::compositor::MultiThreadedOperation::current_pass_
int current_pass_
Definition
COM_MultiThreadedOperation.h:20
blender::compositor::NodeOperation::exec_system_
ExecutionSystem * exec_system_
Definition
COM_NodeOperation.h:297
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
inputs
static blender::bke::bNodeSocketTemplate inputs[]
Definition
node_texture_at.cc:11
rcti
Definition
DNA_vec_types.h:68
Generated on Sat Oct 4 2025 05:32:23 for Blender by
doxygen
1.14.0