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

Conversation

Projects
None yet
3 participants
@gw3583
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

This comment has been minimized.

Collaborator

gw3583 commented Oct 25, 2018

r? @kvark or @nical

I'll kick off a try run shortly.

@gw3583

This comment has been minimized.

@gw3583

This comment has been minimized.

Collaborator

gw3583 commented Oct 25, 2018

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

@gw3583

This comment has been minimized.

Collaborator

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

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.
@gw3583

This comment has been minimized.

Collaborator

gw3583 commented Oct 25, 2018

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

@kvark

kvark approved these changes Oct 25, 2018

:lgtm:

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

@kvark

This comment has been minimized.

Member

kvark commented Oct 25, 2018

@bors-servo

This comment has been minimized.

Contributor

bors-servo commented Oct 25, 2018

📌 Commit 0ea448c has been approved by kvark

@bors-servo

This comment has been minimized.

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

Auto merge of #3229 - gw3583:pic-pass-4, r=kvark
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

This comment has been minimized.

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

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