Index: gpu/skia_bindings/gl_bindings_skia_cmd_buffer.cc |
diff --git a/gpu/skia_bindings/gl_bindings_skia_cmd_buffer.cc b/gpu/skia_bindings/gl_bindings_skia_cmd_buffer.cc |
index 1b31ba71df1ae4d21f85792d6eea9300e2790d1c..2f2362c490aaac2e345c2ce4f01e002e930e4d6c 100644 |
--- a/gpu/skia_bindings/gl_bindings_skia_cmd_buffer.cc |
+++ b/gpu/skia_bindings/gl_bindings_skia_cmd_buffer.cc |
@@ -25,7 +25,14 @@ sk_sp<GrGLInterface> CreateGLES2InterfaceBindings(GLES2Interface* impl) { |
sk_sp<GrGLInterface> interface(new GrGLInterface); |
interface->fStandard = kGLES_GrGLStandard; |
- auto get_string = gles_bind(&GLES2Interface::GetString, impl); |
+ // Allowing Skia to use GL ES 3.0 caused a perf test regression (see Issue |
+ // 719572). Until that can be understood we are limiting to ES 2.0 (with |
+ // extensions). |
+ auto get_string = [impl](GLenum name) { |
+ if (name == GL_VERSION) |
+ return reinterpret_cast<const GLubyte*>("OpenGL ES 2.0 Chromium"); |
+ return impl->GetString(name); |
+ }; |
auto get_stringi = gles_bind(&GLES2Interface::GetStringi, impl); |
auto get_integerv = gles_bind(&GLES2Interface::GetIntegerv, impl); |
interface->fExtensions.init(kGLES_GrGLStandard, get_string, get_stringi, |