Commit 4d474d40 authored by Alexander Alekhin's avatar Alexander Alekhin

Merge pull request #3171 from akarsakov:amd_fft_fix

parents 4c404cb4 d4e6812b
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
#undef clAmdFftGetTmpBufSize #undef clAmdFftGetTmpBufSize
#define clAmdFftGetTmpBufSize clAmdFftGetTmpBufSize_pfn #define clAmdFftGetTmpBufSize clAmdFftGetTmpBufSize_pfn
#undef clAmdFftGetVersion #undef clAmdFftGetVersion
//#define clAmdFftGetVersion clAmdFftGetVersion_pfn #define clAmdFftGetVersion clAmdFftGetVersion_pfn
#undef clAmdFftSetLayout #undef clAmdFftSetLayout
#define clAmdFftSetLayout clAmdFftSetLayout_pfn #define clAmdFftSetLayout clAmdFftSetLayout_pfn
#undef clAmdFftSetPlanBatchSize #undef clAmdFftSetPlanBatchSize
...@@ -126,7 +126,7 @@ extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftEnqueueTransform)(clAmdFftPlan ...@@ -126,7 +126,7 @@ extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftEnqueueTransform)(clAmdFftPlan
//extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftGetPlanTransposeResult)(const clAmdFftPlanHandle plHandle, clAmdFftResultTransposed* transposed); //extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftGetPlanTransposeResult)(const clAmdFftPlanHandle plHandle, clAmdFftResultTransposed* transposed);
//extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftGetResultLocation)(const clAmdFftPlanHandle plHandle, clAmdFftResultLocation* placeness); //extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftGetResultLocation)(const clAmdFftPlanHandle plHandle, clAmdFftResultLocation* placeness);
extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftGetTmpBufSize)(const clAmdFftPlanHandle plHandle, size_t* buffersize); extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftGetTmpBufSize)(const clAmdFftPlanHandle plHandle, size_t* buffersize);
//extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftGetVersion)(cl_uint* major, cl_uint* minor, cl_uint* patch); extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftGetVersion)(cl_uint* major, cl_uint* minor, cl_uint* patch);
extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftSetLayout)(clAmdFftPlanHandle plHandle, clAmdFftLayout iLayout, clAmdFftLayout oLayout); extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftSetLayout)(clAmdFftPlanHandle plHandle, clAmdFftLayout iLayout, clAmdFftLayout oLayout);
extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftSetPlanBatchSize)(clAmdFftPlanHandle plHandle, size_t batchSize); extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftSetPlanBatchSize)(clAmdFftPlanHandle plHandle, size_t batchSize);
//extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftSetPlanDim)(clAmdFftPlanHandle plHandle, const clAmdFftDim dim); //extern CL_RUNTIME_EXPORT clAmdFftStatus (*clAmdFftSetPlanDim)(clAmdFftPlanHandle plHandle, const clAmdFftDim dim);
......
...@@ -1581,7 +1581,11 @@ protected: ...@@ -1581,7 +1581,11 @@ protected:
{ {
try try
{ {
cl_uint major, minor, patch;
CV_Assert(clAmdFftInitSetupData(&setupData) == CLFFT_SUCCESS); CV_Assert(clAmdFftInitSetupData(&setupData) == CLFFT_SUCCESS);
// it throws exception in case AmdFft binaries are not found
CV_Assert(clAmdFftGetVersion(&major, &minor, &patch) == CLFFT_SUCCESS);
g_isAmdFftAvailable = true; g_isAmdFftAvailable = true;
} }
catch (const Exception &) catch (const Exception &)
......
...@@ -21,7 +21,7 @@ enum OPENCLAMDFFT_FN_ID { ...@@ -21,7 +21,7 @@ enum OPENCLAMDFFT_FN_ID {
// OPENCLAMDFFT_FN_clAmdFftGetPlanTransposeResult = 15, // OPENCLAMDFFT_FN_clAmdFftGetPlanTransposeResult = 15,
// OPENCLAMDFFT_FN_clAmdFftGetResultLocation = 16, // OPENCLAMDFFT_FN_clAmdFftGetResultLocation = 16,
OPENCLAMDFFT_FN_clAmdFftGetTmpBufSize = 17, OPENCLAMDFFT_FN_clAmdFftGetTmpBufSize = 17,
// OPENCLAMDFFT_FN_clAmdFftGetVersion = 18, OPENCLAMDFFT_FN_clAmdFftGetVersion = 18,
OPENCLAMDFFT_FN_clAmdFftSetLayout = 19, OPENCLAMDFFT_FN_clAmdFftSetLayout = 19,
OPENCLAMDFFT_FN_clAmdFftSetPlanBatchSize = 20, OPENCLAMDFFT_FN_clAmdFftSetPlanBatchSize = 20,
// OPENCLAMDFFT_FN_clAmdFftSetPlanDim = 21, // OPENCLAMDFFT_FN_clAmdFftSetPlanDim = 21,
...@@ -298,9 +298,9 @@ clAmdFftStatus (*clAmdFftGetTmpBufSize)(const clAmdFftPlanHandle, size_t*) = ...@@ -298,9 +298,9 @@ clAmdFftStatus (*clAmdFftGetTmpBufSize)(const clAmdFftPlanHandle, size_t*) =
openclamdfft_fn2<OPENCLAMDFFT_FN_clAmdFftGetTmpBufSize, clAmdFftStatus, const clAmdFftPlanHandle, size_t*>::switch_fn; openclamdfft_fn2<OPENCLAMDFFT_FN_clAmdFftGetTmpBufSize, clAmdFftStatus, const clAmdFftPlanHandle, size_t*>::switch_fn;
static const struct DynamicFnEntry clAmdFftGetTmpBufSize_definition = { "clAmdFftGetTmpBufSize", (void**)&clAmdFftGetTmpBufSize}; static const struct DynamicFnEntry clAmdFftGetTmpBufSize_definition = { "clAmdFftGetTmpBufSize", (void**)&clAmdFftGetTmpBufSize};
//clAmdFftStatus (*clAmdFftGetVersion)(cl_uint*, cl_uint*, cl_uint*) = clAmdFftStatus (*clAmdFftGetVersion)(cl_uint*, cl_uint*, cl_uint*) =
// openclamdfft_fn3<OPENCLAMDFFT_FN_clAmdFftGetVersion, clAmdFftStatus, cl_uint*, cl_uint*, cl_uint*>::switch_fn; openclamdfft_fn3<OPENCLAMDFFT_FN_clAmdFftGetVersion, clAmdFftStatus, cl_uint*, cl_uint*, cl_uint*>::switch_fn;
//static const struct DynamicFnEntry clAmdFftGetVersion_definition = { "clAmdFftGetVersion", (void**)&clAmdFftGetVersion}; static const struct DynamicFnEntry clAmdFftGetVersion_definition = { "clAmdFftGetVersion", (void**)&clAmdFftGetVersion};
clAmdFftStatus (*clAmdFftSetLayout)(clAmdFftPlanHandle, clAmdFftLayout, clAmdFftLayout) = clAmdFftStatus (*clAmdFftSetLayout)(clAmdFftPlanHandle, clAmdFftLayout, clAmdFftLayout) =
openclamdfft_fn3<OPENCLAMDFFT_FN_clAmdFftSetLayout, clAmdFftStatus, clAmdFftPlanHandle, clAmdFftLayout, clAmdFftLayout>::switch_fn; openclamdfft_fn3<OPENCLAMDFFT_FN_clAmdFftSetLayout, clAmdFftStatus, clAmdFftPlanHandle, clAmdFftLayout, clAmdFftLayout>::switch_fn;
...@@ -375,7 +375,7 @@ static const struct DynamicFnEntry* openclamdfft_fn[] = { ...@@ -375,7 +375,7 @@ static const struct DynamicFnEntry* openclamdfft_fn[] = {
NULL/*&clAmdFftGetPlanTransposeResult_definition*/, NULL/*&clAmdFftGetPlanTransposeResult_definition*/,
NULL/*&clAmdFftGetResultLocation_definition*/, NULL/*&clAmdFftGetResultLocation_definition*/,
&clAmdFftGetTmpBufSize_definition, &clAmdFftGetTmpBufSize_definition,
NULL/*&clAmdFftGetVersion_definition*/, &clAmdFftGetVersion_definition,
&clAmdFftSetLayout_definition, &clAmdFftSetLayout_definition,
&clAmdFftSetPlanBatchSize_definition, &clAmdFftSetPlanBatchSize_definition,
NULL/*&clAmdFftSetPlanDim_definition*/, NULL/*&clAmdFftSetPlanDim_definition*/,
...@@ -391,4 +391,4 @@ static const struct DynamicFnEntry* openclamdfft_fn[] = { ...@@ -391,4 +391,4 @@ static const struct DynamicFnEntry* openclamdfft_fn[] = {
&clAmdFftTeardown_definition, &clAmdFftTeardown_definition,
}; };
// number of enabled functions: 15 // number of enabled functions: 16
...@@ -16,7 +16,7 @@ clAmdFftEnqueueTransform ...@@ -16,7 +16,7 @@ clAmdFftEnqueueTransform
//clAmdFftGetPlanTransposeResult //clAmdFftGetPlanTransposeResult
//clAmdFftGetResultLocation //clAmdFftGetResultLocation
clAmdFftGetTmpBufSize clAmdFftGetTmpBufSize
//clAmdFftGetVersion clAmdFftGetVersion
clAmdFftSetLayout clAmdFftSetLayout
clAmdFftSetPlanBatchSize clAmdFftSetPlanBatchSize
//clAmdFftSetPlanDim //clAmdFftSetPlanDim
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment