Closed Bug 1617708 Opened 5 years ago Closed 5 years ago

Invisible initial SVG letter with webrender on (possibly related to SVG mask?)

Categories

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

defect

Tracking

()

VERIFIED FIXED
mozilla76
Tracking Status
firefox-esr68 --- disabled
firefox74 --- wontfix
firefox75 --- verified
firefox76 --- verified

People

(Reporter: miketaylr, Assigned: jrmuizel)

References

(Regression, )

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

STR:

  1. At least on macOS, with webrender enabled, visit https://www.roomformilly.com/

Expected: The letter R in Room is visible
Actual: It's invisible

If I disable the mask that's a sibling to the path that strokes the R (<mask id="4c46b4b5-2005-4e0f-bd0d-2bb4293a8c3f" height="72.4" width="51" y=".8" x="0" maskUnits="userSpaceOnUse">), the bug disappears.

Jessie, are there known WR bugs with SVG masks, perhaps?

Flags: needinfo?(jbonisteel)
Attached file Standalone version (obsolete) (deleted) —
Flags: needinfo?(jmuizelaar)
Attached file Somewhat reduced (deleted) —
Attachment #9128640 - Attachment is obsolete: true
Assignee: nobody → jmuizelaar
Flags: needinfo?(jbonisteel)
Blocks: wr-mac
Priority: -- → P3

I suspect this is caused by us not respect the DataSourceSurface() offset in the composite filter

By using the destination DT we will use the correct offset
during playback instead of the offset of the reference target.

Pushed by jmuizelaar@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0e08a1d7fb07 Make ClippedDrawTarget use destination DT.

Comment on attachment 9136204 [details]
Bug 1617708. Make ClippedDrawTarget use destination DT.

Beta/Release Uplift Approval Request

  • User impact if declined: Some web content that uses svg masks inside of filters will render incorrectly. e.g. https://roomformilly.com
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The previous code didn't make much sense. The change is pretty mechanical and it's hard to imagine a scenario where it would be less correct.
  • String changes made/needed:
Attachment #9136204 - Flags: approval-mozilla-beta?
Keywords: regression
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla76

Comment on attachment 9136204 [details]
Bug 1617708. Make ClippedDrawTarget use destination DT.

approved for 75 rc1

Attachment #9136204 - Flags: approval-mozilla-beta? → approval-mozilla-release+
Backout by archaeopteryx@coole-files.de: https://hg.mozilla.org/integration/autoland/rev/b2cb41800a53 Backed out changeset 0e08a1d7fb07 for likely causing performance regression bug 1625071.
Pushed by archaeopteryx@coole-files.de: https://hg.mozilla.org/integration/autoland/rev/ee6e2b8bea74 Make ClippedDrawTarget use destination DT. a=reland
Flags: qe-verify+
QA Whiteboard: [qa-triaged]

Reproduced the initial issue using Fx 74.0 on macOS 10.15.4, verified that the issue is no longer present using latest Nightly 76.0a1 and Fx 75.0 RC on the same platform.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
No longer blocks: wr-mac
Regressed by: 1495170, 1539702
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: