aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/armnn/Graph.cpp19
-rw-r--r--src/backends/backendsCommon/WorkloadData.cpp16
2 files changed, 13 insertions, 22 deletions
diff --git a/src/armnn/Graph.cpp b/src/armnn/Graph.cpp
index 6212c49eba..f0ef0e18f7 100644
--- a/src/armnn/Graph.cpp
+++ b/src/armnn/Graph.cpp
@@ -344,17 +344,24 @@ void Graph::AddCompatibilityLayers(std::map<BackendId, std::unique_ptr<IBackendI
{
auto srcPref = srcOutputSlot.GetTensorHandleFactoryId();
auto srcFactory = registry.GetFactory(srcPref);
- bool canExportImport = (factory->GetImportFlags() & srcFactory->GetExportFlags()) != 0;
- if (factory->SupportsMapUnmap() || canExportImport)
+ if (srcFactory)
{
- compOutputSlot.SetTensorHandleFactory(preference);
- found = true;
- break;
+ bool canExportImport =
+ (factory->GetImportFlags() & srcFactory->GetExportFlags()) != 0;
+ if (factory->SupportsMapUnmap() || canExportImport)
+ {
+ compOutputSlot.SetTensorHandleFactory(preference);
+ found = true;
+ break;
+ }
}
}
}
- BOOST_ASSERT_MSG(found, "Could not find a valid TensorHandle for compatibilty layer");
+ if (!found)
+ {
+ compOutputSlot.SetTensorHandleFactory(ITensorHandleFactory::LegacyFactoryId);
+ }
}
else
{
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp
index 1c607da707..4b0b84a73d 100644
--- a/src/backends/backendsCommon/WorkloadData.cpp
+++ b/src/backends/backendsCommon/WorkloadData.cpp
@@ -417,22 +417,6 @@ void MemSyncQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const
ValidateNumInputs(workloadInfo, "MemSyncQueueDescriptor", 1);
ValidateNumOutputs(workloadInfo, "MemSyncQueueDescriptor" , 1);
- if (workloadInfo.m_InputTensorInfos.size() != 1)
- {
- throw InvalidArgumentException(boost::str(
- boost::format("Number of input infos (%1%) is not 1.")
- % workloadInfo.m_InputTensorInfos.size()));
-
- }
-
- if (workloadInfo.m_OutputTensorInfos.size() != 0)
- {
- throw InvalidArgumentException(boost::str(
- boost::format("Number of output infos (%1%) is not 0.")
- % workloadInfo.m_InputTensorInfos.size()));
-
- }
-
if (m_Inputs.size() != 1)
{
throw InvalidArgumentException(boost::str(