Implementation of ClPooling3d

 - For NDHWC layout
 - For F16 and F32 data types
 - Mixed Precision stil not supported

Resolves: COMPMID-4670
Signed-off-by: ramy.elgammal@arm.com
Change-Id: I0e14a13e4625569e8e5ee67e6033bd1efe0da469
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7262
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: SiCong Li <sicong.li@arm.com>
Reviewed-by: Gunes Bayir <gunes.bayir@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/Android.bp b/Android.bp
index 491dbca..c80bba0 100644
--- a/Android.bp
+++ b/Android.bp
@@ -109,6 +109,7 @@
         "src/core/CL/cl_kernels/nhwc/normalization_layer.cl",
         "src/core/CL/cl_kernels/nhwc/normalize_planar_yuv_layer.cl",
         "src/core/CL/cl_kernels/nhwc/normalize_planar_yuv_layer_quantized.cl",
+        "src/core/CL/cl_kernels/nhwc/pooling_3d_layer.cl",
         "src/core/CL/cl_kernels/nhwc/pooling_layer.cl",
         "src/core/CL/cl_kernels/nhwc/pooling_layer_quantized.cl",
         "src/core/CL/cl_kernels/nhwc/reorg_layer.cl",
@@ -604,6 +605,7 @@
         "src/gpu/cl/kernels/ClMulKernel.cpp",
         "src/gpu/cl/kernels/ClPermuteKernel.cpp",
         "src/gpu/cl/kernels/ClPool2dKernel.cpp",
+        "src/gpu/cl/kernels/ClPool3dKernel.cpp",
         "src/gpu/cl/kernels/ClQuantizeKernel.cpp",
         "src/gpu/cl/kernels/ClReshapeKernel.cpp",
         "src/gpu/cl/kernels/ClScaleKernel.cpp",
@@ -651,6 +653,7 @@
         "src/gpu/cl/operators/ClPRelu.cpp",
         "src/gpu/cl/operators/ClPermute.cpp",
         "src/gpu/cl/operators/ClPool2d.cpp",
+        "src/gpu/cl/operators/ClPool3d.cpp",
         "src/gpu/cl/operators/ClQuantize.cpp",
         "src/gpu/cl/operators/ClReshape.cpp",
         "src/gpu/cl/operators/ClScale.cpp",
@@ -734,6 +737,7 @@
         "src/runtime/CL/functions/CLPadLayer.cpp",
         "src/runtime/CL/functions/CLPermute.cpp",
         "src/runtime/CL/functions/CLPixelWiseMultiplication.cpp",
+        "src/runtime/CL/functions/CLPooling3dLayer.cpp",
         "src/runtime/CL/functions/CLPoolingLayer.cpp",
         "src/runtime/CL/functions/CLPriorBoxLayer.cpp",
         "src/runtime/CL/functions/CLQLSTMLayer.cpp",