IVGCVSW-3571 Fix VTS Test Skips

 * Fixed FP16 failures on Max, Min, BatchToSpace on Gpu
 * Fixed Signed32 skips on Maximum and Minimum

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I4bea19af1a0ae4c8950af8c6d5d68622cdd9b674
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp
index 6667eab..88cd6a6 100644
--- a/src/backends/backendsCommon/WorkloadData.cpp
+++ b/src/backends/backendsCommon/WorkloadData.cpp
@@ -1715,7 +1715,9 @@
 
     std::vector<DataType> supportedTypes =
     {
+        DataType::Float16,
         DataType::Float32,
+        DataType::Signed32,
         DataType::QuantisedAsymm8,
         DataType::QuantisedSymm16
     };
@@ -1834,6 +1836,7 @@
     std::vector<DataType> supportedTypes =
     {
             DataType::Float32,
+            DataType::Float16,
             DataType::QuantisedAsymm8,
             DataType::QuantisedSymm16
     };
@@ -1910,7 +1913,9 @@
 
     std::vector<DataType> supportedTypes =
     {
+        DataType::Float16,
         DataType::Float32,
+        DataType::Signed32,
         DataType::QuantisedAsymm8,
         DataType::QuantisedSymm16
     };
diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp
index ba1623a..df9ba1f 100644
--- a/src/backends/reference/RefLayerSupport.cpp
+++ b/src/backends/reference/RefLayerSupport.cpp
@@ -1034,8 +1034,9 @@
 {
     bool supported = true;
 
-    std::array<DataType,3> supportedTypes = {
+    std::array<DataType,4> supportedTypes = {
         DataType::Float32,
+        DataType::Signed32,
         DataType::QuantisedAsymm8,
         DataType::QuantisedSymm16
     };
@@ -1163,8 +1164,9 @@
 {
     bool supported = true;
 
-    std::array<DataType,3> supportedTypes = {
+    std::array<DataType,4> supportedTypes = {
         DataType::Float32,
+        DataType::Signed32,
         DataType::QuantisedAsymm8,
         DataType::QuantisedSymm16
     };
diff --git a/src/backends/reference/RefWorkloadFactory.cpp b/src/backends/reference/RefWorkloadFactory.cpp
index 925eb6a..240acec 100644
--- a/src/backends/reference/RefWorkloadFactory.cpp
+++ b/src/backends/reference/RefWorkloadFactory.cpp
@@ -380,6 +380,10 @@
 std::unique_ptr<armnn::IWorkload> RefWorkloadFactory::CreateMaximum(
     const MaximumQueueDescriptor& descriptor, const WorkloadInfo& info) const
 {
+    if (IsFloat16(info))
+    {
+        return MakeWorkload<NullWorkload, NullWorkload>(descriptor, info);
+    }
     return std::make_unique<RefMaximumWorkload>(descriptor, info);
 }
 
@@ -396,6 +400,10 @@
 std::unique_ptr<armnn::IWorkload> RefWorkloadFactory::CreateMinimum(
     const MinimumQueueDescriptor& descriptor, const WorkloadInfo& info) const
 {
+    if (IsFloat16(info))
+    {
+        return MakeWorkload<NullWorkload, NullWorkload>(descriptor, info);
+    }
     return std::make_unique<RefMinimumWorkload>(descriptor, info);
 }