COMPMID-1303: CLDepthConvert : Add support for FP32 -> FP16 and FP16 -> FP32 + validate() function

Change-Id: I6808de0254a7c4bca440322cc14b795b3b32465b
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/142427
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
diff --git a/arm_compute/runtime/CL/functions/CLDepthConvertLayer.h b/arm_compute/runtime/CL/functions/CLDepthConvertLayer.h
index 00fa0a6..40ae907 100644
--- a/arm_compute/runtime/CL/functions/CLDepthConvertLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDepthConvertLayer.h
@@ -48,13 +48,25 @@
      *   - S16 -> U8, U32, S32
      *   - U32 -> U8, U16, S16
      *   - S32 -> U8, U16, S16
+     *   - F16 -> F32
+     *   - F32 -> F16
      *
-     * @param[in]  input  The input tensor to convert. Data types supported: U8/U16/S16/Q16/U32/S32/F32.
-     * @param[out] output The output tensor. Data types supported: U8/U16/S16/U32/S32/F32.
+     * @param[in]  input  The input tensor to convert. Data types supported: U8/U16/S16/U32/S32/F16/F32.
+     * @param[out] output The output tensor. Data types supported: U8/U16/S16/U32/S32/F16/F32.
      * @param[in]  policy Conversion policy.
      * @param[in]  shift  Value for down/up conversions. Must be 0 <= shift < 8.
      */
     void configure(const ICLTensor *input, ICLTensor *output, ConvertPolicy policy, uint32_t shift);
+    /** Static function to check if given info will lead to a valid configuration of @ref CLDepthConvertLayer
+     *
+     * @param[in] input  Source tensor info. Data types supported: U8/U16/S16/U32/S32/F16/F32.
+     * @param[in] output Destination tensor info. Data type supported: U8/U16/S16/U32/S32/F16/F32.
+     * @param[in] policy Conversion policy.
+     * @param[in] shift  Value for down/up conversions. Must be 0 <= shift < 8.
+     *
+     * @return a status
+     */
+    static Status validate(const ITensorInfo *input, const ITensorInfo *output, ConvertPolicy policy, uint32_t shift);
 };
 }
 #endif /*__ARM_COMPUTE_CLDEPTHCONVERT_H__*/