Add SkMaskCache
BUG=skia:
Review URL: https://codereview.chromium.org/670063004
diff --git a/src/core/SkResourceCache.cpp b/src/core/SkResourceCache.cpp
index 1eb53cd..ae8412d 100644
--- a/src/core/SkResourceCache.cpp
+++ b/src/core/SkResourceCache.cpp
@@ -303,6 +303,15 @@
return prevLimit;
}
+SkCachedData* SkResourceCache::newCachedData(size_t bytes) {
+ if (fDiscardableFactory) {
+ SkDiscardableMemory* dm = fDiscardableFactory(bytes);
+ return dm ? SkNEW_ARGS(SkCachedData, (bytes, dm)) : NULL;
+ } else {
+ return SkNEW_ARGS(SkCachedData, (sk_malloc_throw(bytes), bytes));
+ }
+}
+
///////////////////////////////////////////////////////////////////////////////
void SkResourceCache::detach(Rec* rec) {
@@ -482,6 +491,11 @@
return get_cache()->allocator();
}
+SkCachedData* SkResourceCache::NewCachedData(size_t bytes) {
+ SkAutoMutexAcquire am(gMutex);
+ return get_cache()->newCachedData(bytes);
+}
+
void SkResourceCache::Dump() {
SkAutoMutexAcquire am(gMutex);
get_cache()->dump();