[Tizen] Fix rendering issue by tbm_surface and eglSwapBuffers in native render surface 05/122305/1
authordongsug.song <dongsug.song@samsung.com>
Fri, 31 Mar 2017 04:46:37 +0000 (13:46 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Fri, 31 Mar 2017 04:46:45 +0000 (13:46 +0900)
This reverts commit 0f2705b623fdf01eba99e27c72ed2ba8042003f0.

Change-Id: Id9786dd699e8b71a8dc21614db0fef61cdc28ec7

adaptors/tizen/native-render-surface-tizen.cpp

index e02822d..43678c7 100644 (file)
@@ -170,11 +170,6 @@ void NativeRenderSurface::PostRender( EglInterface& egl, Integration::GlAbstract
   Internal::Adaptor::EglImplementation& eglImpl = static_cast<Internal::Adaptor::EglImplementation&>( 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();
   }