Merge pull request #2135 from alalek:ocl_runtime_cleanup_2
authorAndrey Pavlenko <andrey.pavlenko@itseez.com>
Sat, 11 Jan 2014 13:15:21 +0000 (17:15 +0400)
committerOpenCV Buildbot <buildbot@opencv.org>
Sat, 11 Jan 2014 13:15:22 +0000 (17:15 +0400)
modules/core/src/opencl/runtime/autogenerated/opencl_clamdblas_impl.hpp
modules/core/src/opencl/runtime/autogenerated/opencl_clamdfft_impl.hpp
modules/core/src/opencl/runtime/autogenerated/opencl_core_impl.hpp
modules/core/src/opencl/runtime/generator/common.py
modules/core/src/opencl/runtime/generator/template/opencl_clamdblas_impl.hpp.in
modules/core/src/opencl/runtime/generator/template/opencl_clamdfft_impl.hpp.in
modules/core/src/opencl/runtime/generator/template/opencl_core_impl.hpp.in
modules/core/src/opencl/runtime/opencl_clamdblas.cpp
modules/core/src/opencl/runtime/opencl_clamdfft.cpp
modules/core/src/opencl/runtime/opencl_core.cpp

index 2ea58c2..8ff3cec 100644 (file)
@@ -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
index 1742ab6..d5bdf7e 100644 (file)
@@ -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
index a40a5fd..913b523 100644 (file)
@@ -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
index ed0face..80c5452 100644 (file)
@@ -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
index 6296ef6..e7ff79e 100644 (file)
@@ -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);
index 2514b0a..d42bef9 100644 (file)
@@ -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);
index d8f231b..238a5bd 100644 (file)
@@ -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)
     {