// This file is part of OpenCV project. // It is subject to the license terms in the LICENSE file found in the top-level directory // of this distribution and at http://opencv.org/license.html. // Copyright (C) 2014, Advanced Micro Devices, Inc., all rights reserved. // Third party copyrights are property of their respective owners. #include "opencv2/core/utility.hpp" //#define CV_OPENCL_RUN_ASSERT #ifdef HAVE_OPENCL #ifdef CV_OPENCL_RUN_VERBOSE #define CV_OCL_RUN_(condition, func, ...) \ { \ if (cv::ocl::useOpenCL() && (condition) && func) \ { \ printf("%s: OpenCL implementation is running\n", CV_Func); \ fflush(stdout); \ CV_IMPL_ADD(CV_IMPL_OCL); \ return __VA_ARGS__; \ } \ else \ { \ printf("%s: Plain implementation is running\n", CV_Func); \ fflush(stdout); \ } \ } #elif defined CV_OPENCL_RUN_ASSERT #define CV_OCL_RUN_(condition, func, ...) \ { \ if (cv::ocl::useOpenCL() && (condition)) \ { \ if(func) \ { \ CV_IMPL_ADD(CV_IMPL_OCL); \ } \ else \ { \ CV_Error(cv::Error::StsAssert, #func); \ } \ return __VA_ARGS__; \ } \ } #else #define CV_OCL_RUN_(condition, func, ...) \ if (cv::ocl::useOpenCL() && (condition) && func) \ { \ CV_IMPL_ADD(CV_IMPL_OCL); \ return __VA_ARGS__; \ } #endif #else #define CV_OCL_RUN_(condition, func, ...) #endif #define CV_OCL_RUN(condition, func) CV_OCL_RUN_(condition, func)