Internal::Adaptor::EglImplementation& eglImpl = static_cast<Internal::Adaptor::EglImplementation&>( egl );
eglImpl.SwapBuffers();
+ if( mImpl->mThreadSynchronization )
+ {
+ mImpl->mThreadSynchronization->PostRenderStarted();
+ }
+
{
ConditionalWait::ScopedLock lock( mImpl->mTbmSurfaceCondition );
if( mImpl->mRenderNotification )
{
// use notification trigger
- // Tell the event-thread to render the tbm_surface
+ // Tell the event-thread to render the pixmap
mImpl->mRenderNotification->Trigger();
}
+
+ if( mImpl->mThreadSynchronization )
+ {
+ mImpl->mThreadSynchronization->PostRenderWaitForCompletion();
+ }
}
void NativeRenderSurface::StopRender()
void NativeRenderSurface::ReleaseSurface()
{
- ConditionalWait::ScopedLock lock( mImpl->mTbmSurfaceCondition );
if( mImpl->mConsumeSurface )
{
tbm_surface_queue_release( mImpl->mTbmQueue, mImpl->mConsumeSurface );