IVGCVSW-2928 Fix issue with GPU profiling

Correctly enable GPU profiling when test profiling is enabled.

Remove extra copy of the profiling-enabled flag from InferenceModel::Params
and correctly pass around the copy that is in InferenceTestOptions.

!referencetests:180329

Change-Id: I0daa1bab2e7068fc479bf417a553183b1d922166
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
diff --git a/tests/InferenceTest.inl b/tests/InferenceTest.inl
index 538720b..0112037 100644
--- a/tests/InferenceTest.inl
+++ b/tests/InferenceTest.inl
@@ -162,7 +162,8 @@
 }
 
 template <typename TDatabase, typename InferenceModel>
-bool ClassifierTestCaseProvider<TDatabase, InferenceModel>::ProcessCommandLineOptions()
+bool ClassifierTestCaseProvider<TDatabase, InferenceModel>::ProcessCommandLineOptions(
+        const InferenceTestOptions& commonOptions)
 {
     if (!ValidateDirectory(m_DataDir))
     {
@@ -171,7 +172,7 @@
 
     ReadPredictions();
 
-    m_Model = m_ConstructModel(m_ModelCommandLineOptions);
+    m_Model = m_ConstructModel(commonOptions, m_ModelCommandLineOptions);
     if (!m_Model)
     {
         return false;
@@ -336,7 +337,8 @@
 
             return make_unique<TestCaseProvider>(constructDatabase,
                 [&]
-                (typename InferenceModel::CommandLineOptions modelOptions)
+                (const InferenceTestOptions &commonOptions,
+                 typename InferenceModel::CommandLineOptions modelOptions)
                 {
                     if (!ValidateDirectory(modelOptions.m_ModelDir))
                     {
@@ -358,7 +360,7 @@
                     modelParams.m_VisualizePostOptimizationModel = modelOptions.m_VisualizePostOptimizationModel;
                     modelParams.m_EnableFp16TurboMode = modelOptions.m_EnableFp16TurboMode;
 
-                    return std::make_unique<InferenceModel>(modelParams);
+                    return std::make_unique<InferenceModel>(modelParams, commonOptions.m_EnableProfiling);
             });
         });
 }