IVGCVSW-1946: Remove armnn/src from the include paths
[platform/upstream/armnn.git] / src / armnn / layers / PadLayer.cpp
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5
6 #include "PadLayer.hpp"
7 #include "LayerCloneBase.hpp"
8
9 #include <backendsCommon/CpuTensorHandle.hpp>
10 #include <backendsCommon/WorkloadData.hpp>
11 #include <backendsCommon/WorkloadFactory.hpp>
12
13 #include <cstring>
14
15 namespace armnn
16 {
17
18 PadLayer::PadLayer(const armnn::PadDescriptor& param, const char* name)
19     : LayerWithParameters(1, 1, LayerType::Pad, param, name)
20 {}
21
22 std::unique_ptr<IWorkload> PadLayer::CreateWorkload(const armnn::Graph& graph,
23                                                     const armnn::IWorkloadFactory& factory) const
24 {
25     PadQueueDescriptor descriptor;
26     descriptor.m_Parameters.m_PadList = m_Param.m_PadList;
27
28     return factory.CreatePad(descriptor, PrepInfoAndDesc(descriptor, graph));
29 }
30
31 PadLayer* PadLayer::Clone(Graph& graph) const
32 {
33     auto layer = CloneBase<PadLayer>(graph, m_Param, GetName());
34
35     layer->m_Param.m_PadList = m_Param.m_PadList;
36
37     return std::move(layer);
38 }
39
40 void PadLayer::ValidateTensorShapesFromInputs()
41 {
42     return;
43 }
44
45 } // namespace armnn