From 95bb99ece15d624ddb797cd12e2cea4bb0eeaf4d Mon Sep 17 00:00:00 2001 From: Zhao Halley Date: Thu, 11 Apr 2013 15:26:18 +0800 Subject: [PATCH] Fix EGLConfig for shared video platform surface [Title] Fix EGLConfig for shared video platform surface [Issue#] https://bugs.tizen.org/jira/browse/TIVI-436 [Problem] EGLConfig fails on MESA egl [Cause] Strict EGLConfig isn't necessary for video Pixmap surface [Solution] drop unnecessary EGLConfig: remove EGL_MATCH_FORMAT_KHR/EGL_FORMAT_RGBA_8888_EXACT_KHR MESA egl doesn't implement EGL_MATCH_FORMAT_KHR feature. Anyway, I don't think it's important for video case; because Pixmap is native content, its format depends on gfx driver and matches with gfx driver. remove EGL_SURFACE_TYPE/EGL_LOCK_SURFACE_BIT_KHR EGL_LOCK_SURFACE_BIT_KHR is not necessary. since video has dedicate graphics layer, there is no CPU operation on it in hw accelerated video path --- .../platform/graphics/gstreamer/SharedVideoPlatformSurfaceTizen.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Source/WebCore/platform/graphics/gstreamer/SharedVideoPlatformSurfaceTizen.cpp b/Source/WebCore/platform/graphics/gstreamer/SharedVideoPlatformSurfaceTizen.cpp index cc18181..18e89a3 100644 --- a/Source/WebCore/platform/graphics/gstreamer/SharedVideoPlatformSurfaceTizen.cpp +++ b/Source/WebCore/platform/graphics/gstreamer/SharedVideoPlatformSurfaceTizen.cpp @@ -202,10 +202,8 @@ bool VideoPlatformSurface::createPlatformSurfaceSurface() configAttribs[i++] = 8; configAttribs[i++] = EGL_ALPHA_SIZE; configAttribs[i++] = m_hasAlpha ? 8 : 0; - configAttribs[i++] = EGL_MATCH_FORMAT_KHR; - configAttribs[i++] = EGL_FORMAT_RGBA_8888_EXACT_KHR; configAttribs[i++] = EGL_SURFACE_TYPE; - configAttribs[i++] = EGL_PIXMAP_BIT | EGL_LOCK_SURFACE_BIT_KHR; + configAttribs[i++] = EGL_PIXMAP_BIT; configAttribs[i++] = EGL_DEPTH_SIZE; configAttribs[i++] = 0; configAttribs[i++] = EGL_STENCIL_SIZE; -- 2.7.4