[Bf-blender-cvs] [260e50ed82c] master: Cleanup: Use ref to read from encapsuled data.

Jeroen Bakker noreply at git.blender.org
Fri Mar 19 17:18:39 CET 2021


Commit: 260e50ed82ce015224c796a6354d2b4b18422b6f
Author: Jeroen Bakker
Date:   Fri Mar 19 15:40:36 2021 +0100
Branches: master
https://developer.blender.org/rB260e50ed82ce015224c796a6354d2b4b18422b6f

Cleanup: Use ref to read from encapsuled data.

MemoryBuffer->getRect was returning a ptr.

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

M	source/blender/compositor/intern/COM_MemoryBuffer.cc
M	source/blender/compositor/intern/COM_MemoryBuffer.h
M	source/blender/compositor/intern/COM_OpenCLDevice.cc
M	source/blender/compositor/operations/COM_BokehBlurOperation.cc
M	source/blender/compositor/operations/COM_DilateErodeOperation.cc
M	source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cc
M	source/blender/compositor/operations/COM_GaussianAlphaYBlurOperation.cc
M	source/blender/compositor/operations/COM_GaussianBokehBlurOperation.cc
M	source/blender/compositor/operations/COM_GaussianXBlurOperation.cc
M	source/blender/compositor/operations/COM_GaussianYBlurOperation.cc
M	source/blender/compositor/operations/COM_GlareFogGlowOperation.cc
M	source/blender/compositor/operations/COM_GlareStreaksOperation.cc
M	source/blender/compositor/operations/COM_SunBeamsOperation.cc

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

diff --git a/source/blender/compositor/intern/COM_MemoryBuffer.cc b/source/blender/compositor/intern/COM_MemoryBuffer.cc
index d69fe238e61..46c99623244 100644
--- a/source/blender/compositor/intern/COM_MemoryBuffer.cc
+++ b/source/blender/compositor/intern/COM_MemoryBuffer.cc
@@ -47,7 +47,7 @@ int MemoryBuffer::getHeight() const
   return this->m_height;
 }
 
-MemoryBuffer::MemoryBuffer(MemoryProxy *memoryProxy, unsigned int chunkNumber, rcti &rect)
+MemoryBuffer::MemoryBuffer(MemoryProxy *memoryProxy, unsigned int chunkNumber, const rcti &rect)
 {
   m_rect = rect;
   this->m_width = BLI_rcti_size_x(&this->m_rect);
@@ -61,7 +61,7 @@ MemoryBuffer::MemoryBuffer(MemoryProxy *memoryProxy, unsigned int chunkNumber, r
   this->m_datatype = memoryProxy->getDataType();
 }
 
-MemoryBuffer::MemoryBuffer(MemoryProxy *memoryProxy, rcti &rect)
+MemoryBuffer::MemoryBuffer(MemoryProxy *memoryProxy, const rcti &rect)
 {
   m_rect = rect;
   this->m_width = BLI_rcti_size_x(&this->m_rect);
@@ -74,7 +74,7 @@ MemoryBuffer::MemoryBuffer(MemoryProxy *memoryProxy, rcti &rect)
   this->m_state = COM_MB_TEMPORARILY;
   this->m_datatype = memoryProxy->getDataType();
 }
-MemoryBuffer::MemoryBuffer(DataType dataType, rcti &rect)
+MemoryBuffer::MemoryBuffer(DataType dataType, const rcti &rect)
 {
   m_rect = rect;
   this->m_width = BLI_rcti_size_x(&this->m_rect);
diff --git a/source/blender/compositor/intern/COM_MemoryBuffer.h b/source/blender/compositor/intern/COM_MemoryBuffer.h
index 3242f4a3d75..b80124ca136 100644
--- a/source/blender/compositor/intern/COM_MemoryBuffer.h
+++ b/source/blender/compositor/intern/COM_MemoryBuffer.h
@@ -98,17 +98,17 @@ class MemoryBuffer {
   /**
    * \brief construct new MemoryBuffer for a chunk
    */
-  MemoryBuffer(MemoryProxy *memoryProxy, unsigned int chunkNumber, rcti &rect);
+  MemoryBuffer(MemoryProxy *memoryProxy, unsigned int chunkNumber, const rcti &rect);
 
   /**
    * \brief construct new temporarily MemoryBuffer for an area
    */
-  MemoryBuffer(MemoryProxy *memoryProxy, rcti &rect);
+  MemoryBuffer(MemoryProxy *memoryProxy, const rcti &rect);
 
   /**
    * \brief construct new temporarily MemoryBuffer for an area
    */
-  MemoryBuffer(DataType datatype, rcti &rect);
+  MemoryBuffer(DataType datatype, const rcti &rect);
 
   /**
    * \brief destructor
@@ -319,9 +319,9 @@ class MemoryBuffer {
   /**
    * \brief get the rect of this MemoryBuffer
    */
-  rcti *getRect()
+  const rcti &get_rect() const
   {
-    return &this->m_rect;
+    return this->m_rect;
   }
 
   /**
diff --git a/source/blender/compositor/intern/COM_OpenCLDevice.cc b/source/blender/compositor/intern/COM_OpenCLDevice.cc
index 838376d2e63..d5aed2052ac 100644
--- a/source/blender/compositor/intern/COM_OpenCLDevice.cc
+++ b/source/blender/compositor/intern/COM_OpenCLDevice.cc
@@ -152,8 +152,8 @@ void OpenCLDevice::COM_clAttachMemoryBufferOffsetToKernelParameter(cl_kernel ker
 {
   if (offsetIndex != -1) {
     cl_int error;
-    rcti *rect = memoryBuffer->getRect();
-    cl_int2 offset = {{rect->xmin, rect->ymin}};
+    const rcti &rect = memoryBuffer->get_rect();
+    cl_int2 offset = {{rect.xmin, rect.ymin}};
 
     error = clSetKernelArg(kernel, offsetIndex, sizeof(cl_int2), &offset);
     if (error != CL_SUCCESS) {
diff --git a/source/blender/compositor/operations/COM_BokehBlurOperation.cc b/source/blender/compositor/operations/COM_BokehBlurOperation.cc
index b0ab3906b60..7bb8cd49bfc 100644
--- a/source/blender/compositor/operations/COM_BokehBlurOperation.cc
+++ b/source/blender/compositor/operations/COM_BokehBlurOperation.cc
@@ -80,10 +80,11 @@ void BokehBlurOperation::executePixel(float output[4], int x, int y, void *data)
   if (tempBoundingBox[0] > 0.0f) {
     float multiplier_accum[4] = {0.0f, 0.0f, 0.0f, 0.0f};
     MemoryBuffer *inputBuffer = (MemoryBuffer *)data;
+    const rcti &input_rect = inputBuffer->get_rect();
     float *buffer = inputBuffer->getBuffer();
     int bufferwidth = inputBuffer->getWidth();
-    int bufferstartx = inputBuffer->getRect()->xmin;
-    int bufferstarty = inputBuffer->getRect()->ymin;
+    int bufferstartx = input_rect.xmin;
+    int bufferstarty = input_rect.ymin;
     const float max_dim = MAX2(this->getWidth(), this->getHeight());
     int pixelSize = this->m_size * max_dim / 100.0f;
     zero_v4(color_accum);
@@ -99,10 +100,10 @@ void BokehBlurOperation::executePixel(float output[4], int x, int y, void *data)
     int maxy = y + pixelSize;
     int minx = x - pixelSize;
     int maxx = x + pixelSize;
-    miny = MAX2(miny, inputBuffer->getRect()->ymin);
-    minx = MAX2(minx, inputBuffer->getRect()->xmin);
-    maxy = MIN2(maxy, inputBuffer->getRect()->ymax);
-    maxx = MIN2(maxx, inputBuffer->getRect()->xmax);
+    miny = MAX2(miny, input_rect.ymin);
+    minx = MAX2(minx, input_rect.xmin);
+    maxy = MIN2(maxy, input_rect.ymax);
+    maxx = MIN2(maxx, input_rect.xmax);
 
     int step = getStep();
     int offsetadd = getOffsetAdd() * COM_NUM_CHANNELS_COLOR;
diff --git a/source/blender/compositor/operations/COM_DilateErodeOperation.cc b/source/blender/compositor/operations/COM_DilateErodeOperation.cc
index dc8792fc59a..33ddf9187b0 100644
--- a/source/blender/compositor/operations/COM_DilateErodeOperation.cc
+++ b/source/blender/compositor/operations/COM_DilateErodeOperation.cc
@@ -70,19 +70,19 @@ void DilateErodeThresholdOperation::executePixel(float output[4], int x, int y,
 
   MemoryBuffer *inputBuffer = (MemoryBuffer *)data;
   float *buffer = inputBuffer->getBuffer();
-  rcti *rect = inputBuffer->getRect();
-  const int minx = MAX2(x - this->m_scope, rect->xmin);
-  const int miny = MAX2(y - this->m_scope, rect->ymin);
-  const int maxx = MIN2(x + this->m_scope, rect->xmax);
-  const int maxy = MIN2(y + this->m_scope, rect->ymax);
-  const int bufferWidth = BLI_rcti_size_x(rect);
+  const rcti &input_rect = inputBuffer->get_rect();
+  const int minx = MAX2(x - this->m_scope, input_rect.xmin);
+  const int miny = MAX2(y - this->m_scope, input_rect.ymin);
+  const int maxx = MIN2(x + this->m_scope, input_rect.xmax);
+  const int maxy = MIN2(y + this->m_scope, input_rect.ymax);
+  const int bufferWidth = inputBuffer->getWidth();
   int offset;
 
   inputBuffer->read(inputValue, x, y);
   if (inputValue[0] > sw) {
     for (int yi = miny; yi < maxy; yi++) {
       const float dy = yi - y;
-      offset = ((yi - rect->ymin) * bufferWidth + (minx - rect->xmin));
+      offset = ((yi - input_rect.ymin) * bufferWidth + (minx - input_rect.xmin));
       for (int xi = minx; xi < maxx; xi++) {
         if (buffer[offset] < sw) {
           const float dx = xi - x;
@@ -97,7 +97,7 @@ void DilateErodeThresholdOperation::executePixel(float output[4], int x, int y,
   else {
     for (int yi = miny; yi < maxy; yi++) {
       const float dy = yi - y;
-      offset = ((yi - rect->ymin) * bufferWidth + (minx - rect->xmin));
+      offset = ((yi - input_rect.ymin) * bufferWidth + (minx - input_rect.xmin));
       for (int xi = minx; xi < maxx; xi++) {
         if (buffer[offset] > sw) {
           const float dx = xi - x;
@@ -190,19 +190,19 @@ void DilateDistanceOperation::executePixel(float output[4], int x, int y, void *
 
   MemoryBuffer *inputBuffer = (MemoryBuffer *)data;
   float *buffer = inputBuffer->getBuffer();
-  rcti *rect = inputBuffer->getRect();
-  const int minx = MAX2(x - this->m_scope, rect->xmin);
-  const int miny = MAX2(y - this->m_scope, rect->ymin);
-  const int maxx = MIN2(x + this->m_scope, rect->xmax);
-  const int maxy = MIN2(y + this->m_scope, rect->ymax);
-  const int bufferWidth = BLI_rcti_size_x(rect);
+  const rcti &input_rect = inputBuffer->get_rect();
+  const int minx = MAX2(x - this->m_scope, input_rect.xmin);
+  const int miny = MAX2(y - this->m_scope, input_rect.ymin);
+  const int maxx = MIN2(x + this->m_scope, input_rect.xmax);
+  const int maxy = MIN2(y + this->m_scope, input_rect.ymax);
+  const int bufferWidth = inputBuffer->getWidth();
   int offset;
 
   float value = 0.0f;
 
   for (int yi = miny; yi < maxy; yi++) {
     const float dy = yi - y;
-    offset = ((yi - rect->ymin) * bufferWidth + (minx - rect->xmin));
+    offset = ((yi - input_rect.ymin) * bufferWidth + (minx - input_rect.xmin));
     for (int xi = minx; xi < maxx; xi++) {
       const float dx = xi - x;
       const float dis = dx * dx + dy * dy;
@@ -269,19 +269,19 @@ void ErodeDistanceOperation::executePixel(float output[4], int x, int y, void *d
 
   MemoryBuffer *inputBuffer = (MemoryBuffer *)data;
   float *buffer = inputBuffer->getBuffer();
-  rcti *rect = inputBuffer->getRect();
-  const int minx = MAX2(x - this->m_scope, rect->xmin);
-  const int miny = MAX2(y - this->m_scope, rect->ymin);
-  const int maxx = MIN2(x + this->m_scope, rect->xmax);
-  const int maxy = MIN2(y + this->m_scope, rect->ymax);
-  const int bufferWidth = BLI_rcti_size_x(rect);
+  const rcti &input_rect = inputBuffer->get_rect();
+  const int minx = MAX2(x - this->m_scope, input_rect.xmin);
+  const int miny = MAX2(y - this->m_scope, input_rect.ymin);
+  const int maxx = MIN2(x + this->m_scope, input_rect.xmax);
+  const int maxy = MIN2(y + this->m_scope, input_rect.ymax);
+  const int bufferWidth = inputBuffer->getWidth();
   int offset;
 
   float value = 1.0f;
 
   for (int yi = miny; yi < maxy; yi++) {
     const float dy = yi - y;
-    offset = ((yi - rect->ymin) * bufferWidth + (minx - rect->xmin));
+    offset = ((yi - input_rect.ymin) * bufferWidth + (minx - input_rect.xmin));
     for (int xi = minx; xi < maxx; xi++) {
       const float dx = xi - x;
       const float dis = dx * dx + dy * dy;
diff --git a/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cc b/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cc
index 1d3cce45e10..1f03bb8d9cb 100644
--- a/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cc
+++ b/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cc
@@ -87,10 +87,11 @@ void GaussianAlphaXBlurOperation::executePixel(float output[4], int x, int y, vo
   MemoryBuffer *inputBuffer = (MemoryBuffer *)data;
   float *buffer = inputBuffer->getBuffer();
   int bufferwidth = inputBuffer->getWidth();
-  int bufferstartx = inputBuffer->

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list