diff options
Diffstat (limited to 'neuralnetworks/aidl/utils/src/Conversions.cpp')
-rw-r--r-- | neuralnetworks/aidl/utils/src/Conversions.cpp | 64 |
1 files changed, 8 insertions, 56 deletions
diff --git a/neuralnetworks/aidl/utils/src/Conversions.cpp b/neuralnetworks/aidl/utils/src/Conversions.cpp index 4b263ee49d..0517730849 100644 --- a/neuralnetworks/aidl/utils/src/Conversions.cpp +++ b/neuralnetworks/aidl/utils/src/Conversions.cpp @@ -108,17 +108,6 @@ GeneralResult<std::vector<UnvalidatedConvertOutput<Type>>> validatedConvert( return canonical; } -GeneralResult<Handle> unvalidatedConvertHelper(const NativeHandle& aidlNativeHandle) { - std::vector<base::unique_fd> fds; - fds.reserve(aidlNativeHandle.fds.size()); - for (const auto& fd : aidlNativeHandle.fds) { - auto duplicatedFd = NN_TRY(dupFd(fd.get())); - fds.emplace_back(duplicatedFd.release()); - } - - return Handle{.fds = std::move(fds), .ints = aidlNativeHandle.ints}; -} - struct NativeHandleDeleter { void operator()(native_handle_t* handle) const { if (handle) { @@ -498,18 +487,14 @@ GeneralResult<ExecutionPreference> unvalidatedConvert( return static_cast<ExecutionPreference>(executionPreference); } -GeneralResult<SharedHandle> unvalidatedConvert(const NativeHandle& aidlNativeHandle) { - return std::make_shared<const Handle>(NN_TRY(unvalidatedConvertHelper(aidlNativeHandle))); -} - GeneralResult<std::vector<Operation>> unvalidatedConvert( const std::vector<aidl_hal::Operation>& operations) { return unvalidatedConvertVec(operations); } -GeneralResult<SyncFence> unvalidatedConvert(const ndk::ScopedFileDescriptor& syncFence) { - auto duplicatedFd = NN_TRY(dupFd(syncFence.get())); - return SyncFence::create(std::move(duplicatedFd)); +GeneralResult<SharedHandle> unvalidatedConvert(const ndk::ScopedFileDescriptor& handle) { + auto duplicatedFd = NN_TRY(dupFd(handle.get())); + return std::make_shared<const Handle>(std::move(duplicatedFd)); } GeneralResult<Capabilities> convert(const aidl_hal::Capabilities& capabilities) { @@ -553,8 +538,8 @@ GeneralResult<Timing> convert(const aidl_hal::Timing& timing) { return validatedConvert(timing); } -GeneralResult<SyncFence> convert(const ndk::ScopedFileDescriptor& syncFence) { - return validatedConvert(syncFence); +GeneralResult<SharedHandle> convert(const ndk::ScopedFileDescriptor& handle) { + return validatedConvert(handle); } GeneralResult<std::vector<Extension>> convert(const std::vector<aidl_hal::Extension>& extension) { @@ -619,17 +604,6 @@ nn::GeneralResult<std::vector<UnvalidatedConvertOutput<Type>>> validatedConvert( return halObject; } -nn::GeneralResult<common::NativeHandle> unvalidatedConvert(const nn::Handle& handle) { - common::NativeHandle aidlNativeHandle; - aidlNativeHandle.fds.reserve(handle.fds.size()); - for (const auto& fd : handle.fds) { - auto duplicatedFd = NN_TRY(nn::dupFd(fd.get())); - aidlNativeHandle.fds.emplace_back(duplicatedFd.release()); - } - aidlNativeHandle.ints = handle.ints; - return aidlNativeHandle; -} - // Helper template for std::visit template <class... Ts> struct overloaded : Ts... { @@ -755,11 +729,6 @@ nn::GeneralResult<bool> unvalidatedConvert(const nn::MeasureTiming& measureTimin return measureTiming == nn::MeasureTiming::YES; } -nn::GeneralResult<common::NativeHandle> unvalidatedConvert(const nn::SharedHandle& sharedHandle) { - CHECK(sharedHandle != nullptr); - return unvalidatedConvert(*sharedHandle); -} - nn::GeneralResult<Memory> unvalidatedConvert(const nn::SharedMemory& memory) { if (memory == nullptr) { return (NN_ERROR() << "Unable to convert nullptr memory") @@ -997,16 +966,8 @@ nn::GeneralResult<ndk::ScopedFileDescriptor> unvalidatedConvert(const nn::SyncFe return ndk::ScopedFileDescriptor(duplicatedFd.release()); } -nn::GeneralResult<ndk::ScopedFileDescriptor> unvalidatedConvertCache( - const nn::SharedHandle& handle) { - if (handle->ints.size() != 0) { - NN_ERROR() << "Cache handle must not contain ints"; - } - if (handle->fds.size() != 1) { - NN_ERROR() << "Cache handle must contain exactly one fd but contains " - << handle->fds.size(); - } - auto duplicatedFd = NN_TRY(nn::dupFd(handle->fds.front().get())); +nn::GeneralResult<ndk::ScopedFileDescriptor> unvalidatedConvert(const nn::SharedHandle& handle) { + auto duplicatedFd = NN_TRY(nn::dupFd(handle->get())); return ndk::ScopedFileDescriptor(duplicatedFd.release()); } @@ -1069,16 +1030,7 @@ nn::GeneralResult<std::vector<OutputShape>> convert( nn::GeneralResult<std::vector<ndk::ScopedFileDescriptor>> convert( const std::vector<nn::SharedHandle>& cacheHandles) { - const auto version = NN_TRY(hal::utils::makeGeneralFailure(nn::validate(cacheHandles))); - if (version > kVersion) { - return NN_ERROR() << "Insufficient version: " << version << " vs required " << kVersion; - } - std::vector<ndk::ScopedFileDescriptor> cacheFds; - cacheFds.reserve(cacheHandles.size()); - for (const auto& cacheHandle : cacheHandles) { - cacheFds.push_back(NN_TRY(unvalidatedConvertCache(cacheHandle))); - } - return cacheFds; + return validatedConvert(cacheHandles); } nn::GeneralResult<std::vector<ndk::ScopedFileDescriptor>> convert( |