From 792cb8bdc7f5d9432c89750d7a09e797137a6a00 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 1 Jul 2020 19:45:56 +0200 Subject: Fix T77984: Cycles OpenCL error rendering empty scene --- intern/cycles/device/opencl/memory_manager.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'intern') 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)++); } } } -- cgit v1.2.3