[Bf-blender-cvs] [10fa3b790fb] blender2.7: Fix T60450: Cycles broken GPU denoising after recent changes.

Brecht Van Lommel noreply at git.blender.org
Mon Jan 14 12:03:52 CET 2019


Commit: 10fa3b790fb8fec3c99666fa1e3f2ca21773642b
Author: Brecht Van Lommel
Date:   Mon Jan 14 11:42:38 2019 +0100
Branches: blender2.7
https://developer.blender.org/rB10fa3b790fb8fec3c99666fa1e3f2ca21773642b

Fix T60450: Cycles broken GPU denoising after recent changes.

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

M	intern/cycles/kernel/filter/filter_nlm_gpu.h

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

diff --git a/intern/cycles/kernel/filter/filter_nlm_gpu.h b/intern/cycles/kernel/filter/filter_nlm_gpu.h
index cffd61cb7d1..058afb34a92 100644
--- a/intern/cycles/kernel/filter/filter_nlm_gpu.h
+++ b/intern/cycles/kernel/filter/filter_nlm_gpu.h
@@ -39,8 +39,11 @@ ccl_device_inline bool get_nlm_coords_window(int w, int h, int r, int stride,
 
 	/* Pixels still need to lie inside the denoising buffer after applying the offset,
 	 * so determine the area for which this is the case. */
-	*rect = make_int4(max(0, -co->z),     max(0, -co->w),
-	              w - max(0,  co->z), h - max(0,  co->w));
+	int dx = sx - r;
+	int dy = sy - r;
+
+	*rect = make_int4(max(0, -dx),     max(0, -dy),
+	              w - max(0,  dx), h - max(0,  dy));
 
 	/* Find the intersection of the area that we want to process (window) and the area
 	 * that can be processed (rect) to get the final area for this offset. */
@@ -58,7 +61,7 @@ ccl_device_inline bool get_nlm_coords_window(int w, int h, int r, int stride,
 		return false;
 	}
 
-	*co = make_int4(x, y, sx - r, sy - r);
+	*co = make_int4(x, y, dx, dy);
 
 	*ofs = (sy*s + sx) * stride;



More information about the Bf-blender-cvs mailing list