IVGCVSW-7569 GpuFsa Op: Add Reshape Operator

  * Add Reshape EndToEnd tests to all backends

Signed-off-by: Declan-ARM <decmce01@arm.com>
Change-Id: Ic6d07ba8de0cf3271ed0e4c6d604e070ccb968e3
diff --git a/src/backends/gpuFsa/GpuFsaLayerSupport.cpp b/src/backends/gpuFsa/GpuFsaLayerSupport.cpp
index d75f18c..2065998 100644
--- a/src/backends/gpuFsa/GpuFsaLayerSupport.cpp
+++ b/src/backends/gpuFsa/GpuFsaLayerSupport.cpp
@@ -17,6 +17,7 @@
 #include "layers/GpuFsaDepthwiseConvolution2d.hpp"
 #include "layers/GpuFsaElementwiseBinary.hpp"
 #include "layers/GpuFsaPooling2d.hpp"
+#include "layers/GpuFsaReshape.hpp"
 #include "layers/GpuFsaResize.hpp"
 #include "layers/GpuFsaSoftmax.hpp"
 #endif
@@ -206,6 +207,21 @@
                                         infos[0],
                                         *desc);
         }
+        case LayerType::Reshape:
+        {
+            if (infos.size() != 2)
+            {
+                throw InvalidArgumentException("Invalid number of Reshape TensorInfos. "
+                                               "TensorInfos should be of format: { input, output }.");
+            }
+
+            auto desc = PolymorphicDowncast<const ReshapeDescriptor*>(&descriptor);
+
+            FORWARD_LAYER_VALIDATE_FUNC(GpuFsaReshapeValidate,
+                                        reasonIfUnsupported,
+                                        infos[0],
+                                        *desc);
+        }
         case LayerType::Resize:
         {
             if (infos.size() != 2)