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

Introduce picture traversal pass. #3229

Merged
merged 1 commit into from Oct 25, 2018
Merged

Introduce picture traversal pass. #3229

merged 1 commit into from Oct 25, 2018

Conversation

@gw3583
Copy link
Collaborator

gw3583 commented Oct 25, 2018

This introduces a new pass during frame building. It's a very
quick pass, since we only traverse the picture tree. This pass
must not access individual primitives.

In the future, the prepare_prims pass will be split into two
parts. Some of the work done in that pass will be moved to this
picture traversal pass (e.g. plane splitting), while the rest
(e.g GPU cache updates) will be moved to the batching pass.

The outcome of the first pass will determine whether a picture
has a valid cached surface, and thus decide whether the second
primitive preparation and batching pass is required to build
a new surface cache.


This change is Reviewable

@gw3583
Copy link
Collaborator Author

gw3583 commented Oct 25, 2018

r? @kvark or @nical

I'll kick off a try run shortly.

@gw3583
Copy link
Collaborator Author

gw3583 commented Oct 25, 2018

Looks like this has a couple of failures on try that I need to investigate.

@gw3583 gw3583 force-pushed the gw3583:pic-pass-4 branch from c3819e1 to 2234085 Oct 25, 2018
@gw3583
Copy link
Collaborator Author

gw3583 commented Oct 25, 2018

Tidied up the patch and (hopefully) fixed the try failures. New pending try:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=447816626448ba1e5ad5e5bf9c0d954db6d30a03

This introduces a new pass during frame building. It's a very
quick pass, since we only traverse the picture tree. This pass
must not access individual primitives.

In the future, the prepare_prims pass will be split into two
parts. Some of the work done in that pass will be moved to this
picture traversal pass (e.g. plane splitting), while the rest
(e.g GPU cache updates) will be moved to the batching pass.

The outcome of the first pass will determine whether a picture
has a valid cached surface, and thus decide whether the second
primitive preparation and batching pass is required to build
a new surface cache.
@gw3583 gw3583 force-pushed the gw3583:pic-pass-4 branch from 2234085 to 0ea448c Oct 25, 2018
@gw3583
Copy link
Collaborator Author

gw3583 commented Oct 25, 2018

Try run isn't quite finished but looks good so far.

@kvark
kvark approved these changes Oct 25, 2018
Copy link
Member

kvark left a comment

:lgtm:

Reviewed 5 of 5 files at r1.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved

@kvark
Copy link
Member

kvark commented Oct 25, 2018

@bors-servo
Copy link
Contributor

bors-servo commented Oct 25, 2018

📌 Commit 0ea448c has been approved by kvark

@bors-servo
Copy link
Contributor

bors-servo commented Oct 25, 2018

Testing commit 0ea448c with merge 925dd05...

bors-servo added a commit that referenced this pull request Oct 25, 2018
Introduce picture traversal pass.

This introduces a new pass during frame building. It's a very
quick pass, since we only traverse the picture tree. This pass
must not access individual primitives.

In the future, the prepare_prims pass will be split into two
parts. Some of the work done in that pass will be moved to this
picture traversal pass (e.g. plane splitting), while the rest
(e.g GPU cache updates) will be moved to the batching pass.

The outcome of the first pass will determine whether a picture
has a valid cached surface, and thus decide whether the second
primitive preparation and batching pass is required to build
a new surface cache.

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

bors-servo commented Oct 25, 2018

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

@bors-servo bors-servo merged commit 0ea448c into servo:master Oct 25, 2018
4 checks passed
4 checks passed
Taskcluster (pull_request) TaskGroup: success
Details
code-review/reviewable 5 files reviewed
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
homu Test successful
Details
@gw3583 gw3583 deleted the gw3583:pic-pass-4 branch Oct 28, 2018
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.