From: Seoyeon Kim Date: Mon, 27 Mar 2017 07:54:08 +0000 (+0900) Subject: [Tizen] Fix rendering issue by tbm_surface and eglSwapBuffers in native render surface X-Git-Tag: accepted/tizen/common/20170327.143340~10 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git;a=commitdiff_plain;h=a8a3a3be8abd0e6446e863d340269afaba67794d [Tizen] Fix rendering issue by tbm_surface and eglSwapBuffers in native render surface This reverts commit c5100a40d323f1e991a4d93a6ace00757692a960. Change-Id: I1a8626021ca070fecf889b1fbe069af7a46da35e --- diff --git a/adaptors/tizen/native-render-surface-tizen.cpp b/adaptors/tizen/native-render-surface-tizen.cpp index e02822d..43678c7 100644 --- a/adaptors/tizen/native-render-surface-tizen.cpp +++ b/adaptors/tizen/native-render-surface-tizen.cpp @@ -170,11 +170,6 @@ void NativeRenderSurface::PostRender( EglInterface& egl, Integration::GlAbstract Internal::Adaptor::EglImplementation& eglImpl = static_cast( egl ); eglImpl.SwapBuffers(); - if( mImpl->mThreadSynchronization ) - { - mImpl->mThreadSynchronization->PostRenderStarted(); - } - if( tbm_surface_queue_can_acquire( mImpl->mTbmQueue, 1 ) ) { if( tbm_surface_queue_acquire( mImpl->mTbmQueue, &mImpl->mConsumeSurface ) != TBM_SURFACE_QUEUE_ERROR_NONE ) @@ -201,12 +196,6 @@ void NativeRenderSurface::PostRender( EglInterface& egl, Integration::GlAbstract mImpl->mRenderNotification->Trigger(); } - if( mImpl->mThreadSynchronization ) - { - // wait until the event-thread completed to use the tbm_surface - mImpl->mThreadSynchronization->PostRenderWaitForCompletion(); - } - // release the consumed surface after post render was completed ReleaseDrawable(); } @@ -258,7 +247,8 @@ void NativeRenderSurface::CreateNativeRenderable() void NativeRenderSurface::ReleaseLock() { - if( mImpl->mThreadSynchronization ) + ConditionalWait::ScopedLock lock( mImpl->mTbmSurfaceCondition ); + if( mImpl->mConsumeSurface ) { mImpl->mThreadSynchronization->PostRenderComplete(); }