COMPMID-959: Only intercept clEnqueueNDRangeKernel when the timer is enabled

Otherwise we'll start intercepting the cl_tuner run, which we don't want

Change-Id: Ib3d835a02a6cec9617a715bfbeaed506792a00fc
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/131478
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
diff --git a/tests/framework/instruments/OpenCLTimer.cpp b/tests/framework/instruments/OpenCLTimer.cpp
index 4af6dae..4391c43 100644
--- a/tests/framework/instruments/OpenCLTimer.cpp
+++ b/tests/framework/instruments/OpenCLTimer.cpp
@@ -45,7 +45,7 @@
 }
 
 OpenCLTimer::OpenCLTimer(ScaleFactor scale_factor)
-    : _kernels(), _real_function(nullptr), _real_graph_function(nullptr), _prefix()
+    : _kernels(), _real_function(nullptr), _real_graph_function(nullptr), _prefix(), _timer_enabled(false)
 {
     auto                        q     = CLScheduler::get().queue();
     cl_command_queue_properties props = q.getInfo<CL_QUEUE_PROPERTIES>();
@@ -95,27 +95,34 @@
                                const cl_event * event_wait_list,
                                cl_event *       event)
     {
-        ARM_COMPUTE_ERROR_ON_MSG(event != nullptr, "Not supported");
-        ARM_COMPUTE_UNUSED(event);
+        if(this->_timer_enabled)
+        {
+            ARM_COMPUTE_ERROR_ON_MSG(event != nullptr, "Not supported");
+            ARM_COMPUTE_UNUSED(event);
 
-        OpenCLTimer::kernel_info info;
-        cl::Kernel               cpp_kernel(kernel, true);
-        std::stringstream        ss;
-        ss << this->_prefix << cpp_kernel.getInfo<CL_KERNEL_FUNCTION_NAME>();
-        if(gws != nullptr)
-        {
-            ss << " GWS[" << gws[0] << "," << gws[1] << "," << gws[2] << "]";
+            OpenCLTimer::kernel_info info;
+            cl::Kernel               cpp_kernel(kernel, true);
+            std::stringstream        ss;
+            ss << this->_prefix << cpp_kernel.getInfo<CL_KERNEL_FUNCTION_NAME>();
+            if(gws != nullptr)
+            {
+                ss << " GWS[" << gws[0] << "," << gws[1] << "," << gws[2] << "]";
+            }
+            if(lws != nullptr)
+            {
+                ss << " LWS[" << lws[0] << "," << lws[1] << "," << lws[2] << "]";
+            }
+            info.name = ss.str();
+            cl_event tmp;
+            cl_int   retval = this->_real_function(command_queue, kernel, work_dim, gwo, gws, lws, num_events_in_wait_list, event_wait_list, &tmp);
+            info.event      = tmp;
+            this->_kernels.push_back(std::move(info));
+            return retval;
         }
-        if(lws != nullptr)
+        else
         {
-            ss << " LWS[" << lws[0] << "," << lws[1] << "," << lws[2] << "]";
+            return this->_real_function(command_queue, kernel, work_dim, gwo, gws, lws, num_events_in_wait_list, event_wait_list, event);
         }
-        info.name = ss.str();
-        cl_event tmp;
-        cl_int   retval = this->_real_function(command_queue, kernel, work_dim, gwo, gws, lws, num_events_in_wait_list, event_wait_list, &tmp);
-        info.event      = tmp;
-        this->_kernels.push_back(std::move(info));
-        return retval;
     };
 
     // Start intercepting tasks:
@@ -140,6 +147,11 @@
 void OpenCLTimer::start()
 {
     _kernels.clear();
+    _timer_enabled = true;
+}
+void OpenCLTimer::stop()
+{
+    _timer_enabled = false;
 }
 
 void OpenCLTimer::test_stop()