Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2020-07-01 20:45:56 +0300
committerBrecht Van Lommel <brecht@blender.org>2020-07-01 21:01:25 +0300
commit792cb8bdc7f5d9432c89750d7a09e797137a6a00 (patch)
tree469ed5d54749b1584b671ab9409110b0261136c9
parent755c5c6e4c86fed28646c18f0a78a5fa9c0fd4d6 (diff)
Fix T77984: Cycles OpenCL error rendering empty scene
-rw-r--r--intern/cycles/device/opencl/memory_manager.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/intern/cycles/device/opencl/memory_manager.cpp b/intern/cycles/device/opencl/memory_manager.cpp
index fedb3ea8c6a..0285dc969ec 100644
--- a/intern/cycles/device/opencl/memory_manager.cpp
+++ b/intern/cycles/device/opencl/memory_manager.cpp
@@ -64,6 +64,9 @@ void MemoryManager::DeviceBuffer::update_device_memory(OpenCLDevice *device)
total_size += alloc_size;
}
+ /* Always allocate non-empty buffer, NULL pointers cause problems with some drivers. */
+ total_size = max(total_size, 16);
+
if (need_realloc) {
cl_ulong max_buffer_size;
clGetDeviceInfo(
@@ -251,7 +254,7 @@ void MemoryManager::set_kernel_arg_buffers(cl_kernel kernel, cl_uint *narg)
device->kernel_set_args(kernel, (*narg)++, *device_buffer.buffer);
}
else {
- device->kernel_set_args(kernel, (*narg)++, 0);
+ device->kernel_set_args(kernel, (*narg)++);
}
}
}