[Bf-blender-cvs] [33fc00133c] cycles_split_kernel: Cycles: Fix OpenCL mem_zero loop

Mai Lavelle noreply at git.blender.org
Thu Feb 9 12:14:31 CET 2017


Commit: 33fc00133cf5d2c1af6119306822bd4745622b65
Author: Mai Lavelle
Date:   Thu Feb 9 06:12:53 2017 -0500
Branches: cycles_split_kernel
https://developer.blender.org/rB33fc00133cf5d2c1af6119306822bd4745622b65

Cycles: Fix OpenCL mem_zero loop

Was a silly typo that caused the last iteration to be skipped.

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

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 5a87808922..cb8b078357 100644
--- a/intern/cycles/device/opencl/opencl_base.cpp
+++ b/intern/cycles/device/opencl/opencl_base.cpp
@@ -323,14 +323,14 @@ void OpenCLDeviceBase::mem_zero(device_memory& mem)
 		if(base_program.is_loaded()) {
 			cl_kernel ckZeroBuffer = base_program(ustring("zero_buffer"));
 
-			size_t global_size[] = {256, 256};
+			size_t global_size[] = {1024, 1024};
 			size_t num_threads = global_size[0] * global_size[1];
 
 			cl_mem d_buffer = CL_MEM_PTR(mem.device_pointer);
 			unsigned long long d_offset = 0;
 			unsigned long long d_size = 0;
 
-			while(d_offset + d_size < mem.memory_size()) {
+			while(d_offset < mem.memory_size()) {
 				d_size = std::min<unsigned long long>(num_threads*sizeof(float4), mem.memory_size() - d_offset);
 
 				kernel_set_args(ckZeroBuffer, 0, d_buffer, d_size, d_offset);




More information about the Bf-blender-cvs mailing list