From d6568772be726acd7dc2fc3e592f101c77d690a6 Mon Sep 17 00:00:00 2001 From: Narumol Prangnawarat Date: Wed, 22 Jul 2020 12:46:51 +0100 Subject: IVGCVSW-5010 Add GetCapabilities to ITensorHandleFactory Signed-off-by: Narumol Prangnawarat Change-Id: Ie8acb9c729af4f95488aecf795f45ff12364f9ca --- include/armnn/backends/ITensorHandleFactory.hpp | 33 +++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'include') diff --git a/include/armnn/backends/ITensorHandleFactory.hpp b/include/armnn/backends/ITensorHandleFactory.hpp index cd094d2783..9d8f0cdda7 100644 --- a/include/armnn/backends/ITensorHandleFactory.hpp +++ b/include/armnn/backends/ITensorHandleFactory.hpp @@ -15,6 +15,29 @@ namespace armnn { +/// Capability class to calculate in the GetCapabilities function +/// so that only the capability in the scope can be choose to calculate +enum class CapabilityClass +{ + PaddingRequired = 1, + + // add new enum values here + + CapabilityClassMax = 254 +}; + +/// Capability of the TensorHandleFactory +struct Capability +{ + Capability(CapabilityClass capabilityClass, bool value) + : m_CapabilityClass(capabilityClass) + , m_Value(value) + {} + + CapabilityClass m_CapabilityClass; + bool m_Value; +}; + class ITensorHandleFactory { public: @@ -59,6 +82,16 @@ public: virtual MemorySourceFlags GetExportFlags() const { return 0; } virtual MemorySourceFlags GetImportFlags() const { return 0; } + + virtual std::vector GetCapabilities(const IConnectableLayer* layer, + const IConnectableLayer* connectedLayer, + CapabilityClass capabilityClass) + { + IgnoreUnused(layer); + IgnoreUnused(connectedLayer); + IgnoreUnused(capabilityClass); + return std::vector(); + } }; enum class EdgeStrategy -- cgit v1.2.1