Closed Bug 1586055 Opened 6 years ago Closed 1 year ago

feComponentTransfer filters that are promoted as WebRender filters don't render beyond their input, even when they should

Categories

(Core :: Graphics: WebRender, defect, P3)

defect

Tracking

()

VERIFIED FIXED
132 Branch
Tracking Status
firefox-esr115 --- wontfix
firefox-esr128 --- wontfix
firefox130 --- wontfix
firefox131 --- wontfix
firefox132 --- verified
firefox133 --- verified

People

(Reporter: mstange, Assigned: ahale)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

Attached file testcase

This testcase should render a 200x200 square of green. When run with WebRender, it only renders a 100x100 square of green.

feComponentTransfer can render outside of its input if it maps alpha = 0 to alpha > 0.

Priority: -- → P3

WebRender doesn't keep track of filter regions specified on the svg filter element at all and instead uses the size of the content being filtered plus some inflation factors for effects like blur. To get around this, we currently apply a clip to the filter result, but this only works if the filter region is smaller than the size of the content to be filtered. In this case the filter region is larger than the contents being filtered, so incorrect results are produced.

final clip: https://searchfox.org/mozilla-central/rev/01d1011ca4a460f751da030d455d35c267c3e210/layout/svg/nsFilterInstance.cpp#367

I believe that this will be fixed once filter-primitive subregion support is added (1573657) as the filter primitive subregions should already take the filter region into account.

I've been a bit busy, but I am hoping to continue work on filter-primitive subregions soon. If this becomes higher priority, feel free to snag it.

Depends on: 1573657
Has Regression Range: --- → yes
Keywords: regression
No longer blocks: 1582210
Severity: normal → --
Depends on: 1582210
Severity: -- → S3

ahale, something to add to your list of things to consider as part of the SVG filter work.

Flags: needinfo?(ahale)

Added to the WR SVG filters bug for tracking, currently lower priority than the SVG filter support overhaul but let me know if people want this urgently.

Flags: needinfo?(ahale)

Confirmed this will be fixed by https://phabricator.services.mozilla.com/D174208 when I get it to land

Depends on: 1906212

Closing as this was fixed as part of enabling gfx.webrender.svg-filter-effects.

Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED

Reproducible on Firefox 131.0 on Windows 10.
Issue is verified as fixed on Firefox 132.0b2 and Firefox Nightly 133.0a1 on Windows 10, Ubuntu 22, macOS 14.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
Depends on: 1824502
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: