From 7920ebd1573a45d3c3f71cde7f748828b46bb91f Mon Sep 17 00:00:00 2001 From: Lukas Stockner Date: Tue, 9 Oct 2018 00:03:47 +0200 Subject: 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. --- intern/cycles/device/opencl/opencl_base.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'intern') 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")); -- cgit v1.2.3