Fix sync issue window rotation.
Window_rotation_done_send should be called before eglSwapBuffers.
Window_rotation_done_send is called in event thread and eglSwapBuffers is called in render thread.
Basically the logic is designed for that, but, sync issue occurs.
This patch is to fix sync issue.
Change-Id: I138c8ac1b6bc00224712674058e9f561be19a20f
while( mPostRendering &&
! mNewSurface && // We should NOT wait if we're replacing the surface
! mDeletedSurface && // We should NOT wait if we're deleting the surface
- ! mSurfaceResized && // We should NOT wait if we're resizing the surface
! mDestroyUpdateRenderThread )
{
mUpdateRenderThreadWaitCondition.Wait( lock );
{
if( !mRotationFinished )
{
- DALI_LOG_INFO( gWindowRenderSurfaceLogFilter, Debug::Verbose, "WindowRenderSurface::PostRender: Trigger rotation event\n" );
+ if( mThreadSynchronization )
+ {
+ // Enable PostRender flag
+ mThreadSynchronization->PostRenderStarted();
+ }
+
+ DALI_LOG_RELEASE_INFO("WindowRenderSurface::PostRender: Trigger rotation event\n" );
mRotationTrigger->Trigger();