diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-07-01 20:45:56 +0300 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2020-07-13 18:13:17 +0300 |
commit | 080d62d4057b53a8d7c0aa917f61831a5195e0d7 (patch) | |
tree | 20ef5af5005f8f68687a7535b817af471980cd84 | |
parent | f212a16c6ab5649d8685540c28c7b5b2ab3c1ed1 (diff) |
Fix T77984: Cycles OpenCL error rendering empty scene
-rw-r--r-- | intern/cycles/device/opencl/memory_manager.cpp | 5 |
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)++); } } } |