aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorDiego Lopez Recas <Diego.LopezRecas@arm.com>2018-02-22 13:08:01 +0000
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:49:16 +0000
commitff860cfd3aad767122a18d1a98767b322993e8e1 (patch)
tree29ab13bd8456b32d6eae72077e3f8bc9f92d6ec6 /src/core
parent5e69bb44adce2da6ce2db0cfb838255e1eb36aef (diff)
downloadComputeLibrary-ff860cfd3aad767122a18d1a98767b322993e8e1.tar.gz
COMPMID-959: Fix valid region for Scale by always setting full shape
Change-Id: Idc2d004713768ae73e157674d15c928cca0992d7 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/122703 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'src/core')
-rw-r--r--src/core/CL/kernels/CLScaleKernel.cpp4
-rw-r--r--src/core/GLES_COMPUTE/kernels/GCScaleKernel.cpp3
-rw-r--r--src/core/Helpers.cpp14
-rw-r--r--src/core/NEON/kernels/NEScaleKernel.cpp8
4 files changed, 22 insertions, 7 deletions
diff --git a/src/core/CL/kernels/CLScaleKernel.cpp b/src/core/CL/kernels/CLScaleKernel.cpp
index 673304a271..9b8a582349 100644
--- a/src/core/CL/kernels/CLScaleKernel.cpp
+++ b/src/core/CL/kernels/CLScaleKernel.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -102,7 +102,7 @@ void CLScaleKernel::configure(const ICLTensor *input, ICLTensor *output, Interpo
output_access.set_valid_region(win, calculate_valid_region_scale(*(input->info()),
output->info()->tensor_shape(),
policy,
- border,
+ sampling_policy,
border_undefined));
ICLKernel::configure(win);
diff --git a/src/core/GLES_COMPUTE/kernels/GCScaleKernel.cpp b/src/core/GLES_COMPUTE/kernels/GCScaleKernel.cpp
index 46d7ff9172..f87615a27c 100644
--- a/src/core/GLES_COMPUTE/kernels/GCScaleKernel.cpp
+++ b/src/core/GLES_COMPUTE/kernels/GCScaleKernel.cpp
@@ -51,7 +51,6 @@ void GCScaleKernel::configure(const IGCTensor *input, IGCTensor *output, Interpo
ARM_COMPUTE_ERROR_ON_MISMATCHING_DATA_TYPES(input, output);
ARM_COMPUTE_ERROR_ON(output == input);
ARM_COMPUTE_ERROR_ON(policy != InterpolationPolicy::NEAREST_NEIGHBOR);
- ARM_COMPUTE_UNUSED(sampling_policy);
_input = input;
_output = output;
@@ -123,7 +122,7 @@ void GCScaleKernel::configure(const IGCTensor *input, IGCTensor *output, Interpo
output_access.set_valid_region(win, calculate_valid_region_scale(*(input->info()),
output->info()->tensor_shape(),
policy,
- border,
+ sampling_policy,
border_undefined));
IGCKernel::configure(win);
diff --git a/src/core/Helpers.cpp b/src/core/Helpers.cpp
index 3ee0fa7321..cbebf8a163 100644
--- a/src/core/Helpers.cpp
+++ b/src/core/Helpers.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -173,3 +173,15 @@ Window arm_compute::calculate_max_window_horizontal(const ValidRegion &valid_reg
return window;
}
+
+ValidRegion arm_compute::calculate_valid_region_scale(const ITensorInfo &src_info, const TensorShape &dst_shape,
+ InterpolationPolicy interpolate_policy, SamplingPolicy sampling_policy, bool border_undefined)
+{
+ /* TODO (COMPMID-959) : Fix scale valid region */
+ arm_compute::utility::ignore_unused(src_info, interpolate_policy, sampling_policy, border_undefined);
+
+ // Setup output valid region
+ ValidRegion valid_region{ Coordinates(), dst_shape };
+
+ return valid_region;
+} \ No newline at end of file
diff --git a/src/core/NEON/kernels/NEScaleKernel.cpp b/src/core/NEON/kernels/NEScaleKernel.cpp
index 1918a77300..852ec3e023 100644
--- a/src/core/NEON/kernels/NEScaleKernel.cpp
+++ b/src/core/NEON/kernels/NEScaleKernel.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -142,7 +142,11 @@ void NEScaleKernel::configure(const ITensor *input, const ITensor *dx, const ITe
dy_access,
output_access);
- output_access.set_valid_region(win, calculate_valid_region_scale(*(input->info()), output->info()->tensor_shape(), policy, border_size(), border_undefined));
+ output_access.set_valid_region(win, calculate_valid_region_scale(*(input->info()),
+ output->info()->tensor_shape(),
+ policy,
+ sampling_policy,
+ border_undefined));
INEKernel::configure(win);
}