[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