IVGCVSW-7571 GpuFsa Op: Add Depthwise Conv2d

  * Added DepthwiseConv2d support for GpuFsa backend.
  * Updated DepthwiseConv2d End-to-End test

Signed-off-by: Tianle Cheng <tianle.cheng@arm.com>
Change-Id: I646839980d138ae235a00990c97c6e66a4418a5e
diff --git a/src/backends/gpuFsa/GpuFsaBackend.cpp b/src/backends/gpuFsa/GpuFsaBackend.cpp
index 9886a6e..e803699 100644
--- a/src/backends/gpuFsa/GpuFsaBackend.cpp
+++ b/src/backends/gpuFsa/GpuFsaBackend.cpp
@@ -21,6 +21,7 @@
 #include <arm_compute/runtime/CL/CLBufferAllocator.h>
 
 #include "layers/GpuFsaConvolution2d.hpp"
+#include "layers/GpuFsaDepthwiseConvolution2d.hpp"
 
 namespace armnn
 {
@@ -268,6 +269,31 @@
                 }
                 break;
             }
+            case (LayerType::DepthwiseConvolution2d):
+            {
+                auto input = base.GetInputSlot(0).GetConnectedOutputSlot()->GetTensorInfo();
+                auto weights = base.GetInputSlot(1).GetConnectedOutputSlot()->GetTensorInfo();
+
+                auto desc = PolymorphicDowncast<const DepthwiseConvolution2dDescriptor*>(&base.GetParameters());
+                if (desc->m_BiasEnabled)
+                {
+                    auto bias = base.GetInputSlot(2).GetConnectedOutputSlot()->GetTensorInfo();
+                    GpuFsaDepthwiseConvolution2dCreateOp(preCompiledBlobPtr,
+                                                         input,
+                                                         *desc,
+                                                         weights,
+                                                         bias);
+                }
+                else
+                {
+                    GpuFsaDepthwiseConvolution2dCreateOp(preCompiledBlobPtr,
+                                                         input,
+                                                         *desc,
+                                                         weights,
+                                                         EmptyOptional());
+                }
+                break;
+            }
             default:
                 // unsupported layer for GpuFsa backend
                 continue;