Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(267)

Side by Side Diff: src/core/SkResourceCache.cpp

Issue 670063004: Add SkMaskCache (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fix SkRRect Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2013 Google Inc. 2 * Copyright 2013 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkChecksum.h" 8 #include "SkChecksum.h"
9 #include "SkResourceCache.h" 9 #include "SkResourceCache.h"
10 #include "SkMipMap.h" 10 #include "SkMipMap.h"
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 284
285 size_t SkResourceCache::setTotalByteLimit(size_t newLimit) { 285 size_t SkResourceCache::setTotalByteLimit(size_t newLimit) {
286 size_t prevLimit = fTotalByteLimit; 286 size_t prevLimit = fTotalByteLimit;
287 fTotalByteLimit = newLimit; 287 fTotalByteLimit = newLimit;
288 if (newLimit < prevLimit) { 288 if (newLimit < prevLimit) {
289 this->purgeAsNeeded(); 289 this->purgeAsNeeded();
290 } 290 }
291 return prevLimit; 291 return prevLimit;
292 } 292 }
293 293
294 SkCachedData* SkResourceCache::newCachedData(size_t bytes) {
295 if (fDiscardableFactory) {
296 SkDiscardableMemory* dm = fDiscardableFactory(bytes);
297 return dm ? SkNEW_ARGS(SkCachedData, (bytes, dm)) : NULL;
298 } else {
299 return SkNEW_ARGS(SkCachedData, (sk_malloc_throw(bytes), bytes));
300 }
301 }
302
294 /////////////////////////////////////////////////////////////////////////////// 303 ///////////////////////////////////////////////////////////////////////////////
295 304
296 void SkResourceCache::detach(Rec* rec) { 305 void SkResourceCache::detach(Rec* rec) {
297 Rec* prev = rec->fPrev; 306 Rec* prev = rec->fPrev;
298 Rec* next = rec->fNext; 307 Rec* next = rec->fNext;
299 308
300 if (!prev) { 309 if (!prev) {
301 SkASSERT(fHead == rec); 310 SkASSERT(fHead == rec);
302 fHead = next; 311 fHead = next;
303 } else { 312 } else {
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 SkResourceCache::DiscardableFactory SkResourceCache::GetDiscardableFactory() { 472 SkResourceCache::DiscardableFactory SkResourceCache::GetDiscardableFactory() {
464 SkAutoMutexAcquire am(gMutex); 473 SkAutoMutexAcquire am(gMutex);
465 return get_cache()->discardableFactory(); 474 return get_cache()->discardableFactory();
466 } 475 }
467 476
468 SkBitmap::Allocator* SkResourceCache::GetAllocator() { 477 SkBitmap::Allocator* SkResourceCache::GetAllocator() {
469 SkAutoMutexAcquire am(gMutex); 478 SkAutoMutexAcquire am(gMutex);
470 return get_cache()->allocator(); 479 return get_cache()->allocator();
471 } 480 }
472 481
482 SkCachedData* SkResourceCache::NewCachedData(size_t bytes) {
483 SkAutoMutexAcquire am(gMutex);
484 return get_cache()->newCachedData(bytes);
485 }
486
473 void SkResourceCache::Dump() { 487 void SkResourceCache::Dump() {
474 SkAutoMutexAcquire am(gMutex); 488 SkAutoMutexAcquire am(gMutex);
475 get_cache()->dump(); 489 get_cache()->dump();
476 } 490 }
477 491
478 size_t SkResourceCache::SetSingleAllocationByteLimit(size_t size) { 492 size_t SkResourceCache::SetSingleAllocationByteLimit(size_t size) {
479 SkAutoMutexAcquire am(gMutex); 493 SkAutoMutexAcquire am(gMutex);
480 return get_cache()->setSingleAllocationByteLimit(size); 494 return get_cache()->setSingleAllocationByteLimit(size);
481 } 495 }
482 496
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 } 535 }
522 536
523 size_t SkGraphics::SetResourceCacheSingleAllocationByteLimit(size_t newLimit) { 537 size_t SkGraphics::SetResourceCacheSingleAllocationByteLimit(size_t newLimit) {
524 return SkResourceCache::SetSingleAllocationByteLimit(newLimit); 538 return SkResourceCache::SetSingleAllocationByteLimit(newLimit);
525 } 539 }
526 540
527 void SkGraphics::PurgeResourceCache() { 541 void SkGraphics::PurgeResourceCache() {
528 return SkResourceCache::PurgeAll(); 542 return SkResourceCache::PurgeAll();
529 } 543 }
530 544
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698