Remove RenderSurface from Core
[platform/core/uifw/dali-core.git] / dali / internal / update / manager / render-instruction-processor.h
index 2127d3b..9cc7b54 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_SCENE_GRAPH_RENDER_INSTRUCTION_PROCESSOR_H
 
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,7 +21,6 @@
 // INTERNAL INCLUDES
 #include <dali/internal/common/buffer-index.h>
 #include <dali/internal/update/manager/sorted-layers.h>
-#include <dali/integration-api/resource-declarations.h>
 #include <dali/public-api/common/dali-vector.h>
 
 namespace Dali
@@ -30,6 +29,8 @@ namespace Dali
 namespace Internal
 {
 
+class Context;
+
 namespace Render
 {
 class Geometry;
@@ -41,7 +42,6 @@ namespace SceneGraph
 class RenderTracker;
 struct RenderItem;
 class Shader;
-class GeometryBatcher;
 struct RenderList;
 class RenderTask;
 class RenderInstructionContainer;
@@ -92,24 +92,24 @@ public:
    * Whilst iterating through each layer, update the RenderItems ModelView matrices
    *
    * The opaque and transparent render lists are sorted first by depth
-   * index, then by Z (for transparent only), then by shader, texture
+   * index, then by Z (for transparent only), then by shader
    * and geometry. The render algorithm should then work through both
    * lists simultaneously, working through opaque then transparent
    * items at each depth index, resetting the flags appropriately.
    *
    * @param[in]  updateBufferIndex The current update buffer index.
    * @param[in]  sortedLayers      The layers containing lists of opaque/transparent renderables.
+   * @param[in]  context           The context holding the GL state of rendering for the rendering instructions.
    * @param[in]  renderTask        The rendering task information.
    * @param[in]  cull              Whether frustum culling is enabled or not
-   * @param[in]  geometryBatcher   The instance of the geometry batcher
    * @param[in]  hasClippingNodes  Whether any clipping nodes exist within this layer, to optimize sorting if not
    * @param[out] instructions      The rendering instructions for the next frame.
    */
   void Prepare( BufferIndex updateBufferIndex,
                 SortedLayerPointers& sortedLayers,
+                Context& context,
                 RenderTask& renderTask,
                 bool cull,
-                GeometryBatcher& geometryBatcher,
                 bool hasClippingNodes,
                 RenderInstructionContainer& instructions );