From 64708341307a58e912ed79be7e1aaead07e340a1 Mon Sep 17 00:00:00 2001 From: KyleWong Date: Thu, 27 Sep 2018 20:14:34 +0800 Subject: [PATCH] Fix a crash on some android device with the error message below: " [ERROR:flutter/shell/platform/android/android_context_gl.cc(187)] Could not create an EGL context [ERROR:flutter/shell/platform/android/android_context_gl.cc(53)] EGL Error: EGL_BAD_MATCH (12297) " --- shell/platform/android/android_context_gl.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/shell/platform/android/android_context_gl.cc b/shell/platform/android/android_context_gl.cc index b61f4ec7433c8..83037429e9d84 100644 --- a/shell/platform/android/android_context_gl.cc +++ b/shell/platform/android/android_context_gl.cc @@ -65,6 +65,12 @@ static EGLResult CreateContext(EGLDisplay display, EGLint attributes[] = {EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE}; EGLContext context = eglCreateContext(display, config, share, attributes); + if (context == EGL_NO_CONTEXT) { + EGLint last_error = eglGetError(); + if (last_error == EGL_BAD_MATCH && share != EGL_NO_CONTEXT) { + context = eglCreateContext(display, config, EGL_NO_CONTEXT, attributes); + } + } return {context != EGL_NO_CONTEXT, context}; }