IVGCVSW-1806 Refactored Android-NN-Driver, added common "getCapabilities",
"getSupportedOperations" and "prepareModel" implementations
* Added common base ArmnnDriverImpl class
* Added common template implementation of the driver's "getCapabilities",
"getSupportedOperations" and "prepareModel" methods
* Refactored ArmnnPreparedModel and RequestThread to support HAL
v1.1 models
* Moved "getStatus" to the common base class, as it is shared by both
HAL implementations
* Refactored the code where necessary
Change-Id: I747334730026d63b4002662523fb93608f67c899
diff --git a/1.0/ArmnnDriver.hpp b/1.0/ArmnnDriver.hpp
index 83484ca..18e2596 100644
--- a/1.0/ArmnnDriver.hpp
+++ b/1.0/ArmnnDriver.hpp
@@ -7,8 +7,8 @@
#include <HalInterfaces.h>
-#include "ArmnnDriverImpl.hpp"
#include "ArmnnDevice.hpp"
+#include "../ArmnnDriverImpl.hpp"
#include <log/log.h>
@@ -29,36 +29,44 @@
public:
Return<void> getCapabilities(
- ::android::hardware::neuralnetworks::V1_0::IDevice::getCapabilities_cb cb)
+ ::android::hardware::neuralnetworks::V1_0::IDevice::getCapabilities_cb cb) override
{
ALOGV("V1_0::ArmnnDriver::getCapabilities()");
- return ArmnnDriverImpl::getCapabilities(m_Runtime, cb);
+ return armnn_driver::ArmnnDriverImpl<HalVersion_1_0>::getCapabilities(m_Runtime,
+ cb);
}
Return<void> getSupportedOperations(
const ::android::hardware::neuralnetworks::V1_0::Model& model,
- ::android::hardware::neuralnetworks::V1_0::IDevice::getSupportedOperations_cb cb)
+ ::android::hardware::neuralnetworks::V1_0::IDevice::getSupportedOperations_cb cb) override
{
ALOGV("V1_0::ArmnnDriver::getSupportedOperations()");
- return ArmnnDriverImpl::getSupportedOperations(m_Runtime, m_Options, model, cb);
+ return armnn_driver::ArmnnDriverImpl<HalVersion_1_0>::getSupportedOperations(m_Runtime,
+ m_Options,
+ model,
+ cb);
}
Return<ErrorStatus> prepareModel(
const ::android::hardware::neuralnetworks::V1_0::Model& model,
- const android::sp<IPreparedModelCallback>& cb)
+ const android::sp<IPreparedModelCallback>& cb) override
{
ALOGV("V1_0::ArmnnDriver::prepareModel()");
- return ArmnnDriverImpl::prepareModel(m_Runtime, m_ClTunedParameters, m_Options, model, cb);
+ return armnn_driver::ArmnnDriverImpl<HalVersion_1_0>::prepareModel(m_Runtime,
+ m_ClTunedParameters,
+ m_Options,
+ model,
+ cb);
}
- Return<DeviceStatus> getStatus()
+ Return<DeviceStatus> getStatus() override
{
ALOGV("V1_0::ArmnnDriver::getStatus()");
- return ArmnnDriverImpl::getStatus();
+ return armnn_driver::ArmnnDriverImpl<HalVersion_1_0>::getStatus();
}
};