COMPMID-452 CL Generic Depthwise Convolution implementation.

Change-Id: I115e48fe6ce5e281f3791aa5d80fdc754cdd2b5e
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/85082
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
diff --git a/src/core/CL/OpenCL.cpp b/src/core/CL/OpenCL.cpp
index 0f44ad9..c997116 100644
--- a/src/core/CL/OpenCL.cpp
+++ b/src/core/CL/OpenCL.cpp
@@ -99,6 +99,7 @@
     clReleaseMemObject        = reinterpret_cast<clReleaseMemObject_func>(dlsym(handle, "clReleaseMemObject"));
     clGetDeviceInfo           = reinterpret_cast<clGetDeviceInfo_func>(dlsym(handle, "clGetDeviceInfo"));
     clGetDeviceIDs            = reinterpret_cast<clGetDeviceIDs_func>(dlsym(handle, "clGetDeviceIDs"));
+    clRetainEvent             = reinterpret_cast<clRetainEvent_func>(dlsym(handle, "clRetainEvent"));
 
     dlclose(handle);
 
@@ -617,3 +618,16 @@
         return CL_OUT_OF_RESOURCES;
     }
 }
+
+cl_int clRetainEvent(cl_event event)
+{
+    auto func = arm_compute::CLSymbols::get().clRetainEvent;
+    if(func != nullptr)
+    {
+        return func(event);
+    }
+    else
+    {
+        return CL_OUT_OF_RESOURCES;
+    }
+}