X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fgraphics%2Fgles%2Fegl-implementation.cpp;h=ae95d258df2d039606fd66e029276adbb0656115;hb=c2c11b62a84124d5b61cc91ed4a6d2698a852980;hp=7004f17ffa8df1495bbf20deb562cb5042ce0e28;hpb=148387548f10d0bea9c3bd309f4f7acbb96b0672;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/graphics/gles/egl-implementation.cpp b/dali/internal/graphics/gles/egl-implementation.cpp index 7004f17..ae95d25 100755 --- a/dali/internal/graphics/gles/egl-implementation.cpp +++ b/dali/internal/graphics/gles/egl-implementation.cpp @@ -81,7 +81,8 @@ EglImplementation::EglImplementation( int multiSamplingLevel, mDepthBufferRequired( depthBufferRequired == Integration::DepthBufferAvailable::TRUE ), mStencilBufferRequired( stencilBufferRequired == Integration::StencilBufferAvailable::TRUE ), mIsSurfacelessContextSupported( false ), - mIsKhrCreateContextSupported( false ) + mIsKhrCreateContextSupported( false ), + mIsFirstFrameAfterResume( false ) { } @@ -310,6 +311,11 @@ void EglImplementation::SwapBuffers( EGLSurface& eglSurface ) { if ( eglSurface != EGL_NO_SURFACE ) // skip if using surfaceless context { + if( mIsFirstFrameAfterResume ) + { + DALI_LOG_RELEASE_INFO( "EglImplementation::SwapBuffers: First SwapBuffers call.\n" ); + mIsFirstFrameAfterResume = false; + } eglSwapBuffers( mEglDisplay, eglSurface ); } } @@ -331,8 +337,6 @@ bool EglImplementation::ChooseConfig( bool isWindowType, ColorDepth depth ) return true; } - bool isTransparent = ( depth == COLOR_DEPTH_32 ); - mColorDepth = depth; mIsWindow = isWindowType; @@ -373,18 +377,9 @@ bool EglImplementation::ChooseConfig( bool isWindowType, ColorDepth depth ) configAttribs.PushBack( EGL_BLUE_SIZE ); configAttribs.PushBack( 8 ); - if ( isTransparent ) - { - configAttribs.PushBack( EGL_ALPHA_SIZE ); -#ifdef _ARCH_ARM_ - // For underlay video playback, we also need to set the alpha value of the 24/32bit window. - configAttribs.PushBack( 8 ); -#else - // There is a bug in the desktop emulator - // setting EGL_ALPHA_SIZE to 8 results in eglChooseConfig failing - configAttribs.PushBack( 8 ); -#endif // _ARCH_ARM_ - } +// For underlay video playback, we also need to set the alpha value of the 24/32bit window. + configAttribs.PushBack( EGL_ALPHA_SIZE ); + configAttribs.PushBack( 8 ); configAttribs.PushBack( EGL_DEPTH_SIZE ); configAttribs.PushBack( mDepthBufferRequired ? 24 : 0 ); @@ -547,6 +542,11 @@ void EglImplementation::SetGlesVersion( const int32_t glesVersion ) mGlesVersion = glesVersion; } +void EglImplementation::SetFirstFrameAfterResume() +{ + mIsFirstFrameAfterResume = true; +} + EGLDisplay EglImplementation::GetDisplay() const { return mEglDisplay;