summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroetuaho@nvidia.com <oetuaho@nvidia.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-12 16:47:53 +0000
committeroetuaho@nvidia.com <oetuaho@nvidia.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-12 16:47:53 +0000
commitdd49d9c1c18e3b8639d4adea15e964cfa7bef62e (patch)
tree5a6464c74ffe25e750b12de3a4ba0c9755d295b9
parentf3a9531269d831e3691ff2c38a42ec1998fb2223 (diff)
downloadchromium_src-dd49d9c1c18e3b8639d4adea15e964cfa7bef62e.zip
chromium_src-dd49d9c1c18e3b8639d4adea15e964cfa7bef62e.tar.gz
chromium_src-dd49d9c1c18e3b8639d4adea15e964cfa7bef62e.tar.bz2
Disable surfaceless EGL on Android
There are outstanding bugs related to how Android code meant for WebView is interacting with surfaceless EGL. These cause crashing on startup and incorrect rendering on platforms that support surfaceless EGL. Work around the issues by disabling surfaceless EGL on Android to unblock work before a more complete solution can be developed. BUG=382349 Review URL: https://codereview.chromium.org/330453003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276713 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ui/gl/gl_surface_egl.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/ui/gl/gl_surface_egl.cc b/ui/gl/gl_surface_egl.cc
index f978b23..3d49468 100644
--- a/ui/gl/gl_surface_egl.cc
+++ b/ui/gl/gl_surface_egl.cc
@@ -169,6 +169,13 @@ bool GLSurfaceEGL::InitializeOneOff() {
g_egl_window_fixed_size_supported =
HasEGLExtension("EGL_ANGLE_window_fixed_size");
+ // TODO(oetuaho@nvidia.com): Surfaceless is disabled on Android as a temporary
+ // workaround, since code written for Android WebView takes different paths
+ // based on whether GL surface objects have underlying EGL surface handles,
+ // conflicting with the use of surfaceless. See https://crbug.com/382349
+#if defined(OS_ANDROID)
+ DCHECK(!g_egl_surfaceless_context_supported);
+#else
// Check if SurfacelessEGL is supported.
g_egl_surfaceless_context_supported =
HasEGLExtension("EGL_KHR_surfaceless_context");
@@ -189,6 +196,7 @@ bool GLSurfaceEGL::InitializeOneOff() {
context->ReleaseCurrent(surface.get());
}
}
+#endif
initialized = true;