Closed Bug 1853573 Opened 2 years ago Closed 2 years ago

border-image, background-repeat, border-style dotted/dashed no longer render [Adreno 3xx]

Categories

(Core :: Graphics: WebRender, defect)

Firefox 117
Unspecified
Android
defect

Tracking

()

VERIFIED FIXED
119 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox-esr115 --- unaffected
firefox117 --- wontfix
firefox118 --- wontfix
firefox119 --- verified

People

(Reporter: ke5trel, Assigned: jnicol)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(3 files)

Samsung Galaxy Tab 4 (SM-T530)
LineageOS 18.1 (Android 11)
Qualcomm Adreno (TM) 305
OpenGL ES 3.0 V@140.0

https://codepen.io/jsnkuhn/pen/PoRPKOz?editors=1100

border-image is mostly missing, some parts may appear briefly when zooming. border-image-repeat: space is more likely to render. Any images within the affected element may also fail to render.

border-style dotted/dashed and background-repeat are similarly affected.

Regression window:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=7313b6429e48b58bd38ab3be47999be475f2ba6b&tochange=8c932e681e021cc4d2f8c9f72e20ce5941eb689e

Regressed by Bug 1778032.

:nical, since you are the author of the regressor, bug 1778032, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(nical.bugzilla)

I can repro on a Moto G Play (Adreno 306). Not on other 3xx devices, so seems specific to 305 and 306, and perhaps certain driver versions

Assignee: nobody → jnicol
Flags: needinfo?(nical.bugzilla)

The presence of these two if statements in the shader appears to cause the bug, even if that flag isn't actually used.

Removing either of the if statements fixes it, though is obviously incorrect.

Luckily replacing the if statements with a mix() appears to fix it

The repeated if-statements in the existing shader code appear to be
miscompiled on certain Adreno 3xx devices. Replacing them with a mix()
statement appears to avoid the bug.

Depends on D188818

Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ad90c7167010 Implement vec2_scalar fract() in swgl. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/f8ff55014631 Avoid shader miscompile on Adreno 3xx. r=gfx-reviewers,lsalzman
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 119 Branch

The patch landed in nightly and beta is affected.
:jnicol, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox118 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(jnicol)

I think given this affects a low number of users, and shader changes are never fully without risk, it's probably best not to uplift to release at the very last minute!

Flags: needinfo?(jnicol)

Confirmed fixed on latest Nightly 119.0a1 (GV 20230924092410).

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: