From 2c7c7ee47d75e7815ea8db05e924ab55958cb402 Mon Sep 17 00:00:00 2001 From: "halcanary@google.com" Date: Thu, 5 Dec 2013 18:31:42 +0000 Subject: Big Cleanup: SkBitmapFactory, SkLazyPixelRef, SkImageCache Removed SkBitmapFactory since no clients were using it. New cache selection mechanism can simply pass a SkDiscardableMemory::Factory into the SkDiscardablePixelRef if non-default SkDiscardableMemory should be used. Removed BitmapFactoryTest. SkDiscardableMemory::Factory interface. Android will need this functionality in the future inside their BitmapFactory. Removed SkLazyPixelRef, since it's functionality is now subsumed into SkDiscardablePixelRef. Removed LazyPixelRef test. Modified SkDiscardablePixelRef to optionally allow it to use a SkDiscardableMemory::Factory. This tiny change makes it a replacement for SkLazyPixelRef. This functioanlity is also necessary for moving Android over to SkDiscardablePixelRef from SkImageRef in a later CL. Added a test for this. SkDecodingImageGenerator::Install can optionally pass a factory in to SkDiscardablePixelRef. Removed SkImageCache, SkLruImageCache, and SkPurgeableImageCache. This functionality can be handled much more cleanly by SkDiscardableMemory. New SkDiscardableMemoryPool class to replace SkLruImageCache. In a later CL, we will replace SkImageRef_GlobalPool (used by android) as well. This is a concrete implementation of SkDiscardableMemory::Factory. Added a test for this. modified gm/factory.cpp to remove dependnce on SkBitmapFactory + SkLruImageCache. Now uses SkDecodingImageGenerator + SkDiscardablePixelRef + SkDiscardableMemoryPool. SkImageDecoder::Target replaces SkBitmapFactory::Target. The DecodeMemoryToTarget function may disappear in the future. Moved SkLazyCachingPixelRef::DecodeProc replaces SkBitmapFactory::DecodeProc. This is a short term change, since another CL changes SkLazyCachingPixelRef to use SkImageGenerator instead of DecodeProc. Modified DrawBitmapRectTest to use SkDiscardablePixelRef instead of SkLazyPixelRef. tools/LazyDecodeBitmap.cpp now uses SkDecodingImageGenerator + SkDiscardablePixelRef instead of a SkBitmapFactory. bench_pictures uses the Global SkDiscardableMemoryPool instead of a global gLruImageCache. R=reed@google.com, scroggo@google.com Review URL: https://codereview.chromium.org/103033002 git-svn-id: http://skia.googlecode.com/svn/trunk@12515 2bbb7eff-a529-9590-31e7-b0007b416f81 --- gyp/SampleApp.gyp | 2 ++ gyp/core.gypi | 14 +------------- gyp/dm.gyp | 2 ++ gyp/gm.gyp | 2 ++ gyp/images.gyp | 1 + gyp/public_headers.gypi | 4 ---- gyp/tests.gyp | 2 +- gyp/tools.gyp | 8 +++++++- 8 files changed, 16 insertions(+), 19 deletions(-) (limited to 'gyp') diff --git a/gyp/SampleApp.gyp b/gyp/SampleApp.gyp index c2f0950730..16a5c303e5 100644 --- a/gyp/SampleApp.gyp +++ b/gyp/SampleApp.gyp @@ -12,6 +12,8 @@ 'include_dirs' : [ '../src/core', '../src/effects', #needed for BlurMask.h + '../src/images', + '../src/lazy', '../gm', # needed to pull gm.h '../samplecode', # To pull SampleApp.h and SampleCode.h '../src/pipe/utils', # For TiledPipeController diff --git a/gyp/core.gypi b/gyp/core.gypi index 4bb4d51488..69e8a56882 100644 --- a/gyp/core.gypi +++ b/gyp/core.gypi @@ -71,6 +71,7 @@ '<(skia_src_path)/core/SkDevice.cpp', '<(skia_src_path)/core/SkDeviceLooper.cpp', '<(skia_src_path)/core/SkDeviceProfile.cpp', + '<(skia_src_path)/lazy/SkDiscardableMemoryPool.cpp', '<(skia_src_path)/lazy/SkDiscardablePixelRef.cpp', '<(skia_src_path)/core/SkDither.cpp', '<(skia_src_path)/core/SkDraw.cpp', @@ -307,19 +308,6 @@ '<(skia_include_path)/core/SkXfermode.h', # Lazy decoding: - '<(skia_include_path)/lazy/SkBitmapFactory.h', - '<(skia_include_path)/lazy/SkImageCache.h', - '<(skia_include_path)/lazy/SkLruImageCache.h', - '<(skia_include_path)/lazy/SkPurgeableImageCache.h', - - '<(skia_src_path)/lazy/SkBitmapFactory.cpp', - '<(skia_src_path)/lazy/SkLazyPixelRef.h', - '<(skia_src_path)/lazy/SkLazyPixelRef.cpp', - '<(skia_src_path)/lazy/SkLruImageCache.cpp', - '<(skia_src_path)/lazy/SkPurgeableMemoryBlock.h', - '<(skia_src_path)/lazy/SkPurgeableMemoryBlock_common.cpp', - '<(skia_src_path)/lazy/SkPurgeableImageCache.cpp', - '<(skia_src_path)/lazy/SkCachingPixelRef.cpp', '<(skia_src_path)/lazy/SkCachingPixelRef.h', diff --git a/gyp/dm.gyp b/gyp/dm.gyp index 7d8d5d8d38..8fa59c545a 100644 --- a/gyp/dm.gyp +++ b/gyp/dm.gyp @@ -9,6 +9,8 @@ 'include_dirs': [ '../dm', '../gm', + '../src/images', + '../src/lazy', '../src/core', '../src/effects', '../src/pipe/utils/', diff --git a/gyp/gm.gyp b/gyp/gm.gyp index bc70e16d56..a543aca4db 100644 --- a/gyp/gm.gyp +++ b/gyp/gm.gyp @@ -29,6 +29,8 @@ 'type': 'executable', 'include_dirs' : [ '../src/core', + '../src/images', + '../src/lazy', '../src/effects', '../src/pipe/utils/', '../src/utils/', diff --git a/gyp/images.gyp b/gyp/images.gyp index e16a41f023..6cc8965956 100644 --- a/gyp/images.gyp +++ b/gyp/images.gyp @@ -38,6 +38,7 @@ '../src/images/bmpdecoderhelper.h', '../src/images/SkDecodingImageGenerator.cpp', + '../src/images/SkDecodingImageGenerator.h', '../src/images/SkForceLinking.cpp', '../src/images/SkImageDecoder.cpp', '../src/images/SkImageDecoder_FactoryDefault.cpp', diff --git a/gyp/public_headers.gypi b/gyp/public_headers.gypi index b209e71f6b..45114e89c9 100644 --- a/gyp/public_headers.gypi +++ b/gyp/public_headers.gypi @@ -297,10 +297,6 @@ 'views/SkOSWindow_Unix.h', 'views/SkWidget.h', 'views/SkOSWindow_Win.h', - 'lazy/SkBitmapFactory.h', - 'lazy/SkImageCache.h', - 'lazy/SkPurgeableImageCache.h', - 'lazy/SkLruImageCache.h', ], }, } diff --git a/gyp/tests.gyp b/gyp/tests.gyp index aa228c5921..ed1d07788d 100644 --- a/gyp/tests.gyp +++ b/gyp/tests.gyp @@ -33,7 +33,6 @@ '../tests/ARGBImageEncoderTest.cpp', '../tests/AtomicTest.cpp', '../tests/BitmapCopyTest.cpp', - '../tests/BitmapFactoryTest.cpp', '../tests/BitmapGetColorTest.cpp', '../tests/BitmapHasherTest.cpp', '../tests/BitmapHeapTest.cpp', @@ -56,6 +55,7 @@ '../tests/DeferredCanvasTest.cpp', '../tests/DequeTest.cpp', '../tests/DeviceLooperTest.cpp', + '../tests/DiscardableMemoryPool.cpp', '../tests/DocumentTest.cpp', '../tests/DrawBitmapRectTest.cpp', '../tests/DrawPathTest.cpp', diff --git a/gyp/tools.gyp b/gyp/tools.gyp index b6086d58ba..04d4e3f0fc 100644 --- a/gyp/tools.gyp +++ b/gyp/tools.gyp @@ -211,6 +211,9 @@ '../tools/render_pictures_main.cpp', ], 'include_dirs': [ + '../src/core', + '../src/images', + '../src/lazy', '../src/pipe/utils/', ], 'dependencies': [ @@ -232,6 +235,7 @@ '../tools/PictureBenchmark.cpp', ], 'include_dirs': [ + '../src/core/', '../bench', '../src/lazy/', ], @@ -258,7 +262,9 @@ '../src/pipe/utils/SamplePipeControllers.cpp', ], 'include_dirs': [ - '../src/core/', + '../src/core', + '../src/images', + '../src/lazy', '../src/pipe/utils/', '../src/utils/', ], -- cgit v1.2.3