Index: ui/gl/gl_context_egl.cc |
diff --git a/ui/gl/gl_context_egl.cc b/ui/gl/gl_context_egl.cc |
index f764a8894a36ca9385a66298cd8aaa0296d5a22b..4642b7028858e7cc852d9187305235b059c506fb 100644 |
--- a/ui/gl/gl_context_egl.cc |
+++ b/ui/gl/gl_context_egl.cc |
@@ -37,6 +37,11 @@ extern "C" { |
#define EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE 0x3AAF |
#endif /* EGL_ANGLE_display_texture_share_group */ |
+#ifndef EGL_ANGLE_create_context_client_arrays |
+#define EGL_ANGLE_create_context_client_arrays 1 |
+#define EGL_CONTEXT_CLIENT_ARRAYS_ENABLED_ANGLE 0x3452 |
+#endif /* EGL_ANGLE_create_context_client_arrays */ |
+ |
using ui::GetLastEGLErrorString; |
namespace gl { |
@@ -138,6 +143,12 @@ bool GLContextEGL::Initialize(GLSurface* compatible_surface, |
DCHECK(!attribs.global_texture_share_group); |
} |
+ if (GLSurfaceEGL::HasEGLExtension("EGL_ANGLE_create_context_client_arrays")) { |
+ // Disable client arrays if the context supports it |
+ context_attributes.push_back(EGL_CONTEXT_CLIENT_ARRAYS_ENABLED_ANGLE); |
+ context_attributes.push_back(EGL_FALSE); |
+ } |
+ |
// Append final EGL_NONE to signal the context attributes are finished |
context_attributes.push_back(EGL_NONE); |
context_attributes.push_back(EGL_NONE); |