Lines Matching refs:SkResourceCache
8 #include "src/core/SkResourceCache.h"
22 DECLARE_SKMESSAGEBUS_MESSAGE(SkResourceCache::PurgeSharedIDMessage, uint32_t, true)
25 const SkResourceCache::PurgeSharedIDMessage&, uint32_t) {
26 // SkResourceCache is typically used as a singleton and we don't label Inboxes so all messages
42 void SkResourceCache::Key::init(void* nameSpace, uint64_t sharedID, size_t dataSize) {
68 static uint32_t Hash(const SkResourceCache::Key& key) { return key.hash(); }
69 static const SkResourceCache::Key& GetKey(const SkResourceCache::Rec* rec) {
75 class SkResourceCache::Hash :
76 public SkTHashTable<SkResourceCache::Rec*, SkResourceCache::Key, HashTraits> {};
81 void SkResourceCache::init() {
94 SkResourceCache::SkResourceCache(DiscardableFactory factory)
100 SkResourceCache::SkResourceCache(size_t byteLimit)
106 SkResourceCache::~SkResourceCache() {
118 bool SkResourceCache::find(const Key& key, FindVisitor visitor, void* context) {
146 void SkResourceCache::add(Rec* rec, void* payload) {
180 void SkResourceCache::remove(Rec* rec) {
204 void SkResourceCache::purgeAsNeeded(bool forcePurge) {
237 void SkResourceCache::purgeSharedID(uint64_t sharedID) {
274 void SkResourceCache::visitAll(Visitor visitor, void* context) {
286 size_t SkResourceCache::setTotalByteLimit(size_t newLimit) {
295 SkCachedData* SkResourceCache::newCachedData(size_t bytes) {
308 void SkResourceCache::release(Rec* rec) {
328 void SkResourceCache::moveToHead(Rec* rec) {
347 void SkResourceCache::addToHead(Rec* rec) {
368 void SkResourceCache::validate() const {
412 void SkResourceCache::dump() const {
415 SkDebugf("SkResourceCache: count=%d bytes=%zu %s\n",
419 size_t SkResourceCache::setSingleAllocationByteLimit(size_t newLimit) {
425 size_t SkResourceCache::getSingleAllocationByteLimit() const {
429 size_t SkResourceCache::getEffectiveSingleAllocationByteLimit() const {
445 void SkResourceCache::checkMessages() {
455 static SkResourceCache* gResourceCache = nullptr;
462 static SkResourceCache* get_cache() {
467 gResourceCache = new SkResourceCache(SkDiscardableMemory::Create);
469 gResourceCache = new SkResourceCache(SK_DEFAULT_IMAGE_CACHE_LIMIT);
475 size_t SkResourceCache::GetTotalBytesUsed() {
480 size_t SkResourceCache::GetTotalByteLimit() {
485 size_t SkResourceCache::SetTotalByteLimit(size_t newLimit) {
490 SkResourceCache::DiscardableFactory SkResourceCache::GetDiscardableFactory() {
495 SkCachedData* SkResourceCache::NewCachedData(size_t bytes) {
500 void SkResourceCache::Dump() {
505 size_t SkResourceCache::SetSingleAllocationByteLimit(size_t size) {
510 size_t SkResourceCache::GetSingleAllocationByteLimit() {
515 size_t SkResourceCache::GetEffectiveSingleAllocationByteLimit() {
520 void SkResourceCache::PurgeAll() {
525 void SkResourceCache::CheckMessages() {
530 bool SkResourceCache::Find(const Key& key, FindVisitor visitor, void* context) {
535 void SkResourceCache::Add(Rec* rec, void* payload) {
540 void SkResourceCache::VisitAll(Visitor visitor, void* context) {
545 void SkResourceCache::PostPurgeSharedID(uint64_t sharedID) {
557 return SkResourceCache::GetTotalBytesUsed();
561 return SkResourceCache::GetTotalByteLimit();
565 return SkResourceCache::SetTotalByteLimit(newLimit);
569 return SkResourceCache::GetSingleAllocationByteLimit();
573 return SkResourceCache::SetSingleAllocationByteLimit(newLimit);
578 return SkResourceCache::PurgeAll();
583 static void dump_visitor(const SkResourceCache::Rec& rec, void*) {
588 void SkResourceCache::TestDumpMemoryStatistics() {
592 static void sk_trace_dump_visitor(const SkResourceCache::Rec& rec, void* context) {
608 void SkResourceCache::DumpMemoryStatistics(SkTraceMemoryDump* dump) {