Page MenuHomePhabricator

Bug 1505639 - Unify standalone and shared texture expiration and GC before growing.
ClosedPublic

Authored by bholley on Nov 8 2018, 1:07 AM.

Details

Reviewers
gw
Bugzilla Bug ID
1505639
Summary

This patch does a few things:

  • Uses the same age-based expiration that we use for the standalone cache for the shared cache.
  • Tracks the last time we expired shared entries.
  • When allocation fails, tries to expire old entries before allocating another layer, assuming we haven't done so just a few frames ago.
  • Eliminates the size limits on the shared caches, and just grows them instead of allocating standalone entries.

The last bit could cause us to get stuck with larger total texture
allocations than we do now, if a lot of entries were used in quick
succession (since we never drop shared entries like we do with
standalone entries). However, I think it's probably unlikely enough
that it's fine to ship it for a few days while I finish up shrinking
support.

The parameters here (75 and 25) still aren't perfect, and I'll tune them going
forward.

Depends on D11272

Diff Detail

Repository
rMOZILLACENTRAL mozilla-central
Branch
HEAD
Lint
No Linters Available
Unit
No Unit Test Coverage

Event Timeline

bholley created this revision.Nov 8 2018, 1:07 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 8 2018, 1:07 AM
phab-bot changed the visibility from "Custom Policy" to "Public (No Login Required)".Nov 8 2018, 1:07 AM
phab-bot changed the edit policy from "Custom Policy" to "Restricted Project (Project)".
phab-bot removed a project: Restricted Project.
bholley requested review of this revision.Nov 8 2018, 1:07 AM
bholley updated this revision to Diff 33703.Nov 9 2018, 1:11 AM
gw accepted this revision.Nov 9 2018, 2:03 AM
This revision is now accepted and ready to land.Nov 9 2018, 2:03 AM
bholley closed this revision.Nov 9 2018, 7:31 PM