opencl backend: avoid uninitialized cl_mem objects
commitfd0e71449a0435d047c947d44fc266509ab1e1c5
authorSven van Haastregt <sven.vanhaastregt@arm.com>
Wed, 7 May 2014 11:56:20 +0000 (7 12:56 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Wed, 7 May 2014 12:10:50 +0000 (7 14:10 +0200)
tree9232046a2026f55fbf30c5059a74a742e2f9cf91
parentb56d0255e239e94b4390ff5153a7ac28a0507762
opencl backend: avoid uninitialized cl_mem objects

We generated an if-guard around clCreateBuffer calls to ensure cl_mem
objects are created with a strictly positive size.  Unfortunately, this
could leave some cl_mem objects uninitialized, causing later
clSetKernelArg calls to fail with error CL_INVALID_MEM_OBJECT.  This may
happen for example when a kernel does not write to all of its buffers
for particular parameter values.

Instead, unconditionally call clCreateBuffer and ensure it can hold
at least one element using a max expression.

Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
opencl.c