ocl: fix mac and superres test
authorAlexander Alekhin <alexander.alekhin@itseez.com>
Tue, 1 Jul 2014 16:02:02 +0000 (20:02 +0400)
committerIlya Lavrenov <ilya.lavrenov@itseez.com>
Wed, 2 Jul 2014 07:54:20 +0000 (11:54 +0400)
modules/ocl/include/opencv2/ocl/cl_runtime/cl_runtime.hpp
modules/superres/test/test_superres.cpp

index 86e7ebc..5472e06 100644 (file)
@@ -6,6 +6,17 @@
 #if defined(HAVE_OPENCL_STATIC)
 
 #if defined __APPLE__
+// APPLE ignores CL_USE_DEPRECATED_OPENCL_1_1_APIS so use this hack:
+#include <OpenCL/cl_platform.h>
+#ifdef CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
+#undef CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
+#define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
+#endif
+#ifdef CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
+#undef CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
+#define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
+#endif
+
 #include <OpenCL/cl.h>
 #else
 #include <CL/cl.h>
index 5cb078f..14d8eaf 100644 (file)
@@ -278,6 +278,16 @@ TEST_F(SuperResolution, BTVL1_GPU)
 #if defined(HAVE_OPENCV_OCL) && defined(HAVE_OPENCL)
 TEST_F(SuperResolution, BTVL1_OCL)
 {
+    try
+    {
+        const cv::ocl::DeviceInfo& dev = cv::ocl::Context::getContext()->getDeviceInfo();
+        std::cout << "Device name:" << dev.deviceName << std::endl;
+    }
+    catch (...)
+    {
+        std::cout << "Device name: N/A" << std::endl;
+        return; // skip test
+    }
     RunTest(cv::superres::createSuperResolution_BTVL1_OCL());
 }
 #endif