summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2013-07-09 12:02:43 +0100
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-07-11 00:25:37 -0400
commit9ed6e520afb8905596cd382e1e7fa79ba20063b5 (patch)
treefe6fa99b5ce03a693223f59c4c82c1be257ab609 /sc
parent98e811e43209faced8e8144267ded2032d44f4bc (diff)
better opencl error reporting / diagnostics.
Diffstat (limited to 'sc')
-rwxr-xr-xsc/source/core/opencl/openclwrapper.cxx9
-rwxr-xr-xsc/source/core/opencl/openclwrapper.hxx3
2 files changed, 9 insertions, 3 deletions
diff --git a/sc/source/core/opencl/openclwrapper.cxx b/sc/source/core/opencl/openclwrapper.cxx
index 31f1589fcb4f..0c9472137119 100755
--- a/sc/source/core/opencl/openclwrapper.cxx
+++ b/sc/source/core/opencl/openclwrapper.cxx
@@ -2131,6 +2131,7 @@ double *OclCalc::OclSimpleDeltaOperation(OpCode eOp, const double *pOpArray,
size_t global_work_size[1];
kEnv.mpkKernel = clCreateKernel(kEnv.mpkProgram,kernelName, &clStatus);
+ CHECK_OPENCL(clStatus);
// Ugh - horrible redundant copying ...
cl_mem valuesCl = allocateDoubleBuffer(kEnv, pOpArray, nElements, &clStatus);
@@ -2147,12 +2148,16 @@ double *OclCalc::OclSimpleDeltaOperation(OpCode eOp, const double *pOpArray,
clStatus = clSetKernelArg(kEnv.mpkKernel, 0, sizeof(cl_mem),
(void *)&valuesCl);
+ CHECK_OPENCL(clStatus);
clStatus = clSetKernelArg(kEnv.mpkKernel, 1, sizeof(cl_mem),
(void *)&subtractCl);
- clStatus = clSetKernelArg(kEnv.mpkKernel, 2, sizeof(cl_mem),
+ CHECK_OPENCL(clStatus);
+ clStatus = clSetKernelArg(kEnv.mpkKernel, 2, sizeof(cl_int),
(void *)&start);
- clStatus = clSetKernelArg(kEnv.mpkKernel, 3, sizeof(cl_mem),
+ CHECK_OPENCL(clStatus);
+ clStatus = clSetKernelArg(kEnv.mpkKernel, 3, sizeof(cl_int),
(void *)&end);
+ CHECK_OPENCL(clStatus);
clStatus = clSetKernelArg(kEnv.mpkKernel, 4, sizeof(cl_mem),
(void *)&outputCl);
CHECK_OPENCL(clStatus);
diff --git a/sc/source/core/opencl/openclwrapper.hxx b/sc/source/core/opencl/openclwrapper.hxx
index a0c132a2c49f..fe625546ee4e 100755
--- a/sc/source/core/opencl/openclwrapper.hxx
+++ b/sc/source/core/opencl/openclwrapper.hxx
@@ -12,6 +12,7 @@
#include <config_features.h>
#include <formula/opcode.hxx>
+#include <sal/detail/log.h>
#include <cassert>
#include <CL/cl.h>
#endif
@@ -55,7 +56,7 @@ typedef int (*cl_kernel_function)(void **userdata, KernelEnv *kenv);
#define CHECK_OPENCL(status) \
if(status != CL_SUCCESS) \
{ \
- printf ("error code is %d.\n",status); \
+ printf ("OpenCL error code is %d at " SAL_DETAIL_WHERE "\n", status); \
return 0; \
}