List OpenCL kernels in Android.bp script

Also add NHWC as supported data layout for the ChannelShuffle operator.

Change-Id: I8487d0dfd1fdbc6350ef8b902a23fac6ac83407d
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6204
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/Android.bp b/Android.bp
index 14ab3da..4de998d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,5 +1,5 @@
 //
-// Copyright © 2020 Arm Ltd. All rights reserved.
+// Copyright © 2019-2021 Arm Ltd. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 
@@ -944,5 +944,116 @@
             ],
         },
     },
+    opencl_srcs: [
+        "src/core/CL/cl_kernels/common/activation_layer.cl",
+        "src/core/CL/cl_kernels/common/activation_layer_quant.cl",
+        "src/core/CL/cl_kernels/common/arg_min_max.cl",
+        "src/core/CL/cl_kernels/common/batchnormalization_layer.cl",
+        "src/core/CL/cl_kernels/common/bitwise_op.cl",
+        "src/core/CL/cl_kernels/common/bounding_box_transform.cl",
+        "src/core/CL/cl_kernels/common/bounding_box_transform_quantized.cl",
+        "src/core/CL/cl_kernels/common/cast.cl",
+        "src/core/CL/cl_kernels/common/col2im.cl",
+        "src/core/CL/cl_kernels/common/comparisons.cl",
+        "src/core/CL/cl_kernels/common/concatenate.cl",
+        "src/core/CL/cl_kernels/common/convert_fc_weights.cl",
+        "src/core/CL/cl_kernels/common/convolution_layer.cl",
+        "src/core/CL/cl_kernels/common/copy_tensor.cl",
+        "src/core/CL/cl_kernels/common/crop_tensor.cl",
+        "src/core/CL/cl_kernels/common/deconvolution_layer.cl",
+        "src/core/CL/cl_kernels/common/dequantization_layer.cl",
+        "src/core/CL/cl_kernels/common/elementwise_operation.cl",
+        "src/core/CL/cl_kernels/common/elementwise_operation_quantized.cl",
+        "src/core/CL/cl_kernels/common/elementwise_unary.cl",
+        "src/core/CL/cl_kernels/common/fft.cl",
+        "src/core/CL/cl_kernels/common/fft_digit_reverse.cl",
+        "src/core/CL/cl_kernels/common/fft_scale.cl",
+        "src/core/CL/cl_kernels/common/fill_border.cl",
+        "src/core/CL/cl_kernels/common/floor.cl",
+        "src/core/CL/cl_kernels/common/gather.cl",
+        "src/core/CL/cl_kernels/common/gemm.cl",
+        "src/core/CL/cl_kernels/common/gemm_v1.cl",
+        "src/core/CL/cl_kernels/common/gemmlowp.cl",
+        "src/core/CL/cl_kernels/common/gemv.cl",
+        "src/core/CL/cl_kernels/common/generate_proposals.cl",
+        "src/core/CL/cl_kernels/common/generate_proposals_quantized.cl",
+        "src/core/CL/cl_kernels/common/instance_normalization.cl",
+        "src/core/CL/cl_kernels/common/l2_normalize.cl",
+        "src/core/CL/cl_kernels/common/mean_stddev_normalization.cl",
+        "src/core/CL/cl_kernels/common/memset.cl",
+        "src/core/CL/cl_kernels/common/minmax_layer.cl",
+        "src/core/CL/cl_kernels/common/nonmax.cl",
+        "src/core/CL/cl_kernels/common/pad_layer.cl",
+        "src/core/CL/cl_kernels/common/permute.cl",
+        "src/core/CL/cl_kernels/common/pixelwise_mul_float.cl",
+        "src/core/CL/cl_kernels/common/pixelwise_mul_int.cl",
+        "src/core/CL/cl_kernels/common/pooling_layer.cl",
+        "src/core/CL/cl_kernels/common/qlstm_layer_normalization.cl",
+        "src/core/CL/cl_kernels/common/quantization_layer.cl",
+        "src/core/CL/cl_kernels/common/range.cl",
+        "src/core/CL/cl_kernels/common/reduction_operation.cl",
+        "src/core/CL/cl_kernels/common/reshape_layer.cl",
+        "src/core/CL/cl_kernels/common/reverse.cl",
+        "src/core/CL/cl_kernels/common/roi_align_layer.cl",
+        "src/core/CL/cl_kernels/common/roi_align_layer_quantized.cl",
+        "src/core/CL/cl_kernels/common/roi_pooling_layer.cl",
+        "src/core/CL/cl_kernels/common/select.cl",
+        "src/core/CL/cl_kernels/common/slice_ops.cl",
+        "src/core/CL/cl_kernels/common/softmax_layer.cl",
+        "src/core/CL/cl_kernels/common/softmax_layer_quantized.cl",
+        "src/core/CL/cl_kernels/common/stack_layer.cl",
+        "src/core/CL/cl_kernels/common/tile.cl",
+        "src/core/CL/cl_kernels/common/transpose.cl",
+        "src/core/CL/cl_kernels/common/unpooling_layer.cl",
+        "src/core/CL/cl_kernels/nchw/batch_to_space.cl",
+        "src/core/CL/cl_kernels/nchw/batchnormalization_layer.cl",
+        "src/core/CL/cl_kernels/nchw/channel_shuffle.cl",
+        "src/core/CL/cl_kernels/nchw/depth_to_space.cl",
+        "src/core/CL/cl_kernels/nchw/dequantization_layer.cl",
+        "src/core/CL/cl_kernels/nchw/direct_convolution1x1.cl",
+        "src/core/CL/cl_kernels/nchw/direct_convolution3x3.cl",
+        "src/core/CL/cl_kernels/nchw/direct_convolution5x5.cl",
+        "src/core/CL/cl_kernels/nchw/direct_convolution_quantized.cl",
+        "src/core/CL/cl_kernels/nchw/im2col.cl",
+        "src/core/CL/cl_kernels/nchw/normalization_layer.cl",
+        "src/core/CL/cl_kernels/nchw/normalize_planar_yuv_layer.cl",
+        "src/core/CL/cl_kernels/nchw/normalize_planar_yuv_layer_quantized.cl",
+        "src/core/CL/cl_kernels/nchw/pooling_layer.cl",
+        "src/core/CL/cl_kernels/nchw/pooling_layer_quantized.cl",
+        "src/core/CL/cl_kernels/nchw/prior_box_layer.cl",
+        "src/core/CL/cl_kernels/nchw/remap.cl",
+        "src/core/CL/cl_kernels/nchw/reorg_layer.cl",
+        "src/core/CL/cl_kernels/nchw/scale.cl",
+        "src/core/CL/cl_kernels/nchw/space_to_batch.cl",
+        "src/core/CL/cl_kernels/nchw/space_to_depth.cl",
+        "src/core/CL/cl_kernels/nchw/upsample_layer.cl",
+        "src/core/CL/cl_kernels/nchw/winograd_filter_transform.cl",
+        "src/core/CL/cl_kernels/nchw/winograd_input_transform.cl",
+        "src/core/CL/cl_kernels/nchw/winograd_output_transform.cl",
+        "src/core/CL/cl_kernels/nhwc/batch_to_space.cl",
+        "src/core/CL/cl_kernels/nhwc/batchnormalization_layer.cl",
+        "src/core/CL/cl_kernels/nhwc/channel_shuffle.cl",
+        "src/core/CL/cl_kernels/nhwc/depth_to_space.cl",
+        "src/core/CL/cl_kernels/nhwc/dequantization_layer.cl",
+        "src/core/CL/cl_kernels/nhwc/direct_convolution.cl",
+        "src/core/CL/cl_kernels/nhwc/dwc_native_fp_nhwc.cl",
+        "src/core/CL/cl_kernels/nhwc/dwc_native_quantized_nhwc.cl",
+        "src/core/CL/cl_kernels/nhwc/im2col.cl",
+        "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_layer.cl",
+        "src/core/CL/cl_kernels/nhwc/pooling_layer_quantized.cl",
+        "src/core/CL/cl_kernels/nhwc/remap.cl",
+        "src/core/CL/cl_kernels/nhwc/reorg_layer.cl",
+        "src/core/CL/cl_kernels/nhwc/scale.cl",
+        "src/core/CL/cl_kernels/nhwc/space_to_batch.cl",
+        "src/core/CL/cl_kernels/nhwc/space_to_depth.cl",
+        "src/core/CL/cl_kernels/nhwc/upsample_layer.cl",
+        "src/core/CL/cl_kernels/nhwc/winograd_filter_transform.cl",
+        "src/core/CL/cl_kernels/nhwc/winograd_input_transform.cl",
+        "src/core/CL/cl_kernels/nhwc/winograd_output_transform.cl",
+        
+    ],
     rtti: true,
 }
\ No newline at end of file
diff --git a/arm_compute/runtime/CL/functions/CLChannelShuffleLayer.h b/arm_compute/runtime/CL/functions/CLChannelShuffleLayer.h
index d60548d..3dc6259 100644
--- a/arm_compute/runtime/CL/functions/CLChannelShuffleLayer.h
+++ b/arm_compute/runtime/CL/functions/CLChannelShuffleLayer.h
@@ -46,6 +46,7 @@
      *
      * Valid data layouts:
      * - NCHW
+     * - NHWC
      *
      * Valid data type configurations:
      * |src            |dst            |
diff --git a/arm_compute/runtime/NEON/functions/NEChannelShuffleLayer.h b/arm_compute/runtime/NEON/functions/NEChannelShuffleLayer.h
index 8888efe..bc19e1a 100644
--- a/arm_compute/runtime/NEON/functions/NEChannelShuffleLayer.h
+++ b/arm_compute/runtime/NEON/functions/NEChannelShuffleLayer.h
@@ -46,6 +46,7 @@
      *
      * Valid data layouts:
      * - NCHW
+     * - NHWC
      *
      * Valid data type configurations:
      * |src            |dst            |
diff --git a/docs/user_guide/operator_list.dox b/docs/user_guide/operator_list.dox
index 50d3b55..8210c43 100644
--- a/docs/user_guide/operator_list.dox
+++ b/docs/user_guide/operator_list.dox
@@ -454,6 +454,7 @@
   <td>
       <ul>
        <li>NCHW
+       <li>NHWC
       </ul>
   <td>
     <table>
@@ -465,6 +466,7 @@
   <td>
       <ul>
        <li>NCHW
+       <li>NHWC
       </ul>
   <td>
     <table>