COMPMID-605: Transition buffer memory manager

Change-Id: Ide7c6124eb19f13f15f517e62d705646a0cd1ecd
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130184
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
diff --git a/arm_compute/graph/Workload.h b/arm_compute/graph/Workload.h
index 35066c4..e9368ee 100644
--- a/arm_compute/graph/Workload.h
+++ b/arm_compute/graph/Workload.h
@@ -24,7 +24,9 @@
 #ifndef __ARM_COMPUTE_GRAPH_WORKLOAD_H__
 #define __ARM_COMPUTE_GRAPH_WORKLOAD_H__
 
+#include "arm_compute/graph/GraphContext.h"
 #include "arm_compute/runtime/IFunction.h"
+#include "arm_compute/runtime/IMemoryGroup.h"
 
 #include <functional>
 #include <memory>
@@ -68,10 +70,8 @@
 struct ExecutionTask
 {
     // TODO (geopin01) : Support vector of functions?
-    std::unique_ptr<arm_compute::IFunction> task            = {}; /**< Task to execute */
-    INode                                  *node            = {}; /**< Node bound to this workload */
-    std::vector<ITensorHandle *>            commit_handles  = {}; /**< Handles needs to sync for this task to execute */
-    std::vector<ITensorHandle *>            release_handles = {}; /**< Handles that can be released after this node execution */
+    std::unique_ptr<arm_compute::IFunction> task = {}; /**< Task to execute */
+    INode                                  *node = {}; /**< Node bound to this workload */
 
     /** Function operator */
     void operator()();
@@ -83,10 +83,11 @@
 /** Execution workload */
 struct ExecutionWorkload
 {
-    std::vector<Tensor *>      inputs  = {};      /**< Input handles */
-    std::vector<Tensor *>      outputs = {};      /**< Output handles */
-    std::vector<ExecutionTask> tasks   = {};      /**< Execution workload */
-    Graph                     *graph   = nullptr; /**< Graph bound to the workload */
+    std::vector<Tensor *>      inputs  = {};          /**< Input handles */
+    std::vector<Tensor *>      outputs = {};          /**< Output handles */
+    std::vector<ExecutionTask> tasks   = {};          /**< Execution workload */
+    Graph                     *graph   = { nullptr }; /**< Graph bound to the workload */
+    GraphContext              *ctx     = { nullptr }; /**< Graph execution context */
 };
 } // namespace graph
 } // namespace arm_compute