X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fgraphics%2Fgles%2Fegl-implementation.cpp;h=2172e3799bade4295ed25652adf3a10c845574a8;hb=a2db4045f5ca2918bf4af60a5156c5d977c2faf7;hp=6001bc657e20db10b7c0d8a970e6dcc3edbdf854;hpb=241d44e77f6ee6739d00463ed5db71a27b560f26;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 6001bc6..2172e37 100755 --- a/dali/internal/graphics/gles/egl-implementation.cpp +++ b/dali/internal/graphics/gles/egl-implementation.cpp @@ -326,6 +326,8 @@ bool EglImplementation::ChooseConfig( bool isWindowType, ColorDepth depth ) return true; } + bool isTransparent = ( depth == COLOR_DEPTH_32 ); + mColorDepth = depth; mIsWindow = isWindowType; @@ -370,10 +372,18 @@ bool EglImplementation::ChooseConfig( bool isWindowType, ColorDepth depth ) configAttribs.PushBack( EGL_BLUE_SIZE ); configAttribs.PushBack( 8 ); - // In the previous code, there was a branch for ARM. - // If there is an issue in only ARM, we need to check here again. - configAttribs.PushBack( EGL_ALPHA_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_ + } configAttribs.PushBack( EGL_DEPTH_SIZE ); configAttribs.PushBack( mDepthBufferRequired ? 24 : 0 ); @@ -390,6 +400,9 @@ bool EglImplementation::ChooseConfig( bool isWindowType, ColorDepth depth ) } #endif // DALI_PROFILE_UBUNTU configAttribs.PushBack( EGL_NONE ); + + // Ensure number of configs is set to 1 as on some drivers, + // eglChooseConfig succeeds but does not actually create a proper configuration. if ( ( eglChooseConfig( mEglDisplay, &(configAttribs[0]), &mEglConfig, 1, &numConfigs ) != EGL_TRUE ) || ( numConfigs != 1 ) ) {