Remove unused code that was used for late mip allocations.
This also includes removing code to support changing GrGpuResource's size
since we now have to way to ever change the size.
Bug: skia:
Change-Id: Id27a8bc3cc94f5b954beda528b209727ede10ef6
Reviewed-on: https://skia-review.googlesource.com/134503
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/tests/ResourceCacheTest.cpp b/tests/ResourceCacheTest.cpp
index aee6484..b6ccd51 100644
--- a/tests/ResourceCacheTest.cpp
+++ b/tests/ResourceCacheTest.cpp
@@ -274,8 +274,8 @@
}
static TestResource* CreateScratch(GrGpu* gpu, SkBudgeted budgeted,
- SimulatedProperty property) {
- return new TestResource(gpu, budgeted, property, kScratchConstructor);
+ SimulatedProperty property, size_t size = kDefaultSize) {
+ return new TestResource(gpu, budgeted, property, kScratchConstructor, size);
}
static TestResource* CreateWrapped(GrGpu* gpu, size_t size = kDefaultSize) {
return new TestResource(gpu, size);
@@ -286,11 +286,6 @@
SkSafeUnref(fToDelete);
}
- void setSize(size_t size) {
- fSize = size;
- this->didChangeGpuMemorySize();
- }
-
static int NumAlive() { return fNumAlive; }
void setUnrefWhenDestroyed(TestResource* resource) {
@@ -311,10 +306,11 @@
private:
static const int kScratchKeyFieldCnt = 6;
- TestResource(GrGpu* gpu, SkBudgeted budgeted, SimulatedProperty property, ScratchConstructor)
+ TestResource(GrGpu* gpu, SkBudgeted budgeted, SimulatedProperty property, ScratchConstructor,
+ size_t size = kDefaultSize)
: INHERITED(gpu)
, fToDelete(nullptr)
- , fSize(kDefaultSize)
+ , fSize(size)
, fProperty(property)
, fIsScratch(true) {
++fNumAlive;
@@ -376,14 +372,10 @@
GrGpu* gpu = context->contextPriv().getGpu();
// Create a bunch of resources with no keys
- TestResource* a = new TestResource(gpu);
- TestResource* b = new TestResource(gpu);
- TestResource* c = new TestResource(gpu);
- TestResource* d = new TestResource(gpu);
- a->setSize(11);
- b->setSize(12);
- c->setSize(13);
- d->setSize(14);
+ TestResource* a = new TestResource(gpu, SkBudgeted::kYes, 11);
+ TestResource* b = new TestResource(gpu, SkBudgeted::kYes, 12);
+ TestResource* c = new TestResource(gpu, SkBudgeted::kYes, 13 );
+ TestResource* d = new TestResource(gpu, SkBudgeted::kYes, 14 );
REPORTER_ASSERT(reporter, 4 == TestResource::NumAlive());
REPORTER_ASSERT(reporter, 4 == cache->getResourceCount());
@@ -435,27 +427,23 @@
// Create two resource w/ a unique key and two w/o but all of which have scratch keys.
TestResource* a = TestResource::CreateScratch(gpu, SkBudgeted::kYes,
- TestResource::kA_SimulatedProperty);
- a->setSize(11);
+ TestResource::kA_SimulatedProperty, 11);
GrUniqueKey uniqueKey;
make_unique_key<0>(&uniqueKey, 0);
TestResource* b = TestResource::CreateScratch(gpu, SkBudgeted::kYes,
- TestResource::kA_SimulatedProperty);
- b->setSize(12);
+ TestResource::kA_SimulatedProperty, 12);
b->resourcePriv().setUniqueKey(uniqueKey);
TestResource* c = TestResource::CreateScratch(gpu, SkBudgeted::kYes,
- TestResource::kA_SimulatedProperty);
- c->setSize(13);
+ TestResource::kA_SimulatedProperty, 13);
GrUniqueKey uniqueKey2;
make_unique_key<0>(&uniqueKey2, 1);
TestResource* d = TestResource::CreateScratch(gpu, SkBudgeted::kYes,
- TestResource::kA_SimulatedProperty);
- d->setSize(14);
+ TestResource::kA_SimulatedProperty, 14);
d->resourcePriv().setUniqueKey(uniqueKey2);
@@ -506,15 +494,12 @@
// Create a scratch, a unique, and a wrapped resource
TestResource* scratch =
- TestResource::CreateScratch(gpu, SkBudgeted::kYes, TestResource::kB_SimulatedProperty);
- scratch->setSize(10);
- TestResource* unique = new TestResource(gpu);
- unique->setSize(11);
+ TestResource::CreateScratch(gpu, SkBudgeted::kYes, TestResource::kB_SimulatedProperty,
+ 10);
+ TestResource* unique = new TestResource(gpu, SkBudgeted::kYes, 11);
unique->resourcePriv().setUniqueKey(uniqueKey);
- TestResource* wrapped = TestResource::CreateWrapped(gpu);
- wrapped->setSize(12);
- TestResource* unbudgeted = new TestResource(gpu, SkBudgeted::kNo);
- unbudgeted->setSize(13);
+ TestResource* wrapped = TestResource::CreateWrapped(gpu, 12);
+ TestResource* unbudgeted = new TestResource(gpu, SkBudgeted::kNo, 13);
// Make sure we can add a unique key to the wrapped resource
GrUniqueKey uniqueKey2;
@@ -556,7 +541,6 @@
// Now try freeing the budgeted resources first
wrapped = TestResource::CreateWrapped(gpu);
- scratch->setSize(12);
unique->unref();
REPORTER_ASSERT(reporter, 11 == cache->getPurgeableBytes());
cache->purgeAllUnlocked();
@@ -568,7 +552,7 @@
REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
scratch->unref();
- REPORTER_ASSERT(reporter, 12 == cache->getPurgeableBytes());
+ REPORTER_ASSERT(reporter, 10 == cache->getPurgeableBytes());
cache->purgeAllUnlocked();
REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
REPORTER_ASSERT(reporter, unbudgeted->gpuMemorySize() + wrapped->gpuMemorySize() ==
@@ -608,9 +592,8 @@
// A large uncached or wrapped resource shouldn't evict anything.
scratch = TestResource::CreateScratch(gpu, SkBudgeted::kYes,
- TestResource::kB_SimulatedProperty);
+ TestResource::kB_SimulatedProperty, 10);
- scratch->setSize(10);
scratch->unref();
REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
REPORTER_ASSERT(reporter, 10 == cache->getResourceBytes());
@@ -618,8 +601,7 @@
REPORTER_ASSERT(reporter, 10 == cache->getBudgetedResourceBytes());
REPORTER_ASSERT(reporter, 10 == cache->getPurgeableBytes());
- unique = new TestResource(gpu);
- unique->setSize(11);
+ unique = new TestResource(gpu, SkBudgeted::kYes, 11);
unique->resourcePriv().setUniqueKey(uniqueKey);
unique->unref();
REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
@@ -740,12 +722,10 @@
// Create two resources that have the same scratch key.
TestResource* a = TestResource::CreateScratch(gpu,
SkBudgeted::kYes,
- TestResource::kB_SimulatedProperty);
+ TestResource::kB_SimulatedProperty, 11);
TestResource* b = TestResource::CreateScratch(gpu,
SkBudgeted::kYes,
- TestResource::kB_SimulatedProperty);
- a->setSize(11);
- b->setSize(12);
+ TestResource::kB_SimulatedProperty, 12);
GrScratchKey scratchKey1;
TestResource::ComputeScratchKey(TestResource::kA_SimulatedProperty, &scratchKey1);
// Check for negative case consistency. (leaks upon test failure.)
@@ -909,8 +889,7 @@
make_unique_key<0>(&key, 0);
// Create two resources that we will attempt to register with the same unique key.
- TestResource* a = new TestResource(gpu);
- a->setSize(11);
+ TestResource* a = new TestResource(gpu, SkBudgeted::kYes, 11);
// Set key on resource a.
a->resourcePriv().setUniqueKey(key);
@@ -926,8 +905,7 @@
REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
// Create resource b and set the same key. It should replace a's unique key cache entry.
- TestResource* b = new TestResource(gpu);
- b->setSize(12);
+ TestResource* b = new TestResource(gpu, SkBudgeted::kYes, 12);
b->resourcePriv().setUniqueKey(key);
REPORTER_ASSERT(reporter, b == cache->findAndRefUniqueResource(key));
b->unref();
@@ -946,10 +924,9 @@
// Now replace b with c, but make sure c can start with one unique key and change it to b's key.
// Also make b be unreffed when replacement occurs.
b->unref();
- TestResource* c = new TestResource(gpu);
+ TestResource* c = new TestResource(gpu, SkBudgeted::kYes, 13);
GrUniqueKey differentKey;
make_unique_key<0>(&differentKey, 1);
- c->setSize(13);
c->resourcePriv().setUniqueKey(differentKey);
REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
REPORTER_ASSERT(reporter, b->gpuMemorySize() + c->gpuMemorySize() == cache->getResourceBytes());
@@ -1101,73 +1078,6 @@
REPORTER_ASSERT(reporter, 0 == TestResource::NumAlive());
}
-static void test_resource_size_changed(skiatest::Reporter* reporter) {
- GrUniqueKey key1, key2;
- make_unique_key<0>(&key1, 1);
- make_unique_key<0>(&key2, 2);
-
- // Test changing resources sizes (both increase & decrease).
- {
- Mock mock(3, 30000);
- GrContext* context = mock.context();
- GrResourceCache* cache = mock.cache();
- GrGpu* gpu = context->contextPriv().getGpu();
-
- TestResource* a = new TestResource(gpu);
- a->resourcePriv().setUniqueKey(key1);
- a->unref();
-
- TestResource* b = new TestResource(gpu);
- b->resourcePriv().setUniqueKey(key2);
- b->unref();
-
- REPORTER_ASSERT(reporter, 200 == cache->getResourceBytes());
- REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
- {
- sk_sp<TestResource> find2(
- static_cast<TestResource*>(cache->findAndRefUniqueResource(key2)));
- find2->setSize(200);
- sk_sp<TestResource> find1(
- static_cast<TestResource*>(cache->findAndRefUniqueResource(key1)));
- find1->setSize(50);
- }
-
- REPORTER_ASSERT(reporter, 250 == cache->getResourceBytes());
- REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
- }
-
- // Test increasing a resources size beyond the cache budget.
- {
- Mock mock(2, 300);
- GrContext* context = mock.context();
- GrResourceCache* cache = mock.cache();
- GrGpu* gpu = context->contextPriv().getGpu();
-
- TestResource* a = new TestResource(gpu);
- a->setSize(100);
- a->resourcePriv().setUniqueKey(key1);
- a->unref();
-
- TestResource* b = new TestResource(gpu);
- b->setSize(100);
- b->resourcePriv().setUniqueKey(key2);
- b->unref();
-
- REPORTER_ASSERT(reporter, 200 == cache->getResourceBytes());
- REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
-
- {
- sk_sp<TestResource> find2(static_cast<TestResource*>(
- cache->findAndRefUniqueResource(key2)));
- find2->setSize(201);
- }
- REPORTER_ASSERT(reporter, !cache->hasUniqueKey(key1));
-
- REPORTER_ASSERT(reporter, 201 == cache->getResourceBytes());
- REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
- }
-}
-
static void test_timestamp_wrap(skiatest::Reporter* reporter) {
static const int kCount = 50;
static const int kBudgetCnt = kCount / 2;
@@ -1459,26 +1369,21 @@
make_unique_key<0>(&key3, 3);
// Add three unique resources to the cache.
- TestResource *unique1 = new TestResource(gpu);
- TestResource *unique2 = new TestResource(gpu);
- TestResource *unique3 = new TestResource(gpu);
+ TestResource *unique1 = new TestResource(gpu, SkBudgeted::kYes, 10);
+ TestResource *unique2 = new TestResource(gpu, SkBudgeted::kYes, 11);
+ TestResource *unique3 = new TestResource(gpu, SkBudgeted::kYes, 12);
unique1->resourcePriv().setUniqueKey(key1);
unique2->resourcePriv().setUniqueKey(key2);
unique3->resourcePriv().setUniqueKey(key3);
- unique1->setSize(10);
- unique2->setSize(11);
- unique3->setSize(12);
-
// Add two scratch resources to the cache.
TestResource *scratch1 = TestResource::CreateScratch(gpu, SkBudgeted::kYes,
- TestResource::kA_SimulatedProperty);
+ TestResource::kA_SimulatedProperty,
+ 13);
TestResource *scratch2 = TestResource::CreateScratch(gpu, SkBudgeted::kYes,
- TestResource::kB_SimulatedProperty);
- scratch1->setSize(13);
- scratch2->setSize(14);
-
+ TestResource::kB_SimulatedProperty,
+ 14);
REPORTER_ASSERT(reporter, 5 == cache->getBudgetedResourceCount());
REPORTER_ASSERT(reporter, 60 == cache->getBudgetedResourceBytes());
@@ -1562,14 +1467,12 @@
TestResource* resource;
- resource = new TestResource(gpu);
+ resource = new TestResource(gpu, SkBudgeted::kYes, 1);
resource->resourcePriv().setUniqueKey(key1);
- resource->setSize(1);
resource->unref();
- resource = new TestResource(gpu);
+ resource = new TestResource(gpu, SkBudgeted::kYes, 1);
resource->resourcePriv().setUniqueKey(key2);
- resource->setSize(1);
resource->unref();
}
@@ -1705,7 +1608,6 @@
test_scratch_key_consistency(reporter);
test_purge_invalidated(reporter);
test_cache_chained_purge(reporter);
- test_resource_size_changed(reporter);
test_timestamp_wrap(reporter);
test_flush(reporter);
test_time_purge(reporter);