mirror of https://github.com/opencv/opencv.git
Merge pull request #2128 from alalek:ocl_cleanup_runtime
commit
a75cfe13e7
9 changed files with 2 additions and 276 deletions
@ -1,34 +0,0 @@ |
||||
#ifndef __OPENCV_CORE_OCL_RUNTIME_HPP__ |
||||
#define __OPENCV_CORE_OCL_RUNTIME_HPP__ |
||||
|
||||
#ifdef HAVE_OPENCL |
||||
|
||||
#if defined(HAVE_OPENCL_STATIC) |
||||
|
||||
#if defined __APPLE__ |
||||
#include <OpenCL/cl.h> |
||||
#else |
||||
#include <CL/cl.h> |
||||
#endif |
||||
|
||||
#else // HAVE_OPENCL_STATIC
|
||||
|
||||
#include "ocl_runtime_opencl.hpp" |
||||
|
||||
#endif // HAVE_OPENCL_STATIC
|
||||
|
||||
#ifndef CL_DEVICE_DOUBLE_FP_CONFIG |
||||
#define CL_DEVICE_DOUBLE_FP_CONFIG 0x1032 |
||||
#endif |
||||
|
||||
#ifndef CL_DEVICE_HALF_FP_CONFIG |
||||
#define CL_DEVICE_HALF_FP_CONFIG 0x1033 |
||||
#endif |
||||
|
||||
#ifndef CL_VERSION_1_2 |
||||
#define CV_REQUIRE_OPENCL_1_2_ERROR CV_ErrorNoReturn(cv::Error::OpenCLApiCallError, "OpenCV compiled without OpenCL v1.2 support, so we can't use functionality from OpenCL v1.2") |
||||
#endif |
||||
|
||||
#endif // HAVE_OPENCL
|
||||
|
||||
#endif // __OPENCV_CORE_OCL_RUNTIME_HPP__
|
@ -1,75 +0,0 @@ |
||||
#include "precomp.hpp" |
||||
|
||||
#ifdef HAVE_CLAMDBLAS |
||||
|
||||
#include "opencv2/ocl/cl_runtime/cl_runtime.hpp" |
||||
#include "opencv2/ocl/cl_runtime/clamdblas_runtime.hpp" |
||||
|
||||
#if defined(_WIN32) |
||||
static void* WinGetProcAddress(const char* name) |
||||
{ |
||||
static HMODULE opencl_module = NULL; |
||||
if (!opencl_module) |
||||
{ |
||||
opencl_module = GetModuleHandleA("clAmdBlas.dll"); |
||||
if (!opencl_module) |
||||
{ |
||||
opencl_module = LoadLibraryA("clAmdBlas.dll"); |
||||
if (!opencl_module) |
||||
return NULL; |
||||
} |
||||
} |
||||
return (void*)GetProcAddress(opencl_module, name); |
||||
} |
||||
#define CV_CL_GET_PROC_ADDRESS(name) WinGetProcAddress(name) |
||||
#endif // _WIN32
|
||||
|
||||
#if defined(linux) |
||||
#include <dlfcn.h> |
||||
#include <stdio.h> |
||||
|
||||
static void* GetProcAddress (const char* name) |
||||
{ |
||||
static void* h = NULL; |
||||
if (!h) |
||||
{ |
||||
h = dlopen("libclAmdBlas.so", RTLD_LAZY | RTLD_GLOBAL); |
||||
if (!h) |
||||
return NULL; |
||||
} |
||||
|
||||
return dlsym(h, name); |
||||
} |
||||
#define CV_CL_GET_PROC_ADDRESS(name) GetProcAddress(name) |
||||
#endif |
||||
|
||||
#ifndef CV_CL_GET_PROC_ADDRESS |
||||
#define CV_CL_GET_PROC_ADDRESS(name) NULL |
||||
#endif |
||||
|
||||
@CL_FN_ENUMS@ |
||||
@CL_FN_NAMES@ |
||||
|
||||
static void* openclamdblas_check_fn(int ID) |
||||
{ |
||||
void* func = CV_CL_GET_PROC_ADDRESS(openclamdblas_fn_names[ID]); |
||||
if (!func) |
||||
{ |
||||
std::ostringstream msg; |
||||
msg << "OpenCL AMD BLAS function is not available: [" << openclamdblas_fn_names[ID] << "]"; |
||||
CV_Error(CV_StsBadFunc, msg.str()); |
||||
} |
||||
extern void* openclamdblas_fn_ptrs[]; |
||||
*(void**)(openclamdblas_fn_ptrs[ID]) = func; |
||||
return func; |
||||
} |
||||
|
||||
namespace { |
||||
@CL_FN_SWITCH@ |
||||
} |
||||
|
||||
@CL_FN_DEFINITIONS@ |
||||
|
||||
@CL_FN_PTRS@ |
||||
|
||||
#endif |
@ -1,25 +0,0 @@ |
||||
#ifndef __OPENCV_OCL_CLAMDBLAS_RUNTIME_HPP__ |
||||
#define __OPENCV_OCL_CLAMDBLAS_RUNTIME_HPP__ |
||||
|
||||
#ifdef HAVE_CLAMDBLAS |
||||
|
||||
@CLAMDBLAS_REMAP_ORIGIN@ |
||||
|
||||
#include <clAmdBlas.h> |
||||
|
||||
@CLAMDBLAS_REMAP_DYNAMIC@ |
||||
|
||||
#ifndef CL_RUNTIME_EXPORT |
||||
#if (defined(BUILD_SHARED_LIBS) || defined(OPENCV_OCL_SHARED)) && (defined WIN32 || defined _WIN32 || defined WINCE) |
||||
#define CL_RUNTIME_EXPORT __declspec(dllimport) |
||||
#else |
||||
#define CL_RUNTIME_EXPORT |
||||
#endif |
||||
#endif |
||||
|
||||
|
||||
@CLAMDBLAS_FN_DECLARATIONS@ |
||||
|
||||
#endif |
||||
|
||||
#endif // __OPENCV_OCL_CLAMDBLAS_RUNTIME_HPP__
|
@ -1,75 +0,0 @@ |
||||
#include "precomp.hpp" |
||||
|
||||
#ifdef HAVE_CLAMDFFT |
||||
|
||||
#include "opencv2/ocl/cl_runtime/cl_runtime.hpp" |
||||
#include "opencv2/ocl/cl_runtime/clamdfft_runtime.hpp" |
||||
|
||||
#if defined(_WIN32) |
||||
static void* WinGetProcAddress(const char* name) |
||||
{ |
||||
static HMODULE opencl_module = NULL; |
||||
if (!opencl_module) |
||||
{ |
||||
opencl_module = GetModuleHandleA("clAmdFft.Runtime.dll"); |
||||
if (!opencl_module) |
||||
{ |
||||
opencl_module = LoadLibraryA("clAmdFft.Runtime.dll"); |
||||
if (!opencl_module) |
||||
return NULL; |
||||
} |
||||
} |
||||
return (void*)GetProcAddress(opencl_module, name); |
||||
} |
||||
#define CV_CL_GET_PROC_ADDRESS(name) WinGetProcAddress(name) |
||||
#endif // _WIN32
|
||||
|
||||
#if defined(linux) |
||||
#include <dlfcn.h> |
||||
#include <stdio.h> |
||||
|
||||
static void* GetProcAddress (const char* name) |
||||
{ |
||||
static void* h = NULL; |
||||
if (!h) |
||||
{ |
||||
h = dlopen("libclAmdFft.Runtime.so", RTLD_LAZY | RTLD_GLOBAL); |
||||
if (!h) |
||||
return NULL; |
||||
} |
||||
|
||||
return dlsym(h, name); |
||||
} |
||||
#define CV_CL_GET_PROC_ADDRESS(name) GetProcAddress(name) |
||||
#endif |
||||
|
||||
#ifndef CV_CL_GET_PROC_ADDRESS |
||||
#define CV_CL_GET_PROC_ADDRESS(name) NULL |
||||
#endif |
||||
|
||||
@CL_FN_ENUMS@ |
||||
@CL_FN_NAMES@ |
||||
|
||||
static void* openclamdfft_check_fn(int ID) |
||||
{ |
||||
void* func = CV_CL_GET_PROC_ADDRESS(openclamdfft_fn_names[ID]); |
||||
if (!func) |
||||
{ |
||||
std::ostringstream msg; |
||||
msg << "OpenCL AMD FFT function is not available: [" << openclamdfft_fn_names[ID] << "]"; |
||||
CV_Error(CV_StsBadFunc, msg.str()); |
||||
} |
||||
extern void* openclamdfft_fn_ptrs[]; |
||||
*(void**)(openclamdfft_fn_ptrs[ID]) = func; |
||||
return func; |
||||
} |
||||
|
||||
namespace { |
||||
@CL_FN_SWITCH@ |
||||
} |
||||
|
||||
@CL_FN_DEFINITIONS@ |
||||
|
||||
@CL_FN_PTRS@ |
||||
|
||||
#endif |
@ -1,25 +0,0 @@ |
||||
#ifndef __OPENCV_OCL_CLAMDFFT_RUNTIME_HPP__ |
||||
#define __OPENCV_OCL_CLAMDFFT_RUNTIME_HPP__ |
||||
|
||||
#ifdef HAVE_CLAMDFFT |
||||
|
||||
@CLAMDFFT_REMAP_ORIGIN@ |
||||
|
||||
#include <clAmdFft.h> |
||||
|
||||
@CLAMDFFT_REMAP_DYNAMIC@ |
||||
|
||||
#ifndef CL_RUNTIME_EXPORT |
||||
#if (defined(BUILD_SHARED_LIBS) || defined(OPENCV_OCL_SHARED)) && (defined WIN32 || defined _WIN32 || defined WINCE) |
||||
#define CL_RUNTIME_EXPORT __declspec(dllimport) |
||||
#else |
||||
#define CL_RUNTIME_EXPORT |
||||
#endif |
||||
#endif |
||||
|
||||
|
||||
@CLAMDFFT_FN_DECLARATIONS@ |
||||
|
||||
#endif |
||||
|
||||
#endif // __OPENCV_OCL_CLAMDFFT_RUNTIME_HPP__
|
@ -1,10 +0,0 @@ |
||||
@CL_FN_ENUMS@ |
||||
@CL_FN_NAMES@ |
||||
|
||||
namespace { |
||||
@CL_FN_SWITCH@ |
||||
} |
||||
|
||||
@CL_FN_DEFINITIONS@ |
||||
|
||||
@CL_FN_PTRS@ |
@ -1,24 +0,0 @@ |
||||
#ifndef __OPENCV_OCL_CL_RUNTIME_OPENCL_HPP__ |
||||
#define __OPENCV_OCL_CL_RUNTIME_OPENCL_HPP__ |
||||
|
||||
@CL_REMAP_ORIGIN@ |
||||
|
||||
#if defined __APPLE__ |
||||
#include <OpenCL/cl.h> |
||||
#else |
||||
#include <CL/cl.h> |
||||
#endif |
||||
|
||||
@CL_REMAP_DYNAMIC@ |
||||
|
||||
#ifndef CL_RUNTIME_EXPORT |
||||
#if (defined(BUILD_SHARED_LIBS) || defined(OPENCV_OCL_SHARED)) && (defined WIN32 || defined _WIN32 || defined WINCE) |
||||
#define CL_RUNTIME_EXPORT __declspec(dllimport) |
||||
#else |
||||
#define CL_RUNTIME_EXPORT |
||||
#endif |
||||
#endif |
||||
|
||||
@CL_FN_DECLARATIONS@ |
||||
|
||||
#endif // __OPENCV_OCL_CL_RUNTIME_OPENCL_HPP__
|
@ -1,6 +0,0 @@ |
||||
#ifndef __OPENCV_OCL_CL_RUNTIME_OPENCL_WRAPPERS_HPP__ |
||||
#define __OPENCV_OCL_CL_RUNTIME_OPENCL_WRAPPERS_HPP__ |
||||
|
||||
@CL_FN_INLINE_WRAPPERS@ |
||||
|
||||
#endif // __OPENCV_OCL_CL_RUNTIME_OPENCL_WRAPPERS_HPP__
|
Loading…
Reference in new issue