summaryrefslogtreecommitdiff
path: root/cl_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'cl_util.c')
-rw-r--r--cl_util.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/cl_util.c b/cl_util.c
new file mode 100644
index 0000000..20f80c6
--- /dev/null
+++ b/cl_util.c
@@ -0,0 +1,51 @@
+#include <CL/cl.h>
+
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "cl_util.h"
+
+#define CASE_ERR(ec) case ec: return #ec;
+
+const char * clUtilErrorString(cl_int error)
+{
+ switch(error) {
+
+ CASE_ERR(CL_DEVICE_NOT_AVAILABLE);
+ CASE_ERR(CL_DEVICE_NOT_FOUND);
+ CASE_ERR(CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST);
+ CASE_ERR(CL_INVALID_ARG_INDEX);
+ CASE_ERR(CL_INVALID_ARG_SIZE);
+ CASE_ERR(CL_INVALID_ARG_VALUE);
+ CASE_ERR(CL_INVALID_COMMAND_QUEUE);
+ CASE_ERR(CL_INVALID_CONTEXT);
+ CASE_ERR(CL_INVALID_DEVICE);
+ CASE_ERR(CL_INVALID_DEVICE_TYPE);
+ CASE_ERR(CL_INVALID_EVENT_WAIT_LIST);
+ CASE_ERR(CL_INVALID_GLOBAL_OFFSET);
+ CASE_ERR(CL_INVALID_GLOBAL_WORK_SIZE);
+ CASE_ERR(CL_INVALID_IMAGE_SIZE);
+ CASE_ERR(CL_INVALID_KERNEL);
+ CASE_ERR(CL_INVALID_KERNEL_ARGS);
+ CASE_ERR(CL_INVALID_KERNEL_DEFINITION);
+ CASE_ERR(CL_INVALID_KERNEL_NAME);
+ CASE_ERR(CL_INVALID_MEM_OBJECT);
+ CASE_ERR(CL_INVALID_OPERATION);
+ CASE_ERR(CL_INVALID_PLATFORM);
+ CASE_ERR(CL_INVALID_PROGRAM);
+ CASE_ERR(CL_INVALID_PROGRAM_EXECUTABLE);
+ CASE_ERR(CL_INVALID_PROPERTY);
+ CASE_ERR(CL_INVALID_SAMPLER);
+ CASE_ERR(CL_INVALID_VALUE);
+ CASE_ERR(CL_INVALID_WORK_DIMENSION);
+ CASE_ERR(CL_INVALID_WORK_GROUP_SIZE);
+ CASE_ERR(CL_INVALID_WORK_ITEM_SIZE);
+ CASE_ERR(CL_MEM_OBJECT_ALLOCATION_FAILURE);
+ CASE_ERR(CL_MISALIGNED_SUB_BUFFER_OFFSET);
+ CASE_ERR(CL_OUT_OF_HOST_MEMORY);
+ CASE_ERR(CL_OUT_OF_RESOURCES);
+ CASE_ERR(CL_SUCCESS);
+
+ }
+}