Closed Bug 1976163 Opened 1 year ago Closed 1 year ago

Banding in linear gradient even when WebRender dithering is enabled

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

RESOLVED FIXED
142 Branch
Tracking Status
firefox-esr115 --- wontfix
firefox-esr128 --- wontfix
firefox-esr140 --- wontfix
firefox140 --- wontfix
firefox141 --- wontfix
firefox142 --- fixed

People

(Reporter: sotaro, Assigned: sotaro)

References

(Blocks 1 open bug, Regression, )

Details

(Keywords: regression)

Attachments

(4 files, 1 external file, 2 obsolete files)

Banding is perceived in linear gradient even when WebRender dithering is enabled.

Blocks: 1968618
Attached file linear-gradient.html —

When Attachment 9499116 [details] is shown with large window, the linear gradient rendering was repeatedly darkens and lightens slightly.

Attached image screenshot (obsolete) —
Attached image enlarge part of screenshot (obsolete) —

Regression window

10:04.66 INFO: Got as far as we can go bisecting nightlies...
10:04.66 INFO: Last good revision: 79514ae28ef4b3508baf56fc8e89ef593a9b77b1 (2020-01-21)
10:04.66 INFO: First bad revision: ed735c504092d21e78ecf5cb4debf5faecb4c4ab (2020-01-22)
10:04.66 INFO: Pushlog:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=79514ae28ef4b3508baf56fc8e89ef593a9b77b1&tochange=ed735c504092d21e78ecf5cb4debf5faecb4c4ab

Bug 1608741 seemed to cause the regression.

Keywords: regression
Regressed by: 1608741
Attached image screenshot.png —
Attachment #9499117 - Attachment is obsolete: true
Attachment #9499118 - Attachment is obsolete: true

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

For more information, please visit BugBot documentation.

Flags: needinfo?(gwatson)

Bug 1608741 disabled dithering. But re-enabling dithering with pref gfx.webrender.dithering = true did not address the problem.

The problem existed even with taking snapshot. The snapshot does not use WebRender for rendering.

Nical might have more idea what we're seeing in this case.

Flags: needinfo?(gwatson) → needinfo?(nical.bugzilla)

I am not sure yet if the problem is an artifact or a banding as in the following.

(In reply to Sotaro Ikeda [:sotaro] from comment #12)

I am not sure yet if the problem is an artifact or a banding as in the following.

Ah, it is just a perception. By using color picker app, color was changed correctly. And WebRender dithering did not address the banding perception.

Flags: needinfo?(nical.bugzilla)
Summary: Colors do not fade uniformly with linear gradient → Banding in linear gradient when WebRender ditherign is enabled
Summary: Banding in linear gradient when WebRender ditherign is enabled → Banding in linear gradient even when WebRender ditherign is enabled
Assignee: nobody → sotaro.ikeda.g

With Attachment 9499392 [details] [diff], when brush shader is used for linear gradient instead of cached shader, the dithering seemed to work as expected.

Optimization of LinearGradientTemplate::from() caused the problem for dithering.

Summary: Banding in linear gradient even when WebRender ditherign is enabled → Banding in linear gradient even when WebRender dithering is enabled
Pushed by sikeda.birchill@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/486f1e707607 https://hg.mozilla.org/integration/autoland/rev/3bf6c55941a1 Disable optimization of linear gradient in LinearGradientTemplate::from() when dithering is enabled r=gfx-reviewers,gw
Pushed by amarc@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/777be8b6b88e https://hg.mozilla.org/integration/autoland/rev/44aa76ccd422 Revert "Bug 1976163 - Disable optimization of linear gradient in LinearGradientTemplate::from() when dithering is enabled r=gfx-reviewers,gw" for causing wrench bustages

Backed out for causing wrench bustages

Flags: needinfo?(sotaro.ikeda.g)
Flags: needinfo?(sotaro.ikeda.g)
Pushed by sikeda.birchill@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/3ef5c6dd71df https://hg.mozilla.org/integration/autoland/rev/84d3a58e6897 Disable optimization of linear gradient in LinearGradientTemplate::from() when dithering is enabled r=gfx-reviewers,gw
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 142 Branch
QA Whiteboard: [qa-triage-done-c143/b142]
See Also: → 2000770
See Also: → 2002172
See Also: → 1996562
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: