ocl: bailout from unsupported types

This commit is contained in:
Alexander Alekhin 2018-10-15 18:06:06 +00:00
parent 13aa23f706
commit cc45c10f3d
2 changed files with 11 additions and 1 deletions

View File

@ -59,11 +59,18 @@ static inline bool isOpenCLActivated() { return false; }
} }
#else #else
#define CV_OCL_RUN_(condition, func, ...) \ #define CV_OCL_RUN_(condition, func, ...) \
try \
{ \
if (cv::ocl::isOpenCLActivated() && (condition) && func) \ if (cv::ocl::isOpenCLActivated() && (condition) && func) \
{ \ { \
CV_IMPL_ADD(CV_IMPL_OCL); \ CV_IMPL_ADD(CV_IMPL_OCL); \
return __VA_ARGS__; \ return __VA_ARGS__; \
} } \
} \
catch (const cv::Exception& e) \
{ \
CV_UNUSED(e); /* TODO: Add some logging here */ \
}
#endif #endif
#else #else

View File

@ -6005,6 +6005,7 @@ const char* typeToStr(int type)
"?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?" "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?"
}; };
int cn = CV_MAT_CN(type), depth = CV_MAT_DEPTH(type); int cn = CV_MAT_CN(type), depth = CV_MAT_DEPTH(type);
CV_Assert(depth != CV_16F); // Workaround for: https://github.com/opencv/opencv/issues/12824
return cn > 16 ? "?" : tab[depth*16 + cn-1]; return cn > 16 ? "?" : tab[depth*16 + cn-1];
} }
@ -6022,6 +6023,7 @@ const char* memopTypeToStr(int type)
"?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?" "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?"
}; };
int cn = CV_MAT_CN(type), depth = CV_MAT_DEPTH(type); int cn = CV_MAT_CN(type), depth = CV_MAT_DEPTH(type);
CV_Assert(depth != CV_16F); // Workaround for: https://github.com/opencv/opencv/issues/12824
return cn > 16 ? "?" : tab[depth*16 + cn-1]; return cn > 16 ? "?" : tab[depth*16 + cn-1];
} }
@ -6039,6 +6041,7 @@ const char* vecopTypeToStr(int type)
"?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?" "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?"
}; };
int cn = CV_MAT_CN(type), depth = CV_MAT_DEPTH(type); int cn = CV_MAT_CN(type), depth = CV_MAT_DEPTH(type);
CV_Assert(depth != CV_16F); // Workaround for: https://github.com/opencv/opencv/issues/12824
return cn > 16 ? "?" : tab[depth*16 + cn-1]; return cn > 16 ? "?" : tab[depth*16 + cn-1];
} }