Closed Bug 1721795 Opened 3 months ago Closed 3 months ago

Buttons drawn with a diagonal artifact, rounded corners are missing [Adreno 3xx]

Categories

(Core :: Graphics: WebRender, defect)

Firefox 90
Unspecified
Android
defect

Tracking

()

VERIFIED FIXED
92 Branch
Tracking Status
firefox91 --- fixed
firefox92 --- fixed

People

(Reporter: stefanh, Assigned: jnicol)

References

(Blocks 1 open bug, )

Details

Attachments

(1 file)

Spun off from bug 1720841:

See https://bugzilla.mozilla.org/attachment.cgi?id=9231507 (see also testcase in url field). I see this in the latest nightly (92) and beta (91) with:
Samsung Galaxy S4 (GT-I9506)
Android 5.0.1
Qualcomm Adreno (TM) 330
OpenGL ES 3.0 V@84.0

Disabling webrender makes buttons look normal.

I assume it happens in 90 as well but it's unusable because of bug 1720841.

Blocks: wr-adreno3xx

Thank you for reporting! Pinging :jnicol on Matrix.

Severity: -- → S3

This looks like another case of bug 1630356, this time due to vMixColors in cs_border_solid.glsl. Packing it in a vec2 works around the bug.

See Also: → 1630356

We have in the past encountered a driver bug on Adreno 3xx devices
where using a flat scalar varying causes the fragment shader output to
be incorrect. See bugs 1630356 and 1705433.

We have now encountered this in cs_border_solid too, due to
vMixColors. As before, packing the varying in to a vector works around
the bug.

Assignee: nobody → jnicol
Status: NEW → ASSIGNED
Pushed by jnicol@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d071aa321f67
Pack cs_border_solid's vMixColors in to vector to work around driver bug. r=gfx-reviewers,lsalzman
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 92 Branch

With my Samsung Galaxy S4 GT-I9506 (Android 5.0.1, Qualcomm Adreno 330) I can verify that buttons now are drawn correct with the 20210730093652 build.

Status: RESOLVED → VERIFIED

Comment on attachment 9233742 [details]
Bug 1721795 - Pack cs_border_solid's vMixColors in to vector to work around driver bug. r?#gfx-reviewers

Beta/Release Uplift Approval Request

  • User impact if declined: Border elements rendered incorrectly for users with Adreno 3xx GPUs
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • 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): Minor change to shader code to work around driver bug. The same workaround has previously been applied to several other shaders without any issues, so should be safe for this shader too.
  • String changes made/needed:
Attachment #9233742 - Flags: approval-mozilla-beta?

Comment on attachment 9233742 [details]
Bug 1721795 - Pack cs_border_solid's vMixColors in to vector to work around driver bug. r?#gfx-reviewers

approved for geckoview/fenix 91

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