summaryrefslogtreecommitdiff
path: root/nn/runtime/test/TestExecution.cpp
diff options
context:
space:
mode:
authorXusong Wang <xusongw@google.com>2018-11-06 18:48:20 -0800
committerMiao Wang <miaowang@google.com>2019-01-24 16:26:31 -0800
commit7ad42e5f7260d91507139e0a281af45929edf71d (patch)
tree24f2f48b4030a4b7cde6d1658e15d71799ad3cf0 /nn/runtime/test/TestExecution.cpp
parent5087dd4e650172af5e45fea7e9f29f71b46248da (diff)
downloadml-7ad42e5f7260d91507139e0a281af45929edf71d.tar.gz
Support dynamic output shape in 1.2 HAL interface.
Modify ExecutionCallback to support getting output shapes from device. The sample driver is currently only returning an empty list, will return the actual shape information in a subsequent CL. Bug: 73506513 Test: NeuralNetworksTest_static Change-Id: Ib0e176d92c7b548ee83c11a576976d8a536e51e6 Merged-In: Ib0e176d92c7b548ee83c11a576976d8a536e51e6 (cherry picked from commit 174503e583deca3726d6b2f9975f828bcad3fb4f)
Diffstat (limited to 'nn/runtime/test/TestExecution.cpp')
-rw-r--r--nn/runtime/test/TestExecution.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/nn/runtime/test/TestExecution.cpp b/nn/runtime/test/TestExecution.cpp
index dcbfc07ad..7abef57bc 100644
--- a/nn/runtime/test/TestExecution.cpp
+++ b/nn/runtime/test/TestExecution.cpp
@@ -78,17 +78,21 @@ class TestPreparedModel12 : public V1_2::IPreparedModel {
if (mErrorStatus == ErrorStatus::NONE) {
return mPreparedModelV1_2->execute_1_2(request, callback);
} else {
- callback->notify_1_2(mErrorStatus);
+ callback->notify_1_2(mErrorStatus, {});
return ErrorStatus::NONE;
}
}
- Return<ErrorStatus> executeSynchronously(const Request& request) override {
+ Return<void> executeSynchronously(const Request& request, executeSynchronously_cb cb) override {
CHECK(mPreparedModelV1_2 != nullptr) << "V1_2 prepared model is nullptr.";
if (mErrorStatus == ErrorStatus::NONE) {
- return mPreparedModelV1_2->executeSynchronously(request);
+ return mPreparedModelV1_2->executeSynchronously(
+ request, [&cb](ErrorStatus error, const hidl_vec<OutputShape>& outputShapes) {
+ cb(error, outputShapes);
+ });
} else {
- return mErrorStatus;
+ cb(mErrorStatus, {});
+ return Void();
}
}