diff --git a/modules/core/src/opencl/runtime/autogenerated/opencl_clamdblas_impl.hpp b/modules/core/src/opencl/runtime/autogenerated/opencl_clamdblas_impl.hpp index 2ea58c220..8ff3cec90 100644 --- a/modules/core/src/opencl/runtime/autogenerated/opencl_clamdblas_impl.hpp +++ b/modules/core/src/opencl/runtime/autogenerated/opencl_clamdblas_impl.hpp @@ -1,10 +1,6 @@ // // AUTOGENERATED, DO NOT EDIT // -#ifndef ADDITIONAL_FN_DEFINITIONS -#define ADDITIONAL_FN_DEFINITIONS -#endif - // generated by parser_clamdblas.py enum OPENCLAMDBLAS_FN_ID { // OPENCLAMDBLAS_FN_clAmdBlasAddScratchImage = 0, @@ -1251,7 +1247,6 @@ static const struct DynamicFnEntry* openclamdblas_fn[] = { NULL/*&clAmdBlasiDamax_definition*/, NULL/*&clAmdBlasiSamax_definition*/, NULL/*&clAmdBlasiZamax_definition*/, - ADDITIONAL_FN_DEFINITIONS // macro for custom functions }; // number of enabled functions: 6 diff --git a/modules/core/src/opencl/runtime/autogenerated/opencl_clamdfft_impl.hpp b/modules/core/src/opencl/runtime/autogenerated/opencl_clamdfft_impl.hpp index 1742ab606..d5bdf7e0b 100644 --- a/modules/core/src/opencl/runtime/autogenerated/opencl_clamdfft_impl.hpp +++ b/modules/core/src/opencl/runtime/autogenerated/opencl_clamdfft_impl.hpp @@ -1,10 +1,6 @@ // // AUTOGENERATED, DO NOT EDIT // -#ifndef ADDITIONAL_FN_DEFINITIONS -#define ADDITIONAL_FN_DEFINITIONS -#endif - // generated by parser_clamdfft.py enum OPENCLAMDFFT_FN_ID { OPENCLAMDFFT_FN_clAmdFftBakePlan = 0, @@ -393,7 +389,6 @@ static const struct DynamicFnEntry* openclamdfft_fn[] = { &clAmdFftSetResultLocation_definition, &clAmdFftSetup_definition, &clAmdFftTeardown_definition, - ADDITIONAL_FN_DEFINITIONS // macro for custom functions }; // number of enabled functions: 15 diff --git a/modules/core/src/opencl/runtime/autogenerated/opencl_core_impl.hpp b/modules/core/src/opencl/runtime/autogenerated/opencl_core_impl.hpp index a40a5fd91..913b52313 100644 --- a/modules/core/src/opencl/runtime/autogenerated/opencl_core_impl.hpp +++ b/modules/core/src/opencl/runtime/autogenerated/opencl_core_impl.hpp @@ -1,11 +1,6 @@ // // AUTOGENERATED, DO NOT EDIT // - -#ifndef ADDITIONAL_FN_DEFINITIONS -#define ADDITIONAL_FN_DEFINITIONS -#endif - // generated by parser_cl.py enum OPENCL_FN_ID { OPENCL_FN_clBuildProgram = 0, @@ -666,7 +661,6 @@ static const struct DynamicFnEntry* opencl_fn_list[] = { &clUnloadCompiler_definition, &clUnloadPlatformCompiler_definition, &clWaitForEvents_definition, - ADDITIONAL_FN_DEFINITIONS // macro for custom functions }; // number of enabled functions: 88 diff --git a/modules/core/src/opencl/runtime/generator/common.py b/modules/core/src/opencl/runtime/generator/common.py index ed0face06..80c545295 100644 --- a/modules/core/src/opencl/runtime/generator/common.py +++ b/modules/core/src/opencl/runtime/generator/common.py @@ -161,7 +161,6 @@ def generateListOfDefinitions(fns, name='opencl_fn_list'): else: print ' NULL/*&%s_definition*/,' % (fn['name']) first = False - print ' ADDITIONAL_FN_DEFINITIONS // macro for custom functions' print '};' @outputToString diff --git a/modules/core/src/opencl/runtime/generator/template/opencl_clamdblas_impl.hpp.in b/modules/core/src/opencl/runtime/generator/template/opencl_clamdblas_impl.hpp.in index 11c834f22..f3d12558e 100644 --- a/modules/core/src/opencl/runtime/generator/template/opencl_clamdblas_impl.hpp.in +++ b/modules/core/src/opencl/runtime/generator/template/opencl_clamdblas_impl.hpp.in @@ -1,7 +1,3 @@ -#ifndef ADDITIONAL_FN_DEFINITIONS -#define ADDITIONAL_FN_DEFINITIONS -#endif - @CL_FN_ENUMS@ namespace { diff --git a/modules/core/src/opencl/runtime/generator/template/opencl_clamdfft_impl.hpp.in b/modules/core/src/opencl/runtime/generator/template/opencl_clamdfft_impl.hpp.in index 11c834f22..f3d12558e 100644 --- a/modules/core/src/opencl/runtime/generator/template/opencl_clamdfft_impl.hpp.in +++ b/modules/core/src/opencl/runtime/generator/template/opencl_clamdfft_impl.hpp.in @@ -1,7 +1,3 @@ -#ifndef ADDITIONAL_FN_DEFINITIONS -#define ADDITIONAL_FN_DEFINITIONS -#endif - @CL_FN_ENUMS@ namespace { diff --git a/modules/core/src/opencl/runtime/generator/template/opencl_core_impl.hpp.in b/modules/core/src/opencl/runtime/generator/template/opencl_core_impl.hpp.in index f3adb6647..14586017a 100644 --- a/modules/core/src/opencl/runtime/generator/template/opencl_core_impl.hpp.in +++ b/modules/core/src/opencl/runtime/generator/template/opencl_core_impl.hpp.in @@ -1,8 +1,3 @@ - -#ifndef ADDITIONAL_FN_DEFINITIONS -#define ADDITIONAL_FN_DEFINITIONS -#endif - @CL_FN_ENUMS@ namespace { diff --git a/modules/core/src/opencl/runtime/opencl_clamdblas.cpp b/modules/core/src/opencl/runtime/opencl_clamdblas.cpp index 6296ef674..e7ff79e3c 100644 --- a/modules/core/src/opencl/runtime/opencl_clamdblas.cpp +++ b/modules/core/src/opencl/runtime/opencl_clamdblas.cpp @@ -100,8 +100,6 @@ static void* openclamdblas_check_fn(int ID); #define CUSTOM_FUNCTION_ID 1000 -#undef ADDITIONAL_FN_DEFINITIONS - // // END OF CUSTOM FUNCTIONS HERE // @@ -110,7 +108,6 @@ static void* openclamdblas_check_fn(int ID); static void* openclamdblas_check_fn(int ID) { - ID = (ID <= CUSTOM_FUNCTION_ID) ? ID : ID - CUSTOM_FUNCTION_ID; assert(ID >= 0 && ID < (int)(sizeof(openclamdblas_fn)/sizeof(openclamdblas_fn[0]))); const struct DynamicFnEntry* e = openclamdblas_fn[ID]; void* func = CV_CL_GET_PROC_ADDRESS(e->fnName); diff --git a/modules/core/src/opencl/runtime/opencl_clamdfft.cpp b/modules/core/src/opencl/runtime/opencl_clamdfft.cpp index 2514b0a57..d42bef9b8 100644 --- a/modules/core/src/opencl/runtime/opencl_clamdfft.cpp +++ b/modules/core/src/opencl/runtime/opencl_clamdfft.cpp @@ -100,8 +100,6 @@ static void* openclamdfft_check_fn(int ID); #define CUSTOM_FUNCTION_ID 1000 -#undef ADDITIONAL_FN_DEFINITIONS - // // END OF CUSTOM FUNCTIONS HERE // @@ -110,7 +108,6 @@ static void* openclamdfft_check_fn(int ID); static void* openclamdfft_check_fn(int ID) { - ID = (ID <= CUSTOM_FUNCTION_ID) ? ID : ID - CUSTOM_FUNCTION_ID; assert(ID >= 0 && ID < (int)(sizeof(openclamdfft_fn)/sizeof(openclamdfft_fn[0]))); const struct DynamicFnEntry* e = openclamdfft_fn[ID]; void* func = CV_CL_GET_PROC_ADDRESS(e->fnName); diff --git a/modules/core/src/opencl/runtime/opencl_core.cpp b/modules/core/src/opencl/runtime/opencl_core.cpp index d8f231b2d..238a5bdfb 100644 --- a/modules/core/src/opencl/runtime/opencl_core.cpp +++ b/modules/core/src/opencl/runtime/opencl_core.cpp @@ -169,25 +169,30 @@ static void* opencl_check_fn(int ID); #include "runtime_common.hpp" +#include "autogenerated/opencl_core_impl.hpp" + // // BEGIN OF CUSTOM FUNCTIONS // #define CUSTOM_FUNCTION_ID 1000 -#undef ADDITIONAL_FN_DEFINITIONS - // // END OF CUSTOM FUNCTIONS HERE // -#include "autogenerated/opencl_core_impl.hpp" - static void* opencl_check_fn(int ID) { - ID = (ID <= CUSTOM_FUNCTION_ID) ? ID : ID - CUSTOM_FUNCTION_ID; - assert(ID >= 0 && ID < (int)(sizeof(opencl_fn_list)/sizeof(opencl_fn_list[0]))); - const struct DynamicFnEntry* e = opencl_fn_list[ID]; + const struct DynamicFnEntry* e = NULL; + if (ID < CUSTOM_FUNCTION_ID) + { + assert(ID >= 0 && ID < (int)(sizeof(opencl_fn_list)/sizeof(opencl_fn_list[0]))); + e = opencl_fn_list[ID]; + } + else + { + CV_ErrorNoReturn(cv::Error::StsBadArg, "Invalid function ID"); + } void* func = CV_CL_GET_PROC_ADDRESS(e->fnName); if (!func) {