-
Notifications
You must be signed in to change notification settings - Fork 29.7k
[Impeller] Fall back to OpenGL ES on older Adreno GPUs #177747
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
[Impeller] Fall back to OpenGL ES on older Adreno GPUs #177747
Conversation
There was a problem hiding this comment.
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 updates IsKnownBadDriver to blacklist older Adreno GPUs (version 630 and below) for the Vulkan backend, forcing a fallback to OpenGL ES on these devices. This is a workaround for issues like broken framebuffer fetch on these older GPUs. The unit tests have been updated accordingly to verify this new behavior.
| if (adreno_gpu_.has_value()) { | ||
| AdrenoGPU adreno = adreno_gpu_.value(); | ||
| if (adreno <= AdrenoGPU::kAdreno630) { | ||
| return true; | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not a bad idea gem gem
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
| if (adreno_gpu_.has_value()) { | ||
| AdrenoGPU adreno = adreno_gpu_.value(); | ||
| if (adreno <= AdrenoGPU::kAdreno630) { | ||
| return true; | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not a bad idea gem gem
These GPUs require additional flags in WorkaroundsVK that affect key features used by the Vulkan back end such as framebuffer fetch. The OpenGL ES back end will likely be more reliable on these devices. Fixes flutter#177380
f024bab to
460510e
Compare
flutter/flutter@6f8abdd...027f2e4 2025-10-31 [email protected] Roll Dart SDK from bb45c4186fb2 to db168d9e7471 (1 revision) (flutter/flutter#177839) 2025-10-31 [email protected] Hide "waiting for customer" issues from text input triage (flutter/flutter#177524) 2025-10-31 [email protected] Making the multiple_windows example app demonstrate dialogs of dialogs (flutter/flutter#177786) 2025-10-31 [email protected] Fix ElevatedButton.icon breaks focus traversal and VoiceOver when toggling icon (flutter/flutter#177579) 2025-10-31 [email protected] Fix FilledButton.icon and FilledButton.tonalIcon break focus traversal and VoiceOver (flutter/flutter#177593) 2025-10-31 [email protected] Fix cubic subdivision estimation using correct Wang’s formula (flutter/flutter#177758) 2025-10-31 [email protected] Roll Skia from ccbd7697791f to 2cf9a1923078 (1 revision) (flutter/flutter#177832) 2025-10-31 [email protected] Roll Fuchsia Linux SDK from ksXeDDo2yYBXJ4uEu... to O-OoG6j4wHXd1ThNM... (flutter/flutter#177831) 2025-10-31 [email protected] Roll Skia from 1532fabb4b7d to ccbd7697791f (4 revisions) (flutter/flutter#177828) 2025-10-31 [email protected] Roll Dart SDK from cf24b43cb643 to bb45c4186fb2 (2 revisions) (flutter/flutter#177824) 2025-10-31 [email protected] Roll Skia from 825d5c854302 to 1532fabb4b7d (3 revisions) (flutter/flutter#177808) 2025-10-30 [email protected] Roll Dart SDK from da663596bf6d to cf24b43cb643 (2 revisions) (flutter/flutter#177798) 2025-10-30 [email protected] Update the path used by the download_fuchsia_sdk.py script to //third_party/fuchsia-sdk (flutter/flutter#177794) 2025-10-30 [email protected] Roll Skia from 6af53143b120 to 825d5c854302 (2 revisions) (flutter/flutter#177788) 2025-10-30 [email protected] Fixes RuntimeEffect when used with ImageFilter.compose and gaussian blur (flutter/flutter#177687) 2025-10-30 [email protected] Adds cache extent type to two_dimentional_viewport (flutter/flutter#177411) 2025-10-30 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Update .ci.yaml in flutter/flutter to use 15.5 (#177669)" (flutter/flutter#177793) 2025-10-30 [email protected] Marks Windows windowing_test to be flaky (flutter/flutter#177716) 2025-10-30 [email protected] Fixes `SettingsChannelTest` flake (flutter/flutter#177061) 2025-10-30 [email protected] Implements uniform-by-name for web (flutter/flutter#176980) 2025-10-30 [email protected] Update .ci.yaml in flutter/flutter to use 15.5 (flutter/flutter#177669) 2025-10-30 [email protected] [Impeller] Fall back to OpenGL ES on older Adreno GPUs (flutter/flutter#177747) 2025-10-30 [email protected] [VPAT] Update a11y assessment app and guideline tests (flutter/flutter#177690) 2025-10-30 [email protected] Roll Skia from 18457971c30f to 6af53143b120 (4 revisions) (flutter/flutter#177778) 2025-10-30 [email protected] Roll Packages from 41c6b3d to 1a7075b (2 revisions) (flutter/flutter#177777) 2025-10-30 [email protected] Roll Dart SDK from 4785d5971d64 to da663596bf6d (1 revision) (flutter/flutter#177772) If this roll has caused a breakage, revert this CL and stop the roller 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 To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
These GPUs require additional flags in WorkaroundsVK that affect key features used by the Vulkan back end such as framebuffer fetch. The OpenGL ES back end will likely be more reliable on these devices. Fixes flutter#177380
These GPUs require additional flags in WorkaroundsVK that affect key features used by the Vulkan back end such as framebuffer fetch. The OpenGL ES back end will likely be more reliable on these devices.
Fixes #177380