diff options
-rw-r--r-- | 1.3/ArmnnDriver.hpp | 7 | ||||
-rw-r--r-- | ArmnnPreparedModel_1_3.cpp | 19 | ||||
-rw-r--r-- | ArmnnPreparedModel_1_3.hpp | 3 | ||||
-rw-r--r-- | Utils.cpp | 2 |
4 files changed, 19 insertions, 12 deletions
diff --git a/1.3/ArmnnDriver.hpp b/1.3/ArmnnDriver.hpp index be355932..798c4381 100644 --- a/1.3/ArmnnDriver.hpp +++ b/1.3/ArmnnDriver.hpp @@ -260,7 +260,6 @@ public: } Return<ErrorStatus> prepareModelFromCache_1_3( - V1_3::Priority, const V1_3::OptionalTimePoint&, const android::hardware::hidl_vec<android::hardware::hidl_handle>&, const android::hardware::hidl_vec<android::hardware::hidl_handle>&, @@ -272,12 +271,6 @@ public: return ErrorStatus::GENERAL_FAILURE; } - Return<void> supportsDeadlines(supportsDeadlines_cb cb) { - // Set both numbers to be false for deadlines not supported. - cb(/*prepareModelDeadline=*/false, /*executionDeadline=*/false); - return Void(); - } - Return<void> allocate(const V1_3::BufferDesc& /*desc*/, const hidl_vec<sp<V1_3::IPreparedModel>>& /*preparedModels*/, const hidl_vec<V1_3::BufferRole>& /*inputRoles*/, diff --git a/ArmnnPreparedModel_1_3.cpp b/ArmnnPreparedModel_1_3.cpp index 155f8b25..86c04948 100644 --- a/ArmnnPreparedModel_1_3.cpp +++ b/ArmnnPreparedModel_1_3.cpp @@ -234,6 +234,7 @@ Return <V1_3::ErrorStatus> ArmnnPreparedModel_1_3<HalVersion>::execute_1_3( const V1_3::Request& request, MeasureTiming measureTiming, const V1_3::OptionalTimePoint&, + const V1_3::OptionalTimeoutDuration&, const sp<V1_3::IExecutionCallback>& callback) { if (callback.get() == nullptr) @@ -259,6 +260,7 @@ Return<void> ArmnnPreparedModel_1_3<HalVersion>::executeFenced(const V1_3::Reque MeasureTiming, const OptionalTimePoint&, const OptionalTimeoutDuration&, + const OptionalTimeoutDuration&, executeFenced_cb cb) { cb(ErrorStatus::DEVICE_UNAVAILABLE, hidl_handle(nullptr), nullptr); @@ -449,10 +451,12 @@ Return<void> ArmnnPreparedModel_1_3<HalVersion>::executeSynchronously(const V1_0 } template<typename HalVersion> -Return<void> ArmnnPreparedModel_1_3<HalVersion>::executeSynchronously_1_3(const V1_3::Request& request, - MeasureTiming measureTiming, - const V1_3::OptionalTimePoint& deadline, - executeSynchronously_1_3_cb cb) +Return<void> ArmnnPreparedModel_1_3<HalVersion>::executeSynchronously_1_3( + const V1_3::Request& request, + MeasureTiming measureTiming, + const V1_3::OptionalTimePoint& deadline, + const V1_3::OptionalTimeoutDuration& loopTimeoutDuration, + executeSynchronously_1_3_cb cb) { ALOGV("ArmnnPreparedModel_1_3::executeSynchronously_1_3(): %s", GetModelSummary(m_Model).c_str()); m_RequestCount++; @@ -470,6 +474,13 @@ Return<void> ArmnnPreparedModel_1_3<HalVersion>::executeSynchronously_1_3(const return Void(); } + if (loopTimeoutDuration.getDiscriminator() != OptionalTimeoutDuration::hidl_discriminator::none) + { + ALOGE("ArmnnPreparedModel_1_3::executeSynchronously_1_3 invalid request model"); + cb(V1_3::ErrorStatus::INVALID_ARGUMENT, {}, g_NoTiming); + return Void(); + } + auto cbWrapper = [cb](V1_3::ErrorStatus errorStatus, std::vector<OutputShape> outputShapes, const Timing& timing, diff --git a/ArmnnPreparedModel_1_3.hpp b/ArmnnPreparedModel_1_3.hpp index 247149c8..47529aa8 100644 --- a/ArmnnPreparedModel_1_3.hpp +++ b/ArmnnPreparedModel_1_3.hpp @@ -60,6 +60,7 @@ public: Return<V1_3::ErrorStatus> execute_1_3(const V1_3::Request& request, V1_2::MeasureTiming measure, const V1_3::OptionalTimePoint&, + const V1_3::OptionalTimeoutDuration&, const sp<V1_3::IExecutionCallback>& callback) override; Return<void> executeSynchronously(const V1_0::Request &request, @@ -69,12 +70,14 @@ public: Return<void> executeSynchronously_1_3(const V1_3::Request &request, MeasureTiming measure, const V1_3::OptionalTimePoint& deadline, + const V1_3::OptionalTimeoutDuration& loopTimeoutDuration, V1_3::IPreparedModel::executeSynchronously_1_3_cb cb) override; Return<void> executeFenced(const V1_3::Request& request, const android::hardware::hidl_vec<android::hardware::hidl_handle>& wait_for, MeasureTiming measure, const V1_3::OptionalTimePoint& deadline, + const V1_3::OptionalTimeoutDuration& loopTimeoutDuration, const V1_3::OptionalTimeoutDuration& duration, executeFenced_cb callback) override; @@ -210,7 +210,7 @@ armnn::TensorInfo GetTensorInfoForOperand(const V1_3::Operand& operand) { // ExtraParams is expected to be of type channelQuant BOOST_ASSERT(operand.extraParams.getDiscriminator() == - V1_3::Operand::ExtraParams::hidl_discriminator::channelQuant); + V1_2::Operand::ExtraParams::hidl_discriminator::channelQuant); auto perAxisQuantParams = operand.extraParams.channelQuant(); |