IVGCVSW-7104: BatchMatMul Serializer/Deserializer Support

  * Updated FlatBuffers schema for BatchMatMul layer type
  * Added Serializer and Deserializer implementations for BatchMatMul
  * Added unit tests for BatchMatMul serialization and deserialization
  * Updated CMakeLists and docs

Signed-off-by: Samuel Yap <samuel.yap@arm.com>
Change-Id: Iad63afbd036a3eb648683eb7416a475561aa20cb
diff --git a/src/armnnSerializer/ArmnnSchema.fbs b/src/armnnSerializer/ArmnnSchema.fbs
index f301fce..2dbfd85 100644
--- a/src/armnnSerializer/ArmnnSchema.fbs
+++ b/src/armnnSerializer/ArmnnSchema.fbs
@@ -182,6 +182,7 @@
     Convolution3d = 65,
     Pooling3d = 66,
     GatherNd = 67,
+    BatchMatMul = 68,
 }
 
 // Base layer table to be used as part of other layers
@@ -1009,6 +1010,20 @@
     inputParams:LstmInputParams;
 }
 
+table BatchMatMulDescriptor {
+    transposeX:bool = false;
+    transposeY:bool = false;
+    adjointX:bool = false;
+    adjointY:bool = false;
+    dataLayoutX:DataLayout = NCHW;
+    dataLayoutY:DataLayout = NCHW;
+}
+
+table BatchMatMulLayer {
+    base:LayerBase;
+    descriptor:BatchMatMulDescriptor;
+}
+
 union Layer {
     ActivationLayer,
     AdditionLayer,
@@ -1078,6 +1093,7 @@
     Convolution3dLayer,
     Pooling3dLayer,
     GatherNdLayer,
+    BatchMatMulLayer,
 }
 
 table AnyLayer {