[Tizen] Do not call PreRender if rendering will be skipped
[platform/core/uifw/dali-adaptor.git] / dali / internal / adaptor / common / combined-update-render-controller.cpp
index a8a1401..c8e0d1b 100644 (file)
@@ -690,13 +690,11 @@ void CombinedUpdateRenderController::UpdateRenderThread()
           sceneSurfaceResized = scene.IsSurfaceRectChanged();
           windowSurface->SetIsResizing(sceneSurfaceResized);
 
-          windowSurface->InitializeGraphics();
-
           // clear previous frame damaged render items rects, buffer history is tracked on surface level
           mDamagedRects.clear();
 
           // Collect damage rects
-          mCore.PreRender(scene, mDamagedRects);
+          mCore.PreRender(windowRenderStatus, scene, mDamagedRects);
 
           // Render off-screen frame buffers first if any
           mCore.RenderScene(windowRenderStatus, scene, true);
@@ -704,7 +702,10 @@ void CombinedUpdateRenderController::UpdateRenderThread()
           Rect<int> clippingRect; // Empty for fbo rendering
 
           // Switch to the context of the surface, merge damaged areas for previous frames
-          windowSurface->PreRender(sceneSurfaceResized, mDamagedRects, clippingRect); // Switch GL context
+          if(windowRenderStatus.NeedsUpdate())
+          {
+            windowSurface->PreRender(sceneSurfaceResized, mDamagedRects, clippingRect); // Switch GL context
+          }
 
           // Render the surface
           mCore.RenderScene(windowRenderStatus, scene, false, clippingRect);
@@ -722,7 +723,7 @@ void CombinedUpdateRenderController::UpdateRenderThread()
 
     if(!mUploadWithoutRendering)
     {
-      graphics.ActivateResourceContext();
+      graphics.PostRender();
     }
 
     mCore.PostRender(mUploadWithoutRendering);