COMPMID-1584 - Collapse batch size in CLChannelShuffleLayerKernel
COMPMID-1589 - Add support for NHWC to CLChannelShuffleLayerKernel

Change-Id: I13936a5cd1659d01fdb10b346e90f0d72d79f1f1
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/148475
Tested-by: bsgcomp <bsgcomp@arm.com>
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
diff --git a/tests/validation/fixtures/ChannelShuffleLayerFixture.h b/tests/validation/fixtures/ChannelShuffleLayerFixture.h
index 9746480..c9aae2d 100644
--- a/tests/validation/fixtures/ChannelShuffleLayerFixture.h
+++ b/tests/validation/fixtures/ChannelShuffleLayerFixture.h
@@ -46,9 +46,9 @@
 {
 public:
     template <typename...>
-    void setup(TensorShape shape, unsigned int num_groups, DataType data_type)
+    void setup(TensorShape shape, unsigned int num_groups, DataType data_type, DataLayout data_layout)
     {
-        _target    = compute_target(shape, data_type, num_groups);
+        _target    = compute_target(shape, data_type, num_groups, data_layout);
         _reference = compute_reference(shape, data_type, num_groups);
     }
 
@@ -59,11 +59,17 @@
         library->fill_tensor_uniform(tensor, 0);
     }
 
-    TensorType compute_target(const TensorShape &shape, DataType data_type, unsigned int num_groups)
+    TensorType compute_target(TensorShape shape, DataType data_type, unsigned int num_groups, DataLayout data_layout)
     {
+        // Note: The input shape passed to the function is always in NCHW
+        if(data_layout == DataLayout::NHWC)
+        {
+            permute(shape, PermutationVector(2U, 0U, 1U));
+        }
+
         // Create tensors
-        TensorType src = create_tensor<TensorType>(shape, data_type);
-        TensorType dst = create_tensor<TensorType>(shape, data_type);
+        TensorType src = create_tensor<TensorType>(shape, data_type, 1, QuantizationInfo(), data_layout);
+        TensorType dst;
 
         // Create and configure function
         FunctionType channel_shuffle_func;