Closed
Bug 1401653
Opened 7 years ago
Closed 7 years ago
wr-text: implement decoration fusion(?)
Categories
(Core :: Graphics: WebRender, defect, P1)
Core
Graphics: WebRender
Tracking
()
RESOLVED
FIXED
mozilla58
Tracking | Status | |
---|---|---|
firefox57 | --- | unaffected |
firefox58 | --- | unaffected |
People
(Reporter: Gankra, Assigned: Gankra)
References
Details
(Whiteboard: [wr-reserve] [gfx-noted])
Attachments
(2 files)
These two reftests fail with webrendest layers-free. They appear to be testing some sort of "decoration fusion" behaviour, that I don't really understand yet.
layout/reftests/text-decoration/complex-decoration-style-quirks.html
layout/reftests/text-decoration/complex-decoration-style-standards.html
Assignee | ||
Comment 1•7 years ago
|
||
Hey jonathan, any idea what these tests are about?
Flags: needinfo?(jfkthame)
Comment 2•7 years ago
|
||
It looks like they're testing how decorations (particularly "complex" ones -- dotted, dashed or wavy lines) are drawn across element boundaries, to check that we don't get discontinuities in what should be a continuous line, and that the decorations are offset appropriately in response to position:relative and shadow offsets.
What do the failures you're seeing look like? Do there seem to be glitches at the boundaries between various <span>s in the testcases?
Flags: needinfo?(jfkthame)
Assignee | ||
Comment 3•7 years ago
|
||
The decorations seem to have overlapping ranges, and get all messed up. It's possible we need to be drawing the decorations so that this overlap is invisible? That or my code to grab the bounds of the lines is wrong (very possible).
Comment 4•7 years ago
|
||
The overlaps are one issue, but in addition the various parts seem to be out of phase with each other.
Assignee | ||
Comment 5•7 years ago
|
||
Well each decoration starts at the same position, which seemed to be what gecko did. Is the period of the decoration required to satisfy some specific relationship with its height (thickness) to make this Just Work?
Updated•7 years ago
|
Priority: -- → P3
Whiteboard: [gfx-noted]
Updated•7 years ago
|
Blocks: stage-wr-nightly
Updated•7 years ago
|
Priority: P3 → P2
Whiteboard: [gfx-noted] → [wr-mvp] [gfx-noted]
Assignee | ||
Updated•7 years ago
|
Blocks: 1407627
Summary: text-layers: implement decoration fusion(?) → wr-text: implement decoration fusion(?)
Assignee | ||
Comment 6•7 years ago
|
||
Finally figured out what's going on here. Gecko is being Very Smart in its line drawing code, and we're breaking the assumptions there. Basically gecko tries to align periodic patterns to a period-multiple offset from some parent element. Then applies clips to keep lines from smashing into eachother. This creates the illusion of a single coherent line across elements and style changes.
This not working with WR is a mix of three issues:
* Upstream wr doesn't currently match up its wavy/dashed line period with gecko's
* We don't push/pop clips for TextDrawTarget (before this was hard, now it's easy)
* I didn't actually pass the right dimensions for wavy lines from gecko to wr (so if we did apply the clip, we get bad results)
See Also: → https://github.com/servo/webrender/issues/1913
Updated•7 years ago
|
Priority: P2 → P3
Whiteboard: [wr-mvp] [gfx-noted] → [wr-reserve] [gfx-noted]
Comment hidden (mozreview-request) |
Assignee | ||
Comment 8•7 years ago
|
||
I was already working on this before it was marked as P3.
Assignee: nobody → a.beingessner
See Also: → https://github.com/servo/webrender/issues/1928
Comment 9•7 years ago
|
||
mozreview-review |
Comment on attachment 8921639 [details]
Bug 1401653 - fixup webrender text-decoration bindings.
https://reviewboard.mozilla.org/r/192638/#review197830
Attachment #8921639 -
Flags: review?(jmuizelaar) → review+
Assignee | ||
Comment 10•7 years ago
|
||
Try build to make sure there's no collateral damage (I don't expect any):
https://treeherder.mozilla.org/#/jobs?repo=try&revision=22551950c875ce73e9137ab8fefbdb49e3c94184
Updated•7 years ago
|
Status: NEW → ASSIGNED
Priority: P3 → P1
Whiteboard: [wr-reserve] [gfx-noted] → [wr-mvp] [gfx-noted]
Comment 12•7 years ago
|
||
You should upgrade your cbindgen to .26 or newer; I think a bunch of the generated changes in this patch are artifacts of your using the older cbindgen.
Comment 13•7 years ago
|
||
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/5055d2703f2f
fixup webrender text-decoration bindings. r=jrmuizel
Keywords: checkin-needed
Updated•7 years ago
|
Comment 14•7 years ago
|
||
Backed out 1 changesets (bug 1401653) for failing no matching function for call in src/layout/generic/TextDrawTarget.h:143:43 r=backout on a CLOSED TREE.
https://hg.mozilla.org/integration/autoland/rev/d461464bb7abace2d7343db7d95e5bfd8ca6b99c
https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=5055d2703f2f2a95674934d263c56eb874f949a6&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=runnable
Flags: needinfo?(a.beingessner)
Assignee | ||
Comment 15•7 years ago
|
||
API change landed before me, fixed (added two Nothings to the call)
Flags: needinfo?(a.beingessner)
Comment hidden (mozreview-request) |
Comment 17•7 years ago
|
||
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/27ac538d3d8b
fixup webrender text-decoration bindings. r=jrmuizel
Comment 18•7 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Assignee | ||
Comment 19•7 years ago
|
||
Whoops, forgot to reopen this bug -- all the work in gecko is done, but upstream webrender work needs to get done to fix one of the cases in these tests and make them actually pass.
Specifically https://github.com/servo/webrender/issues/1928 needs to get fixed.
Fixing the linked issue will now also fix text-shadow/decorations-multiple-zorder.html since Bug 1399310 just landed, making us use clipped decorations in more places.
Assignee | ||
Updated•7 years ago
|
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Updated•7 years ago
|
Status: REOPENED → ASSIGNED
Comment 20•7 years ago
|
||
Deprioritized to P3 during triage - moving to Reserve Backlog.
Assignee: a.beingessner → nobody
Status: ASSIGNED → NEW
Priority: P1 → P3
Whiteboard: [wr-mvp] [gfx-noted] → [wr-reserve] [gfx-noted]
Updated•7 years ago
|
Priority: P3 → P1
Assignee | ||
Comment 22•7 years ago
|
||
bugs fixed; tests just need minor fuzzing, looks like
Flags: needinfo?(a.beingessner)
Assignee | ||
Comment 23•7 years ago
|
||
Assignee | ||
Comment 24•7 years ago
|
||
opening new bug for test expectations
Status: NEW → RESOLVED
Closed: 7 years ago → 7 years ago
Resolution: --- → FIXED
Updated•7 years ago
|
Assignee: nobody → a.beingessner
You need to log in
before you can comment on or make changes to this bug.
Description
•