Skip to content

[Android] Log why Impeller falls back to OpenGLES - #194764

Merged
auto-submit[bot] merged 4 commits into
flutter:masterfrom
M0n7y5:pr-b-fallback-logging
Nov 2, 2026
Merged

auto-submit[bot] merged 4 commits into
flutter:masterfrom
M0n7y5:pr-b-fallback-logging

Conversation

@M0n7y5

@M0n7y5 M0n7y5 commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Impeller's Android autoselect falls back to OpenGLES for several reasons. Some were silent: emulators, Huawei devices, and MediaTek vendor SDKs below 32. Known bad SoCs and known bad Vulkan drivers were logged only at INFO, which is hidden by default, with the same text for both. A profile or release log therefore shows only Using the Impeller rendering backend (OpenGLES)., and app developers and triagers cannot tell why Vulkan was not used.

This PR logs every fallback branch at FML_LOG(INFO), visible with --verbose-system-logs, one line each and with the values that triggered it. All lines are in GetActualRenderingAPIForImpeller (android_context_dynamic_impeller.cc) unless noted:

branch message
emulator Emulator detected, falling back to OpenGLES.
Huawei Huawei device detected (ro.com.google.clientidbase=android-huawei), falling back to OpenGLES.
MediaTek vendor SDK MediaTek vendor API level <n> is below 32 (ro.vendor.mediatek.platform=<value>), falling back to OpenGLES.
known bad SoC Known bad SoC encountered (ro.product.board=<board>), falling back to OpenGLES.
Vulkan probe invalid Could not create a Vulkan context, falling back to OpenGLES.

In android_context_vk_impeller.cc (CreateImpellerContext), the failing step is logged just before the probe line:

step message
device selection Could not select a Vulkan device: <absl status message>
known bad driver Known bad Vulkan driver encountered. followed by DriverInfoVK::DumpToLog() (name, API version, driver version, vendor, device type)
context setup Could not set up the Vulkan context on the selected device.

The vk messages do not say "falling back", because forced Vulkan (ImpellerBackend=vulkan) uses the same function and aborts instead. The Using the Impeller rendering backend (Vulkan) banner keeps the structure from #193875: it only prints for a non-null context.

No new log line contains the phrase "Using the Impeller rendering backend". devicelab hello_world_impeller.dart counts logcat lines with that phrase, so its backend count is unchanged.

Observed on device

moto g54 5G (MediaTek MT6855, PowerVR BXM-8-256, Android 15, Vulkan driver 1.15@6133110), profile build of master plus this PR, default backend selection, --verbose-system-logs, logcat from process start:

I flutter : [INFO:flutter/shell/platform/android/android_context_dynamic_impeller.cc(116)] MediaTek vendor API level 31 is below 32 (ro.vendor.mediatek.platform=MT6855), falling back to OpenGLES.
I flutter : [IMPORTANT:flutter/shell/platform/android/android_context_gl_impeller.cc(105)] Using the Impeller rendering backend (OpenGLES).

Before this PR, only the second line was printed. With Vulkan forced (and the PowerVR denylist disabled locally for the experiment), no fallback line appears and the only Impeller line is the (Vulkan) banner.

Only the MediaTek branch fired on hardware. The emulator, Huawei, bad SoC and bad driver branches and the three Vulkan setup-failure steps were not exercised on a device; each is a log-only addition next to an existing return nullptr.

Tests

None added. The change is log-only and the tree has no tests asserting these messages: shell/ has no other matches for "Known bad Vulkan" or "falling back", and android_context_dynamic_impeller_unittests.cc has no log checks. I'd like to request a test exemption, since behavior is unchanged beyond logging.

Related issues

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

@M0n7y5
M0n7y5 requested a review from a team as a code owner October 19, 2026 17:16
@M0n7y5
M0n7y5 requested review from jesswrd and removed request for a team October 19, 2026 17:16
@flutter-dashboard

Copy link
Copy Markdown

It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. If both you and the PR author believe this PR qualifies for a test exemption, escalate to the tech lead for the changed area to review and apply the test-exempt label. All reviewers should feel empowered to ask for tests before escalating.

@github-actions github-actions Bot added platform-android Android applications specifically engine flutter/engine related. See also e: labels. team-android Owned by Android platform team labels Oct 19, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces detailed logging at the IMPORTANT level in android_context_dynamic_impeller.cc and android_context_vk_impeller.cc when falling back to OpenGLES due to emulator detection, specific hardware workarounds, or Vulkan context creation failures. The review feedback suggests keeping a split string literal on a single line in android_context_vk_impeller.cc to adhere to the Google C++ Style Guide and improve searchability.

@M0n7y5
M0n7y5 force-pushed the pr-b-fallback-logging branch from 19074bc to 6ce9abd Compare October 19, 2026 17:20
@gaaclarke
gaaclarke self-requested a review October 20, 2026 20:38

@gaaclarke gaaclarke left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FML_LOG(INFO) is the appropriate level for this sort of information. Otherwise I'm on board.

@M0n7y5

M0n7y5 commented Oct 22, 2026

Copy link
Copy Markdown
Contributor Author

I tried INFO on a moto g54 (MediaTek gate). With no flags the only line in logcat is the backend line:

I flutter : [IMPORTANT:flutter/shell/platform/android/android_context_gl_impeller.cc(105)] Using the Impeller rendering backend (OpenGLES).

The reason only appears with --verbose-system-logs, because the shell sets the minimum level to kLogError unless verbose logging is on (shell/common/shell.cc:111-112); the two existing INFO lines were already hidden the same way, which is why reports like #192467 and #193148 have nothing but the backend line to go on. At IMPORTANT, without flags:

I flutter : [IMPORTANT:flutter/shell/platform/android/android_context_dynamic_impeller.cc(116)] MediaTek vendor API level 31 is below 32 (ro.vendor.mediatek.platform=MT6855), falling back to OpenGLES.
I flutter : [IMPORTANT:flutter/shell/platform/android/android_context_gl_impeller.cc(105)] Using the Impeller rendering backend (OpenGLES).

These are startup-only diagnostics, printed only when Vulkan is skipped (a reason line, plus the driver dump on the denylist path), and kLogImportant is documented as "important enough to display even if ordinary info is hidden" (fml/log_level.h:16-18). Would you take IMPORTANT for them so they sit next to the backend line they explain? If you still prefer INFO, I have that commit ready and will push it.

@gaaclarke

Copy link
Copy Markdown
Member

Would you take IMPORTANT for them so they sit next to the backend line they explain? If you still prefer INFO, I have that commit ready and will push it.

It's not really my decision in this case. I'm just enforcing the policy that is standard across the team. One could make an argument here that it is IMPORTANT and that can play out across many different places, then we have a very chatty engine that makes IMPORTANT messages just noise. Let's keep it as INFO.

@M0n7y5

M0n7y5 commented Oct 22, 2026

Copy link
Copy Markdown
Contributor Author

Ok then, INFO it is. Pushed as bb27645.

@gaaclarke gaaclarke left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, this is looking good to me. I just have one request about introducing a new shortcut.

@gaaclarke gaaclarke left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@gaaclarke
gaaclarke requested a review from walley892 October 23, 2026 17:56
@gaaclarke

Copy link
Copy Markdown
Member

@walley892 can you be a second reviewer for this please?

@gaaclarke gaaclarke added the CICD Run CI/CD label Oct 23, 2026
@gaaclarke
gaaclarke requested review from andywolff and removed request for andywolff October 23, 2026 18:11
Impeller autoselect returned OpenGLES silently for emulators, Huawei
devices and MediaTek vendor SDKs below 32, and logged known bad SoCs and
drivers only at INFO. A profile log then shows "Using the Impeller
rendering backend (OpenGLES)." with no reason.

Log every fallback branch at IMPORTANT, the level of the backend line,
with the property values that triggered it. Vulkan setup failures name
the failing step, and a known bad driver dumps its driver info.
@gaaclarke gaaclarke added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 26, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Oct 26, 2026
@auto-submit

auto-submit Bot commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/194764, because - The status or check suite Dashboard Checks has failed. Please fix the issues identified (or deflake) before re-applying this label.

@auto-submit

auto-submit Bot commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/194764, because - This pull request has the missing-tests label and does not have the test-exempt label. Please add tests or obtain a test exemption from a tech lead before re-applying the autosubmit label.

@M0n7y5
M0n7y5 force-pushed the pr-b-fallback-logging branch from 2863b1d to d47b283 Compare October 30, 2026 21:28
@flutter-dashboard flutter-dashboard Bot removed the CICD Run CI/CD label Oct 30, 2026
@M0n7y5

M0n7y5 commented Oct 30, 2026

Copy link
Copy Markdown
Contributor Author

@gaaclarke rebased onto master so Linux customer_testing picks up the tests.version fix (#194968). The bot dropped the CICD label on push. Could you re-add it and, if you agree the log-only change qualifies, route the test exemption?

@gaaclarke gaaclarke added CICD Run CI/CD autosubmit Merge PR when tree becomes green via auto submit App labels Oct 30, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Oct 30, 2026
@auto-submit

auto-submit Bot commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/194764, because - The status or check suite ci.yaml validation has failed. Please fix the issues identified (or deflake) before re-applying this label.

@auto-submit

auto-submit Bot commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/194764, because - This pull request has the missing-tests label and does not have the test-exempt label. Please add tests or obtain a test exemption from a tech lead before re-applying the autosubmit label.

@flutter-dashboard flutter-dashboard Bot removed the CICD Run CI/CD label Oct 31, 2026
@gaaclarke gaaclarke added CICD Run CI/CD autosubmit Merge PR when tree becomes green via auto submit App labels Nov 2, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Nov 2, 2026
@auto-submit

auto-submit Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/194764, because - This pull request has the missing-tests label and does not have the test-exempt label. Please add tests or obtain a test exemption from a tech lead before re-applying the autosubmit label.

@gaaclarke

Copy link
Copy Markdown
Member

test exempt: just updating logging

@gaaclarke gaaclarke added test-exempt Exempt from tests. Overrides `missing-tests` label autosubmit Merge PR when tree becomes green via auto submit App labels Nov 2, 2026
@auto-submit
auto-submit Bot added this pull request to the merge queue Nov 2, 2026
Merged via the queue into flutter:master with commit 0674356 Nov 2, 2026
41 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Nov 2, 2026
gmackall pushed a commit to gmackall/flutter that referenced this pull request Nov 3, 2026
Impeller's Android autoselect falls back to OpenGLES for several
reasons. Some were silent: emulators, Huawei devices, and MediaTek
vendor SDKs below 32. Known bad SoCs and known bad Vulkan drivers were
logged only at INFO, which is hidden by default, with the same text for
both. A profile or release log therefore shows only `Using the Impeller
rendering backend (OpenGLES).`, and app developers and triagers cannot
tell why Vulkan was not used.

This PR logs every fallback branch at `FML_LOG(INFO)`, visible with
`--verbose-system-logs`, one line each and with the values that
triggered it. All lines are in `GetActualRenderingAPIForImpeller`
(`android_context_dynamic_impeller.cc`) unless noted:

| branch | message |
|---|---|
| emulator | `Emulator detected, falling back to OpenGLES.` |
| Huawei | `Huawei device detected
(ro.com.google.clientidbase=android-huawei), falling back to OpenGLES.`
|
| MediaTek vendor SDK | `MediaTek vendor API level <n> is below 32
(ro.vendor.mediatek.platform=<value>), falling back to OpenGLES.` |
| known bad SoC | `Known bad SoC encountered (ro.product.board=<board>),
falling back to OpenGLES.` |
| Vulkan probe invalid | `Could not create a Vulkan context, falling
back to OpenGLES.` |

In `android_context_vk_impeller.cc` (`CreateImpellerContext`), the
failing step is logged just before the probe line:

| step | message |
|---|---|
| device selection | `Could not select a Vulkan device: <absl status
message>` |
| known bad driver | `Known bad Vulkan driver encountered.` followed by
`DriverInfoVK::DumpToLog()` (name, API version, driver version, vendor,
device type) |
| context setup | `Could not set up the Vulkan context on the selected
device.` |

The vk messages do not say "falling back", because forced Vulkan
(`ImpellerBackend=vulkan`) uses the same function and aborts instead.
The `Using the Impeller rendering backend (Vulkan)` banner keeps the
structure from flutter#193875: it only prints for a non-null context.

No new log line contains the phrase "Using the Impeller rendering
backend". devicelab `hello_world_impeller.dart` counts logcat lines with
that phrase, so its backend count is unchanged.

### Observed on device

moto g54 5G (MediaTek MT6855, PowerVR BXM-8-256, Android 15, Vulkan
driver 1.15@6133110), profile build of master plus this PR, default
backend selection, `--verbose-system-logs`, logcat from process start:

```
I flutter : [INFO:flutter/shell/platform/android/android_context_dynamic_impeller.cc(116)] MediaTek vendor API level 31 is below 32 (ro.vendor.mediatek.platform=MT6855), falling back to OpenGLES.
I flutter : [IMPORTANT:flutter/shell/platform/android/android_context_gl_impeller.cc(105)] Using the Impeller rendering backend (OpenGLES).
```

Before this PR, only the second line was printed. With Vulkan forced
(and the PowerVR denylist disabled locally for the experiment), no
fallback line appears and the only Impeller line is the `(Vulkan)`
banner.

Only the MediaTek branch fired on hardware. The emulator, Huawei, bad
SoC and bad driver branches and the three Vulkan setup-failure steps
were not exercised on a device; each is a log-only addition next to an
existing `return nullptr`.

### Tests

None added. The change is log-only and the tree has no tests asserting
these messages: `shell/` has no other matches for "Known bad Vulkan" or
"falling back", and `android_context_dynamic_impeller_unittests.cc` has
no log checks. I'd like to request a test exemption, since behavior is
unchanged beyond logging.

### Related issues

- flutter#192467: the engine ignores `ImpellerBackend` in release builds, and
the maintainer answer asked for device properties in order to denylist.
With this PR, the fallback reason and the triggering property values are
in the default log.
- flutter#193502 (fixed by flutter#193875): skip full Vulkan setup on denylisted
drivers. This PR adds the reason line on that early-reject path, and on
the device-selection and context-setup failures.
- flutter#193148: the MediaTek vendor-SDK gate from flutter#186405. A build with this
PR is how the gate was confirmed as the cause on a second device:
flutter#193148 (comment)

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [AI contribution guidelines] and understand my
responsibilities, or I am not using AI tools.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant in-code documentation (doc comments with
`///`).
- [x] If this PR introduces a new feature or capability, I created and
linked a website documentation issue or PR in [flutter/website] (or
verified none is needed).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

If this change needs to override an active code freeze, provide a
comment explaining why. The code freeze workflow can be overridden by
code reviewers. See pinned issues for any active code freezes with
guidance.

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[AI contribution guidelines]:
https://github.com/flutter/flutter/blob/main/CONTRIBUTING.ai.md
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[flutter/website]: https://github.com/flutter/website
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Nov 3, 2026
Roll Flutter from fcfb4f203eae to 934720261be0 (38 revisions)

flutter/flutter@fcfb4f2...9347202

2026-11-03 [email protected] Roll Skia from 5bceaa033999 to c733ad3e37cb (5 revisions) (flutter/flutter#195872)
2026-11-03 [email protected] Roll Skia from 34d2bf479385 to 5bceaa033999 (9 revisions) (flutter/flutter#195864)
2026-11-03 [email protected] fix: prefer pointer events over semantics tap for mouse clicks on web (flutter/flutter#191529)
2026-11-03 [email protected] [VPAT] Expose a semantics text field value while it is not being edited (flutter/flutter#195445)
2026-11-03 [email protected] [Impeller] Make a GL context current before constructing an AiksContext without a surface (flutter/flutter#195629)
2026-11-03 [email protected] [flutter_tools] Eliminate globals.dart from project.dart (flutter/flutter#194066)
2026-11-03 [email protected] [tool] Complete context runner elimination and migrate AppContext usages to ToolContext (flutter/flutter#190797)
2026-11-03 [email protected] [web] Unify font collections between CanvasKit and Skwasm (flutter/flutter#195539)
2026-11-03 [email protected] [Android] Replay predictive back state for retained engines (flutter/flutter#192286)
2026-11-03 [email protected] [vulkan]: Adds depth/stencil synchronization for subpasses (flutter/flutter#195689)
2026-11-03 [email protected] [web] Honor requested upscaling in instantiateImageCodecWithSize and ImageDescriptor.instantiateCodec (flutter/flutter#195836)
2026-11-03 [email protected] Roll Skia from 866b61ca92c9 to 34d2bf479385 (9 revisions) (flutter/flutter#195848)
2026-11-03 [email protected] Roll Fuchsia Test Scripts from xl1LWBuppzu-BnOzV... to B6zarykZp6PKWRueg... (flutter/flutter#195847)
2026-11-03 [email protected] Remove unused ffi (flutter/flutter#195710)
2026-11-02 [email protected] Revert: [Android] Let the raster thread use every core of a chip without little cores (flutter/flutter#195838)
2026-11-02 [email protected] Run 10 impeller iOS benchmarks as one devicelab task (flutter/flutter#195661)
2026-11-02 [email protected] Use named uniforms instead of setFloat in StretchEffect (flutter/flutter#195372)
2026-11-02 [email protected] [flutter_tools] Report when the browser disconnects during a web test run (flutter/flutter#192198)
2026-11-02 [email protected] fix: Resolve memory leak in image_list example (flutter/flutter#189526)
2026-11-02 [email protected] Only run the common local engine configurations in presubmit (flutter/flutter#195688)
2026-11-02 [email protected] Update gcloud_version to version [email protected] (flutter/flutter#195769)
2026-11-02 [email protected] [Impeller] Order the Vulkan copy-texture-to-texture layout transition after the copy (flutter/flutter#195814)
2026-11-02 [email protected] [Impeller] Order the Vulkan ResizeTexture layout transition after its blit (flutter/flutter#195721)
2026-11-02 [email protected] [web] Fix CanvasKit fragment shader uniforms being freed or mutated after recording (flutter/flutter#195718)
2026-11-02 [email protected] Roll Fuchsia Linux SDK from MqypI6RNyVZ_FLUE-... to T_-6-6X1lDMghhAvX... (flutter/flutter#195809)
2026-11-02 [email protected] [Android] Log why Impeller falls back to OpenGLES (flutter/flutter#194764)
2026-11-02 [email protected] Roll Skia from 3f35fb6e591b to 866b61ca92c9 (11 revisions) (flutter/flutter#195802)
2026-11-02 [email protected] Roll Skia from 3f35fb6e591b to 866b61ca92c9 (11 revisions) (flutter/flutter#195802)
2026-11-02 [email protected] Only run the common local engine configurations in presubmit (flutter/flutter#195688)
2026-11-02 [email protected] Balance tool_integration_tests subshards by expected duration (flutter/flutter#195628)
2026-11-02 [email protected] [web_paragraph] Map code units without a cluster to a cluster (flutter/flutter#195384)
2026-11-02 [email protected] [web] Hide synthetic autofill inputs from assistive technology (flutter/flutter#195618)
2026-11-02 [email protected] Roll Packages from 3742a4e to 3f34a6f (8 revisions) (flutter/flutter#195795)
2026-11-02 [email protected] [web] Unskip web tests that pass on CanvasKit and Skwasm: platform_view_test, route_notification_messages_test (flutter/flutter#195605)
2026-11-02 [email protected] Roll Skia from e5ad3868b8db to 3f35fb6e591b (1 revision) (flutter/flutter#195789)
2026-11-02 [email protected] Roll Skia from f5215e74aa16 to e5ad3868b8db (3 revisions) (flutter/flutter#195779)
2026-11-02 [email protected] Roll Skia from e43478a2f9f8 to f5215e74aa16 (1 revision) (flutter/flutter#195776)
2026-11-01 [email protected] Roll Fuchsia Linux SDK from kW0A0xxNkqf38ljm4... to MqypI6RNyVZ_FLUE-... (flutter/flutter#195768)

If this roll has caused a breakage, revert this CL and set the roller
to dry run mode using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD engine flutter/engine related. See also e: labels. missing-tests platform-android Android applications specifically team-android Owned by Android platform team test-exempt Exempt from tests. Overrides `missing-tests` label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants