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

Remove PrimitiveMetadata struct. #3218

Merged
merged 2 commits into from Oct 19, 2018
Merged

Conversation

gw3583
Copy link
Contributor

@gw3583 gw3583 commented Oct 19, 2018

It doesn't really serve any useful purpose anymore, and it
will slightly simplify things as we move to storing primitives
as interned / immutable data + prim instances.


This change is Reviewable

This is prep work for changing the structure of the prepare_prims
pass.

Currently, the code is (roughly):
 - Traverse primitive tree, recursing through pictures.
  - When visible, call prepare_prim to update GPU cache, clips etc.
 - Assign render tasks to passes.
 - Assign primitive lists for each picture to batches.

In future, it will instead be:
 - Traverse picture tree, but not individual primitives.
  - Determine surface allocation, plane-splitting, visibility.
 - For each visible picture, prepare_prims and add to batches.

This will simplify some existing code, as well as making possible
some requirements for picture caching (e.g. determining the scale
to rasterize a picture at before creating the child render tasks).
@gw3583
Copy link
Contributor Author

gw3583 commented Oct 19, 2018

r? @kvark

In the spirit of landing bits and pieces for picture caching that are not risky with the beta merge for Gecko early next week.

This includes #3213 - so once that's approved, only the last commit here should need review.

@gw3583
Copy link
Contributor Author

gw3583 commented Oct 19, 2018

@gw3583
Copy link
Contributor Author

gw3583 commented Oct 19, 2018

Try run looks good.

It doesn't really serve any useful purpose anymore, and it
will slightly simplify things as we move to storing primitives
as interned / immutable data + prim instances.
Copy link
Member

@kvark kvark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:lgtm_strong:

Reviewed 3 of 3 files at r2.
Reviewable status: 3 of 7 files reviewed, all discussions resolved

@kvark
Copy link
Member

kvark commented Oct 19, 2018

@bors-servo r+

@bors-servo
Copy link
Contributor

📌 Commit b7ba28b has been approved by kvark

@bors-servo
Copy link
Contributor

⌛ Testing commit b7ba28b with merge a453cf3...

bors-servo pushed a commit that referenced this pull request Oct 19, 2018
Remove PrimitiveMetadata struct.

It doesn't really serve any useful purpose anymore, and it
will slightly simplify things as we move to storing primitives
as interned / immutable data + prim instances.

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

💔 Test failed - status-appveyor

@kvark
Copy link
Member

kvark commented Oct 19, 2018

AppVeyor network error again:

error: unable to get packages from source

Time to migrate the Windows CI to Travis?

@bors-servo retry

bors-servo pushed a commit that referenced this pull request Oct 19, 2018
Remove PrimitiveMetadata struct.

It doesn't really serve any useful purpose anymore, and it
will slightly simplify things as we move to storing primitives
as interned / immutable data + prim instances.

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

⌛ Testing commit b7ba28b with merge 15656cb...

@bors-servo
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants