Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9748ca8e authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge changes from topic "am-21719dfe49114554b602469fa0bd951d" into sc-dev

* changes:
  Merge changes from topic "nnapi_aidl_interface" am: 9b2940db am: afe5f36b am: 0bc24307
  Add utils for AIDL types conversions am: 6b6dfcd4 am: f9a2287d am: 019a0789
  Create first version of NNAPI AIDL interface am: bfd12c66 am: 6d928349 am: ed6bd4d0
  Add dynamic interface casting to NN utility code am: e5e67024 am: 7a9e26d3 am: 05bf9efb
parents 15a0137b 0342982f
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -397,6 +397,13 @@
            <regex-instance>.*</regex-instance>
        </interface>
    </hal>
    <hal format="aidl" optional="true">
        <name>android.hardware.neuralnetworks</name>
        <interface>
            <name>IDevice</name>
            <regex-instance>.*</regex-instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>android.hardware.nfc</name>
        <version>1.2</version>
+6 −0
Original line number Diff line number Diff line
@@ -44,6 +44,12 @@ bool valid(const Type& halObject) {
    return result.has_value();
}

template <typename Type>
auto convertFromNonCanonical(const Type& nonCanonicalObject)
        -> decltype(convert(nn::convert(nonCanonicalObject).value())) {
    return convert(NN_TRY(nn::convert(nonCanonicalObject)));
}

}  // namespace android::hardware::neuralnetworks::V1_0::utils

#endif  // ANDROID_HARDWARE_INTERFACES_NEURALNETWORKS_1_0_UTILS_H
+6 −0
Original line number Diff line number Diff line
@@ -47,6 +47,12 @@ bool valid(const Type& halObject) {
    return result.has_value();
}

template <typename Type>
auto convertFromNonCanonical(const Type& nonCanonicalObject)
        -> decltype(convert(nn::convert(nonCanonicalObject).value())) {
    return convert(NN_TRY(nn::convert(nonCanonicalObject)));
}

}  // namespace android::hardware::neuralnetworks::V1_1::utils

#endif  // ANDROID_HARDWARE_INTERFACES_NEURALNETWORKS_1_1_UTILS_H
+6 −0
Original line number Diff line number Diff line
@@ -54,6 +54,12 @@ bool valid(const Type& halObject) {
    return result.has_value();
}

template <typename Type>
auto convertFromNonCanonical(const Type& nonCanonicalObject)
        -> decltype(convert(nn::convert(nonCanonicalObject).value())) {
    return convert(NN_TRY(nn::convert(nonCanonicalObject)));
}

}  // namespace android::hardware::neuralnetworks::V1_2::utils

#endif  // ANDROID_HARDWARE_INTERFACES_NEURALNETWORKS_1_2_UTILS_H
+10 −1
Original line number Diff line number Diff line
@@ -43,6 +43,15 @@
namespace android::hardware::neuralnetworks::V1_2::utils {
namespace {

nn::GeneralResult<nn::SharedPreparedModel> prepareModelCallback(
        V1_0::ErrorStatus status, const sp<V1_0::IPreparedModel>& preparedModel) {
    if (const auto dynamicPreparedModel =
                V1_2::IPreparedModel::castFrom(preparedModel).withDefault(nullptr)) {
        return V1_2::utils::prepareModelCallback(status, dynamicPreparedModel);
    }
    return V1_0::utils::prepareModelCallback(status, preparedModel);
}

nn::GeneralResult<std::pair<std::vector<nn::OutputShape>, nn::Timing>>
convertExecutionGeneralResultsHelper(const hidl_vec<OutputShape>& outputShapes,
                                     const Timing& timing) {
@@ -72,7 +81,7 @@ nn::ExecutionResult<std::pair<std::vector<nn::OutputShape>, nn::Timing>> executi

Return<void> PreparedModelCallback::notify(V1_0::ErrorStatus status,
                                           const sp<V1_0::IPreparedModel>& preparedModel) {
    mData.put(V1_0::utils::prepareModelCallback(status, preparedModel));
    mData.put(prepareModelCallback(status, preparedModel));
    return Void();
}

Loading