aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2020-07-22 12:46:51 +0100
committerTeresaARM <teresa.charlinreyes@arm.com>2020-07-23 21:17:37 +0000
commitd6568772be726acd7dc2fc3e592f101c77d690a6 (patch)
treeb385a4f1231c9cd15f61b93e83779b484593ccf6 /include
parent5b4d0d5070cee848901333e32cde7df2badf5d44 (diff)
downloadarmnn-d6568772be726acd7dc2fc3e592f101c77d690a6.tar.gz
IVGCVSW-5010 Add GetCapabilities to ITensorHandleFactory
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ie8acb9c729af4f95488aecf795f45ff12364f9ca
Diffstat (limited to 'include')
-rw-r--r--include/armnn/backends/ITensorHandleFactory.hpp33
1 files changed, 33 insertions, 0 deletions
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<Capability> GetCapabilities(const IConnectableLayer* layer,
+ const IConnectableLayer* connectedLayer,
+ CapabilityClass capabilityClass)
+ {
+ IgnoreUnused(layer);
+ IgnoreUnused(connectedLayer);
+ IgnoreUnused(capabilityClass);
+ return std::vector<Capability>();
+ }
};
enum class EdgeStrategy