IVGCVSW-3402 Support HAL 1.2 version of ResizeBilinear

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ide4754ccfd905b85afafd0eb626973f0745fe6ec
diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp
index 99cc980..1c6159e 100644
--- a/1.2/HalPolicy.cpp
+++ b/1.2/HalPolicy.cpp
@@ -42,7 +42,6 @@
         case V1_0::OperationType::RELU1:
         case V1_0::OperationType::RELU6:
         case V1_0::OperationType::RESHAPE:
-        case V1_0::OperationType::RESIZE_BILINEAR:
         case V1_0::OperationType::RNN:
         case V1_0::OperationType::SOFTMAX:
         case V1_0::OperationType::SPACE_TO_DEPTH:
@@ -142,8 +141,10 @@
             return ConvertDepthwiseConv2d(operation, model, data);
         case V1_2::OperationType::PRELU:
             return ConvertPrelu(operation, model, data);
+        case V1_2::OperationType::RESIZE_BILINEAR:
+            return ConvertResize(operation, model, data, armnn::ResizeMethod::Bilinear);
         case V1_2::OperationType::RESIZE_NEAREST_NEIGHBOR:
-            return ConvertResizeNearestNeighbor(operation, model, data);
+            return ConvertResize(operation, model, data, armnn::ResizeMethod::NearestNeighbor);
         default:
             return Fail("%s: Operation type %s not supported in ArmnnDriver",
                         __func__, toString(operation.type).c_str());
@@ -472,7 +473,10 @@
     return SetupAndTrackLayerOutputSlot<hal_1_2::HalPolicy>(operation, 0, *layer, model, data);
 }
 
-bool HalPolicy::ConvertResizeNearestNeighbor(const Operation& operation, const Model& model, ConversionData& data)
+bool HalPolicy::ConvertResize(const Operation& operation,
+                              const Model& model,
+                              ConversionData& data,
+                              armnn::ResizeMethod resizeMethod)
 {
         LayerInputHandle input = ConvertToLayerInputHandle<hal_1_2::HalPolicy>(operation, 0, model, data);
     if (!input.IsValid())
@@ -490,7 +494,7 @@
     const armnn::TensorInfo& outputInfo = GetTensorInfoForOperand(*output);
 
     armnn::ResizeDescriptor descriptor;
-    descriptor.m_Method     = armnn::ResizeMethod::NearestNeighbor;
+    descriptor.m_Method     = resizeMethod;
     descriptor.m_DataLayout = OptionalDataLayout<hal_1_2::HalPolicy>(operation, 3, model, data);
 
     OperandType operandType1;
diff --git a/1.2/HalPolicy.hpp b/1.2/HalPolicy.hpp
index 762b106..a7bef24 100644
--- a/1.2/HalPolicy.hpp
+++ b/1.2/HalPolicy.hpp
@@ -9,6 +9,8 @@
 
 #include <HalInterfaces.h>
 
+#include <armnn/Types.hpp>
+
 namespace armnn_driver
 {
 namespace hal_1_2
@@ -30,9 +32,15 @@
 
 private:
     static bool ConvertConv2d(const Operation& operation, const Model& model, ConversionData& data);
+
     static bool ConvertDepthwiseConv2d(const Operation& operation, const Model& model, ConversionData& data);
+
     static bool ConvertPrelu(const Operation& operation, const Model& model, ConversionData& data);
-    static bool ConvertResizeNearestNeighbor(const Operation& operation, const Model& model, ConversionData& data);
+
+    static bool ConvertResize(const Operation& operation,
+                              const Model& model,
+                              ConversionData& data,
+                              armnn::ResizeMethod resizeMethod);
 };
 
 } // namespace hal_1_2