Blender
V3.3
source
blender
compositor
intern
COM_MultiThreadedOperation.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later
2
* Copyright 2021 Blender Foundation. */
3
4
#pragma once
5
6
#include "
COM_NodeOperation.h
"
7
8
namespace
blender::compositor
{
9
10
class
MultiThreadedOperation
:
public
NodeOperation
{
11
protected
:
15
int
num_passes_
;
19
int
current_pass_
;
20
21
protected
:
22
MultiThreadedOperation
();
23
27
virtual
void
update_memory_buffer_started
(
MemoryBuffer
*
UNUSED
(
output
),
28
const
rcti
&
UNUSED
(
area
),
29
Span<MemoryBuffer *>
UNUSED
(
inputs
))
30
{
31
}
32
36
virtual
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
37
const
rcti
&
area
,
38
Span<MemoryBuffer *>
inputs
) = 0;
39
43
virtual
void
update_memory_buffer_finished
(
MemoryBuffer
*
UNUSED
(
output
),
44
const
rcti
&
UNUSED
(
area
),
45
Span<MemoryBuffer *>
UNUSED
(
inputs
))
46
{
47
}
48
49
private
:
50
void
update_memory_buffer(
MemoryBuffer
*
output
,
51
const
rcti
&
area
,
52
Span<MemoryBuffer *>
inputs
)
override
;
53
};
54
55
}
// namespace blender::compositor
UNUSED
#define UNUSED(x)
Definition:
BLI_utildefines.h:671
COM_NodeOperation.h
blender::Span
Definition:
BLI_span.hh:73
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data of a chunk
Definition:
COM_MemoryBuffer.h:43
blender::compositor::MultiThreadedOperation
Definition:
COM_MultiThreadedOperation.h:10
blender::compositor::MultiThreadedOperation::update_memory_buffer_started
virtual void update_memory_buffer_started(MemoryBuffer *UNUSED(output), const rcti &UNUSED(area), Span< MemoryBuffer * > UNUSED(inputs))
Definition:
COM_MultiThreadedOperation.h:27
blender::compositor::MultiThreadedOperation::update_memory_buffer_finished
virtual void update_memory_buffer_finished(MemoryBuffer *UNUSED(output), const rcti &UNUSED(area), Span< MemoryBuffer * > UNUSED(inputs))
Definition:
COM_MultiThreadedOperation.h:43
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:15
blender::compositor::MultiThreadedOperation::MultiThreadedOperation
MultiThreadedOperation()
Definition:
COM_MultiThreadedOperation.cc:8
blender::compositor::MultiThreadedOperation::current_pass_
int current_pass_
Definition:
COM_MultiThreadedOperation.h:19
blender::compositor::NodeOperation
NodeOperation contains calculation logic.
Definition:
COM_NodeOperation.h:303
output
ccl_global KernelShaderEvalInput ccl_global float * output
Definition:
kernel/device/gpu/kernel.h:751
blender::compositor
Definition:
COM_defines.h:10
blender::compositor::area
static void area(int d1, int d2, int e1, int e2, float weights[2])
Definition:
COM_SMAAOperation.cc:113
inputs
static bNodeSocketTemplate inputs[]
Definition:
node_texture_at.c:11
rcti
Definition:
DNA_vec_types.h:62
Generated on Sat Jul 27 2024 14:57:55 for Blender by
doxygen
1.9.1