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

Dynamically grow the texture cache #3282

Merged
merged 5 commits into from Nov 7, 2018
Merged

Conversation

@bholley
Copy link
Contributor

bholley commented Nov 6, 2018

bholley added 4 commits Nov 2, 2018
This simplifies code, and gives us more flexibility around sizing the
shared texture caches (since we can effectively grow/shrink it by units
of 1MB rather than 16MB).

Differential Revision: https://phabricator.services.mozilla.com/D10852
A big part of this is handling coalescing, so that if we end up creating
several new regions in a given frame, we won't allocate/blit/free
textures unnecessarily.

Differential Revision: https://phabricator.services.mozilla.com/D10853
Aside from general cleanliness, this allows us to factor the selection
logic into a helper without a widely-scoped mutable borrow on the entire
TextureCache.

Differential Revision: https://phabricator.services.mozilla.com/D10854
This is a strict improvement over the status quo, though we'll still
eventually consume as much memory as before, since we don't try to
evict at all until we hit the max size. We'll fix that soon, but it's
worth landing this separately because:
* It's useful to separate out regressions in the growing logic from in
  any new complex eviction logic.
* This patch alone is a very large (~100MB) win on AWSY.

Differential Revision: https://phabricator.services.mozilla.com/D10855
@bholley
Copy link
Contributor Author

bholley commented Nov 6, 2018

@bors-servo r=gw3583

@bors-servo
Copy link
Contributor

bors-servo commented Nov 6, 2018

📌 Commit 45f3af1 has been approved by gw3583

@bors-servo
Copy link
Contributor

bors-servo commented Nov 7, 2018

Testing commit 45f3af1 with merge 0329196...

bors-servo added a commit that referenced this pull request Nov 7, 2018
Dynamically grow the texture cache

https://bugzilla.mozilla.org/show_bug.cgi?id=1495977

<!-- 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/3282)
<!-- Reviewable:end -->
@bholley
Copy link
Contributor Author

bholley commented Nov 7, 2018

@staktrace See [1] for reftest annotation adjustments.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1495977

@bors-servo
Copy link
Contributor

bors-servo commented Nov 7, 2018

💔 Test failed - status-taskcluster

@bholley
Copy link
Contributor Author

bholley commented Nov 7, 2018

@bors-servo r=gw3583

@bors-servo
Copy link
Contributor

bors-servo commented Nov 7, 2018

📌 Commit e01cc0c has been approved by gw3583

@bors-servo
Copy link
Contributor

bors-servo commented Nov 7, 2018

Testing commit e01cc0c with merge ab887f2...

bors-servo added a commit that referenced this pull request Nov 7, 2018
Dynamically grow the texture cache

https://bugzilla.mozilla.org/show_bug.cgi?id=1495977

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

bors-servo commented Nov 7, 2018

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

@bors-servo bors-servo merged commit e01cc0c into servo:master Nov 7, 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
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

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