blob: eeb491b65b255456c795082e581c56468363865c [file] [log] [blame]
Mike Kellyb5fdf382019-06-11 16:35:25 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include <HalInterfaces.h>
9
10#include "../DriverOptions.hpp"
11
12#include <armnn/ArmNN.hpp>
13
Kevin Mayec1e5b82020-02-26 17:00:39 +000014#ifdef ARMNN_ANDROID_R
15using namespace android::nn::hal;
16#endif
17
Sadik Armagan188675f2021-02-12 17:16:42 +000018#ifdef ARMNN_ANDROID_S
19using namespace android::hardware;
20#endif
21
Kevin Mayec1e5b82020-02-26 17:00:39 +000022namespace V1_0 = ::android::hardware::neuralnetworks::V1_0;
23namespace V1_2 = ::android::hardware::neuralnetworks::V1_2;
24
Mike Kellyb5fdf382019-06-11 16:35:25 +010025namespace armnn_driver
26{
27namespace hal_1_2
28{
29
30class ArmnnDriverImpl
31{
32public:
Kevin Mayec1e5b82020-02-26 17:00:39 +000033 static Return<V1_0::ErrorStatus> prepareArmnnModel_1_2(const armnn::IRuntimePtr& runtime,
34 const armnn::IGpuAccTunedParametersPtr& clTunedParameters,
35 const DriverOptions& options,
36 const V1_2::Model& model,
37 const android::sp<V1_2::IPreparedModelCallback>& cb,
38 bool float32ToFloat16 = false);
Mike Kellyb5fdf382019-06-11 16:35:25 +010039
40 static Return<void> getCapabilities_1_2(const armnn::IRuntimePtr& runtime,
41 V1_2::IDevice::getCapabilities_1_2_cb cb);
42};
43
44} // namespace hal_1_2
45} // namespace armnn_driver