From: Seoyeon Kim Date: Tue, 13 Jun 2017 01:56:51 +0000 (+0900) Subject: Revert "[Tizen] Fix rendering issue by tbm_surface and eglSwapBuffers in native rende... X-Git-Tag: accepted/tizen/unified/20170614.141244~17 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F77%2F133577%2F1;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git Revert "[Tizen] Fix rendering issue by tbm_surface and eglSwapBuffers in native render surface" This reverts commit 8ab9bcf35997ef86f7d817668b4bc7c3be44cf45. Change-Id: I223b9af3ebaa6473e5c2004b6b3cc82f5ca7ca9e --- diff --git a/adaptors/tizen/native-render-surface-tizen.cpp b/adaptors/tizen/native-render-surface-tizen.cpp index ab849e6..7af6a74 100644 --- a/adaptors/tizen/native-render-surface-tizen.cpp +++ b/adaptors/tizen/native-render-surface-tizen.cpp @@ -170,6 +170,11 @@ 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 ) @@ -196,6 +201,12 @@ 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(); } @@ -247,8 +258,7 @@ void NativeRenderSurface::CreateNativeRenderable() void NativeRenderSurface::ReleaseLock() { - ConditionalWait::ScopedLock lock( mImpl->mTbmSurfaceCondition ); - if( mImpl->mConsumeSurface ) + if( mImpl->mThreadSynchronization ) { mImpl->mThreadSynchronization->PostRenderComplete(); }