IVGCVSW-7623: GpuFsa Op: Add Pool2d operator

* Add Pool2d EndToEnd tests to all backends
* Add utility functions for the attributes in a separate file
* Remove some unnecessary includes

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I0f82ebbf7b3301c6368462fb4fb4d4d02b246fc6
diff --git a/src/backends/gpuFsa/test/GpuFsaLayerSupportTests.cpp b/src/backends/gpuFsa/test/GpuFsaLayerSupportTests.cpp
index 9d4b3b9..fee0d07 100644
--- a/src/backends/gpuFsa/test/GpuFsaLayerSupportTests.cpp
+++ b/src/backends/gpuFsa/test/GpuFsaLayerSupportTests.cpp
@@ -101,4 +101,34 @@
     CHECK(supported);
 }
 
+TEST_CASE("IsLayerSupportedGpuFsaPooling2d")
+{
+    TensorInfo inputInfo({ 1, 3, 4, 1 }, DataType::Float32);
+    TensorInfo outputInfo({ 1, 2, 2, 1 }, DataType::Float32);
+
+    Pooling2dDescriptor desc{};
+    desc.m_PoolType = PoolingAlgorithm::Max;
+    desc.m_PadLeft    = 0;
+    desc.m_PadRight   = 0;
+    desc.m_PadTop     = 0;
+    desc.m_PadBottom  = 0;
+    desc.m_PoolWidth  = 2;
+    desc.m_PoolHeight = 2;
+    desc.m_StrideX    = 1;
+    desc.m_StrideY    = 1;
+    desc.m_OutputShapeRounding = OutputShapeRounding::Floor;
+    desc.m_PaddingMethod = PaddingMethod::Exclude;
+    desc.m_DataLayout  = DataLayout::NHWC;
+
+    GpuFsaLayerSupport supportChecker;
+    std::string reasonIfNotSupported;
+    auto supported = supportChecker.IsLayerSupported(LayerType::Pooling2d,
+                                                     {inputInfo, outputInfo},
+                                                     desc,
+                                                     EmptyOptional(),
+                                                     EmptyOptional(),
+                                                     reasonIfNotSupported);
+    CHECK(supported);
+}
+
 }
\ No newline at end of file