From 5a947beec0fc192f581b049d608338e189fc6b1d Mon Sep 17 00:00:00 2001 From: Heeyong Song Date: Tue, 13 Dec 2022 15:00:32 +0900 Subject: [PATCH] [Tizen] Fix partial update issue Fixed the case there are 3D and 2D layers Change-Id: Ie36922355bf979c5961bb9e7c12cde44a5644116 --- dali/internal/render/common/render-manager.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/dali/internal/render/common/render-manager.cpp b/dali/internal/render/common/render-manager.cpp index 6c1b4de..8ba79b8 100644 --- a/dali/internal/render/common/render-manager.cpp +++ b/dali/internal/render/common/render-manager.cpp @@ -543,7 +543,8 @@ void RenderManager::PreRender(Integration::Scene& scene, std::vector>& if(instruction.mFrameBuffer) { - return; // TODO: reset, we don't deal with render tasks with framebuffers (for now) + cleanDamagedRect = true; + continue; // TODO: reset, we don't deal with render tasks with framebuffers (for now) } const Camera* camera = instruction.GetCamera(); @@ -564,12 +565,14 @@ void RenderManager::PreRender(Integration::Scene& scene, std::vector>& orientationAngle != ANGLE_180 || scale != Vector3(1.0f, 1.0f, 1.0f)) { - return; + cleanDamagedRect = true; + continue; } } else { - return; + cleanDamagedRect = true; + continue; } Rect viewportRect; @@ -579,7 +582,8 @@ void RenderManager::PreRender(Integration::Scene& scene, std::vector>& viewportRect.Set(instruction.mViewport.x, y, instruction.mViewport.width, instruction.mViewport.height); if(viewportRect.IsEmpty() || !viewportRect.IsValid()) { - return; // just skip funny use cases for now, empty viewport means it is set somewhere else + cleanDamagedRect = true; + continue; // just skip funny use cases for now, empty viewport means it is set somewhere else } } else @@ -680,6 +684,7 @@ void RenderManager::PreRender(Integration::Scene& scene, std::vector>& else { // The item is not in the list for some reason. Add it! + dirtyRect.rect = surfaceRect; itemsDirtyRects.insert(dirtyRectPos, dirtyRect); } } -- 2.7.4