[Tizen] Skip rendering before the first renderer is added to node
[platform/core/uifw/dali-core.git] / dali / internal / update / manager / update-manager.cpp
index fa8d9cd..abad331 100644 (file)
@@ -582,22 +582,6 @@ void UpdateManager::RemoveShader(Shader* shader)
   EraseUsingDiscardQueue(mImpl->shaders, shader, mImpl->discardQueue, mSceneGraphBuffers.GetUpdateBufferIndex());
 }
 
-void UpdateManager::SetShaderProgram(Shader*                 shader,
-                                     Internal::ShaderDataPtr shaderData,
-                                     bool                    modifiesGeometry)
-{
-  if(shaderData)
-  {
-    using DerivedType = MessageValue3<Shader, Internal::ShaderDataPtr, ProgramCache*, bool>;
-
-    // Reserve some memory inside the render queue
-    uint32_t* slot = mImpl->renderQueue.ReserveMessageSlot(mSceneGraphBuffers.GetUpdateBufferIndex(), sizeof(DerivedType));
-
-    // Construct message in the render queue memory; note that delete should not be called on the return value
-    new(slot) DerivedType(shader, &Shader::SetProgram, shaderData, mImpl->renderManager.GetProgramCache(), modifiesGeometry);
-  }
-}
-
 void UpdateManager::SaveBinary(Internal::ShaderDataPtr shaderData)
 {
   DALI_ASSERT_DEBUG(shaderData && "No NULL shader data pointers please.");
@@ -620,7 +604,6 @@ void UpdateManager::AddRenderer(OwnerPointer<Renderer>& renderer)
 
   renderer->ConnectToSceneGraph(*mImpl->sceneController, mSceneGraphBuffers.GetUpdateBufferIndex());
   mImpl->renderers.PushBack(renderer.Release());
-  mImpl->renderersAdded = true;
 }
 
 void UpdateManager::RemoveRenderer(Renderer* renderer)
@@ -633,6 +616,12 @@ void UpdateManager::RemoveRenderer(Renderer* renderer)
   renderer->DisconnectFromSceneGraph(*mImpl->sceneController, mSceneGraphBuffers.GetUpdateBufferIndex());
 }
 
+void UpdateManager::AttachRenderer(Node* node, Renderer* renderer)
+{
+  node->AddRenderer(renderer);
+  mImpl->renderersAdded = true;
+}
+
 void UpdateManager::SetPanGestureProcessor(PanGesture* panGestureProcessor)
 {
   DALI_ASSERT_DEBUG(NULL != panGestureProcessor);