COMPMID-1959: Implements 2D FFT on OpenCL

Change-Id: I73cf3984a5463acc854c8a59dc2bd9a5234cd99c
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/936
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
diff --git a/arm_compute/runtime/CL/functions/CLFFT1D.h b/arm_compute/runtime/CL/functions/CLFFT1D.h
index 1612cf7..029023c 100644
--- a/arm_compute/runtime/CL/functions/CLFFT1D.h
+++ b/arm_compute/runtime/CL/functions/CLFFT1D.h
@@ -28,6 +28,7 @@
 
 #include "arm_compute/core/CL/kernels/CLFFTDigitReverseKernel.h"
 #include "arm_compute/core/CL/kernels/CLFFTRadixStageKernel.h"
+#include "arm_compute/core/CL/kernels/CLFFTScaleKernel.h"
 #include "arm_compute/runtime/CL/CLMemoryGroup.h"
 #include "arm_compute/runtime/CL/CLTensor.h"
 #include "arm_compute/runtime/FunctionDescriptors.h"
@@ -39,8 +40,9 @@
 
 /** Basic function to execute one dimensional FFT. This function calls the following OpenCL kernels:
  *
- * -# @ref CLFFTDigitReverseKernel Performs digit reverse
- * -# @ref CLFFTRadixStageKernel   A list of FFT kernels depending on the radix decomposition
+ * -# @ref CLFFTDigitReverseKernel Performs digit reverse.
+ * -# @ref CLFFTRadixStageKernel   A list of FFT kernels depending on the radix decomposition.
+ * -# @ref CLFFTScaleKernel        Performs output scaling in case of in inverse FFT.
  */
 class CLFFT1D : public IFunction
 {
@@ -69,11 +71,13 @@
 
 protected:
     CLMemoryGroup                            _memory_group;
-    CLTensor                                 _digit_reversed_input;
-    CLTensor                                 _digit_reverse_indices;
     CLFFTDigitReverseKernel                  _digit_reverse_kernel;
     std::unique_ptr<CLFFTRadixStageKernel[]> _fft_kernels;
+    CLFFTScaleKernel                         _scale_kernel;
+    CLTensor                                 _digit_reversed_input;
+    CLTensor                                 _digit_reverse_indices;
     unsigned int                             _num_ffts;
+    bool                                     _run_scale;
 };
 } // namespace arm_compute
 #endif /*__ARM_COMPUTE_CLFFT1D_H__ */