Lines Matching defs:cache
53 // Set the cache limits so we can fit 10 "src" images and the
333 GrResourceCache* cache = fDContext->priv().getResourceCache();
334 cache->purgeUnlockedResources();
335 SkASSERT(0 == cache->getResourceCount() && 0 == cache->getResourceBytes());
338 GrResourceCache* cache() { return fDContext->priv().getResourceCache(); }
352 GrResourceCache* cache = mock.cache();
362 REPORTER_ASSERT(reporter, 4 == cache->getResourceCount());
364 d->gpuMemorySize() == cache->getResourceBytes());
367 cache->purgeUnlockedResources();
374 REPORTER_ASSERT(reporter, 3 == cache->getResourceCount());
376 cache->getResourceBytes());
380 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
382 cache->getResourceBytes());
386 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
387 REPORTER_ASSERT(reporter, b->gpuMemorySize() == cache->getResourceBytes());
391 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
392 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
405 GrResourceCache* cache = mock.cache();
431 REPORTER_ASSERT(reporter, 4 == cache->getResourceCount());
433 d->gpuMemorySize() == cache->getResourceBytes());
436 cache->purgeUnlockedResources(false);
439 // Unref them all. Since they all have keys they should remain in the cache.
446 REPORTER_ASSERT(reporter, 4 == cache->getResourceCount());
448 d->gpuMemorySize() == cache->getResourceBytes());
451 cache->purgeUnlockedResources(true);
454 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
456 cache->getResourceBytes());
459 cache->purgeUnlockedResources(false);
462 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
463 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
468 GrResourceCache* cache = mock.cache();
479 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
480 REPORTER_ASSERT(reporter, a->gpuMemorySize() + b->gpuMemorySize() == cache->getResourceBytes());
483 cache->purgeUnlockedResources(true);
492 cache->purgeUnlockedResources(true);
498 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
499 REPORTER_ASSERT(reporter, a->gpuMemorySize() + b->gpuMemorySize() == cache->getResourceBytes());
503 cache->purgeUnlockedResources(true);
510 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
511 REPORTER_ASSERT(reporter, a->gpuMemorySize() + b->gpuMemorySize() == cache->getResourceBytes());
515 cache->purgeUnlockedResources(true);
517 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
518 REPORTER_ASSERT(reporter, b->gpuMemorySize() == cache->getResourceBytes());
523 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
524 REPORTER_ASSERT(reporter, b->gpuMemorySize() == cache->getResourceBytes());
527 cache->purgeUnlockedResources(false);
530 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
531 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
536 GrResourceCache* cache = mock.cache();
559 GrGpuResource* wrappedCacheableViaKey = cache->findAndRefUniqueResource(uniqueKey2);
561 GrGpuResource* wrappedUncacheableViaKey = cache->findAndRefUniqueResource(uniqueKey3);
569 REPORTER_ASSERT(reporter, 5 == cache->getResourceCount());
574 cache->getResourceBytes());
575 REPORTER_ASSERT(reporter, 2 == cache->getBudgetedResourceCount());
577 cache->getBudgetedResourceBytes());
578 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
581 cache->purgeUnlockedResources();
582 REPORTER_ASSERT(reporter, 5 == cache->getResourceCount());
587 cache->getResourceBytes());
588 REPORTER_ASSERT(reporter, 2 == cache->getBudgetedResourceCount());
590 cache->getBudgetedResourceBytes());
591 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
597 REPORTER_ASSERT(reporter, 4 == cache->getResourceCount());
601 cache->getResourceBytes());
602 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
607 REPORTER_ASSERT(reporter, 11 == cache->getPurgeableBytes());
610 cache->purgeUnlockedResources();
611 REPORTER_ASSERT(reporter, 4 == cache->getResourceCount());
613 wrappedCacheableViaKey = cache->findAndRefUniqueResource(uniqueKey2);
621 REPORTER_ASSERT(reporter, 3 == cache->getResourceCount());
627 cache->getResourceBytes());
628 REPORTER_ASSERT(reporter, 1 == cache->getBudgetedResourceCount());
629 REPORTER_ASSERT(reporter, scratch->gpuMemorySize() == cache->getBudgetedResourceBytes());
630 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
633 REPORTER_ASSERT(reporter, 10 == cache->getPurgeableBytes());
634 cache->purgeUnlockedResources();
635 REPORTER_ASSERT(reporter, 3 == cache->getResourceCount());
638 cache->getResourceBytes());
639 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceCount());
640 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceBytes());
641 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
646 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
647 REPORTER_ASSERT(reporter, unbudgeted->gpuMemorySize() == cache->getResourceBytes());
648 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceCount());
649 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceBytes());
650 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
653 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
654 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
655 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceCount());
656 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceBytes());
657 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
662 GrResourceCache* cache = mock.cache();
678 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
679 REPORTER_ASSERT(reporter, 10 == cache->getResourceBytes());
680 REPORTER_ASSERT(reporter, 1 == cache->getBudgetedResourceCount());
681 REPORTER_ASSERT(reporter, 10 == cache->getBudgetedResourceBytes());
682 REPORTER_ASSERT(reporter, 10 == cache->getPurgeableBytes());
687 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
688 REPORTER_ASSERT(reporter, 21 == cache->getResourceBytes());
689 REPORTER_ASSERT(reporter, 2 == cache->getBudgetedResourceCount());
690 REPORTER_ASSERT(reporter, 21 == cache->getBudgetedResourceBytes());
691 REPORTER_ASSERT(reporter, 21 == cache->getPurgeableBytes());
693 size_t large = 2 * cache->getResourceBytes();
695 REPORTER_ASSERT(reporter, 3 == cache->getResourceCount());
696 REPORTER_ASSERT(reporter, 21 + large == cache->getResourceBytes());
697 REPORTER_ASSERT(reporter, 2 == cache->getBudgetedResourceCount());
698 REPORTER_ASSERT(reporter, 21 == cache->getBudgetedResourceBytes());
699 REPORTER_ASSERT(reporter, 21 == cache->getPurgeableBytes());
702 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
703 REPORTER_ASSERT(reporter, 21 == cache->getResourceBytes());
704 REPORTER_ASSERT(reporter, 2 == cache->getBudgetedResourceCount());
705 REPORTER_ASSERT(reporter, 21 == cache->getBudgetedResourceBytes());
706 REPORTER_ASSERT(reporter, 21 == cache->getPurgeableBytes());
709 REPORTER_ASSERT(reporter, 3 == cache->getResourceCount());
710 REPORTER_ASSERT(reporter, 21 + large == cache->getResourceBytes());
711 REPORTER_ASSERT(reporter, 2 == cache->getBudgetedResourceCount());
712 REPORTER_ASSERT(reporter, 21 == cache->getBudgetedResourceBytes());
713 REPORTER_ASSERT(reporter, 21 == cache->getPurgeableBytes());
716 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
717 REPORTER_ASSERT(reporter, 21 == cache->getResourceBytes());
718 REPORTER_ASSERT(reporter, 2 == cache->getBudgetedResourceCount());
719 REPORTER_ASSERT(reporter, 21 == cache->getBudgetedResourceBytes());
720 REPORTER_ASSERT(reporter, 21 == cache->getPurgeableBytes());
722 cache->purgeUnlockedResources();
723 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
724 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
725 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceCount());
726 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceBytes());
727 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
734 GrResourceCache* cache = mock.cache();
749 REPORTER_ASSERT(reporter, !cache->findAndRefScratchResource(key));
750 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
751 REPORTER_ASSERT(reporter, size == cache->getResourceBytes());
752 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceCount());
753 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceBytes());
754 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
758 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
759 REPORTER_ASSERT(reporter, size == cache->getResourceBytes());
760 REPORTER_ASSERT(reporter, 1 == cache->getBudgetedResourceCount());
761 REPORTER_ASSERT(reporter, size == cache->getBudgetedResourceBytes());
762 REPORTER_ASSERT(reporter, size == cache->getPurgeableBytes());
763 resource = static_cast<TestResource*>(cache->findAndRefScratchResource(key));
777 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
778 REPORTER_ASSERT(reporter, size == cache->getResourceBytes());
779 REPORTER_ASSERT(reporter, 1 == cache->getBudgetedResourceCount());
780 REPORTER_ASSERT(reporter, size == cache->getBudgetedResourceBytes());
781 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
789 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
790 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
791 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceCount());
792 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceBytes());
793 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
800 GrResourceCache* cache = mock.cache();
813 REPORTER_ASSERT(reporter, !cache->findAndRefScratchResource(scratchKey1));
821 SkDEBUGCODE(REPORTER_ASSERT(reporter, 0 == cache->countScratchEntriesForKey(scratchKey));)
822 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
824 cache->getResourceBytes());
827 cache->purgeUnlockedResources();
829 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
836 SkDEBUGCODE(REPORTER_ASSERT(reporter, 2 == cache->countScratchEntriesForKey(scratchKey));)
839 cache->purgeUnlockedResources();
841 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
842 SkDEBUGCODE(REPORTER_ASSERT(reporter, 0 == cache->countScratchEntriesForKey(scratchKey));)
847 GrResourceCache* cache = mock.cache();
862 REPORTER_ASSERT(reporter, !cache->findAndRefScratchResource(scratchKey));
867 SkDEBUGCODE(REPORTER_ASSERT(reporter, 2 == cache->countScratchEntriesForKey(scratchKey));)
868 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
871 GrGpuResource* find = cache->findAndRefScratchResource(scratchKey);
875 SkDEBUGCODE(REPORTER_ASSERT(reporter, 1 == cache->countScratchEntriesForKey(scratchKey));)
876 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
878 // The cache should immediately delete it when it's unrefed since it isn't accessible.
881 SkDEBUGCODE(REPORTER_ASSERT(reporter, 1 == cache->countScratchEntriesForKey(scratchKey));)
882 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
885 find = cache->findAndRefScratchResource(scratchKey);
888 SkDEBUGCODE(REPORTER_ASSERT(reporter, 0 == cache->countScratchEntriesForKey(scratchKey));)
889 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
894 SkDEBUGCODE(REPORTER_ASSERT(reporter, 0 == cache->countScratchEntriesForKey(scratchKey));)
895 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
899 SkDEBUGCODE(REPORTER_ASSERT(reporter, 0 == cache->countScratchEntriesForKey(scratchKey));)
900 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
905 GrResourceCache* cache = mock.cache();
941 REPORTER_ASSERT(reporter, !cache->findAndRefScratchResource(scratchKey));
945 GrGpuResource* find = cache->findAndRefScratchResource(scratchKey);
950 find = cache->findAndRefScratchResource(scratchKey2);
954 GrGpuResource* find2 = cache->findAndRefScratchResource(scratchKey2);
964 GrResourceCache* cache = mock.cache();
975 REPORTER_ASSERT(reporter, a == cache->findAndRefUniqueResource(key));
980 REPORTER_ASSERT(reporter, a == cache->findAndRefUniqueResource(key));
982 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
983 REPORTER_ASSERT(reporter, a->gpuMemorySize() == cache->getResourceBytes());
986 // Create resource b and set the same key. It should replace a's unique key cache entry.
989 REPORTER_ASSERT(reporter, b == cache->findAndRefUniqueResource(key));
993 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
994 REPORTER_ASSERT(reporter, a->gpuMemorySize() + b->gpuMemorySize() == cache->getResourceBytes());
999 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
1000 REPORTER_ASSERT(reporter, b->gpuMemorySize() == cache->getResourceBytes());
1010 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
1011 REPORTER_ASSERT(reporter, b->gpuMemorySize() + c->gpuMemorySize() == cache->getResourceBytes());
1015 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
1016 REPORTER_ASSERT(reporter, c->gpuMemorySize() == cache->getResourceBytes());
1020 cache->purgeUnlockedResources();
1021 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
1022 REPORTER_ASSERT(reporter, c->gpuMemorySize() == cache->getResourceBytes());
1027 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
1028 REPORTER_ASSERT(reporter, c->gpuMemorySize() == cache->getResourceBytes());
1032 REPORTER_ASSERT(reporter, c == cache->findAndRefUniqueResource(key));
1035 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
1036 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
1050 sk_sp<GrGpuResource> d2(cache->findAndRefUniqueResource(key3));
1057 GrResourceCache* cache = mock.cache();
1065 // Add three resources to the cache. Only c is usable as scratch.
1077 REPORTER_ASSERT(reporter, cache->hasUniqueKey(key1));
1078 REPORTER_ASSERT(reporter, cache->hasUniqueKey(key2));
1079 REPORTER_ASSERT(reporter, cache->hasUniqueKey(key3));
1088 cache->purgeAsNeeded();
1090 REPORTER_ASSERT(reporter, !cache->hasUniqueKey(key1));
1091 REPORTER_ASSERT(reporter, !cache->hasUniqueKey(key2));
1093 REPORTER_ASSERT(reporter, cache->hasUniqueKey(key3));
1097 cache->purgeAsNeeded();
1100 REPORTER_ASSERT(reporter, !cache->hasUniqueKey(key3));
1109 GrGpuResource* scratch = cache->findAndRefScratchResource(scratchKey);
1114 cache->purgeUnlockedResources();
1115 scratch = cache->findAndRefScratchResource(scratchKey);
1117 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
1118 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
1125 GrResourceCache* cache = mock.cache();
1149 cache->purgeUnlockedResources();
1156 cache->purgeUnlockedResources();
1170 GrResourceCache* cache = mock.cache();
1174 cache->changeTimestamp(UINT32_MAX - random.nextULessThan(kCount + 1));
1207 GrGpuResource* res = cache->findAndRefUniqueResource(key);
1227 GrResourceCache* cache = mock.cache();
1258 cache->purgeResourcesNotUsedSince(timeStamps[i]);
1259 REPORTER_ASSERT(reporter, cnt - i - 1 == cache->getResourceCount());
1263 GrGpuResource* r = cache->findAndRefUniqueResource(k);
1269 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
1270 cache->purgeUnlockedResources();
1293 cache->purgeResourcesNotUsedSince(timeStamps[i]);
1294 REPORTER_ASSERT(reporter, cnt - i / 2 - 1 == cache->getResourceCount());
1300 cache->purgeResourcesNotUsedSince(nowish());
1301 REPORTER_ASSERT(reporter, cnt / 2 - i - 1 == cache->getResourceCount());
1304 cache->purgeUnlockedResources();
1307 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
1330 cache->purgeResourcesNotUsedSince(timeStamps[i], /*scratchResourcesOnly=*/true);
1331 REPORTER_ASSERT(reporter, cnt - i / 2 - 1 == cache->getResourceCount());
1334 cache->purgeResourcesNotUsedSince(nowish());
1337 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
1349 REPORTER_ASSERT(reporter, 10 == cache->getResourceCount());
1351 REPORTER_ASSERT(reporter, 10 == cache->getResourceCount());
1352 cache->purgeResourcesNotUsedSince(nowish());
1353 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
1360 GrResourceCache* cache = mock.cache();
1380 // Add three unique resources to the cache.
1389 // Add two scratch resources to the cache.
1397 REPORTER_ASSERT(reporter, 5 == cache->getBudgetedResourceCount());
1398 REPORTER_ASSERT(reporter, 60 == cache->getBudgetedResourceBytes());
1399 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
1408 REPORTER_ASSERT(reporter, 5 == cache->getBudgetedResourceCount());
1409 REPORTER_ASSERT(reporter, 60 == cache->getBudgetedResourceBytes());
1410 REPORTER_ASSERT(reporter, 60 == cache->getPurgeableBytes());
1415 REPORTER_ASSERT(reporter, 3 == cache->getBudgetedResourceCount());
1416 REPORTER_ASSERT(reporter, 33 == cache->getBudgetedResourceBytes());
1421 REPORTER_ASSERT(reporter, 4 == cache->getBudgetedResourceCount());
1422 REPORTER_ASSERT(reporter, 47 == cache->getBudgetedResourceBytes());
1427 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceCount());
1428 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceBytes());
1433 REPORTER_ASSERT(reporter, 3 == cache->getBudgetedResourceCount());
1434 REPORTER_ASSERT(reporter, 37 == cache->getBudgetedResourceBytes());
1439 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceCount());
1440 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceBytes());
1446 REPORTER_ASSERT(reporter, 5 == cache->getBudgetedResourceCount());
1447 REPORTER_ASSERT(reporter, 60 == cache->getBudgetedResourceBytes());
1448 REPORTER_ASSERT(reporter, 60 == cache->getPurgeableBytes());
1455 REPORTER_ASSERT(reporter, 0 == cache->getBudgetedResourceCount());
1456 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
1511 GrResourceCache* cache = mock.cache();
1540 REPORTER_ASSERT(reporter, cache->countUniqueKeysWithTag(tagStr.c_str()) == i);
1548 GrResourceCache* cache = mock.cache();
1571 cache->insertDelayedTextureUnref(wrapped[0]);
1572 cache->insertDelayedTextureUnref(wrapped[1]);
1577 cache->insertDelayedTextureUnref(wrapped[2]);
1589 cache->purgeAsNeeded();
1596 cache->purgeAsNeeded();
1603 cache->purgeAsNeeded();
1641 GrResourceCache* cache = dContext->priv().getResourceCache();
1661 cache->insertDelayedTextureUnref(tex);
1663 // Now only the cache is holding a ref to this texture
1805 // Helper that determines if cache is overbudget.