IVGCVSW-2125 : Consolidate backend registries into one
Change-Id: I56da4780f8f5fcef7ff01d232d5d61bf299364bf
diff --git a/src/backends/reference/RefBackend.cpp b/src/backends/reference/RefBackend.cpp
index 2f5ec80..7c92404 100644
--- a/src/backends/reference/RefBackend.cpp
+++ b/src/backends/reference/RefBackend.cpp
@@ -6,9 +6,11 @@
#include "RefBackend.hpp"
#include "RefBackendId.hpp"
#include "RefWorkloadFactory.hpp"
+#include "RefLayerSupport.hpp"
#include <backendsCommon/IBackendContext.hpp>
#include <backendsCommon/BackendRegistry.hpp>
+
#include <Optimizer.hpp>
#include <boost/cast.hpp>
@@ -19,7 +21,7 @@
namespace
{
-static StaticRegistryInitializer<BackendRegistry> g_RegisterHelper
+static BackendRegistry::StaticRegistryInitializer g_RegisterHelper
{
BackendRegistryInstance(),
RefBackend::GetIdStatic(),
@@ -52,4 +54,10 @@
return Optimizations{};
}
+IBackendInternal::ILayerSupportSharedPtr RefBackend::GetLayerSupport() const
+{
+ static ILayerSupportSharedPtr layerSupport{new RefLayerSupport};
+ return layerSupport;
+}
+
} // namespace armnn
\ No newline at end of file
diff --git a/src/backends/reference/RefBackend.hpp b/src/backends/reference/RefBackend.hpp
index be71f35..12d56ff 100644
--- a/src/backends/reference/RefBackend.hpp
+++ b/src/backends/reference/RefBackend.hpp
@@ -21,6 +21,7 @@
IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory() const override;
IBackendInternal::IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const override;
IBackendInternal::Optimizations GetOptimizations() const override;
+ IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override;
};
} // namespace armnn
\ No newline at end of file
diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp
index b057370..d6c1e66 100644
--- a/src/backends/reference/RefLayerSupport.cpp
+++ b/src/backends/reference/RefLayerSupport.cpp
@@ -10,7 +10,7 @@
#include <LayerSupportCommon.hpp>
#include <armnn/Types.hpp>
-#include <backendsCommon/LayerSupportRegistry.hpp>
+#include <backendsCommon/BackendRegistry.hpp>
#include <boost/core/ignore_unused.hpp>
@@ -22,21 +22,6 @@
namespace
{
-ILayerSupportSharedPtr GetLayerSupportPointer()
-{
- static ILayerSupportSharedPtr instance{new RefLayerSupport};
- return instance;
-}
-
-static StaticRegistryInitializer<LayerSupportRegistry> g_RegisterHelper{
- LayerSupportRegistryInstance(),
- RefBackendId(),
- []()
- {
- return GetLayerSupportPointer();
- }
-};
-
template<typename Float32Func, typename Uint8Func, typename ... Params>
bool IsSupportedForDataTypeRef(Optional<std::string&> reasonIfUnsupported,
DataType dataType,