aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/lazy
Commit message (Collapse)AuthorAge
* use typedef to name our ID type in SkImageCacheGravatar reed@google.com2013-07-09
| | | | | | | | | BUG= R=scroggo@google.com Review URL: https://codereview.chromium.org/18612003 git-svn-id: http://skia.googlecode.com/svn/trunk@9943 2bbb7eff-a529-9590-31e7-b0007b416f81
* Improvements/additions to SkImageCache/SkLazyPixelRef.Gravatar scroggo@google.com2013-03-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkPurgeableImageCache: New image cache that uses virtual memory to store the pixels. Combines features of SkAshmemImageCache (which has been removed) with SkPurgeableMemoryBlock, which has android and Mac versions. SkImageCache: Modified the API. pinCache now returns a status out parameter which states whether the pinned memory retained the old data. This allows allocAndPinCache to only be used for allocations. Add a new debug only interface to purge unpinned data. Updates to documentation, clarifying behavior. Changed CachedStatus to MemoryStatus SkLruImageCache: Implement the new function purgeAllUnpinnedCaches and change implementation of pinCache for the new behavior. SkLazyPixelRef: Rewrite onLockPixels to account for the new behavior of pinCache. BitmapFactoryTest: Test the new SkPurgeableImageCache. Write tests which directly test the SkImageCaches. Create a larger bitmap, since some of the SkImageCaches are designed to handle large bitmaps. bench_ and render_pictures: Consolidate lazy_decode_bitmap into one function. Allow using a flag to specify using the purgeable image cache. Clean up some #includes. Review URL: https://codereview.chromium.org/12433020 git-svn-id: http://skia.googlecode.com/svn/trunk@8207 2bbb7eff-a529-9590-31e7-b0007b416f81
* If Ashmem cache fails pinCache, do not reallocate.Gravatar scroggo@google.com2013-03-04
| | | | | | Review URL: https://codereview.chromium.org/12398021 git-svn-id: http://skia.googlecode.com/svn/trunk@7973 2bbb7eff-a529-9590-31e7-b0007b416f81
* Provide an option in bench_pictures to count pixel ram.Gravatar scroggo@google.com2013-03-04
| | | | | | | | | | | | | | In SkLruImageCache, provide an option to keep all pixels, and document the new behavior. In gm/factory.cpp, set the budget for the Lru image cache to 1, to retain (basically) the old behavior. BUG=https://code.google.com/p/skia/issues/detail?id=1010 Review URL: https://codereview.chromium.org/12378075 git-svn-id: http://skia.googlecode.com/svn/trunk@7972 2bbb7eff-a529-9590-31e7-b0007b416f81
* Create SkLazyPixelRef which performs lazy decoding.Gravatar scroggo@google.com2013-02-22
The new pixel ref behaves similarly to SkImageRef, with some key differences: It does not depend on the images project. It requires an SkImageCache, which handles allocation and caching of the pixel memory. It takes a function signature for decoding which decodes into already allocated pixel memory rather than into an SkBitmap. Add two implementations of SkImageCache: SkLruImageCache and SkAshmemImageCache. Replace SkSerializationHelpers::DecodeBitmap with SkPicture::InstallPixelRefProc, and update sites that referenced it. SkBitmapFactory now sets the pixel ref to a new object of the new class SkLazyPixelRef, provided it has an SkImageCache for caching. Provide an option to do lazy decodes in render_pictures and bench_pictures. SkPicture: Eliminate the default parameters in the constructor. If a proc for decoding bitmaps is installed, use it to decode any encoded data in subpictures. When parsing deserializing subpictures, check for success. When serializing subpictures, pass the picture's bitmap encoder to the subpicture's call to serialize. Update BitmapFactoryTest to test its new behavior. BUG=https://code.google.com/p/skia/issues/detail?id=1008 BUG=https://code.google.com/p/skia/issues/detail?id=1009 Review URL: https://codereview.appspot.com/7060052 git-svn-id: http://skia.googlecode.com/svn/trunk@7835 2bbb7eff-a529-9590-31e7-b0007b416f81