[Bf-blender-cvs] [ae8e9c6f485] compositor-full-frame: Compositor: Ensure denoise output is only rendered once
Manuel Castilla
noreply at git.blender.org
Thu Aug 12 22:35:57 CEST 2021
Commit: ae8e9c6f485666b47fcbf63f5b5eade38d0da7d0
Author: Manuel Castilla
Date: Thu Aug 12 15:44:40 2021 +0200
Branches: compositor-full-frame
https://developer.blender.org/rBae8e9c6f485666b47fcbf63f5b5eade38d0da7d0
Compositor: Ensure denoise output is only rendered once
===================================================================
M source/blender/compositor/operations/COM_DenoiseOperation.cc
M source/blender/compositor/operations/COM_DenoiseOperation.h
===================================================================
diff --git a/source/blender/compositor/operations/COM_DenoiseOperation.cc b/source/blender/compositor/operations/COM_DenoiseOperation.cc
index 64103b51759..e7f2d5a740a 100644
--- a/source/blender/compositor/operations/COM_DenoiseOperation.cc
+++ b/source/blender/compositor/operations/COM_DenoiseOperation.cc
@@ -36,6 +36,7 @@ DenoiseOperation::DenoiseOperation()
this->addOutputSocket(DataType::Color);
this->m_settings = nullptr;
flags.is_fullframe_operation = true;
+ output_rendered_ = false;
}
void DenoiseOperation::initExecution()
{
@@ -196,10 +197,13 @@ void DenoiseOperation::get_area_of_interest(const int UNUSED(input_idx),
}
void DenoiseOperation::update_memory_buffer(MemoryBuffer *output,
- const rcti &area,
+ const rcti &UNUSED(area),
Span<MemoryBuffer *> inputs)
{
- this->generateDenoise(output, inputs[0], inputs[1], inputs[2], m_settings);
+ if (!output_rendered_) {
+ this->generateDenoise(output, inputs[0], inputs[1], inputs[2], m_settings);
+ output_rendered_ = true;
+ }
}
} // namespace blender::compositor
diff --git a/source/blender/compositor/operations/COM_DenoiseOperation.h b/source/blender/compositor/operations/COM_DenoiseOperation.h
index f680b76264f..48209c3eacf 100644
--- a/source/blender/compositor/operations/COM_DenoiseOperation.h
+++ b/source/blender/compositor/operations/COM_DenoiseOperation.h
@@ -37,6 +37,8 @@ class DenoiseOperation : public SingleThreadedOperation {
*/
NodeDenoise *m_settings;
+ bool output_rendered_;
+
public:
DenoiseOperation();
/**
More information about the Bf-blender-cvs
mailing list