From 6bcda120e55d2fbd3420fcf2abda28fb9f5e40f7 Mon Sep 17 00:00:00 2001 From: Richard Huang Date: Fri, 18 Jun 2021 17:01:38 +0100 Subject: [PATCH] Remove redundant context switching Change-Id: I1d303f949834e48e00845f3cb327eca04e71bc1e --- .../adaptor/common/combined-update-render-controller.cpp | 2 -- dali/internal/graphics/gles-impl/egl-graphics-controller.h | 9 ++++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/dali/internal/adaptor/common/combined-update-render-controller.cpp b/dali/internal/adaptor/common/combined-update-render-controller.cpp index e26e549..6e95b09 100644 --- a/dali/internal/adaptor/common/combined-update-render-controller.cpp +++ b/dali/internal/adaptor/common/combined-update-render-controller.cpp @@ -696,8 +696,6 @@ void CombinedUpdateRenderController::UpdateRenderThread() // Collect damage rects mCore.PreRender(scene, mDamagedRects); - graphics.ActivateSurfaceContext(windowSurface); - // Render off-screen frame buffers first if any mCore.RenderScene(windowRenderStatus, scene, true); diff --git a/dali/internal/graphics/gles-impl/egl-graphics-controller.h b/dali/internal/graphics/gles-impl/egl-graphics-controller.h index be883bf..2491aba 100644 --- a/dali/internal/graphics/gles-impl/egl-graphics-controller.h +++ b/dali/internal/graphics/gles-impl/egl-graphics-controller.h @@ -447,7 +447,14 @@ public: */ void Flush() { - mGraphics->ActivateResourceContext(); + if(!mCreateTextureQueue.empty() || + !mCreateBufferQueue.empty() || + !mCreateFramebufferQueue.empty() || + !mTextureUpdateRequests.empty() || + !mTextureMipmapGenerationRequests.empty()) + { + mGraphics->ActivateResourceContext(); + } // Process creations ProcessCreateQueues(); -- 2.7.4