diff --git a/neuralnetworks/1.2/utils/include/nnapi/hal/1.2/Device.h b/neuralnetworks/1.2/utils/include/nnapi/hal/1.2/Device.h index bbd534335b..a68830d86e 100644 --- a/neuralnetworks/1.2/utils/include/nnapi/hal/1.2/Device.h +++ b/neuralnetworks/1.2/utils/include/nnapi/hal/1.2/Device.h @@ -37,7 +37,6 @@ namespace android::hardware::neuralnetworks::V1_2::utils { nn::GeneralResult initVersionString(V1_2::IDevice* device); nn::GeneralResult initDeviceType(V1_2::IDevice* device); nn::GeneralResult> initExtensions(V1_2::IDevice* device); -nn::GeneralResult initCapabilities(V1_2::IDevice* device); nn::GeneralResult> initNumberOfCacheFilesNeeded( V1_2::IDevice* device); diff --git a/neuralnetworks/1.2/utils/src/Device.cpp b/neuralnetworks/1.2/utils/src/Device.cpp index 517d61f85c..a9e537752e 100644 --- a/neuralnetworks/1.2/utils/src/Device.cpp +++ b/neuralnetworks/1.2/utils/src/Device.cpp @@ -42,6 +42,30 @@ #include namespace android::hardware::neuralnetworks::V1_2::utils { +namespace { + +nn::GeneralResult initCapabilities(V1_2::IDevice* device) { + CHECK(device != nullptr); + + nn::GeneralResult result = NN_ERROR(nn::ErrorStatus::GENERAL_FAILURE) + << "uninitialized"; + const auto cb = [&result](V1_0::ErrorStatus status, const Capabilities& capabilities) { + if (status != V1_0::ErrorStatus::NONE) { + const auto canonical = + validatedConvertToCanonical(status).value_or(nn::ErrorStatus::GENERAL_FAILURE); + result = NN_ERROR(canonical) << "getCapabilities_1_2 failed with " << toString(status); + } else { + result = validatedConvertToCanonical(capabilities); + } + }; + + const auto ret = device->getCapabilities_1_2(cb); + NN_TRY(hal::utils::handleTransportError(ret)); + + return result; +} + +} // namespace nn::GeneralResult initVersionString(V1_2::IDevice* device) { CHECK(device != nullptr); @@ -106,27 +130,6 @@ nn::GeneralResult> initExtensions(V1_2::IDevice* devi return result; } -nn::GeneralResult initCapabilities(V1_2::IDevice* device) { - CHECK(device != nullptr); - - nn::GeneralResult result = NN_ERROR(nn::ErrorStatus::GENERAL_FAILURE) - << "uninitialized"; - const auto cb = [&result](V1_0::ErrorStatus status, const Capabilities& capabilities) { - if (status != V1_0::ErrorStatus::NONE) { - const auto canonical = - validatedConvertToCanonical(status).value_or(nn::ErrorStatus::GENERAL_FAILURE); - result = NN_ERROR(canonical) << "getCapabilities_1_2 failed with " << toString(status); - } else { - result = validatedConvertToCanonical(capabilities); - } - }; - - const auto ret = device->getCapabilities_1_2(cb); - NN_TRY(hal::utils::handleTransportError(ret)); - - return result; -} - nn::GeneralResult> initNumberOfCacheFilesNeeded( V1_2::IDevice* device) { CHECK(device != nullptr); diff --git a/neuralnetworks/1.3/utils/src/Device.cpp b/neuralnetworks/1.3/utils/src/Device.cpp index 5e3d5c2ce2..0fa244d891 100644 --- a/neuralnetworks/1.3/utils/src/Device.cpp +++ b/neuralnetworks/1.3/utils/src/Device.cpp @@ -71,6 +71,27 @@ nn::GeneralResult convert( return NN_TRY(std::move(result)); } +nn::GeneralResult initCapabilities(V1_3::IDevice* device) { + CHECK(device != nullptr); + + nn::GeneralResult result = NN_ERROR(nn::ErrorStatus::GENERAL_FAILURE) + << "uninitialized"; + const auto cb = [&result](ErrorStatus status, const Capabilities& capabilities) { + if (status != ErrorStatus::NONE) { + const auto canonical = + validatedConvertToCanonical(status).value_or(nn::ErrorStatus::GENERAL_FAILURE); + result = NN_ERROR(canonical) << "getCapabilities_1_3 failed with " << toString(status); + } else { + result = validatedConvertToCanonical(capabilities); + } + }; + + const auto ret = device->getCapabilities_1_3(cb); + NN_TRY(hal::utils::handleTransportError(ret)); + + return result; +} + } // namespace nn::GeneralResult> Device::create(std::string name, @@ -87,7 +108,7 @@ nn::GeneralResult> Device::create(std::string name auto versionString = NN_TRY(V1_2::utils::initVersionString(device.get())); const auto deviceType = NN_TRY(V1_2::utils::initDeviceType(device.get())); auto extensions = NN_TRY(V1_2::utils::initExtensions(device.get())); - auto capabilities = NN_TRY(V1_2::utils::initCapabilities(device.get())); + auto capabilities = NN_TRY(initCapabilities(device.get())); const auto numberOfCacheFilesNeeded = NN_TRY(V1_2::utils::initNumberOfCacheFilesNeeded(device.get()));