[Bf-blender-cvs] [0234de7d851] master: Cycles: Reuse existing buffer in the NLM denoising kernels on CPU

Lukas Stockner noreply at git.blender.org
Mon Oct 8 22:21:42 CEST 2018


Commit: 0234de7d8517b16f7a1df7e537f711d3f062ba29
Author: Lukas Stockner
Date:   Mon Oct 8 22:17:06 2018 +0200
Branches: master
https://developer.blender.org/rB0234de7d8517b16f7a1df7e537f711d3f062ba29

Cycles: Reuse existing buffer in the NLM denoising kernels on CPU

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

M	intern/cycles/device/device_cpu.cpp
M	intern/cycles/device/device_denoising.cpp

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

diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp
index 4986bb809fb..7eb73dea3ef 100644
--- a/intern/cycles/device/device_cpu.cpp
+++ b/intern/cycles/device/device_cpu.cpp
@@ -475,7 +475,6 @@ public:
 		float *blurDifference = temporary_mem;
 		float *difference     = temporary_mem + task->buffer.pass_stride;
 		float *weightAccum    = temporary_mem + 2*task->buffer.pass_stride;
-		float *temp_image     = temporary_mem + 3*task->buffer.pass_stride;
 
 		memset(weightAccum, 0, sizeof(float)*w*h);
 		memset((float*) out_ptr, 0, sizeof(float)*w*h);
@@ -500,7 +499,7 @@ public:
 			filter_nlm_update_output_kernel()(dx, dy,
 			                                  blurDifference,
 			                                  (float*) image_ptr,
-			                                  temp_image,
+			                                  difference,
 			                                  (float*) out_ptr,
 			                                  weightAccum,
 			                                  local_rect,
diff --git a/intern/cycles/device/device_denoising.cpp b/intern/cycles/device/device_denoising.cpp
index 3384e1d81fd..78c65a3d22d 100644
--- a/intern/cycles/device/device_denoising.cpp
+++ b/intern/cycles/device/device_denoising.cpp
@@ -107,7 +107,7 @@ void DenoisingTask::setup_denoising_buffer()
 		num_layers = 2*num_shifts + 1;
 	}
 	else {
-		num_layers = 4;
+		num_layers = 3;
 	}
 	/* Allocate two layers per shift as well as one for the weight accumulation. */
 	buffer.temporary_mem.alloc_to_device(num_layers * buffer.pass_stride);



More information about the Bf-blender-cvs mailing list