Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upImproved Local Combined Clip Rectangle #1374
Conversation
|
I started doing some testing on this, but it seems to be breaking the scrolling on HN. If you load up https://news.ycombinator.com in Servo with this patch, and scroll to the bottom - parts of the background (and text?) seem to get incorrectly clipped out. |
|
I guess it might be related to the new NodeType, hence the breakage after rebase. Will investigate later tonight.
… On Jun 13, 2017, at 18:58, Glenn Watson ***@***.***> wrote:
I started doing some testing on this, but it seems to be breaking the scrolling on HN. If you load up https://news.ycombinator.com in Servo with this patch, and scroll to the bottom - parts of the background (and text?) seem to get incorrectly clipped out.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
915ec5b
to
8660bdf
|
Reviewed 5 of 11 files at r1, 10 of 14 files at r2, 3 of 3 files at r3. webrender/src/clip_scroll_node.rs, line 92 at r3 (raw file):
This is now a conservative local-space rect, is that right? webrender/src/mask_cache.rs, line 144 at r3 (raw file):
nit: extra comma webrender/src/mask_cache.rs, line 307 at r3 (raw file):
This comment doesn't seem to match the code below, which does check the layer clip range? webrender/src/prim_store.rs, line 934 at r3 (raw file):
This seems to be unused. webrender/src/render_backend.rs, line 71 at r3 (raw file):
Perhaps expand on what problem this causes if it occurs? Comments from Reviewable |
|
Wow, this is complex stuff! It looks good to me though, apart from the few minor issues above. I've done a bit of local testing - manual page tests seem fine, and the test timings seem as good or better. I did hit a few panics in the CSS tests below - from the test names, I'm guessing we're not correctly handling cases with non-invertible matrices, perhaps?
It'd also be good for @mrobinson to take a look over this and see if he can spot anything. |
|
@mrobinson @kvark We should definitely find a few hours in SF to sit down and talk about clips, masks, scroll nodes etc and work out what the next steps are for this part of the code :) |
|
Thanks for the review, @glennw!
Review status: 6 of 13 files reviewed at latest revision, 5 unresolved discussions. webrender/src/clip_scroll_node.rs, line 92 at r3 (raw file): Previously, glennw (Glenn Watson) wrote…
extended the comment, hopefully it's more clear now Comments from Reviewable |
|
Hmm,
Looking... Edit: appears to be (harmlessly?) intermittent, similar to famous |
|
@bors-servo r+ |
|
|
Improved Local Combined Clip Rectangle This PR brings a number of improvements and clean ups related to clipping: - new footprint calculation for reference frame's LCCR - reworked rectangular region handling for `ClipRegion` - clip regions are included into LCCR - primitive bounding rect is computed with the clip stack taken into account - clip stack gets filtered based on which clips are not trivial with regards to the current bounding box ~~TODO: testing, benchmarking, rebasing~~ Based on #1305 r? @glennw @mrobinson <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/1374) <!-- Reviewable:end -->
|
|
Not to latest though as servo/webrender#1374 seems to be causing issues with clips with stylish.
|
This PR regressed the |
|
@staktrace very possible. I'm looking at it. |
|
I did a one-line revert of a change in #1412 which fixed the async-scrolling reftest failures. The reftest failure from this PR was not restored as a result, so that's good. |
kvark commentedJun 13, 2017
•
edited
This PR brings a number of improvements and clean ups related to clipping:
ClipRegionTODO: testing, benchmarking, rebasingBased on #1305
r? @glennw @mrobinson
This change is