Open Bug 1968618 Opened 3 months ago Updated 10 days ago

[meta] WebRender dithering support

Categories

(Core :: Graphics: WebRender, task)

task

Tracking

()

People

(Reporter: sotaro, Unassigned)

References

(Depends on 3 open bugs, )

Details

(Keywords: meta)

WebRender dithering was disabled by the following

https://github.com/servo/webrender/pull/1042


There are a number of WPT/CSS tests that break with the current
gradient dither code. For now, disable dither on gradients so that
we can land a WR update in Servo. We can re-enable the dither
once the reftest bug is fixed.

Depends on: 627771
See Also: → 1885571
See Also: → 1889092

Chromium tries to enable dither by calling PaintFlags::() or SkPaint::setDither().

They are called in the followings

[1] and [2] seems not related to WebRender. Only [3] seems necessary for WebRender.

3 Types of gradients are created related to [3] by the followings.

And Skia could disable dither with the following checks

WebRender has dither implementation, though it is disabled. It was originally added by https://github.com/servo/webrender/pull/1042.

Then it was refactored by Bug 1688323.

Radial and conic gradients were added by Bug 1687977.

WebRenderOptions::enable_dithering seems care only for linear gradient for now.

Depends on: 1688323
Depends on: 1687977

Test failure seems not happen by enabling dither only with hardware WebRender.
https://treeherder.mozilla.org/jobs?repo=try&revision=410ed038a6c6f9d2a1a529afb71899f48526a60f

Depends on: 1971925
Summary: [meta] WebRender dither support → [meta] WebRender dithering support
Depends on: 1974916

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

Test failure seems not happen by enabling dither only with hardware WebRender.
https://treeherder.mozilla.org/jobs?repo=try&revision=410ed038a6c6f9d2a1a529afb71899f48526a60f

It was Bug 1974916.

Depends on: 1976163
Depends on: 1702228
Depends on: 1976791
Depends on: 1978753
Depends on: 1981304
Depends on: 1980565
You need to log in before you can comment on or make changes to this bug.