From: Joogab Yun Date: Mon, 16 Sep 2019 06:45:36 +0000 (+0900) Subject: [Tizen] Log patch to show first swapbuffers call after resume X-Git-Tag: submit/tizen/20190917.064531~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3c7795d53cdbee2131ed1aea322d44e8d2c21ed4;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git [Tizen] Log patch to show first swapbuffers call after resume This reverts commit 05e5b5d454ec6f459527029af30dedaf1315716c. Change-Id: I1a24d317ef8e65e60e80a709b0a58283dcf97efb --- diff --git a/dali/internal/adaptor/common/combined-update-render-controller.cpp b/dali/internal/adaptor/common/combined-update-render-controller.cpp index 94693d2..66f32d5 100644 --- a/dali/internal/adaptor/common/combined-update-render-controller.cpp +++ b/dali/internal/adaptor/common/combined-update-render-controller.cpp @@ -633,6 +633,11 @@ void CombinedUpdateRenderController::UpdateRenderThread() eglImpl.MakeContextCurrent( EGL_NO_SURFACE, eglImpl.GetContext() ); } + if( timeToSleepUntil == 0 ) + { + eglImpl.SetFirstFrameAfterResume(); + } + Integration::RenderStatus renderStatus; AddPerformanceMarker( PerformanceInterface::RENDER_START ); diff --git a/dali/internal/graphics/gles/egl-implementation.cpp b/dali/internal/graphics/gles/egl-implementation.cpp index 3885134..ae95d25 100755 --- a/dali/internal/graphics/gles/egl-implementation.cpp +++ b/dali/internal/graphics/gles/egl-implementation.cpp @@ -81,7 +81,8 @@ EglImplementation::EglImplementation( int multiSamplingLevel, mDepthBufferRequired( depthBufferRequired == Integration::DepthBufferAvailable::TRUE ), mStencilBufferRequired( stencilBufferRequired == Integration::StencilBufferAvailable::TRUE ), mIsSurfacelessContextSupported( false ), - mIsKhrCreateContextSupported( false ) + mIsKhrCreateContextSupported( false ), + mIsFirstFrameAfterResume( false ) { } @@ -310,6 +311,11 @@ void EglImplementation::SwapBuffers( EGLSurface& eglSurface ) { if ( eglSurface != EGL_NO_SURFACE ) // skip if using surfaceless context { + if( mIsFirstFrameAfterResume ) + { + DALI_LOG_RELEASE_INFO( "EglImplementation::SwapBuffers: First SwapBuffers call.\n" ); + mIsFirstFrameAfterResume = false; + } eglSwapBuffers( mEglDisplay, eglSurface ); } } @@ -536,6 +542,11 @@ void EglImplementation::SetGlesVersion( const int32_t glesVersion ) mGlesVersion = glesVersion; } +void EglImplementation::SetFirstFrameAfterResume() +{ + mIsFirstFrameAfterResume = true; +} + EGLDisplay EglImplementation::GetDisplay() const { return mEglDisplay; diff --git a/dali/internal/graphics/gles/egl-implementation.h b/dali/internal/graphics/gles/egl-implementation.h index 1c9cab3..c0cf433 100644 --- a/dali/internal/graphics/gles/egl-implementation.h +++ b/dali/internal/graphics/gles/egl-implementation.h @@ -182,6 +182,11 @@ public: void SetGlesVersion( const int32_t glesVersion ); /** + * Sets Whether the frame is the first after Resume. + */ + void SetFirstFrameAfterResume(); + + /** * returns the display with which this object was initialized * @return the EGL Display. */ @@ -245,6 +250,8 @@ private: bool mStencilBufferRequired; bool mIsSurfacelessContextSupported; bool mIsKhrCreateContextSupported; + + bool mIsFirstFrameAfterResume; }; } // namespace Adaptor