commit | a9513c89423fad8554e29ded6a6042fba71c3295 | [log] [tgz] |
---|---|---|
author | Khushal <khushalsagar@chromium.org> | Mon Jun 24 19:49:35 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Jun 24 19:49:35 2019 |
tree | 7d3795b531591d4783b3a9b513b45a3bbc70a9bf | |
parent | 93855739292ddca322f62615fa2d3331de1605a9 [diff] |
ui/gl: Gracefully handle failure to schedule the main overlay plane. Each swap for a surfaceless surface must have at least one overlay plane, for the OutputSurface, before SwapBuffers is issued. The SurfaceControl surface assumes this and will crash in SwapBuffers if at least one plane has not been scheduled. Crash reports indicate that we have cases where glScheduleOverlayPlaneCHROMIUM, presumably for the main plane, fails and we end up crashing during CommitPendingTransaction as a result. Handle this failure better by reporting a failed swap, which should always lose the context and recreate the surface. R=piman@chromium.org Bug: 977812 Change-Id: I53028e5494d5da39d91d1f685913c46ec9a1bb4f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1673026 Commit-Queue: Khushal <khushalsagar@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Auto-Submit: Khushal <khushalsagar@chromium.org> Cr-Commit-Position: refs/heads/master@{#671757}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .