aboutsummaryrefslogtreecommitdiff
path: root/src/core/CL/OpenCL.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/CL/OpenCL.cpp')
-rw-r--r--src/core/CL/OpenCL.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/CL/OpenCL.cpp b/src/core/CL/OpenCL.cpp
index 4eba709b52..085e186543 100644
--- a/src/core/CL/OpenCL.cpp
+++ b/src/core/CL/OpenCL.cpp
@@ -81,6 +81,7 @@ bool CLSymbols::load(const std::string &library)
clCreateKernel = reinterpret_cast<clCreateKernel_func>(dlsym(handle, "clCreateKernel"));
clGetProgramInfo = reinterpret_cast<clGetProgramInfo_func>(dlsym(handle, "clGetProgramInfo"));
clFlush = reinterpret_cast<clFlush_func>(dlsym(handle, "clFlush"));
+ clFinish = reinterpret_cast<clFinish_func>(dlsym(handle, "clFinish"));
clReleaseProgram = reinterpret_cast<clReleaseProgram_func>(dlsym(handle, "clReleaseProgram"));
clRetainContext = reinterpret_cast<clRetainContext_func>(dlsym(handle, "clRetainContext"));
clCreateProgramWithBinary = reinterpret_cast<clCreateProgramWithBinary_func>(dlsym(handle, "clCreateProgramWithBinary"));
@@ -438,6 +439,20 @@ cl_int clFlush(cl_command_queue command_queue)
}
}
+cl_int clFinish(cl_command_queue command_queue)
+{
+ arm_compute::CLSymbols::get().load_default();
+ auto func = arm_compute::CLSymbols::get().clFinish;
+ if(func != nullptr)
+ {
+ return func(command_queue);
+ }
+ else
+ {
+ return CL_OUT_OF_RESOURCES;
+ }
+}
+
cl_int clGetProgramInfo(
cl_program program,
cl_program_info param_name,