diff options
Diffstat (limited to 'test/DriverTestHelpers.cpp')
-rw-r--r-- | test/DriverTestHelpers.cpp | 65 |
1 files changed, 62 insertions, 3 deletions
diff --git a/test/DriverTestHelpers.cpp b/test/DriverTestHelpers.cpp index 18e33777..c6d44065 100644 --- a/test/DriverTestHelpers.cpp +++ b/test/DriverTestHelpers.cpp @@ -61,7 +61,7 @@ Return<void> PreparedModelCallback::notify(V1_0::ErrorStatus status, return Void(); } -#ifdef ARMNN_ANDROID_NN_V1_2 +#if defined(ARMNN_ANDROID_NN_V1_2) || defined(ARMNN_ANDROID_NN_V1_3) Return<void> PreparedModelCallback_1_2::notify(V1_0::ErrorStatus status, const android::sp<V1_0::IPreparedModel>& preparedModel) @@ -81,6 +81,34 @@ Return<void> PreparedModelCallback_1_2::notify_1_2(V1_0::ErrorStatus status, #endif +#ifdef ARMNN_ANDROID_NN_V1_3 + +Return<void> PreparedModelCallback_1_3::notify(V1_0::ErrorStatus status, + const android::sp<V1_0::IPreparedModel>& preparedModel) +{ + m_1_0_ErrorStatus = status; + m_PreparedModel = preparedModel; + return Void(); +} + +Return<void> PreparedModelCallback_1_3::notify_1_2(V1_0::ErrorStatus status, + const android::sp<V1_2::IPreparedModel>& preparedModel) +{ + m_1_0_ErrorStatus = status; + m_PreparedModel_1_2 = preparedModel; + return Void(); +} + +Return<void> PreparedModelCallback_1_3::notify_1_3(V1_3::ErrorStatus status, + const android::sp<V1_3::IPreparedModel>& preparedModel) +{ + m_1_3_ErrorStatus = status; + m_PreparedModel_1_3 = preparedModel; + return Void(); +} + +#endif + // lifted from common/Utils.cpp hidl_memory allocateSharedMemory(int64_t size) { @@ -119,7 +147,7 @@ android::sp<V1_0::IPreparedModel> PrepareModelWithStatus(const V1_0::Model& mode return cb->GetPreparedModel(); } -#if defined(ARMNN_ANDROID_NN_V1_1) || defined(ARMNN_ANDROID_NN_V1_2) +#if defined(ARMNN_ANDROID_NN_V1_1) || defined(ARMNN_ANDROID_NN_V1_2) || defined(ARMNN_ANDROID_NN_V1_3) android::sp<V1_0::IPreparedModel> PrepareModelWithStatus(const V1_1::Model& model, armnn_driver::ArmnnDriver& driver, @@ -140,7 +168,7 @@ android::sp<V1_0::IPreparedModel> PrepareModelWithStatus(const V1_1::Model& mode #endif -#ifdef ARMNN_ANDROID_NN_V1_2 +#if defined(ARMNN_ANDROID_NN_V1_2) || defined(ARMNN_ANDROID_NN_V1_3) android::sp<V1_2::IPreparedModel> PrepareModelWithStatus_1_2(const armnn_driver::hal_1_2::HalPolicy::Model& model, armnn_driver::ArmnnDriver& driver, @@ -166,6 +194,37 @@ android::sp<V1_2::IPreparedModel> PrepareModelWithStatus_1_2(const armnn_driver: #endif +#ifdef ARMNN_ANDROID_NN_V1_3 + +android::sp<V1_3::IPreparedModel> PrepareModelWithStatus_1_3(const armnn_driver::hal_1_3::HalPolicy::Model& model, + armnn_driver::ArmnnDriver& driver, + V1_3::ErrorStatus& prepareStatus) +{ + android::sp<PreparedModelCallback_1_3> cb(new PreparedModelCallback_1_3()); + + android::hardware::hidl_vec<android::hardware::hidl_handle> emptyHandle1; + android::hardware::hidl_vec<android::hardware::hidl_handle> emptyHandle2; + armnn_driver::ArmnnDriver::HidlToken emptyToken; + + driver.prepareModel_1_3(model, + V1_1::ExecutionPreference::LOW_POWER, + V1_3::Priority::LOW, + {}, + emptyHandle1, + emptyHandle2, + emptyToken, + cb); + + prepareStatus = cb->Get_1_3_ErrorStatus(); + if (prepareStatus == V1_3::ErrorStatus::NONE) + { + BOOST_TEST((cb->GetPreparedModel_1_3() != nullptr)); + } + return cb->GetPreparedModel_1_3(); +} + +#endif + V1_0::ErrorStatus Execute(android::sp<V1_0::IPreparedModel> preparedModel, const V1_0::Request& request, V1_0::ErrorStatus expectedStatus) |