COMPMID-3105: Update pad layer to PadV2

Adds the ability to set the padding value in the pad layer node.

Change-Id: I2f323146cbdfdfd6cfd617ee4bcafb5ffafedbbb
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/2727
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/graph/GraphBuilder.cpp b/src/graph/GraphBuilder.cpp
index 6592b2b..97ade93 100644
--- a/src/graph/GraphBuilder.cpp
+++ b/src/graph/GraphBuilder.cpp
@@ -571,9 +571,9 @@
     return norm_planar_yuv_nid;
 }
 
-NodeID GraphBuilder::add_pad_node(Graph &g, NodeParams params, NodeIdxPair input, PaddingList padding)
+NodeID GraphBuilder::add_pad_node(Graph &g, NodeParams params, NodeIdxPair input, const PaddingList &paddings, PixelValue pad_value)
 {
-    return create_simple_single_input_output_node<PadLayerNode>(g, params, input, padding);
+    return create_simple_single_input_output_node<PadLayerNode>(g, params, input, paddings, pad_value);
 }
 
 NodeID GraphBuilder::add_permute_node(Graph &g, NodeParams params, NodeIdxPair input, PermutationVector perm, DataLayout layout)
diff --git a/src/graph/nodes/PadLayerNode.cpp b/src/graph/nodes/PadLayerNode.cpp
index 1bd0776..cbee134 100644
--- a/src/graph/nodes/PadLayerNode.cpp
+++ b/src/graph/nodes/PadLayerNode.cpp
@@ -32,8 +32,8 @@
 {
 namespace graph
 {
-PadLayerNode::PadLayerNode(const PaddingList &padding)
-    : _padding(padding)
+PadLayerNode::PadLayerNode(const PaddingList &padding, PixelValue pad_value)
+    : _padding(padding), _pad_value(pad_value)
 {
     _input_edges.resize(1, EmptyEdgeID);
     _outputs.resize(1, NullTensorID);
@@ -44,6 +44,11 @@
     return _padding;
 }
 
+PixelValue PadLayerNode::pad_value() const
+{
+    return _pad_value;
+}
+
 bool PadLayerNode::forward_descriptors()
 {
     if((input_id(0) != NullTensorID) && (output_id(0) != NullTensorID))