| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |