New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Workaround for an Android emulator EGL bug that can cause inaccurate GL version strings #21258
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…GL version strings Some versions of the Android emulator EGL implementation will only update the GL_VERSION string when the process calls eglMakeCurrent on an EGLContext for the first time. If you select a GLES2 context, then a GLES1 context, and then the original GLES2 context, the version string will not be updated by the second eglMakeCurrent(GLES2) call. So if a GLES1 context was previously current, then when the engine makes its GLES2 context current Skia will continue to see the GLES1 version string and will fail to build a GrGLInterface. This workaround checks for the emulator GL renderer and creates a new context to force a version string update before making the GrGLInterface. See internal bug b/168748787 Fixes flutter/flutter#63663
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat. Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
chinmaygarde
approved these changes
Oct 1, 2020
jason-simmons
added
the
waiting for tree to go green
This PR is approved and tested, but waiting for the tree to be green to land.
label
Oct 2, 2020
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 2, 2020
…ccurate GL version strings (flutter/engine#21258)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 2, 2020
…ccurate GL version strings (flutter/engine#21258)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 2, 2020
…ccurate GL version strings (flutter/engine#21258)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 2, 2020
…ccurate GL version strings (flutter/engine#21258)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 3, 2020
…ccurate GL version strings (flutter/engine#21258)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 3, 2020
…ccurate GL version strings (flutter/engine#21258)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 3, 2020
…ccurate GL version strings (flutter/engine#21258)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 3, 2020
…ccurate GL version strings (flutter/engine#21258)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 3, 2020
…ccurate GL version strings (flutter/engine#21258)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 3, 2020
…ccurate GL version strings (flutter/engine#21258)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 3, 2020
…ccurate GL version strings (flutter/engine#21258)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 3, 2020
…ccurate GL version strings (flutter/engine#21258)
gspencergoog
pushed a commit
to gspencergoog/engine
that referenced
this pull request
Oct 20, 2020
…GL version strings (flutter#21258)
@chinmaygarde is this fix on stable or still in master? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
cla: yes
platform-android
waiting for tree to go green
This PR is approved and tested, but waiting for the tree to be green to land.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Some versions of the Android emulator EGL implementation will only
update the GL_VERSION string when the process calls eglMakeCurrent
on an EGLContext for the first time. If you select a GLES2 context,
then a GLES1 context, and then the original GLES2 context, the version
string will not be updated by the second eglMakeCurrent(GLES2) call.
So if a GLES1 context was previously current, then when the engine makes
its GLES2 context current Skia will continue to see the GLES1 version
string and will fail to build a GrGLInterface.
This workaround checks for the emulator GL renderer and creates a new
context to force a version string update before making the
GrGLInterface.
See internal bug b/168748787
Fixes flutter/flutter#63663