From 630135558c432a4cae1e74fdad09007ee17932ad Mon Sep 17 00:00:00 2001 From: David Phillips Date: Mon, 2 Oct 2017 23:59:34 +1300 Subject: Dump WIP of opencl port --- cl_error.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 cl_error.c (limited to 'cl_error.c') diff --git a/cl_error.c b/cl_error.c new file mode 100644 index 0000000..55b91bd --- /dev/null +++ b/cl_error.c @@ -0,0 +1,84 @@ +#include + +static const char *cl_error_strings[] = { + "CL_SUCCESS", + "CL_DEVICE_NOT_FOUND", + "CL_DEVICE_NOT_AVAILABLE", + "CL_COMPILER_NOT_AVAILABLE", + "CL_MEM_OBJECT_ALLOCATION_FAILURE", + "CL_OUT_OF_RESOURCES", + "CL_OUT_OF_HOST_MEMORY", + "CL_PROFILING_INFO_NOT_AVAILABLE", + "CL_MEM_COPY_OVERLAP", + "CL_IMAGE_FORMAT_MISMATCH", + "CL_IMAGE_FORMAT_NOT_SUPPORTED", + "CL_BUILD_PROGRAM_FAILURE", + "CL_MAP_FAILURE", + "CL_MISALIGNED_SUB_BUFFER_OFFSET", + "CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST", + "CL_COMPILE_PROGRAM_FAILURE", + "CL_LINKER_NOT_AVAILABLE", + "CL_LINK_PROGRAM_FAILURE", + "CL_DEVICE_PARTITION_FAILED", + "CL_KERNEL_ARG_INFO_NOT_AVAILABLE", + "(Invalid)", + "(Invalid)", + "(Invalid)", + "(Invalid)", + "(Invalid)", + "(Invalid)", + "(Invalid)", + "(Invalid)", + "(Invalid)", + "(Invalid)", + "CL_INVALID_VALUE", + "CL_INVALID_DEVICE_TYPE", + "CL_INVALID_PLATFORM", + "CL_INVALID_DEVICE", + "CL_INVALID_CONTEXT", + "CL_INVALID_QUEUE_PROPERTIES", + "CL_INVALID_COMMAND_QUEUE", + "CL_INVALID_HOST_PTR", + "CL_INVALID_MEM_OBJECT", + "CL_INVALID_IMAGE_FORMAT_DESCRIPTOR", + "CL_INVALID_IMAGE_SIZE", + "CL_INVALID_SAMPLER", + "CL_INVALID_BINARY", + "CL_INVALID_BUILD_OPTIONS", + "CL_INVALID_PROGRAM", + "CL_INVALID_PROGRAM_EXECUTABLE", + "CL_INVALID_KERNEL_NAME", + "CL_INVALID_KERNEL_DEFINITION", + "CL_INVALID_KERNEL", + "CL_INVALID_ARG_INDEX", + "CL_INVALID_ARG_VALUE", + "CL_INVALID_ARG_SIZE", + "CL_INVALID_KERNEL_ARGS", + "CL_INVALID_WORK_DIMENSION", + "CL_INVALID_WORK_GROUP_SIZE", + "CL_INVALID_WORK_ITEM_SIZE", + "CL_INVALID_GLOBAL_OFFSET", + "CL_INVALID_EVENT_WAIT_LIST", + "CL_INVALID_EVENT", + "CL_INVALID_OPERATION", + "CL_INVALID_GL_OBJECT", + "CL_INVALID_BUFFER_SIZE", + "CL_INVALID_MIP_LEVEL", + "CL_INVALID_GLOBAL_WORK_SIZE", + "CL_INVALID_PROPERTY", + "CL_INVALID_IMAGE_DESCRIPTOR", + "CL_INVALID_COMPILER_OPTIONS", + "CL_INVALID_LINKER_OPTIONS", + "CL_INVALID_DEVICE_PARTITION_COUNT", + "CL_INVALID_PIPE_SIZE", + "CL_INVALID_DEVICE_QUEUE", +}; + +const char *get_cl_error_string(cl_int error) +{ + error = -error; + if (error < 0 || error >= sizeof(cl_error_strings) / sizeof(const char *)) + return "Error value out of bounds"; + + return cl_error_strings[error]; +} -- cgit v1.1