COMPMID-1257: Allow retaining weights in CLDeconvolutionLayer

Change-Id: I8c430f2efafa0f47e2b12e388713ba693a6df8ee
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/134467
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
diff --git a/arm_compute/runtime/CL/functions/CLConvolutionLayer.h b/arm_compute/runtime/CL/functions/CLConvolutionLayer.h
index 97998b5..82bb71c 100644
--- a/arm_compute/runtime/CL/functions/CLConvolutionLayer.h
+++ b/arm_compute/runtime/CL/functions/CLConvolutionLayer.h
@@ -74,7 +74,7 @@
      * @param[in] output           Destination tensor. 3 lower dimensions represent a single output [width, height, OFM], while the rest represent batch of outputs.
      *                             Data types supported: Same as @p input.
      * @param[in] conv_info        Contains padding and stride information described in @ref PadStrideInfo.
-     * @param[in] weights_info     Specifies if the weights tensor has been reshaped with CLWeightsReshapeKernel. Data type supported: Same as @p input.
+     * @param[in] weights_info     Specifies if the weights tensor has been reshaped with CLWeightsReshapeKernel.
      * @param[in] dilation         (Optional) Dilation, in elements, across x and y. Defaults to (1, 1).
      * @param[in] act_info         (Optional) Activation layer information in case of a fused activation.
      * @param[in] enable_fast_math (Optional) Enable fast math computation. In case this flag were set, the function could dispatch the fastest implementation
@@ -93,7 +93,7 @@
      * @param[in] output           Destination tensor. 3 lower dimensions represent a single output [width, height, OFM], while the rest represent batch of outputs.
      *                             Data types supported: Same as @p input.
      * @param[in] conv_info        Contains padding and stride information described in @ref PadStrideInfo.
-     * @param[in] weights_info     Specifies if the weights tensor has been reshaped with CLWeightsReshapeKernel. Data type supported: Same as @p input.
+     * @param[in] weights_info     Specifies if the weights tensor has been reshaped with CLWeightsReshapeKernel.
      * @param[in] act_info         (Optional) Activation layer information in case of a fused activation.
      * @param[in] gpu_target       Specifies the @p GPUTarget.
      * @param[in] dilation         (Optional) Dilation, in elements, across x and y. Defaults to (1, 1).
diff --git a/arm_compute/runtime/CL/functions/CLDeconvolutionLayer.h b/arm_compute/runtime/CL/functions/CLDeconvolutionLayer.h
index f29039a..8296930 100644
--- a/arm_compute/runtime/CL/functions/CLDeconvolutionLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDeconvolutionLayer.h
@@ -71,10 +71,11 @@
      * @param[in]     info               Contains padding and policies to be used in the deconvolution, this is decribed in @ref PadStrideInfo.
      * @param[in]     inner_border_right The number of zeros added to right edge of the input.
      * @param[in]     inner_border_top   The number of zeros added to top edge of the input.
+     * @param[in]     weights_info       (Optional) Weights information needed for @ref CLConvolutionLayer, specifies if the weights tensor has been reshaped with @ref CLWeightsReshapeKernel.
      *
      */
     void configure(ICLTensor *input, const ICLTensor *weights, const ICLTensor *bias, ICLTensor *output, const PadStrideInfo &info,
-                   unsigned int inner_border_right, unsigned int inner_border_top);
+                   unsigned int inner_border_right, unsigned int inner_border_top, const WeightsInfo &weights_info = WeightsInfo());
     /** Static function to check if given info will lead to a valid configuration of @ref CLDeconvolutionLayer
      *
      * @param[in] input              Input tensor info. 3 lower dimensions represent a single input, and an optional 4th dimension for batch of inputs. Data types supported: F16/F32.
@@ -84,11 +85,12 @@
      * @param[in] info               Contains padding and policies to be used in the deconvolution, this is decribed in @ref PadStrideInfo.
      * @param[in] inner_border_right The number of zeros added to right edge of the input.
      * @param[in] inner_border_top   The number of zeros added to top edge of the input.
+     * @param[in] weights_info       (Optional) Weights information needed for @ref CLConvolutionLayer, specifies if the weights tensor has been reshaped with @ref CLWeightsReshapeKernel.
      *
      * @return a status
      */
     static Status validate(const ITensorInfo *input, const ITensorInfo *weights, const ITensorInfo *bias, ITensorInfo *output, const PadStrideInfo &info,
-                           unsigned int inner_border_right, unsigned int inner_border_top);
+                           unsigned int inner_border_right, unsigned int inner_border_top, const WeightsInfo &weights_info = WeightsInfo());
 
     // Inherited methods overridden:
     void run() override;
@@ -100,4 +102,4 @@
     CLTensor                     _scaled_output;
 };
 }
-#endif /* __ARM_COMPUTE_CLDECONVOLUTIONLAYER_H__ */
\ No newline at end of file
+#endif /* __ARM_COMPUTE_CLDECONVOLUTIONLAYER_H__ */