Closed Bug 1865224 Opened 2 years ago Closed 2 years ago

Android Pixel8 displaying rendering artifacts

Categories

(Core :: Graphics, defect)

ARM64
Android
defect

Tracking

()

RESOLVED FIXED
122 Branch
Tracking Status
firefox120 + fixed
firefox121 --- fixed
firefox122 --- fixed

People

(Reporter: dbaker, Assigned: jnicol)

References

Details

Attachments

(7 files)

Attached file about support

Seeing issues like rounded buttons or labels not being displayed properly. When using whereby.com rednering artifacts are all over during a call.

Setup:

  • Using Pixel 8 Pro

STR:

  • Navigate to various sites and occasionally elements are not rendered correctly.
  • Use whereby.com and join a call
Attached image Pixel8WherebyCall.png
Flags: needinfo?(jnicol)
Assignee: nobody → jnicol
Flags: needinfo?(jnicol)

I suspect this is the same as bug 1787520 and we just need to apply the same workaround to the new GPUs. (And I'll make it try to catch future GPUs too so we don't get bitten by this again)

See Also: → 1787520

We had previously encountered a driver bug on Mali Valhall GPUs where
invalidating render targets once they are no longer required results
in rendering artefacts. This invalidation was purely an optimization,
which probably doesn't help much on Mali architecture anyway, so we
can workaround the bug by skipping the invalidation. See bug 1787520
for details.

The latest Mali Valhall GPUs are also affected. This patch therefore
applies the workaround to all "Mali-G" models apart from a list of
known working ones. This means we will avoid hitting this issue again
when the next generation of GPUs are released. Once ARM move on to the
next family we can see whether it is still affected and update the
code accordingly if required.

Hi Dan, would you be able to install this APK and check whether you can still reproduce the bug in the Geckoview Example app that installs?

Flags: needinfo?(dbaker)

Comment on attachment 9364453 [details]
Bug 1865224 - Avoid invalidating render targets on more Mali GPUs. r?#gfx-reviewers

Beta/Release Uplift Approval Request

  • User impact if declined: Rendering glitches on some Android devices (including Pixel 8 and Pixel 8 Pro)
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Applies a workaround to some additional GPUs. The workaround is already being used on similar devices without issues.
  • String changes made/needed:
  • Is Android affected?: Yes
Attachment #9364453 - Flags: approval-mozilla-release?
Attachment #9364453 - Flags: approval-mozilla-beta?
Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ccd49b7b7288 Avoid invalidating render targets on more Mali GPUs. r=gfx-reviewers,aosmond

I was able to test the APK with whereby and did not see an issue with rendering artifacts.

Flags: needinfo?(dbaker)

We had previously encountered a driver bug on Mali Valhall GPUs where
invalidating render targets once they are no longer required results
in rendering artefacts. This invalidation was purely an optimization,
which probably doesn't help much on Mali architecture anyway, so we
can workaround the bug by skipping the invalidation. See bug 1787520
for details.

The latest Mali Valhall GPUs are also affected. This patch therefore
applies the workaround to all "Mali-G" models apart from a list of
known working ones. This means we will avoid hitting this issue again
when the next generation of GPUs are released. Once ARM move on to the
next family we can see whether it is still affected and update the
code accordingly if required.

Original Revision: https://phabricator.services.mozilla.com/D194063

Attachment #9364540 - Flags: approval-mozilla-release?

We had previously encountered a driver bug on Mali Valhall GPUs where
invalidating render targets once they are no longer required results
in rendering artefacts. This invalidation was purely an optimization,
which probably doesn't help much on Mali architecture anyway, so we
can workaround the bug by skipping the invalidation. See bug 1787520
for details.

The latest Mali Valhall GPUs are also affected. This patch therefore
applies the workaround to all "Mali-G" models apart from a list of
known working ones. This means we will avoid hitting this issue again
when the next generation of GPUs are released. Once ARM move on to the
next family we can see whether it is still affected and update the
code accordingly if required.

Original Revision: https://phabricator.services.mozilla.com/D194063

Attachment #9364542 - Flags: approval-mozilla-beta?

Uplift Approval Request

  • String changes made/needed: N/A
  • Risk associated with taking this patch: Low
  • Steps to reproduce for manual QE testing: N/A
  • Is Android affected?: yes
  • Explanation of risk level: Applies a workaround to some additional GPUs. The workaround is already being used on similar devices without issues.
  • Needs manual QE test: no
  • Code covered by automated testing: yes
  • Fix verified in Nightly: no
  • User impact if declined: Rendering glitches on Android devices, including Pixel 8 and Pixel 8 Pro

Uplift Approval Request

  • Is Android affected?: yes
  • Steps to reproduce for manual QE testing: N/A
  • String changes made/needed: N/A
  • Risk associated with taking this patch: Low
  • Fix verified in Nightly: no
  • User impact if declined: Rendering glitches on Android devices, including Pixel 8 and Pixel 8 Pro
  • Code covered by automated testing: yes
  • Explanation of risk level: Applies a workaround to some additional GPUs. The workaround is already being used on similar devices without issues.
  • Needs manual QE test: no
Attachment #9364453 - Flags: approval-mozilla-release?
Attachment #9364453 - Flags: approval-mozilla-beta?
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 122 Branch
Duplicate of this bug: 1859278

Comment on attachment 9364542 [details]
Bug 1865224 - Avoid invalidating render targets on more Mali GPUs.

Approved for 121.0b2.

Attachment #9364542 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

I tried reproducing this issue using a Google Pixel 7 (Android 14).

Rendering of the elements is correct on the tested device.

Builds tested:

  • Nightly 121.0a1 (2023-11-16).
  • latest Nightly 122.0a1 (2023-11-23).
  • latest Beta 121.0b2.
  • Google Chrome.

Since I didn't reproduce the issue with earlier builds, and there was no manual QE testing needed, I won't mark this ticket as verified.

Attached image 1700733350054.JPEG

Comment on attachment 9364540 [details]
Bug 1865224 - Avoid invalidating render targets on more Mali GPUs.

Approved for Fenix/Focus/Klar 120.0.1.

Attachment #9364540 - Flags: approval-mozilla-release? → approval-mozilla-release+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: