Skip to content

Image rendering issues on Adreno 3xx devices after upgrade from 0.9.4 to 0.10.2 #24517

@d0bry

Description

@d0bry

After upgrade from 0.9.4 to 0.10.2 some images are corrupted or not displayed at all.

I have observed the issue on my friends Samsung Galaxy S4 and the following devices from the Google/Firebase Test Lab:

  • Moto G Play (4th Gen) XT1607
  • LG K3 LG
  • Samsung Galaxy Note 3 Duos Samsung
  • Nexus 7 (2013)

All of these have Adreno 3xx and I believe the problem is related to that.

There is nothing special in the log output (compared to the proper behavior).
It works OK on:

  • all devices/simulator after downgrading to 0.9.4,
  • other devices/simulator on 0.10.2 and above.

Unfortunately all of my devices are unaffected (none of them has Adreno 3xx) and it's hard for me to prepare a reduced test case. The affected images are displayed using RawImage widget or directly painted with Canvas.drawImage / Canvas.drawImageRect.

Below is an output extracted from the Firebase Test Lab video. These are 30 sample images:

Galaxy Note 3 Duos, flutter 0.9.4 (proper output):
v0-9-4

Galaxy Note 3 Duos, flutter 0.10.2 (corrupted images):
v0-10-2

The images are either not displayed at all or contain pixel data from other images (displayed distorted if image width is different).

The root cause may be related to #24402 and #24289.

Metadata

Metadata

Assignees

No one assigned

    Labels

    a: imagesLoading, displaying, rendering imagesc: regressionIt was better in the past than it is nowdependency: skiaSkia team may need to help use: device-specificOnly manifests on certain devicesengineflutter/engine related. See also e: labels.platform-androidAndroid applications specifically

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions