diff options
Diffstat (limited to 'src/core/CL/OpenCL.cpp')
-rw-r--r-- | src/core/CL/OpenCL.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/core/CL/OpenCL.cpp b/src/core/CL/OpenCL.cpp index 0ef800f265..a8ed9733ef 100644 --- a/src/core/CL/OpenCL.cpp +++ b/src/core/CL/OpenCL.cpp @@ -115,6 +115,8 @@ bool CLSymbols::load(const std::string &library) LOAD_FUNCTION_PTR(clSVMFree, handle); LOAD_FUNCTION_PTR(clEnqueueSVMMap, handle); LOAD_FUNCTION_PTR(clEnqueueSVMUnmap, handle); + LOAD_FUNCTION_PTR(clEnqueueMarker, handle); + LOAD_FUNCTION_PTR(clWaitForEvents, handle); #undef LOAD_FUNCTION_PTR @@ -133,6 +135,36 @@ bool opencl_is_available() } } // namespace arm_compute +cl_int clEnqueueMarker(cl_command_queue command_queue, + cl_event *event) +{ + arm_compute::CLSymbols::get().load_default(); + auto func = arm_compute::CLSymbols::get().clEnqueueMarker_ptr; + if(func != nullptr) + { + return func(command_queue, event); + } + else + { + return CL_OUT_OF_RESOURCES; + } +} + +cl_int clWaitForEvents(cl_uint num_events, + const cl_event *event_list) +{ + arm_compute::CLSymbols::get().load_default(); + auto func = arm_compute::CLSymbols::get().clWaitForEvents_ptr; + if(func != nullptr) + { + return func(num_events, event_list); + } + else + { + return CL_OUT_OF_RESOURCES; + } +} + cl_int clEnqueueSVMMap(cl_command_queue command_queue, cl_bool blocking_map, cl_map_flags flags, void *svm_ptr, size_t size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) { |