Skip to content

[Impeller] Rendering glitches on Android Qualcomm Adreno 830 GPU devices #159876

Closed

Description

@LennoxGong

Steps to reproduce

Just open the application.
I can now reproduce this issue on some of my devices.
Xiaomi 15/Xiaomi 15 Pro(Snapdragon 8 Elite,Vulkan 1.3.0(dEQP:2024-03-01))
But this problem won't happen in earlier released devices such as Xiaomi 14/Xiaomi 14 Pro.
I think this is a device-specific issue.But I'm not sure if this problem will occur on other devices using this chip.

Expected results

The image can be loaded normally.

Actual results

There is an abnormality in the display of the image.

Code sample

Code sample
Just flutter-wonderous-app could reproduce.

Screenshots or Video

Screenshots / Video demonstration
example1.mp4
example2.mp4

8e45d594-fd05-4878-b374-9e62ed289167
2sZ82DdveX
image

Logs

Logs
[Paste your logs here]

Flutter Doctor output

Doctor output
[!] Flutter (Channel [user-branch], 3.27.0-1.0.pre.599, on Ubuntu 24.04.1 LTS
    6.8.0-49-generic, locale zh_CN.UTF-8)
    ! Flutter version 3.27.0-1.0.pre.599 on channel [user-branch] at
      /home/mi/workspace/devkit/flutter
      Currently on an unknown channel. Run `flutter channel` to switch to an
      official channel.
      If that doesn't fix the issue, reinstall Flutter by following instructions
      at https://flutter.dev/setup.
    ! Upstream repository unknown source is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss
      this error.
    • Framework revision 728cedc62a (2 周前), 2024-11-21 21:40:11 +0100
    • Engine revision d1a08064e1
    • Dart version 3.7.0 (build 3.7.0-164.0.dev)
    • DevTools version 2.41.0-dev.2
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
    • Android SDK at /home/mi/Android/Sdk
    • Platform android-35, build-tools 35.0.0
    • ANDROID_HOME = /home/mi/Android/Sdk
    • Java binary at:
      /home/mi/.local/share/JetBrains/Toolbox/apps/android-studio/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.11+0-17.0.11b1207.24-11852314)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✗] Linux toolchain - develop for Linux desktop
    • Ubuntu clang version 18.1.3 (1ubuntu1)
    • cmake version 3.28.3
    ✗ ninja is required for Linux development.
      It is likely available from your distribution (e.g.: apt install
      ninja-build), or can be downloaded from
      https://github.com/ninja-build/ninja/releases
    • pkg-config version 1.8.1
    ✗ GTK 3.0 development libraries are required for Linux development.
      They are likely available from your distribution (e.g.: apt install
      libgtk-3-dev)

[✓] Android Studio (version 2024.2)
    • Android Studio at
      /home/mi/.local/share/JetBrains/Toolbox/apps/android-studio
    • Flutter plugin version 81.1.3
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.11+0-17.0.11b1207.24-11852314)

[✓] IntelliJ IDEA Ultimate Edition (version 2024.2)
    • IntelliJ at
      /home/mi/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.95.3)
    • VS Code at /usr/share/code
    • Flutter extension version 3.98.0

[!] Proxy Configuration
    • HTTP_PROXY is set
    • NO_PROXY is localhost,127.0.0.0/8,::1
    • NO_PROXY contains localhost
    ! NO_PROXY does not contain 127.0.0.1
    • NO_PROXY contains ::1

[✓] Connected device (3 available)
    • 2410DPN6CC (mobile) • 3df54007 • android-arm64  • Android 15 (API 35)
    • Linux (desktop)     • linux    • linux-x64      • Ubuntu 24.04.1 LTS
      6.8.0-49-generic
    • Chrome (web)        • chrome   • web-javascript • Google Chrome
      131.0.6778.108

Activity

  1. danagbemava-nc commented on Dec 6, 2024

    @danagbemava-nc
    Member

    Hi @FridayAutum, curious, if you upgrade to the latest master (3.27.0-1.0.pre.728 onwards) do you still have this issue? Some gpu drivers have been causing some issues with impeller. See #155185

  2. added
    waiting for responseThe Flutter team cannot make further progress on this issue until the original reporter responds
    on Dec 6, 2024
  3. jonahwilliams commented on Dec 7, 2024

    @jonahwilliams
    Contributor

    @FridayAutum I don't have that particular device, but do you know the actual device id? I can't find a 15 Pro in https://vulkan.gpuinfo.org/listdevices.php?platform=android . If there isn't one, maybe you could upload the GPU info?

  4. LennoxGong commented on Dec 7, 2024

    @LennoxGong
    Author

    This problem still exists in the latest version.
    image
    img_v3_02hb_ec44fa78-326c-4e6c-9cb4-4dda3f8bfd0l

  5. removed
    waiting for responseThe Flutter team cannot make further progress on this issue until the original reporter responds
    on Dec 7, 2024
  6. jonahwilliams commented on Dec 7, 2024

    @jonahwilliams
    Contributor

    From a quick look through the capabilities:

    • It has some extensions like image compression control we only use in new devices.
    • it has multiple queue families, and most devices we test on have only one.

    Will have to acquire one of these for testing.

    One more question @FridayAutum , if you run in debug mode with --enable-vulkan-validation, do you see any error logs printed?

  7. changed the title [-][Impeller] My Flutter application encounters some problems while loading image resources.[/-] [+][Impeller] Image rendering errors on Xiaomi 15/Xiaomi 15 Pro.[/+] on Dec 7, 2024
  8. added
    e: impellerImpeller rendering backend issues and features requests
    on Dec 7, 2024
  9. LennoxGong commented on Dec 7, 2024

    @LennoxGong
    Author

    image
    Like this?

  10. jonahwilliams commented on Dec 7, 2024

    @jonahwilliams
    Contributor

    Yeah like that! it looks like that bug is indicating the image is in an invalid state while mipmaps are being generated. I wonder why we don't see that on ToT. At any rate, this is good spot to start looking...

  11. changed the title [-][Impeller] Image rendering errors on Xiaomi 15/Xiaomi 15 Pro.[/-] [+][Impeller] Image rendering errors on Xiaomi 15/Xiaomi 15 Pro / Validation invalid image layout.[/+] on Dec 7, 2024
  12. added
    P1High-priority issues at the top of the work list
    and removed
    in triagePresently being triaged by the triage team
    on Dec 7, 2024
  13. 25 remaining items

  14. jonahwilliams commented on Jan 7, 2025

    @jonahwilliams
    Contributor

    For now I've disabled the usage of mipmaps on all Adreno GPU models: #161257 (comment) . Please let me know if you still see artifacts after this change.

    I have some ideas for how to fix this for real. Mostly an observation that whether or not there is corruption depends on the exact size of thet texture. But for now, disabling and moving onto other bugs.

  15. LennoxGong commented on Jan 8, 2025

    @LennoxGong
    Author

    The rendering issue doesn't recur on the latest master branch, much appreciated!

  16. jonahwilliams commented on Jan 8, 2025

    @jonahwilliams
    Contributor

    Thanks for your patience on this issue. Closing as fixed, with #161283 open to track re-enabling mipmaps on Adreno.

  17. AlexV525 commented on Jan 8, 2025

    @AlexV525
    Member

    Should we CP #161257 or #161283 or both?

  18. added
    r: fixedIssue is closed as already fixed in a newer version
    on Jan 8, 2025
  19. JasonCareter commented on Jan 13, 2025

    @JasonCareter

    is the solution for now is to switch branch from stable to master ? any plan for stable release 🤔

  20. jonahwilliams commented on Jan 13, 2025

    @jonahwilliams
    Contributor

    I don't have any plans to do cherry picks for many of these fixes. The stable channel is ~6 months old and the merge conflicts are severe enough that I plan to wait for the next release

  21. selastingeorge commented on Jan 17, 2025

    @selastingeorge

    I'm facing this issue on my iqoo 13 also:

    Image

  22. Wlazly commented on Jan 22, 2025

    @Wlazly

    @jonahwilliams does it fix in stable branch version 3.27.3, or fix in any other version

  23. Wlazly commented on Jan 22, 2025

    @Wlazly

    I have try in stable branch version 3.27.3 ,but the issue is still occur

  24. AlexV525 commented on Jan 22, 2025

    @AlexV525
    Member

    The stable branch (as for 3.27) does not contain these fixes. We are not planning to make picks as stated above #159876 (comment).

  25. github-actions commented on Feb 5, 2025

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  26. locked as resolved and limited conversation to collaborators on Feb 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority issues at the top of the work liste: impellerImpeller rendering backend issues and features requestsr: fixedIssue is closed as already fixed in a newer versionteam-engineOwned by Engine teamtriaged-engineTriaged by Engine team

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions