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: I8da17fdc9cd970502fb8f272e2193d2e3b4a7a66
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();