[Bf-blender-cvs] [7920ebd1573] master: Cycles: Fix NLM denoising kernels zeroing the wrong buffer on OpenCL
Lukas Stockner
noreply at git.blender.org
Tue Oct 9 00:14:49 CEST 2018
Commit: 7920ebd1573a45d3c3f71cde7f748828b46bb91f
Author: Lukas Stockner
Date: Tue Oct 9 00:03:47 2018 +0200
Branches: master
https://developer.blender.org/rB7920ebd1573a45d3c3f71cde7f748828b46bb91f
Cycles: Fix NLM denoising kernels zeroing the wrong buffer on OpenCL
Since my temporary buffer commit (about a month ago), the OpenCL device was zeroing the wrong buffer, leading to
completely wrong filtered feature passes and therefore significantly lower-quality results than CPU and CUDA.
===================================================================
M intern/cycles/device/opencl/opencl_base.cpp
===================================================================
diff --git a/intern/cycles/device/opencl/opencl_base.cpp b/intern/cycles/device/opencl/opencl_base.cpp
index ffd3b7d7625..1e73d37d7a4 100644
--- a/intern/cycles/device/opencl/opencl_base.cpp
+++ b/intern/cycles/device/opencl/opencl_base.cpp
@@ -761,7 +761,7 @@ bool OpenCLDeviceBase::denoising_non_local_means(device_ptr image_ptr,
cl_mem variance_mem = CL_MEM_PTR(variance_ptr);
cl_mem out_mem = CL_MEM_PTR(out_ptr);
- mem_zero_kernel(*difference, sizeof(float)*pass_stride);
+ mem_zero_kernel(*weightAccum, sizeof(float)*pass_stride);
mem_zero_kernel(out_ptr, sizeof(float)*pass_stride);
cl_kernel ckNLMCalcDifference = denoising_program(ustring("filter_nlm_calc_difference"));
More information about the Bf-blender-cvs
mailing list