Lines Matching refs:reporter
35 DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ResourceCacheCache, reporter, ctxInfo) {
72 REPORTER_ASSERT(reporter, curCacheSize <= maxCacheSize);
108 DEF_GPUTEST_FOR_CONTEXTS(ResourceCacheStencilBuffers, &is_rendering_and_not_angle_es3, reporter,
123 REPORTER_ASSERT(reporter, smallRT0);
128 REPORTER_ASSERT(reporter, smallRT1);
130 REPORTER_ASSERT(reporter, get_SB(smallRT0.get()) == get_SB(smallRT1.get()));
136 REPORTER_ASSERT(reporter, smallRT2);
138 REPORTER_ASSERT(reporter, get_SB(smallRT0.get()) == get_SB(smallRT2.get()));
144 REPORTER_ASSERT(reporter, bigRT);
146 REPORTER_ASSERT(reporter, get_SB(smallRT0.get()) != get_SB(bigRT.get()));
155 REPORTER_ASSERT(reporter, smallMSAART0);
157 REPORTER_ASSERT(reporter, get_SB(smallRT0.get()) != get_SB(smallMSAART0.get()));
164 REPORTER_ASSERT(reporter, smallMSAART1);
166 REPORTER_ASSERT(reporter, get_SB(smallMSAART0.get()) == get_SB(smallMSAART1.get()));
176 REPORTER_ASSERT(reporter, smallMSAART2);
178 REPORTER_ASSERT(reporter, get_SB(smallMSAART0.get()) != get_SB(smallMSAART2.get()));
183 DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ResourceCacheWrappedResources, reporter, ctxInfo) {
200 ERRORF(reporter, "Could not create backend texture.");
212 REPORTER_ASSERT(reporter, borrowed != nullptr && adopted != nullptr);
225 REPORTER_ASSERT(reporter, borrowedIsAlive);
226 REPORTER_ASSERT(reporter, !adoptedIsAlive);
350 static void test_no_key(skiatest::Reporter* reporter) {
361 REPORTER_ASSERT(reporter, 4 == TestResource::NumAlive());
362 REPORTER_ASSERT(reporter, 4 == cache->getResourceCount());
363 REPORTER_ASSERT(reporter, a->gpuMemorySize() + b->gpuMemorySize() + c->gpuMemorySize() +
368 REPORTER_ASSERT(reporter, 4 == TestResource::NumAlive());
373 REPORTER_ASSERT(reporter, 3 == TestResource::NumAlive());
374 REPORTER_ASSERT(reporter, 3 == cache->getResourceCount());
375 REPORTER_ASSERT(reporter, b->gpuMemorySize() + c->gpuMemorySize() + d->gpuMemorySize() ==
379 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
380 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
381 REPORTER_ASSERT(reporter, b->gpuMemorySize() + d->gpuMemorySize() ==
385 REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
386 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
387 REPORTER_ASSERT(reporter, b->gpuMemorySize() == cache->getResourceBytes());
390 REPORTER_ASSERT(reporter, 0 == TestResource::NumAlive());
391 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
392 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
403 static void test_purge_unlocked(skiatest::Reporter* reporter) {
430 REPORTER_ASSERT(reporter, 4 == TestResource::NumAlive());
431 REPORTER_ASSERT(reporter, 4 == cache->getResourceCount());
432 REPORTER_ASSERT(reporter, a->gpuMemorySize() + b->gpuMemorySize() + c->gpuMemorySize() +
437 REPORTER_ASSERT(reporter, 4 == TestResource::NumAlive());
445 REPORTER_ASSERT(reporter, 4 == TestResource::NumAlive());
446 REPORTER_ASSERT(reporter, 4 == cache->getResourceCount());
447 REPORTER_ASSERT(reporter, a->gpuMemorySize() + b->gpuMemorySize() + c->gpuMemorySize() +
453 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
454 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
455 REPORTER_ASSERT(reporter, b->gpuMemorySize() + d->gpuMemorySize() ==
461 REPORTER_ASSERT(reporter, 0 == TestResource::NumAlive());
462 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
463 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
466 static void test_purge_command_buffer_usage(skiatest::Reporter* reporter) {
478 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
479 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
480 REPORTER_ASSERT(reporter, a->gpuMemorySize() + b->gpuMemorySize() == cache->getResourceBytes());
484 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
493 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
497 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
498 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
499 REPORTER_ASSERT(reporter, a->gpuMemorySize() + b->gpuMemorySize() == cache->getResourceBytes());
504 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
509 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
510 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
511 REPORTER_ASSERT(reporter, a->gpuMemorySize() + b->gpuMemorySize() == cache->getResourceBytes());
516 REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
517 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
518 REPORTER_ASSERT(reporter, b->gpuMemorySize() == cache->getResourceBytes());
522 REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
523 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
524 REPORTER_ASSERT(reporter, b->gpuMemorySize() == cache->getResourceBytes());
529 REPORTER_ASSERT(reporter, 0 == TestResource::NumAlive());
530 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
531 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
534 static void test_budgeting(skiatest::Reporter* reporter) {
560 REPORTER_ASSERT(reporter, wrappedCacheableViaKey);
562 REPORTER_ASSERT(reporter, wrappedUncacheableViaKey);
569 REPORTER_ASSERT(reporter, 5 == cache->getResourceCount());
570 REPORTER_ASSERT(reporter, scratch->gpuMemorySize() + unique->gpuMemorySize() +
575 REPORTER_ASSERT(reporter, 2 == cache->getBudgetedResourceCount());
576 REPORTER_ASSERT(reporter, scratch->gpuMemorySize() + unique->gpuMemorySize() ==
578 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
582 REPORTER_ASSERT(reporter, 5 == cache->getResourceCount());
583 REPORTER_ASSERT(reporter, scratch->gpuMemorySize() + unique->gpuMemorySize() +
588 REPORTER_ASSERT(reporter, 2 == cache->getBudgetedResourceCount());
589 REPORTER_ASSERT(reporter, scratch->gpuMemorySize() + unique->gpuMemorySize() ==
591 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
597 REPORTER_ASSERT(reporter, 4 == cache->getResourceCount());
598 REPORTER_ASSERT(reporter, scratch->gpuMemorySize() + unique->gpuMemorySize() +
602 REPORTER_ASSERT(reporter, 0 == cache->getPurgeableBytes());
607 REPORTER_ASSERT(reporter, 11 == cache->getPurgeableBytes());
611 REPORTER_ASSERT(reporter, 4 == cache->getResourceCount());
614 REPORTER_ASSERT(reporter, wrappedCacheableViaKey);
621 REPORTER_ASSERT(reporter, 3 == cache->getResourceCount());
624 REPORTER_ASSERT(reporter, scratch->gpuMemorySize() + wrappedCacheable->gpuMemorySize() +
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());
635 REPORTER_ASSERT(reporter, 3 == cache->getResourceCount());
636 REPORTER_ASSERT(reporter, unbudgeted->gpuMemorySize() + wrappedCacheable->gpuMemorySize() +
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());
660 static void test_unbudgeted(skiatest::Reporter* reporter) {
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());
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());
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());
731 void test_unbudgeted_to_scratch(skiatest::Reporter* reporter);
732 /*static*/ void test_unbudgeted_to_scratch(skiatest::Reporter* reporter) {
745 REPORTER_ASSERT(reporter, resource->resourcePriv().getScratchKey() == key);
746 REPORTER_ASSERT(reporter, !resource->cacheAccess().isScratch());
747 REPORTER_ASSERT(reporter, GrBudgetedType::kUnbudgetedUncacheable ==
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());
764 REPORTER_ASSERT(reporter, resource);
765 REPORTER_ASSERT(reporter, resource->resourcePriv().getScratchKey() == key);
766 REPORTER_ASSERT(reporter, resource->cacheAccess().isScratch());
767 REPORTER_ASSERT(reporter,
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());
782 REPORTER_ASSERT(reporter, !resource->resourcePriv().getScratchKey().isValid());
783 REPORTER_ASSERT(reporter, !resource->cacheAccess().isScratch());
784 REPORTER_ASSERT(reporter,
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());
798 static void test_duplicate_scratch_key(skiatest::Reporter* reporter) {
813 REPORTER_ASSERT(reporter, !cache->findAndRefScratchResource(scratchKey1));
819 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
821 SkDEBUGCODE(REPORTER_ASSERT(reporter, 0 == cache->countScratchEntriesForKey(scratchKey));)
822 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
823 REPORTER_ASSERT(reporter, a->gpuMemorySize() + b->gpuMemorySize() ==
828 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
829 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
834 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
836 SkDEBUGCODE(REPORTER_ASSERT(reporter, 2 == cache->countScratchEntriesForKey(scratchKey));)
840 REPORTER_ASSERT(reporter, 0 == TestResource::NumAlive());
841 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
842 SkDEBUGCODE(REPORTER_ASSERT(reporter, 0 == cache->countScratchEntriesForKey(scratchKey));)
845 static void test_remove_scratch_key(skiatest::Reporter* reporter) {
862 REPORTER_ASSERT(reporter, !cache->findAndRefScratchResource(scratchKey));
866 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
867 SkDEBUGCODE(REPORTER_ASSERT(reporter, 2 == cache->countScratchEntriesForKey(scratchKey));)
868 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
874 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
875 SkDEBUGCODE(REPORTER_ASSERT(reporter, 1 == cache->countScratchEntriesForKey(scratchKey));)
876 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
880 REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
881 SkDEBUGCODE(REPORTER_ASSERT(reporter, 1 == cache->countScratchEntriesForKey(scratchKey));)
882 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
887 REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
888 SkDEBUGCODE(REPORTER_ASSERT(reporter, 0 == cache->countScratchEntriesForKey(scratchKey));)
889 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
893 REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
894 SkDEBUGCODE(REPORTER_ASSERT(reporter, 0 == cache->countScratchEntriesForKey(scratchKey));)
895 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
898 REPORTER_ASSERT(reporter, 0 == TestResource::NumAlive());
899 SkDEBUGCODE(REPORTER_ASSERT(reporter, 0 == cache->countScratchEntriesForKey(scratchKey));)
900 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
903 static void test_scratch_key_consistency(skiatest::Reporter* reporter) {
922 REPORTER_ASSERT(reporter, scratchKey1.size() == TestResource::ExpectedScratchKeySize());
923 REPORTER_ASSERT(reporter, scratchKey1 != scratchKey2);
924 REPORTER_ASSERT(reporter, scratchKey2 != scratchKey1);
926 REPORTER_ASSERT(reporter, scratchKey.size() == TestResource::ExpectedScratchKeySize());
927 REPORTER_ASSERT(reporter, scratchKey1 == scratchKey);
928 REPORTER_ASSERT(reporter, scratchKey == scratchKey1);
929 REPORTER_ASSERT(reporter, scratchKey2 != scratchKey);
930 REPORTER_ASSERT(reporter, scratchKey != scratchKey2);
932 REPORTER_ASSERT(reporter, scratchKey.size() == TestResource::ExpectedScratchKeySize());
933 REPORTER_ASSERT(reporter, scratchKey1 != scratchKey);
934 REPORTER_ASSERT(reporter, scratchKey != scratchKey1);
935 REPORTER_ASSERT(reporter, scratchKey2 == scratchKey);
936 REPORTER_ASSERT(reporter, scratchKey == scratchKey2);
941 REPORTER_ASSERT(reporter, !cache->findAndRefScratchResource(scratchKey));
946 REPORTER_ASSERT(reporter, find != nullptr);
951 REPORTER_ASSERT(reporter, find != nullptr);
952 REPORTER_ASSERT(reporter, find == a || find == b);
955 REPORTER_ASSERT(reporter, find2 != nullptr);
956 REPORTER_ASSERT(reporter, find2 == a || find2 == b);
957 REPORTER_ASSERT(reporter, find2 != find);
962 static void test_duplicate_unique_key(skiatest::Reporter* reporter) {
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());
984 REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
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());
995 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
999 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
1000 REPORTER_ASSERT(reporter, b->gpuMemorySize() == cache->getResourceBytes());
1001 REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
1010 REPORTER_ASSERT(reporter, 2 == cache->getResourceCount());
1011 REPORTER_ASSERT(reporter, b->gpuMemorySize() + c->gpuMemorySize() == cache->getResourceBytes());
1012 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
1015 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
1016 REPORTER_ASSERT(reporter, c->gpuMemorySize() == cache->getResourceBytes());
1017 REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
1021 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
1022 REPORTER_ASSERT(reporter, c->gpuMemorySize() == cache->getResourceBytes());
1023 REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
1027 REPORTER_ASSERT(reporter, 1 == cache->getResourceCount());
1028 REPORTER_ASSERT(reporter, c->gpuMemorySize() == cache->getResourceBytes());
1029 REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
1032 REPORTER_ASSERT(reporter, c == cache->findAndRefUniqueResource(key));
1035 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
1036 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
1037 REPORTER_ASSERT(reporter, 0 == TestResource::NumAlive());
1051 REPORTER_ASSERT(reporter, *(int*) d2->getUniqueKey().getCustomData()->data() == 4132);
1054 static void test_purge_invalidated(skiatest::Reporter* reporter) {
1077 REPORTER_ASSERT(reporter, cache->hasUniqueKey(key1));
1078 REPORTER_ASSERT(reporter, cache->hasUniqueKey(key2));
1079 REPORTER_ASSERT(reporter, cache->hasUniqueKey(key3));
1080 REPORTER_ASSERT(reporter, 3 == TestResource::NumAlive());
1090 REPORTER_ASSERT(reporter, !cache->hasUniqueKey(key1));
1091 REPORTER_ASSERT(reporter, !cache->hasUniqueKey(key2));
1092 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
1093 REPORTER_ASSERT(reporter, cache->hasUniqueKey(key3));
1099 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
1100 REPORTER_ASSERT(reporter, !cache->hasUniqueKey(key3));
1104 REPORTER_ASSERT(reporter, 1 == TestResource::NumAlive());
1110 REPORTER_ASSERT(reporter, scratch == c);
1116 REPORTER_ASSERT(reporter, 0 == TestResource::NumAlive());
1117 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
1118 REPORTER_ASSERT(reporter, 0 == cache->getResourceBytes());
1119 REPORTER_ASSERT(reporter, !scratch);
1123 static void test_cache_chained_purge(skiatest::Reporter* reporter) {
1141 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
1147 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
1150 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
1154 REPORTER_ASSERT(reporter, 2 == TestResource::NumAlive());
1157 REPORTER_ASSERT(reporter, 0 == TestResource::NumAlive());
1160 static void test_timestamp_wrap(skiatest::Reporter* reporter) {
1211 REPORTER_ASSERT(reporter, nullptr == res);
1213 REPORTER_ASSERT(reporter, nullptr != res);
1224 static void test_time_purge(skiatest::Reporter* reporter) {
1259 REPORTER_ASSERT(reporter, cnt - i - 1 == cache->getResourceCount());
1264 REPORTER_ASSERT(reporter, !SkToBool(r));
1269 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
1294 REPORTER_ASSERT(reporter, cnt - i / 2 - 1 == cache->getResourceCount());
1301 REPORTER_ASSERT(reporter, cnt / 2 - i - 1 == cache->getResourceCount());
1307 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
1331 REPORTER_ASSERT(reporter, cnt - i / 2 - 1 == cache->getResourceCount());
1337 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
1349 REPORTER_ASSERT(reporter, 10 == cache->getResourceCount());
1351 REPORTER_ASSERT(reporter, 10 == cache->getResourceCount());
1353 REPORTER_ASSERT(reporter, 0 == cache->getResourceCount());
1357 static void test_partial_purge(skiatest::Reporter* reporter) {
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());
1461 static void test_custom_data(skiatest::Reporter* reporter) {
1467 REPORTER_ASSERT(reporter, *(int*) key1.getCustomData()->data() == 4132);
1468 REPORTER_ASSERT(reporter, key2.getCustomData() == nullptr);
1472 REPORTER_ASSERT(reporter, *(int*) key3.getCustomData()->data() == 4132);
1475 static void test_abandoned(skiatest::Reporter* reporter) {
1483 REPORTER_ASSERT(reporter, resource->wasDestroyed());
1504 static void test_tags(skiatest::Reporter* reporter) {
1540 REPORTER_ASSERT(reporter, cache->countUniqueKeysWithTag(tagStr.c_str()) == i);
1545 static void test_free_texture_messages(skiatest::Reporter* reporter) {
1579 REPORTER_ASSERT(reporter, 0 == (freed[0] + freed[1] + freed[2]));
1586 REPORTER_ASSERT(reporter, 0 == (freed[0] + freed[1] + freed[2]));
1591 REPORTER_ASSERT(reporter, 0 == (freed[0] + freed[1] + freed[2]));
1598 REPORTER_ASSERT(reporter, 1 == (freed[0] + freed[1] + freed[2]));
1599 REPORTER_ASSERT(reporter, 1 == freed[0]);
1605 REPORTER_ASSERT(reporter, 2 == (freed[0] + freed[1] + freed[2]));
1606 REPORTER_ASSERT(reporter, 0 == freed[1]);
1610 REPORTER_ASSERT(reporter, 3 == (freed[0] + freed[1] + freed[2]));
1613 DEF_GPUTEST(ResourceCacheMisc, reporter, /* options */) {
1615 test_no_key(reporter);
1616 test_purge_unlocked(reporter);
1617 test_purge_command_buffer_usage(reporter);
1618 test_budgeting(reporter);
1619 test_unbudgeted(reporter);
1620 test_unbudgeted_to_scratch(reporter);
1621 test_duplicate_unique_key(reporter);
1622 test_duplicate_scratch_key(reporter);
1623 test_remove_scratch_key(reporter);
1624 test_scratch_key_consistency(reporter);
1625 test_purge_invalidated(reporter);
1626 test_cache_chained_purge(reporter);
1627 test_timestamp_wrap(reporter);
1628 test_time_purge(reporter);
1629 test_partial_purge(reporter);
1630 test_custom_data(reporter);
1631 test_abandoned(reporter);
1632 test_tags(reporter);
1633 test_free_texture_messages(reporter);
1638 DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ResourceMessagesAfterAbandon, reporter, ctxInfo) {
1666 REPORTER_ASSERT(reporter, 0 == freed);
1673 REPORTER_ASSERT(reporter, 1 == freed);
1711 DEF_GPUTEST_FOR_RENDERING_CONTEXTS(GPUMemorySize, reporter, ctxInfo) {
1725 REPORTER_ASSERT(reporter, kArea*4 == size);
1731 REPORTER_ASSERT(reporter,
1739 REPORTER_ASSERT(reporter, kArea*4 == size);
1748 REPORTER_ASSERT(reporter, kArea*4 + (kArea*4)/3 == size);
1754 REPORTER_ASSERT(reporter,
1762 REPORTER_ASSERT(reporter, kArea*4 + (kArea*4)/3 == size);
1766 DEF_GPUTEST_FOR_RENDERING_CONTEXTS(PurgeToMakeHeadroom, reporter, ctxInfo) {
1774 reporter->push(SkString(success ? "success" : "failure"));
1777 REPORTER_ASSERT(reporter, resourceCache->getBudgetedResourceBytes() == 0);
1781 REPORTER_ASSERT(reporter, lockedTex->gpuMemorySize() == kTexSize);
1790 REPORTER_ASSERT(reporter, expectedPurgeable == resourceCache->getPurgeableBytes(),
1792 REPORTER_ASSERT(reporter, success == resourceCache->purgeToMakeHeadroom(kTexSize));
1794 REPORTER_ASSERT(reporter, expectedBudgeted == resourceCache->getBudgetedResourceBytes(),
1796 reporter->pop();
1801 DEF_GPUTEST_FOR_MOCK_CONTEXT(OverbudgetFlush, reporter, ctxInfo) {
1838 REPORTER_ASSERT(reporter, overbudget());
1843 REPORTER_ASSERT(reporter, !getFlushCountDelta());
1845 REPORTER_ASSERT(reporter, !getFlushCountDelta());
1846 REPORTER_ASSERT(reporter, overbudget());
1852 REPORTER_ASSERT(reporter, getFlushCountDelta());
1853 REPORTER_ASSERT(reporter, overbudget());