1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-18 06:08:16 +00:00
hashcat/src/ext_OpenCL.c
2017-02-23 09:45:31 +01:00

166 lines
4.6 KiB
C

/**
* Author......: See docs/credits.txt
* License.....: MIT
*/
#include "common.h"
#include "types.h"
#include "memory.h"
#include "event.h"
#include "ext_OpenCL.h"
const char *val2cstr_cl (cl_int CL_err)
{
#define CLERR(a) case a: return #a
switch (CL_err)
{
/**
* OpenCL runtime errors
*/
#if defined (CL_VERSION_1_0)
CLERR (CL_SUCCESS);
CLERR (CL_DEVICE_NOT_FOUND);
CLERR (CL_DEVICE_NOT_AVAILABLE);
CLERR (CL_COMPILER_NOT_AVAILABLE);
CLERR (CL_MEM_OBJECT_ALLOCATION_FAILURE);
CLERR (CL_OUT_OF_RESOURCES);
CLERR (CL_OUT_OF_HOST_MEMORY);
CLERR (CL_PROFILING_INFO_NOT_AVAILABLE);
CLERR (CL_MEM_COPY_OVERLAP);
CLERR (CL_IMAGE_FORMAT_MISMATCH);
CLERR (CL_IMAGE_FORMAT_NOT_SUPPORTED);
CLERR (CL_BUILD_PROGRAM_FAILURE);
CLERR (CL_MAP_FAILURE);
#endif
#if defined (CL_VERSION_1_1)
CLERR (CL_MISALIGNED_SUB_BUFFER_OFFSET);
CLERR (CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST);
#endif
#if defined (CL_VERSION_1_2)
CLERR (CL_COMPILE_PROGRAM_FAILURE);
CLERR (CL_LINKER_NOT_AVAILABLE);
CLERR (CL_LINK_PROGRAM_FAILURE);
CLERR (CL_DEVICE_PARTITION_FAILED);
CLERR (CL_KERNEL_ARG_INFO_NOT_AVAILABLE);
#endif
/**
* OpenCL compile-time errors
*/
#if defined (CL_VERSION_1_0)
CLERR (CL_INVALID_VALUE);
CLERR (CL_INVALID_DEVICE_TYPE);
CLERR (CL_INVALID_PLATFORM);
CLERR (CL_INVALID_DEVICE);
CLERR (CL_INVALID_CONTEXT);
CLERR (CL_INVALID_QUEUE_PROPERTIES);
CLERR (CL_INVALID_COMMAND_QUEUE);
CLERR (CL_INVALID_HOST_PTR);
CLERR (CL_INVALID_MEM_OBJECT);
CLERR (CL_INVALID_IMAGE_FORMAT_DESCRIPTOR);
CLERR (CL_INVALID_IMAGE_SIZE);
CLERR (CL_INVALID_SAMPLER);
CLERR (CL_INVALID_BINARY);
CLERR (CL_INVALID_BUILD_OPTIONS);
CLERR (CL_INVALID_PROGRAM);
CLERR (CL_INVALID_PROGRAM_EXECUTABLE);
CLERR (CL_INVALID_KERNEL_NAME);
CLERR (CL_INVALID_KERNEL_DEFINITION);
CLERR (CL_INVALID_KERNEL);
CLERR (CL_INVALID_ARG_INDEX);
CLERR (CL_INVALID_ARG_VALUE);
CLERR (CL_INVALID_ARG_SIZE);
CLERR (CL_INVALID_KERNEL_ARGS);
CLERR (CL_INVALID_WORK_DIMENSION);
CLERR (CL_INVALID_WORK_GROUP_SIZE);
CLERR (CL_INVALID_WORK_ITEM_SIZE);
CLERR (CL_INVALID_GLOBAL_OFFSET);
CLERR (CL_INVALID_EVENT_WAIT_LIST);
CLERR (CL_INVALID_EVENT);
CLERR (CL_INVALID_OPERATION);
CLERR (CL_INVALID_GL_OBJECT);
CLERR (CL_INVALID_BUFFER_SIZE);
CLERR (CL_INVALID_MIP_LEVEL);
CLERR (CL_INVALID_GLOBAL_WORK_SIZE);
#endif
#if defined (CL_VERSION_1_1)
CLERR (CL_INVALID_PROPERTY);
#endif
#if defined (CL_VERSION_1_2)
CLERR (CL_INVALID_IMAGE_DESCRIPTOR);
CLERR (CL_INVALID_COMPILER_OPTIONS);
CLERR (CL_INVALID_LINKER_OPTIONS);
CLERR (CL_INVALID_DEVICE_PARTITION_COUNT);
#endif
#if defined (CL_VERSION_2_0)
CLERR (CL_INVALID_PIPE_SIZE);
CLERR (CL_INVALID_DEVICE_QUEUE);
#endif
/**
* OpenCL extension error values
*/
#if defined (__OPENCL_CL_GL_H) && defined (cl_khr_gl_sharing)
CLERR (CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR);
#endif
#if defined (__CL_EXT_H) && defined (cl_khr_icd)
CLERR (CL_PLATFORM_NOT_FOUND_KHR);
#else
case -1001: return "CL_PLATFORM_NOT_FOUND_KHR";
#endif
#if defined (__OPENCL_CL_D3D10_H)
CLERR (CL_INVALID_D3D10_DEVICE_KHR);
CLERR (CL_INVALID_D3D10_RESOURCE_KHR);
CLERR (CL_D3D10_RESOURCE_ALREADY_ACQUIRED_KHR);
CLERR (CL_D3D10_RESOURCE_NOT_ACQUIRED_KHR);
#endif
#if defined (__OPENCL_CL_D3D11_H)
CLERR (CL_INVALID_D3D11_DEVICE_KHR);
CLERR (CL_INVALID_D3D11_RESOURCE_KHR);
CLERR (CL_D3D11_RESOURCE_ALREADY_ACQUIRED_KHR);
CLERR (CL_D3D11_RESOURCE_NOT_ACQUIRED_KHR);
#endif
#if defined (__OPENCL_CL_DX9_MEDIA_SHARING_H)
CLERR (CL_INVALID_DX9_MEDIA_ADAPTER_KHR);
CLERR (CL_INVALID_DX9_MEDIA_SURFACE_KHR);
CLERR (CL_DX9_MEDIA_SURFACE_ALREADY_ACQUIRED_KHR);
CLERR (CL_DX9_MEDIA_SURFACE_NOT_ACQUIRED_KHR);
#endif
#if defined (__CL_EXT_H) && defined (cl_ext_device_fission)
CLERR (CL_DEVICE_PARTITION_FAILED_EXT);
CLERR (CL_INVALID_PARTITION_COUNT_EXT);
CLERR (CL_INVALID_PARTITION_NAME_EXT);
#endif
#if defined (__OPENCL_CL_EGL_H)
CLERR (CL_EGL_RESOURCE_NOT_ACQUIRED_KHR);
CLERR (CL_INVALID_EGL_OBJECT_KHR);
#endif
#if defined (__CL_EXT_H) && defined (cl_intel_accelerator)
CLERR (CL_INVALID_ACCELERATOR_INTEL);
CLERR (CL_INVALID_ACCELERATOR_TYPE_INTEL);
CLERR (CL_INVALID_ACCELERATOR_DESCRIPTOR_INTEL);
CLERR (CL_ACCELERATOR_TYPE_NOT_SUPPORTED_INTEL);
#endif
}
#undef CLERR
return "CL_UNKNOWN_ERROR";
}