COMPMID-3363, COMPMID-3364: Add align_corners support to nearest neighbor

- Both NEON and CL's Scale Kernel now supports aligned corners
  with nearest neighbor interpolation
- Unsupported combination (center sampling policy with aligned
  corners) now fails on validation
- Test suites for CL and NEON are pruned by removing unsupported
  combination

Change-Id: Ieea4f145a131593b89b471dcec2b09619136b17c
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3297
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/tests/validation/fixtures/ScaleFixture.h b/tests/validation/fixtures/ScaleFixture.h
index cf3c5c8..f7ede91 100644
--- a/tests/validation/fixtures/ScaleFixture.h
+++ b/tests/validation/fixtures/ScaleFixture.h
@@ -54,7 +54,7 @@
         _sampling_policy   = sampling_policy;
         _data_type         = data_type;
         _quantization_info = quantization_info;
-        _align_corners     = align_corners && _policy == InterpolationPolicy::BILINEAR && _sampling_policy == SamplingPolicy::TOP_LEFT;
+        _align_corners     = align_corners;
 
         generate_scale(shape);
 
@@ -75,8 +75,10 @@
         constexpr float max_width{ 8192.0f };
         constexpr float max_height{ 6384.0f };
 
-        const float min_width  = _align_corners ? 2.f : 1.f;
-        const float min_height = _align_corners ? 2.f : 1.f;
+        const bool is_align_corners_used = _align_corners && arm_compute::is_align_corners_allowed(_sampling_policy);
+
+        const float min_width  = is_align_corners_used ? 2.f : 1.f;
+        const float min_height = is_align_corners_used ? 2.f : 1.f;
 
         std::mt19937                          generator(library->seed());
         std::uniform_real_distribution<float> distribution_float(_min_scale, _max_scale);