[Bf-blender-cvs] [bf27be81924] compositor-full-frame: After merge fixes

Manuel Castilla noreply at git.blender.org
Fri Jul 23 19:23:12 CEST 2021


Commit: bf27be819241c125e1fff54eea4722f66c51ab65
Author: Manuel Castilla
Date:   Thu Jul 22 23:38:16 2021 +0200
Branches: compositor-full-frame
https://developer.blender.org/rBbf27be819241c125e1fff54eea4722f66c51ab65

After merge fixes

===================================================================

M	release/datafiles/locale
M	release/scripts/addons
M	release/scripts/addons_contrib
M	source/blender/compositor/CMakeLists.txt
M	source/blender/compositor/intern/COM_BufferOperation.cc
M	source/blender/compositor/intern/COM_ExecutionModel.cc
M	source/blender/compositor/intern/COM_ExecutionModel.h
M	source/blender/compositor/intern/COM_FullFrameExecutionModel.cc
M	source/blender/compositor/intern/COM_FullFrameExecutionModel.h
M	source/blender/compositor/intern/COM_MemoryBuffer.h
M	source/blender/compositor/intern/COM_NodeOperation.cc
M	source/blender/compositor/intern/COM_NodeOperation.h
M	source/blender/compositor/intern/COM_SharedOperationBuffers.cc
M	source/blender/compositor/intern/COM_SharedOperationBuffers.h
M	source/blender/compositor/intern/COM_TiledExecutionModel.cc
M	source/blender/compositor/intern/COM_TiledExecutionModel.h
D	source/blender/compositor/intern/COM_buffer_util.cc
D	source/blender/compositor/intern/COM_buffer_util.h
M	source/blender/compositor/nodes/COM_ImageNode.cc
M	source/blender/compositor/operations/COM_ImageOperation.cc
M	source/blender/compositor/operations/COM_MultilayerImageOperation.cc
M	source/blender/compositor/operations/COM_SetColorOperation.cc
M	source/blender/compositor/operations/COM_SetColorOperation.h
M	source/blender/compositor/operations/COM_SetValueOperation.cc
M	source/blender/compositor/operations/COM_SetValueOperation.h
M	source/tools

===================================================================

diff --git a/release/datafiles/locale b/release/datafiles/locale
index 62e82958a76..2cef4877edc 160000
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@ -1 +1 @@
-Subproject commit 62e82958a760dad775d9b3387d7fb535fd6de4c6
+Subproject commit 2cef4877edc40875978c4e95322bb5193f5815bf
diff --git a/release/scripts/addons b/release/scripts/addons
index 1adb56d8b01..27fe7f3a4f9 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 1adb56d8b01cf1327f58c6fb8b1ccc8b7efd76ad
+Subproject commit 27fe7f3a4f964b53af436c4da4ddea337eff0c7e
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index 788441f2930..5a82baad9f9 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit 788441f2930465bbfba8f0797b12dcef1d46694d
+Subproject commit 5a82baad9f986722104280e8354a4427d8e9eab1
diff --git a/source/blender/compositor/CMakeLists.txt b/source/blender/compositor/CMakeLists.txt
index 4038e5c08ef..830792a2a48 100644
--- a/source/blender/compositor/CMakeLists.txt
+++ b/source/blender/compositor/CMakeLists.txt
@@ -458,8 +458,6 @@ set(SRC
   operations/COM_MixOperation.h
   operations/COM_ReadBufferOperation.cc
   operations/COM_ReadBufferOperation.h
-  operations/COM_ConstantOperation.cc
-  operations/COM_ConstantOperation.h
   operations/COM_SetColorOperation.cc
   operations/COM_SetColorOperation.h
   operations/COM_SetValueOperation.cc
diff --git a/source/blender/compositor/intern/COM_BufferOperation.cc b/source/blender/compositor/intern/COM_BufferOperation.cc
index ae587fa87c4..90c97f2a9c7 100644
--- a/source/blender/compositor/intern/COM_BufferOperation.cc
+++ b/source/blender/compositor/intern/COM_BufferOperation.cc
@@ -20,7 +20,7 @@
 
 namespace blender::compositor {
 
-BufferOperation::BufferOperation(MemoryBuffer *buffer, DataType data_type) : ConstantOperation()
+BufferOperation::BufferOperation(MemoryBuffer *buffer, DataType data_type)
 {
   buffer_ = buffer;
   inflated_buffer_ = nullptr;
diff --git a/source/blender/compositor/intern/COM_ExecutionModel.cc b/source/blender/compositor/intern/COM_ExecutionModel.cc
index 08ec0585739..b75b277e92c 100644
--- a/source/blender/compositor/intern/COM_ExecutionModel.cc
+++ b/source/blender/compositor/intern/COM_ExecutionModel.cc
@@ -20,9 +20,7 @@
 
 namespace blender::compositor {
 
-ExecutionModel::ExecutionModel(eExecutionModel model,
-                               CompositorContext &context,
-                               Vector<NodeOperation *> &operations)
+ExecutionModel::ExecutionModel(CompositorContext &context, Span<NodeOperation *> operations)
     : context_(context), operations_(operations)
 {
   const bNodeTree *node_tree = context_.getbNodeTree();
@@ -39,10 +37,6 @@ ExecutionModel::ExecutionModel(eExecutionModel model,
   border_.use_render_border = context.isRendering() && (rd->mode & R_BORDER) &&
                               !(rd->mode & R_CROP);
   border_.render_border = &rd->border;
-
-  for (NodeOperation *op : operations) {
-    op->set_execution_model(model);
-  }
 }
 
 }  // namespace blender::compositor
diff --git a/source/blender/compositor/intern/COM_ExecutionModel.h b/source/blender/compositor/intern/COM_ExecutionModel.h
index f2ff8f9af28..452861ae4be 100644
--- a/source/blender/compositor/intern/COM_ExecutionModel.h
+++ b/source/blender/compositor/intern/COM_ExecutionModel.h
@@ -56,12 +56,10 @@ class ExecutionModel {
   /**
    * All operations being executed.
    */
-  Vector<NodeOperation *> &operations_;
+  Span<NodeOperation *> operations_;
 
  public:
-  ExecutionModel(eExecutionModel model,
-                 CompositorContext &context,
-                 Vector<NodeOperation *> &operations);
+  ExecutionModel(CompositorContext &context, Span<NodeOperation *> operations);
 
   virtual ~ExecutionModel()
   {
diff --git a/source/blender/compositor/intern/COM_FullFrameExecutionModel.cc b/source/blender/compositor/intern/COM_FullFrameExecutionModel.cc
index 00b14ff18e3..bd3a481d691 100644
--- a/source/blender/compositor/intern/COM_FullFrameExecutionModel.cc
+++ b/source/blender/compositor/intern/COM_FullFrameExecutionModel.cc
@@ -17,16 +17,12 @@
  */
 
 #include "COM_FullFrameExecutionModel.h"
-#include "COM_ConstantFolder.h"
 #include "COM_Debug.h"
 #include "COM_ExecutionGroup.h"
 #include "COM_ReadBufferOperation.h"
 #include "COM_ViewerOperation.h"
 #include "COM_WorkScheduler.h"
 
-#include "BLI_map.hh"
-#include "BLI_set.hh"
-
 #include "BLT_translation.h"
 
 #ifdef WITH_CXX_GUARDEDALLOC
@@ -37,8 +33,8 @@ namespace blender::compositor {
 
 FullFrameExecutionModel::FullFrameExecutionModel(CompositorContext &context,
                                                  SharedOperationBuffers &shared_buffers,
-                                                 Vector<NodeOperation *> &operations)
-    : ExecutionModel(eExecutionModel::FullFrame, context, operations),
+                                                 Span<NodeOperation *> operations)
+    : ExecutionModel(context, operations),
       active_buffers_(shared_buffers),
       num_operations_finished_(0)
 {
@@ -91,6 +87,9 @@ Vector<MemoryBuffer *> FullFrameExecutionModel::get_input_buffers(NodeOperation
 
 MemoryBuffer *FullFrameExecutionModel::create_operation_buffer(NodeOperation *op)
 {
+  rcti op_rect;
+  BLI_rcti_init(&op_rect, 0, op->getWidth(), 0, op->getHeight());
+
   const DataType data_type = op->getOutputSocket(0)->getDataType();
   const bool is_a_single_elem = op->get_flags().is_constant_operation;
   return new MemoryBuffer(data_type, op_rect, is_a_single_elem);
diff --git a/source/blender/compositor/intern/COM_FullFrameExecutionModel.h b/source/blender/compositor/intern/COM_FullFrameExecutionModel.h
index f2151206864..f75d4f1afdc 100644
--- a/source/blender/compositor/intern/COM_FullFrameExecutionModel.h
+++ b/source/blender/compositor/intern/COM_FullFrameExecutionModel.h
@@ -20,9 +20,6 @@
 
 #include "COM_ExecutionModel.h"
 
-#include "BLI_map.hh"
-#include "BLI_set.hh"
-
 #ifdef WITH_CXX_GUARDEDALLOC
 #  include "MEM_guardedalloc.h"
 #endif
diff --git a/source/blender/compositor/intern/COM_MemoryBuffer.h b/source/blender/compositor/intern/COM_MemoryBuffer.h
index 9f68d508b2b..048ed4c5d6e 100644
--- a/source/blender/compositor/intern/COM_MemoryBuffer.h
+++ b/source/blender/compositor/intern/COM_MemoryBuffer.h
@@ -130,13 +130,6 @@ class MemoryBuffer {
 
   MemoryBuffer(float *buffer, int num_channels, const rcti &rect, bool is_a_single_elem = false);
 
-  /**
-   * Construct MemoryBuffer from an existent float buffer. MemoryBuffer is not responsible for
-   * freeing given buffer.
-   */
-  MemoryBuffer(
-      float *buffer, int num_channels, int width, int height, bool is_a_single_elem = false);
-
   /**
    * Copy constructor
    */
diff --git a/source/blender/compositor/intern/COM_NodeOperation.cc b/source/blender/compositor/intern/COM_NodeOperation.cc
index 43710e62496..4e115cb3f2f 100644
--- a/source/blender/compositor/intern/COM_NodeOperation.cc
+++ b/source/blender/compositor/intern/COM_NodeOperation.cc
@@ -38,32 +38,9 @@ NodeOperation::NodeOperation()
   this->m_resolutionInputSocketIndex = 0;
   this->m_width = 0;
   this->m_height = 0;
-  offset_x_ = 0;
-  offset_y_ = 0;
   this->m_btree = nullptr;
 }
 
-/**
- * Get operation canvas area within whole compositing canvas.
- */
-rcti NodeOperation::get_canvas_area() const
-{
-  rcti rect;
-  BLI_rcti_init(&rect, offset_x_, offset_x_ + m_width, offset_y_, offset_y_ + m_height);
-  return rect;
-}
-
-/**
- * Set operation canvas area within whole compositing canvas.
- */
-void NodeOperation::set_canvas_area(const rcti &rect)
-{
-  offset_x_ = rect.xmin;
-  offset_y_ = rect.ymin;
-  m_width = BLI_rcti_size_x(&rect);
-  m_height = BLI_rcti_size_y(&rect);
-}
-
 NodeOperationOutput *NodeOperation::getOutputSocket(unsigned int index)
 {
   return &m_outputs[index];
@@ -288,10 +265,8 @@ void NodeOperation::render_full_frame_fallback(MemoryBuffer *output_buf,
   initExecution();
   const bool is_output_operation = getNumberOfOutputSockets() == 0;
   if (!is_output_operation && output_buf->is_a_single_elem()) {
-    int x = areas[0].xmin;
-    int y = areas[0].ymin;
-    float *output_elem = output_buf->get_elem(x, y);
-    readSampled(output_elem, x, y, PixelSampler::Nearest);
+    float *output_elem = output_buf->get_elem(0, 0);
+    readSampled(output_elem, 0, 0, PixelSampler::Nearest);
   }
   else {
     for (const rcti &rect : areas) {
@@ -364,8 +339,8 @@ void NodeOperation::remove_buffers_and_restore_original_inputs(
     BLI_assert(typeid(*buffer_op) == typeid(BufferOperation));
     buffer_op->deinitExecution();
     NodeOperationInput *input_socket = getInputSocket(i);
-    delete &input_socket->getLink()->getOperation();
     input_socket->setLink(original_inputs_links[i]);
+    delete buffer_op;
   }
 }
 
diff --git a/source/blender/compositor/intern/COM_NodeOperation.h b/source/blender/compositor/intern/COM_NodeOperation.h
index 9667d82c289..fb9ec1e7a83 100644
--- a/source/blender/compositor/intern/COM_NodeOperation.h
+++ b/source/blender/compositor/intern/COM_NodeOperation.h
@@ -192,8 +192,8 @@ struct NodeOperationFlags {
   bool open_cl : 1;
 
   /**
-   * TODO: Remove this flag and SingleThreadedOperation if tiled implemention is removed.
-   * Full-frame implemention doesn't need it.
+   * TODO: Remove this flag and #SingleThreadedOperation if tiled implementation is removed.
+   * Full-frame implementation doesn't need it.
    */
   bool single_threaded : 1;
 
@@ -310,8 +310,6 @@ class NodeOperation {
   const bNodeTree *m_btree;
 
  protected:
-  eExecutionModel execution_model_;
-
   /**
    * Compositor execution model.
    */
@@ -327,16 +325,6 @@ class NodeOperation {
    */
   unsigned int m_height;
 
-  /**
-   * Operation canvas x coordinate within whole compositing canvas.
-   */
-  int offset_x_;
-
-  /**
-   * Operation canvas y coordinate within whole compositing canvas.
-   */
-  int offset_y_;
-
   /**
    * Flags how to evaluate this operation.
    */
@@ -379,19 +367,6 @@ class NodeOperation {
     return flags;
   }
 
-  eExecutionModel get_execution_model() const
-  {
-    return execution_model_;

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list