Geometry Batching
[platform/core/uifw/dali-core.git] / dali / internal / update / common / discard-queue.h
index a8a35ef..899d856 100644 (file)
@@ -35,6 +35,7 @@ namespace Internal
 namespace SceneGraph
 {
 
+class GeometryBatcher;
 class RenderQueue;
 class Shader;
 class Camera;
@@ -107,6 +108,12 @@ public:
    */
   void Clear( BufferIndex updateBufferIndex );
 
+  /**
+   * Sets pointer to the GeometryBatcher instance
+   * @param[in] geometryBatcher Instance of the GeometryBatcher
+   */
+  void SetGeometryBatcher( GeometryBatcher* geometryBatcher );
+
 private:
 
   // Undefined
@@ -119,17 +126,14 @@ private:
 
   RenderQueue& mRenderQueue; ///< Used to send GL clean-up messages for the next Render.
 
-  // Messages are queued here when the update buffer index == 0
-  NodeOwnerContainer           mNodeQueue0;
-  ShaderQueue                  mShaderQueue0;
-  RendererQueue                mRendererQueue0;
-  CameraQueue                  mCameraQueue0;
-
-  // Messages are queued here when the update buffer index == 1
-  NodeOwnerContainer           mNodeQueue1;
-  ShaderQueue                  mShaderQueue1;
-  RendererQueue                mRendererQueue1;
-  CameraQueue                  mCameraQueue1;
+  // Messages are queued here following the current update buffer number
+  NodeOwnerContainer           mNodeQueue[2];
+  ShaderQueue                  mShaderQueue[2];
+  RendererQueue                mRendererQueue[2];
+  CameraQueue                  mCameraQueue[2];
+
+
+  GeometryBatcher*             mGeometryBatcher; ///< Geometry batcher needed to clean up batches upon node deletion
 };
 
 } // namespace SceneGraph