diff options
author | halcanary@google.com <halcanary@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-12-10 18:33:07 +0000 |
---|---|---|
committer | halcanary@google.com <halcanary@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-12-10 18:33:07 +0000 |
commit | bc55eec80ef376208b3c1bfc65d8dc8b672d59f0 (patch) | |
tree | a33bb8502b441562ece4247a23404ee28c95e488 /tools | |
parent | c9a8a7e23de576ac91e9b34a221382f7c0e69813 (diff) |
Implement SkAshmemDiscardableMemory
- Implement ashmem-backed SkDiscardableMemory subclass:
This class in only accesible via the SkDiscardableMemory::Create()
function, which replaces the mock implementation in
SkDiscardableMemory_none.cpp
- Added SkDiscardableMemory_ashmem.cpp to the Android port of Skia
Removed SkDiscardableMemory_none.cpp from the Android port.
- Added DiscardableMemoryTest.
Still needs work.
- SkDiscardablePixelRef Bugfix:
onLockPixels() now calls SkDELETE on the SkDiscardableMemory pointer
when it fails to unlock.
- Improved documentation inside ashmem.h
BUG=
R=scroggo@google.com
Review URL: https://codereview.chromium.org/83563002
git-svn-id: http://skia.googlecode.com/svn/trunk@12608 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tools')
-rw-r--r-- | tools/LazyDecodeBitmap.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/LazyDecodeBitmap.cpp b/tools/LazyDecodeBitmap.cpp index 9e850e5753..f5ff1477d3 100644 --- a/tools/LazyDecodeBitmap.cpp +++ b/tools/LazyDecodeBitmap.cpp @@ -17,7 +17,6 @@ __SK_FORCE_IMAGE_DECODER_LINKING; -// TODO(halcanary) Use this flag when ashmem-backed discardable memory lands. DEFINE_bool(useVolatileCache, false, "Use a volatile cache for deferred image decoding pixels. " "Only meaningful if --deferImageDecoding is set to true and the platform has an " "implementation."); @@ -39,9 +38,11 @@ bool sk_tools::LazyDecodeBitmap(const void* src, return false; } SkDiscardableMemory::Factory* pool = NULL; - if (info.fWidth * info.fHeight > 32 * 1024) { + if ((!FLAGS_useVolatileCache) || (info.fWidth * info.fHeight < 32 * 1024)) { // how to do switching with SkDiscardableMemory. pool = SkGetGlobalDiscardableMemoryPool(); + // Only meaningful if platform has a default discardable + // memory implementation that differs from the global DM pool. } return SkDiscardablePixelRef::Install(gen.detach(), dst, pool); } |