aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/NEON/functions/NEConvolution.cpp
diff options
context:
space:
mode:
authorManuel Bottini <manuel.bottini@arm.com>2021-01-26 12:09:38 +0000
committerManuel Bottini <manuel.bottini@arm.com>2021-01-27 10:32:21 +0000
commit26cf7985b8afb940be6678823e3f4f99c8d8558c (patch)
tree7fbc46cf82a7ca51afc2d1b7b762c2cd7c8c41f0 /src/runtime/NEON/functions/NEConvolution.cpp
parent4cfab1886549d7582e3867c51278132e5d37681b (diff)
downloadComputeLibrary-26cf7985b8afb940be6678823e3f4f99c8d8558c.tar.gz
Fix NEON/CL CustomConvolution failures
Properly handle UNDEFINED border mode as done in the reference Change-Id: I23b117be3ee5cd0e566f6161681d38493627fc9b Resolves: COMPMID-4133 Signed-off-by: Manuel Bottini <manuel.bottini@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4919 Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Reviewed-by: Giorgio Arena <giorgio.arena@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/runtime/NEON/functions/NEConvolution.cpp')
-rw-r--r--src/runtime/NEON/functions/NEConvolution.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/runtime/NEON/functions/NEConvolution.cpp b/src/runtime/NEON/functions/NEConvolution.cpp
index 680d8f628f..ad62a2254a 100644
--- a/src/runtime/NEON/functions/NEConvolution.cpp
+++ b/src/runtime/NEON/functions/NEConvolution.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2020 Arm Limited.
+ * Copyright (c) 2016-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -137,8 +137,9 @@ NEConvolutionRectangle::~NEConvolutionRectangle() = default;
void NEConvolutionRectangle::configure(ITensor *input, ITensor *output, const int16_t *conv, uint32_t rows, uint32_t cols, uint32_t scale, BorderMode border_mode, uint8_t constant_border_value)
{
- auto k = std::make_unique<NEConvolutionRectangleKernel>();
- k->configure(input, output, conv, rows, cols, scale, border_mode == BorderMode::UNDEFINED);
+ border_mode = (border_mode == BorderMode::UNDEFINED) ? BorderMode::CONSTANT : border_mode;
+ auto k = std::make_unique<NEConvolutionRectangleKernel>();
+ k->configure(input, output, conv, rows, cols, scale, false);
_kernel = std::move(k);
auto b = std::make_unique<NEFillBorderKernel>();