@@ -6015,98 +6015,85 @@ const char* convertTypeStr(int sdepth, int ddepth, int cn, char* buf)
6015
6015
6016
6016
const char * getOpenCLErrorString (int errorCode)
6017
6017
{
6018
+ #define CV_OCL_CODE (id ) case id: return #id
6019
+ #define CV_OCL_CODE_ (id, name ) case id: return #name
6018
6020
switch (errorCode)
6019
6021
{
6020
- case 0 : return " CL_SUCCESS" ;
6021
- case -1 : return " CL_DEVICE_NOT_FOUND" ;
6022
- case -2 : return " CL_DEVICE_NOT_AVAILABLE" ;
6023
- case -3 : return " CL_COMPILER_NOT_AVAILABLE" ;
6024
- case -4 : return " CL_MEM_OBJECT_ALLOCATION_FAILURE" ;
6025
- case -5 : return " CL_OUT_OF_RESOURCES" ;
6026
- case -6 : return " CL_OUT_OF_HOST_MEMORY" ;
6027
- case -7 : return " CL_PROFILING_INFO_NOT_AVAILABLE" ;
6028
- case -8 : return " CL_MEM_COPY_OVERLAP" ;
6029
- case -9 : return " CL_IMAGE_FORMAT_MISMATCH" ;
6030
- case -10 : return " CL_IMAGE_FORMAT_NOT_SUPPORTED" ;
6031
- case -11 : return " CL_BUILD_PROGRAM_FAILURE" ;
6032
- case -12 : return " CL_MAP_FAILURE" ;
6033
- case -13 : return " CL_MISALIGNED_SUB_BUFFER_OFFSET" ;
6034
- case -14 : return " CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST" ;
6035
- case -15 : return " CL_COMPILE_PROGRAM_FAILURE" ;
6036
- case -16 : return " CL_LINKER_NOT_AVAILABLE" ;
6037
- case -17 : return " CL_LINK_PROGRAM_FAILURE" ;
6038
- case -18 : return " CL_DEVICE_PARTITION_FAILED" ;
6039
- case -19 : return " CL_KERNEL_ARG_INFO_NOT_AVAILABLE" ;
6040
- case -30 : return " CL_INVALID_VALUE" ;
6041
- case -31 : return " CL_INVALID_DEVICE_TYPE" ;
6042
- case -32 : return " CL_INVALID_PLATFORM" ;
6043
- case -33 : return " CL_INVALID_DEVICE" ;
6044
- case -34 : return " CL_INVALID_CONTEXT" ;
6045
- case -35 : return " CL_INVALID_QUEUE_PROPERTIES" ;
6046
- case -36 : return " CL_INVALID_COMMAND_QUEUE" ;
6047
- case -37 : return " CL_INVALID_HOST_PTR" ;
6048
- case -38 : return " CL_INVALID_MEM_OBJECT" ;
6049
- case -39 : return " CL_INVALID_IMAGE_FORMAT_DESCRIPTOR" ;
6050
- case -40 : return " CL_INVALID_IMAGE_SIZE" ;
6051
- case -41 : return " CL_INVALID_SAMPLER" ;
6052
- case -42 : return " CL_INVALID_BINARY" ;
6053
- case -43 : return " CL_INVALID_BUILD_OPTIONS" ;
6054
- case -44 : return " CL_INVALID_PROGRAM" ;
6055
- case -45 : return " CL_INVALID_PROGRAM_EXECUTABLE" ;
6056
- case -46 : return " CL_INVALID_KERNEL_NAME" ;
6057
- case -47 : return " CL_INVALID_KERNEL_DEFINITION" ;
6058
- case -48 : return " CL_INVALID_KERNEL" ;
6059
- case -49 : return " CL_INVALID_ARG_INDEX" ;
6060
- case -50 : return " CL_INVALID_ARG_VALUE" ;
6061
- case -51 : return " CL_INVALID_ARG_SIZE" ;
6062
- case -52 : return " CL_INVALID_KERNEL_ARGS" ;
6063
- case -53 : return " CL_INVALID_WORK_DIMENSION" ;
6064
- case -54 : return " CL_INVALID_WORK_GROUP_SIZE" ;
6065
- case -55 : return " CL_INVALID_WORK_ITEM_SIZE" ;
6066
- case -56 : return " CL_INVALID_GLOBAL_OFFSET" ;
6067
- case -57 : return " CL_INVALID_EVENT_WAIT_LIST" ;
6068
- case -58 : return " CL_INVALID_EVENT" ;
6069
- case -59 : return " CL_INVALID_OPERATION" ;
6070
- case -60 : return " CL_INVALID_GL_OBJECT" ;
6071
- case -61 : return " CL_INVALID_BUFFER_SIZE" ;
6072
- case -62 : return " CL_INVALID_MIP_LEVEL" ;
6073
- case -63 : return " CL_INVALID_GLOBAL_WORK_SIZE" ;
6074
- case -64 : return " CL_INVALID_PROPERTY" ;
6075
- case -65 : return " CL_INVALID_IMAGE_DESCRIPTOR" ;
6076
- case -66 : return " CL_INVALID_COMPILER_OPTIONS" ;
6077
- case -67 : return " CL_INVALID_LINKER_OPTIONS" ;
6078
- case -68 : return " CL_INVALID_DEVICE_PARTITION_COUNT" ;
6079
- case -69 : return " CL_INVALID_PIPE_SIZE" ;
6080
- case -70 : return " CL_INVALID_DEVICE_QUEUE" ;
6081
- case -1000 : return " CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR" ;
6082
- case -1001 : return " CL_PLATFORM_NOT_FOUND_KHR" ;
6083
- case -1002 : return " CL_INVALID_D3D10_DEVICE_KHR" ;
6084
- case -1003 : return " CL_INVALID_D3D10_RESOURCE_KHR" ;
6085
- case -1004 : return " CL_D3D10_RESOURCE_ALREADY_ACQUIRED_KHR" ;
6086
- case -1005 : return " CL_D3D10_RESOURCE_NOT_ACQUIRED_KHR" ;
6087
- case -1024 : return " clBLAS: Functionality is not implemented" ;
6088
- case -1023 : return " clBLAS: Library is not initialized yet" ;
6089
- case -1022 : return " clBLAS: Matrix A is not a valid memory object" ;
6090
- case -1021 : return " clBLAS: Matrix B is not a valid memory object" ;
6091
- case -1020 : return " clBLAS: Matrix C is not a valid memory object" ;
6092
- case -1019 : return " clBLAS: Vector X is not a valid memory object" ;
6093
- case -1018 : return " clBLAS: Vector Y is not a valid memory object" ;
6094
- case -1017 : return " clBLAS: An input dimension (M:N:K) is invalid" ;
6095
- case -1016 : return " clBLAS: Leading dimension A must not be less than the "
6096
- " size of the first dimension" ;
6097
- case -1015 : return " clBLAS: Leading dimension B must not be less than the "
6098
- " size of the second dimension" ;
6099
- case -1014 : return " clBLAS: Leading dimension C must not be less than the "
6100
- " size of the third dimension" ;
6101
- case -1013 : return " clBLAS: The increment for a vector X must not be 0" ;
6102
- case -1012 : return " clBLAS: The increment for a vector Y must not be 0" ;
6103
- case -1011 : return " clBLAS: The memory object for Matrix A is too small" ;
6104
- case -1010 : return " clBLAS: The memory object for Matrix B is too small" ;
6105
- case -1009 : return " clBLAS: The memory object for Matrix C is too small" ;
6106
- case -1008 : return " clBLAS: The memory object for Vector X is too small" ;
6107
- case -1007 : return " clBLAS: The memory object for Vector Y is too small" ;
6022
+ CV_OCL_CODE (CL_SUCCESS);
6023
+ CV_OCL_CODE (CL_DEVICE_NOT_FOUND);
6024
+ CV_OCL_CODE (CL_DEVICE_NOT_AVAILABLE);
6025
+ CV_OCL_CODE (CL_COMPILER_NOT_AVAILABLE);
6026
+ CV_OCL_CODE (CL_MEM_OBJECT_ALLOCATION_FAILURE);
6027
+ CV_OCL_CODE (CL_OUT_OF_RESOURCES);
6028
+ CV_OCL_CODE (CL_OUT_OF_HOST_MEMORY);
6029
+ CV_OCL_CODE (CL_PROFILING_INFO_NOT_AVAILABLE);
6030
+ CV_OCL_CODE (CL_MEM_COPY_OVERLAP);
6031
+ CV_OCL_CODE (CL_IMAGE_FORMAT_MISMATCH);
6032
+ CV_OCL_CODE (CL_IMAGE_FORMAT_NOT_SUPPORTED);
6033
+ CV_OCL_CODE (CL_BUILD_PROGRAM_FAILURE);
6034
+ CV_OCL_CODE (CL_MAP_FAILURE);
6035
+ CV_OCL_CODE (CL_MISALIGNED_SUB_BUFFER_OFFSET);
6036
+ CV_OCL_CODE (CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST);
6037
+ CV_OCL_CODE (CL_COMPILE_PROGRAM_FAILURE);
6038
+ CV_OCL_CODE (CL_LINKER_NOT_AVAILABLE);
6039
+ CV_OCL_CODE (CL_LINK_PROGRAM_FAILURE);
6040
+ CV_OCL_CODE (CL_DEVICE_PARTITION_FAILED);
6041
+ CV_OCL_CODE (CL_KERNEL_ARG_INFO_NOT_AVAILABLE);
6042
+ CV_OCL_CODE (CL_INVALID_VALUE);
6043
+ CV_OCL_CODE (CL_INVALID_DEVICE_TYPE);
6044
+ CV_OCL_CODE (CL_INVALID_PLATFORM);
6045
+ CV_OCL_CODE (CL_INVALID_DEVICE);
6046
+ CV_OCL_CODE (CL_INVALID_CONTEXT);
6047
+ CV_OCL_CODE (CL_INVALID_QUEUE_PROPERTIES);
6048
+ CV_OCL_CODE (CL_INVALID_COMMAND_QUEUE);
6049
+ CV_OCL_CODE (CL_INVALID_HOST_PTR);
6050
+ CV_OCL_CODE (CL_INVALID_MEM_OBJECT);
6051
+ CV_OCL_CODE (CL_INVALID_IMAGE_FORMAT_DESCRIPTOR);
6052
+ CV_OCL_CODE (CL_INVALID_IMAGE_SIZE);
6053
+ CV_OCL_CODE (CL_INVALID_SAMPLER);
6054
+ CV_OCL_CODE (CL_INVALID_BINARY);
6055
+ CV_OCL_CODE (CL_INVALID_BUILD_OPTIONS);
6056
+ CV_OCL_CODE (CL_INVALID_PROGRAM);
6057
+ CV_OCL_CODE (CL_INVALID_PROGRAM_EXECUTABLE);
6058
+ CV_OCL_CODE (CL_INVALID_KERNEL_NAME);
6059
+ CV_OCL_CODE (CL_INVALID_KERNEL_DEFINITION);
6060
+ CV_OCL_CODE (CL_INVALID_KERNEL);
6061
+ CV_OCL_CODE (CL_INVALID_ARG_INDEX);
6062
+ CV_OCL_CODE (CL_INVALID_ARG_VALUE);
6063
+ CV_OCL_CODE (CL_INVALID_ARG_SIZE);
6064
+ CV_OCL_CODE (CL_INVALID_KERNEL_ARGS);
6065
+ CV_OCL_CODE (CL_INVALID_WORK_DIMENSION);
6066
+ CV_OCL_CODE (CL_INVALID_WORK_GROUP_SIZE);
6067
+ CV_OCL_CODE (CL_INVALID_WORK_ITEM_SIZE);
6068
+ CV_OCL_CODE (CL_INVALID_GLOBAL_OFFSET);
6069
+ CV_OCL_CODE (CL_INVALID_EVENT_WAIT_LIST);
6070
+ CV_OCL_CODE (CL_INVALID_EVENT);
6071
+ CV_OCL_CODE (CL_INVALID_OPERATION);
6072
+ CV_OCL_CODE (CL_INVALID_GL_OBJECT);
6073
+ CV_OCL_CODE (CL_INVALID_BUFFER_SIZE);
6074
+ CV_OCL_CODE (CL_INVALID_MIP_LEVEL);
6075
+ CV_OCL_CODE (CL_INVALID_GLOBAL_WORK_SIZE);
6076
+ // OpenCL 1.1
6077
+ CV_OCL_CODE (CL_INVALID_PROPERTY);
6078
+ // OpenCL 1.2
6079
+ CV_OCL_CODE (CL_INVALID_IMAGE_DESCRIPTOR);
6080
+ CV_OCL_CODE (CL_INVALID_COMPILER_OPTIONS);
6081
+ CV_OCL_CODE (CL_INVALID_LINKER_OPTIONS);
6082
+ CV_OCL_CODE (CL_INVALID_DEVICE_PARTITION_COUNT);
6083
+ // OpenCL 2.0
6084
+ CV_OCL_CODE_ (-69 , CL_INVALID_PIPE_SIZE);
6085
+ CV_OCL_CODE_ (-70 , CL_INVALID_DEVICE_QUEUE);
6086
+ // Extensions
6087
+ CV_OCL_CODE_ (-1000 , CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR);
6088
+ CV_OCL_CODE_ (-1001 , CL_PLATFORM_NOT_FOUND_KHR);
6089
+ CV_OCL_CODE_ (-1002 , CL_INVALID_D3D10_DEVICE_KHR);
6090
+ CV_OCL_CODE_ (-1003 , CL_INVALID_D3D10_RESOURCE_KHR);
6091
+ CV_OCL_CODE_ (-1004 , CL_D3D10_RESOURCE_ALREADY_ACQUIRED_KHR);
6092
+ CV_OCL_CODE_ (-1005 , CL_D3D10_RESOURCE_NOT_ACQUIRED_KHR);
6108
6093
default : return " Unknown OpenCL error" ;
6109
6094
}
6095
+ #undef CV_OCL_CODE
6096
+ #undef CV_OCL_CODE_
6110
6097
}
6111
6098
6112
6099
template <typename T>
0 commit comments