diff options
-rw-r--r-- | src/armnn/LayerSupport.cpp | 4 | ||||
-rw-r--r-- | src/backends/WorkloadData.cpp | 3 | ||||
-rw-r--r-- | src/backends/neon/NeonLayerSupport.cpp | 8 | ||||
-rw-r--r-- | src/backends/neon/NeonLayerSupport.hpp | 5 | ||||
-rw-r--r-- | src/backends/reference/RefLayerSupport.cpp | 10 | ||||
-rw-r--r-- | src/backends/reference/RefLayerSupport.hpp | 5 |
6 files changed, 32 insertions, 3 deletions
diff --git a/src/armnn/LayerSupport.cpp b/src/armnn/LayerSupport.cpp index 538f8e8cda..9561136d85 100644 --- a/src/armnn/LayerSupport.cpp +++ b/src/armnn/LayerSupport.cpp @@ -363,8 +363,8 @@ bool IsPadSupported(Compute compute, char* reasonIfUnsupported, size_t reasonIfUnsupportedMaxLength) { - CopyErrorMessage(reasonIfUnsupported, "Not implemented", reasonIfUnsupportedMaxLength); - return false; + + FORWARD_LAYER_SUPPORT_FUNC(compute, IsPadSupported, input, output, descriptor); } } diff --git a/src/backends/WorkloadData.cpp b/src/backends/WorkloadData.cpp index 32ed97a052..a6a87f3782 100644 --- a/src/backends/WorkloadData.cpp +++ b/src/backends/WorkloadData.cpp @@ -858,7 +858,8 @@ void PadQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const ValidateSingleOutput(workloadInfo, "PadQueueDescriptor"); const TensorInfo& input = workloadInfo.m_InputTensorInfos[0]; - const TensorInfo& output = workloadInfo.m_OutputTensorInfos[1]; + const TensorInfo& output = workloadInfo.m_OutputTensorInfos[0]; + // input and output should have the same number of dimensions ValidateTensorNumDimensions(output, "PadQueueDescriptor", input.GetNumDimensions(), "output"); // there should be entry in the pad list for each dimension in the input tensor diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp index a79f4c0365..bc1f96be3f 100644 --- a/src/backends/neon/NeonLayerSupport.cpp +++ b/src/backends/neon/NeonLayerSupport.cpp @@ -466,4 +466,12 @@ bool IsMeanSupportedNeon(const TensorInfo& input, return false; } +bool IsPadSupportedNeon(const TensorInfo& input, + const TensorInfo& output, + const PadDescriptor& descriptor, + std::string* reasonIfUnsupported) +{ + return false; +} + } diff --git a/src/backends/neon/NeonLayerSupport.hpp b/src/backends/neon/NeonLayerSupport.hpp index 590f4d64c6..439c45f59e 100644 --- a/src/backends/neon/NeonLayerSupport.hpp +++ b/src/backends/neon/NeonLayerSupport.hpp @@ -166,4 +166,9 @@ bool IsMeanSupportedNeon(const TensorInfo& input, const MeanDescriptor& descriptor, std::string* reasonIfUnsupported = nullptr); +bool IsPadSupportedNeon(const TensorInfo& input, + const TensorInfo& output, + const PadDescriptor& descriptor, + std::string* reasonIfUnsupported = nullptr); + } diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp index 536dd17ea8..1ca3d5b6d6 100644 --- a/src/backends/reference/RefLayerSupport.cpp +++ b/src/backends/reference/RefLayerSupport.cpp @@ -402,4 +402,14 @@ bool IsMeanSupportedRef(const TensorInfo& input, &TrueFunc<>); } +bool IsPadSupportedRef(const TensorInfo& input, + const TensorInfo& output, + const PadDescriptor& descriptor, + std::string* reasonIfUnsupported) +{ + ignore_unused(output); + ignore_unused(descriptor); + return false; +} + } diff --git a/src/backends/reference/RefLayerSupport.hpp b/src/backends/reference/RefLayerSupport.hpp index e819b6665a..0fac886234 100644 --- a/src/backends/reference/RefLayerSupport.hpp +++ b/src/backends/reference/RefLayerSupport.hpp @@ -158,4 +158,9 @@ bool IsMeanSupportedRef(const TensorInfo& input, const MeanDescriptor& descriptor, std::string* reasonIfUnsupported = nullptr); +bool IsPadSupportedRef(const TensorInfo& input, + const TensorInfo& output, + const PadDescriptor& descriptor, + std::string* reasonIfUnsupported = nullptr); + } |