Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some helpers and bug fixes for picture caching work. #3368

Merged
merged 4 commits into from Nov 29, 2018

Conversation

@gw3583
Copy link
Collaborator

gw3583 commented Nov 29, 2018

From the individual commits:

  • Fix debug assert due to color being out of bounds.
  • Store whether a scroll frame is implicitly added or not.
  • Add a fast path for no-op stacking contexts.
  • Fix texture cache eviction of tiles that are still useful.

This change is Reviewable

@gw3583
Copy link
Collaborator Author

gw3583 commented Nov 29, 2018

Try run looks good.

Copy link
Member

kvark left a comment

Reviewed 7 of 7 files at r1.
Reviewable status: all files reviewed, 4 unresolved discussions (waiting on @gw3583)


webrender/src/clip_scroll_tree.rs, line 473 at r1 (raw file):

                SpatialNodeType::ScrollFrame(ref info) => {
                    // Assume not identity since it may change with scrolling.
                    if !info.is_pipeline_root {

isn't the root scroll frame also... scrollable? (hence, non-identity)


webrender/src/display_list_flattener.rs, line 1368 at r1 (raw file):

            content_size,
            ScrollSensitivity::ScriptAndInputEvents,
            true,

it would look much cleaner at call sites if this was an enum


webrender/src/display_list_flattener.rs, line 2253 at r1 (raw file):

        }

        // It is redundant!

do you have any idea on how often this happens in the wild? just curious :)


webrender/src/util.rs, line 591 at r1 (raw file):

                offset == TypedVector2D::zero()
            }
            FastTransform::Transform { transform, .. } => {

I'm a bit worried that this would semantically cause the copy of transform, where we should be fine just comparing a reference to it

@gw3583 gw3583 force-pushed the gw3583:c13-fixes branch from 764371d to 1bb583d Nov 29, 2018
Copy link
Collaborator Author

gw3583 left a comment

Reviewable status: all files reviewed, 4 unresolved discussions (waiting on @kvark)


webrender/src/clip_scroll_tree.rs, line 473 at r1 (raw file):

Previously, kvark (Dzmitry Malyshau) wrote…

isn't the root scroll frame also... scrollable? (hence, non-identity)

It doesn't seem so - there is an implicit scroll frame being added by WR, but it doesn't seem to be used. As a follow up, I'd like to investigate removing it - I discussed this briefly with kats.


webrender/src/display_list_flattener.rs, line 1368 at r1 (raw file):

Previously, kvark (Dzmitry Malyshau) wrote…

it would look much cleaner at call sites if this was an enum

Fixed


webrender/src/display_list_flattener.rs, line 2253 at r1 (raw file):

Previously, kvark (Dzmitry Malyshau) wrote…

do you have any idea on how often this happens in the wild? just curious :)

It happens quite often :) Gecko provides stacking contexts for groupings in quite a lot of scenarios, and definitely always at least one or two in the main scene. Handling this case for the main scene simplifies the case of picking scroll roots to act as picture caching layers.


webrender/src/util.rs, line 591 at r1 (raw file):

Previously, kvark (Dzmitry Malyshau) wrote…

I'm a bit worried that this would semantically cause the copy of transform, where we should be fine just comparing a reference to it

Fixed (if what you meant is to use ref here)

@gw3583
Copy link
Collaborator Author

gw3583 commented Nov 29, 2018

@kvark Thanks, all comments addressed / fixed, I think.

@kvark
kvark approved these changes Nov 29, 2018
@kvark
Copy link
Member

kvark commented Nov 29, 2018

Thanks!
@bors-servo r+

@bors-servo
Copy link
Contributor

bors-servo commented Nov 29, 2018

📌 Commit 1bb583d has been approved by kvark

@bors-servo
Copy link
Contributor

bors-servo commented Nov 29, 2018

Testing commit 1bb583d with merge d771bae...

bors-servo added a commit that referenced this pull request Nov 29, 2018
Some helpers and bug fixes for picture caching work.

From the individual commits:

* Fix debug assert due to color being out of bounds.
* Store whether a scroll frame is implicitly added or not.
* Add a fast path for no-op stacking contexts.
* Fix texture cache eviction of tiles that are still useful.

<!-- 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/3368)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Nov 29, 2018

☀️ Test successful - status-appveyor, status-taskcluster
Approved by: kvark
Pushing d771bae to master...

@bors-servo bors-servo merged commit 1bb583d into servo:master Nov 29, 2018
3 of 4 checks passed
3 of 4 checks passed
code-review/reviewable 5 files, 4 discussions left (kvark)
Details
Taskcluster (pull_request) TaskGroup: success
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
homu Test successful
Details
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Dec 1, 2018
…fa2bdc47c3e4 (WR PR #3368). r=kats

servo/webrender#3368

Differential Revision: https://phabricator.services.mozilla.com/D13497

--HG--
extra : moz-landing-system : lando
mykmelez pushed a commit to mykmelez/gecko that referenced this pull request Dec 1, 2018
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Oct 3, 2019
…fa2bdc47c3e4 (WR PR #3368). r=kats

servo/webrender#3368

Differential Revision: https://phabricator.services.mozilla.com/D13497

UltraBlame original commit: 1a7497dad85e5674cf508b93f22bb0301e013074
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Oct 3, 2019
…fa2bdc47c3e4 (WR PR #3368). r=kats

servo/webrender#3368

Differential Revision: https://phabricator.services.mozilla.com/D13497

UltraBlame original commit: 1a7497dad85e5674cf508b93f22bb0301e013074
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Oct 3, 2019
…fa2bdc47c3e4 (WR PR #3368). r=kats

servo/webrender#3368

Differential Revision: https://phabricator.services.mozilla.com/D13497

UltraBlame original commit: 1a7497dad85e5674cf508b93f22bb0301e013074
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.