Fix EGLConfig for shared video platform surface 19/3319/1
authorZhao Halley <halley.zhao@intel.com>
Thu, 11 Apr 2013 07:26:18 +0000 (15:26 +0800)
committerZhao Halley <halley.zhao@intel.com>
Fri, 12 Apr 2013 10:00:58 +0000 (18:00 +0800)
[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

Source/WebCore/platform/graphics/gstreamer/SharedVideoPlatformSurfaceTizen.cpp

index cc18181..18e89a3 100644 (file)
@@ -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;