Extended direct conv 2d interface for tuning the OpenCl kernel

Resolves COMPMID-5298

Change-Id: Ie9b907e5dcf86aa6add8d08799fa7ba7c264edea
Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7888
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: SiCong Li <sicong.li@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/core/KernelDescriptors.h b/arm_compute/core/KernelDescriptors.h
index b108649..c45be9c 100644
--- a/arm_compute/core/KernelDescriptors.h
+++ b/arm_compute/core/KernelDescriptors.h
@@ -109,6 +109,15 @@
     bool         export_weights_to_cl_image{ false }; /**< Export the weights to cl_image */
 };
 
+/** Compute descriptor used by the direct convolution kernel */
+struct DirectConvComputeKernelInfo
+{
+    int32_t m0{ 1 };                             /**< Number of rows to be processed by the kernel */
+    int32_t n0{ 1 };                             /**< Number of columns to be processed by the kernel */
+    int32_t k0{ 1 };                             /**< Number of partial accumulations to be processed in a single iteration by the kernel */
+    bool    export_weights_to_cl_image{ false }; /**< Flag to export the weights to cl_image */
+};
+
 /** Descriptor used by the softmax kernels */
 struct SoftmaxKernelInfo
 {