From c76ac273b043b81dbe7481bbbd5f5ceaebafb1c3 Mon Sep 17 00:00:00 2001 From: "huiyu.eun" Date: Mon, 29 Nov 2021 16:55:13 +0900 Subject: [PATCH] [Tizen] Do not call PreRender if rendering will be skipped This reverts commit 8842352ec186538a8c3eb12c9d16345567c53a45. Change-Id: Icc2f6df0662b03a36450979b359b1e4f09d60b62 --- .../src/dali-adaptor/dali-test-suite-utils/test-application.cpp | 2 +- dali/internal/adaptor/common/combined-update-render-controller.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/automated-tests/src/dali-adaptor/dali-test-suite-utils/test-application.cpp b/automated-tests/src/dali-adaptor/dali-test-suite-utils/test-application.cpp index 440270a..e71166b 100644 --- a/automated-tests/src/dali-adaptor/dali-test-suite-utils/test-application.cpp +++ b/automated-tests/src/dali-adaptor/dali-test-suite-utils/test-application.cpp @@ -220,7 +220,7 @@ bool TestApplication::PreRenderWithPartialUpdate(uint32_t intervalMilliseconds, DoUpdate(intervalMilliseconds, location); mCore->PreRender(mRenderStatus, false /*do not force clear*/, false /*do not skip rendering*/); - mCore->PreRender(mScene, damagedRects); + mCore->PreRender(mRenderStatus, mScene, damagedRects); return mStatus.KeepUpdating() || mRenderStatus.NeedsUpdate(); } diff --git a/dali/internal/adaptor/common/combined-update-render-controller.cpp b/dali/internal/adaptor/common/combined-update-render-controller.cpp index 356cec0..c8e0d1b 100644 --- a/dali/internal/adaptor/common/combined-update-render-controller.cpp +++ b/dali/internal/adaptor/common/combined-update-render-controller.cpp @@ -694,7 +694,7 @@ void CombinedUpdateRenderController::UpdateRenderThread() 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); @@ -702,7 +702,10 @@ void CombinedUpdateRenderController::UpdateRenderThread() Rect 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); -- 2.7.4