Closed Bug 1697751 Opened 4 years ago Closed 4 years ago

Visual glitches occur when the notification window appears

Categories

(Core :: Graphics: WebRender, defect)

Firefox 88
defect

Tracking

()

RESOLVED FIXED
89 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox86 --- unaffected
firefox87 --- unaffected
firefox88 + disabled
firefox89 + disabled

People

(Reporter: nayinain, Assigned: mattwoodrow)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(4 files)

Attached file testcase.html

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0

Steps to reproduce:

  1. Open the testcase.html.
  2. Click the Show a Notification button.

Actual results:

Visual glitches appear on the notification window.

Expected results:

Without any visual glitch.

Attached video Capture.webm

Regression window:

2021-03-11T17:01:12.050000: INFO : platform_buildid: 20210310140852
2021-03-11T17:01:12.050000: INFO : platform_changeset: 97565326ca40d150f65bae3acf92178851180ca1
2021-03-11T17:01:12.050000: INFO : platform_repository: https://hg.mozilla.org/integration/autoland
2021-03-11T17:01:12.051000: INFO : platform_version: 88.0a1
2021-03-11T17:01:29.734000: INFO : Narrowed integration regression window from [5dbc5dd9, 0c5f0b28] (3 builds) to [97565326, 0c5f0b28] (2 builds) (~1 steps left)
2021-03-11T17:01:29.740000: DEBUG : Starting merge handling...
2021-03-11T17:01:29.740000: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=0c5f0b28261bfe990f6e3bc71fd57d1a32e69082&full=1
2021-03-11T17:01:29.740000: DEBUG : redo: attempt 1/3
2021-03-11T17:01:29.740000: DEBUG : redo: retry: calling _default_get with args: ('https://hg.mozilla.org/integration/autoland/json-pushes?changeset=0c5f0b28261bfe990f6e3bc71fd57d1a32e69082&full=1',), kwargs: {}, attempt #1
2021-03-11T17:01:29.746000: DEBUG : urllib3.connectionpool: Resetting dropped connection: hg.mozilla.org
2021-03-11T17:01:31.213000: DEBUG : urllib3.connectionpool: https://hg.mozilla.org:443 "GET /integration/autoland/json-pushes?changeset=0c5f0b28261bfe990f6e3bc71fd57d1a32e69082&full=1 HTTP/1.1" 200 None
2021-03-11T17:01:31.268000: DEBUG : Found commit message:
Bug 1697040 - Turn on Software WebRender for Windows popups with transparency in nightly and early beta. r=jrmuizel

Differential Revision: https://phabricator.services.mozilla.com/D107759

2021-03-11T17:01:31.269000: DEBUG : Did not find a branch, checking all integration branches
2021-03-11T17:01:31.270000: INFO : The bisection is done.
2021-03-11T17:01:31.271000: INFO : Stopped

Has Regression Range: --- → yes
Has STR: --- → yes
Keywords: regression
Regressed by: 1697040

[Tracking Requested - why for this release]:

Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(aosmond)
Flags: needinfo?(aosmond)

Happens on Windows 10 too.

Seems to be this animation that is having trouble:

https://searchfox.org/mozilla-central/rev/87a8afd9f57ee4bc542ba0ec3f96a891042b6db7/toolkit/themes/shared/alert.inc.css#9

If I manage to hover before the animation completes, it immediately draws okay, presumably because the opacity is set to opaque:

https://searchfox.org/mozilla-central/rev/87a8afd9f57ee4bc542ba0ec3f96a891042b6db7/toolkit/themes/shared/alert.inc.css#25

Hitting this on Win10 with hw webrender (Intel(R) UHD Graphics 620) too.

If I force it to use HW-WR with the popups instead of SW-WR, I don't see the problem.

Did bug 1698067 help this at all?

See Also: → 1698067

(In reply to Lee Salzman [:lsalzman] from comment #8)

Did bug 1698067 help this at all?

No, it still reproduces the same for me.

This won't ship in 88 in release -- it is turned on in early beta and earlier, and during the fission experiment.

Blocks: gfx-triage

Bug 1700153 should resolve this for Beta88.

See Also: → 1703524
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Assignee: nobody → matt.woodrow

It looks like the animation computes opacity values > 1.0, which then confuses the SWGL fast paths and generates invalid pixel data.

Hiro, should we be clamping opacity values during animations somewhere?

Flags: needinfo?(hikezoe.birchill)
Pushed by mwoodrow@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c1d76464ed82 Clamp brush_opacity opacity values into the 0..1 range. r=lsalzman
Status: REOPENED → RESOLVED
Closed: 4 years ago4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 89 Branch
See Also: → 1704395

(In reply to Matt Woodrow (:mattwoodrow) from comment #16)

It looks like the animation computes opacity values > 1.0, which then confuses the SWGL fast paths and generates invalid pixel data.

Hiro, should we be clamping opacity values during animations somewhere?

Right, I hadn't been aware of the issue for long time. Filed bug 1704395.

Flags: needinfo?(hikezoe.birchill)
No longer blocks: gfx-triage

Tested notifications and the proton hamburger menu issue, both appear to be fixed.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: