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

Add border segments to the opaque render pass where possible. #3208

Merged
merged 1 commit into from Oct 17, 2018

Conversation

@gw3583
Copy link
Collaborator

gw3583 commented Oct 17, 2018

Use the new per-segment instance data to allow specifying a
per-segment opacity value. This is used for border segments
to specify which border segments are opaque.

Any time we move segments or primitives to the opaque pass
is typically a significant GPU time win due to the reduced
overdraw. It's also a CPU optimization during batching.


This change is Reviewable

Use the new per-segment instance data to allow specifying a
per-segment opacity value. This is used for border segments
to specify which border segments are opaque.

Any time we move segments or primitives to the opaque pass
is typically a significant GPU time win due to the reduced
overdraw. It's also a CPU optimization during batching.
@gw3583
Copy link
Collaborator Author

gw3583 commented Oct 17, 2018

This is a decent GPU time win on some pages, and a small win on others.

r? @nical or @kvark

@nical
nical approved these changes Oct 17, 2018
@gw3583
Copy link
Collaborator Author

gw3583 commented Oct 17, 2018

Try looks good.

@bors-servo r=nical

@bors-servo
Copy link
Contributor

bors-servo commented Oct 17, 2018

📌 Commit 75ecc81 has been approved by nical

bors-servo added a commit that referenced this pull request Oct 17, 2018
Add border segments to the opaque render pass where possible.

Use the new per-segment instance data to allow specifying a
per-segment opacity value. This is used for border segments
to specify which border segments are opaque.

Any time we move segments or primitives to the opaque pass
is typically a significant GPU time win due to the reduced
overdraw. It's also a CPU optimization during batching.

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

bors-servo commented Oct 17, 2018

Testing commit 75ecc81 with merge a0a36d9...

@bors-servo
Copy link
Contributor

bors-servo commented Oct 17, 2018

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

@bors-servo bors-servo merged commit 75ecc81 into servo:master Oct 17, 2018
3 checks passed
3 checks passed
Taskcluster (pull_request) TaskGroup: success
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
homu Test successful
Details
@kvark kvark mentioned this pull request Dec 6, 2018
0 of 14 tasks complete
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.