skia2/include/core
aleksandar.stojiljkovic 9516775857 Enable generating SkImage with the same uniqueID in SkImageGenerator subclass
Enable reusing uniqueID when instantiating SkImageGenerator subclasses enables
using uniqueID in client code to cache generated bitmaps with no need to keep
the reference to SkImageGenerator.

This is a bug fix for out of memory cause in chromium and 100% CPU usage
described in issue 165750#13:
- cache uses SkImage::uniqueID() to cache decoded bitmaps.
- every animation loop creates new SkImage instances.
- after decoding, bitmap copies are added to cache, filling it up with
duplicates of previous loops frames.

BUG=165750

Blink patch that depends on this:
https://codereview.chromium.org/1925533003/
"High CPU and increased memory usage fix for high-res (GIF, WEBP...) animations."

Review-Url: https://codereview.chromium.org/1928403002
2016-05-02 01:43:38 -07:00
..
SkAnnotation.h remove unneeded flag for annotations 2016-03-05 06:00:12 -08:00
SkBBHFactory.h Revert of Add non-inline SkRTreeFactory constructor to fix clang-cl (patchset #2 id:20001 of https://codereview.chromium.org/1676833002/ ) 2016-02-26 16:31:12 -08:00
SkBitmap.h spriteblitter for memcpy case (for all configs) 2016-04-15 06:59:39 -07:00
SkBitmapDevice.h Image filters: de-nest SkImageFilter::Cache and Cache::Key. 2016-04-27 11:31:23 -07:00
SkBlitRow.h Port SkBlitRow::Color32 to SkOpts. 2015-09-10 10:38:02 -07:00
SkBlurTypes.h move common blur types into central header 2014-04-28 16:25:35 +00:00
SkCanvas.h Clean up test drawContext usage 2016-04-28 14:32:04 -07:00
SkChunkAlloc.h Add rewind capability to SkChunkAlloc 2015-02-27 08:31:57 -08:00
SkClipStack.h Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER. 2016-04-29 06:41:35 -07:00
SkColor.h make SkPM4f private 2016-02-18 12:39:14 -08:00
SkColorFilter.h Revert of Delete SkFlattenable::Type (patchset #2 id:20001 of https://codereview.chromium.org/1834303003/ ) 2016-04-04 14:57:19 -07:00
SkColorPriv.h Change SkUnitScalarClampToByte to more accurate implementation. 2016-02-24 10:07:52 -08:00
SkColorTable.h use allocator (if present) when we allocate our cache bitmap 2015-09-17 13:35:19 -07:00
SkData.h Make sp variants for SkData 2016-03-11 13:02:28 -08:00
SkDataTable.h Move SkTDArray to private. 2016-02-18 08:53:33 -08:00
SkDeque.h This CL addresses "SkCanvas::save flags are not respected by GPU backend" (https://code.google.com/p/skia/issues/detail?id=1503). 2013-08-16 00:53:34 +00:00
SkDevice.h Clean up test drawContext usage 2016-04-28 14:32:04 -07:00
SkDocument.h SkDocument::CreateXPS fix roll 2016-04-27 12:07:55 -07:00
SkDraw.h remove 'deprecated' region from SkDraw 2016-04-27 07:49:17 -07:00
SkDrawable.h Make SkDrawable an SkFlattenable 2016-04-25 06:40:26 -07:00
SkDrawFilter.h SkPaintFilterCanvas cleanup 2016-01-12 12:14:10 -08:00
SkDrawLooper.h Revert of Delete SkFlattenable::Type (patchset #2 id:20001 of https://codereview.chromium.org/1834303003/ ) 2016-04-04 14:57:19 -07:00
SkError.h Sanitizing source files in Housekeeper-Nightly 2013-09-05 07:01:19 +00:00
SkFilterQuality.h Skia Filter Quality and Scaling Metrics 2016-04-18 09:14:00 -07:00
SkFlattenable.h Make SkDrawable an SkFlattenable 2016-04-25 06:40:26 -07:00
SkFlattenableSerialization.h Revert of Delete SkFlattenable::Type (part 1) (patchset #1 id:1 of https://codereview.chromium.org/1861013002/ ) 2016-04-05 12:00:49 -07:00
SkFont.h Treat embedded bitmaps as a hinting method. 2014-08-19 13:18:58 -07:00
SkFontHost.h Remove a layer of indirection and code from SkFontHost. 2014-09-10 15:49:48 -07:00
SkFontLCDConfig.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-03-13 07:01:04 +00:00
SkFontStyle.h Add oblique as a slant. 2016-04-27 10:21:05 -07:00
SkGraphics.h add SkGraphics::PurageAllCaches 2016-02-22 06:19:54 -08:00
SkImage.h exernalize imagefactory guard 2016-04-15 10:56:52 -07:00
SkImageEncoder.h Delete SkImageDecoder 2016-03-24 10:41:47 -07:00
SkImageFilter.h Image filters: de-nest SkImageFilter::Cache and Cache::Key. 2016-04-27 11:31:23 -07:00
SkImageGenerator.h Enable generating SkImage with the same uniqueID in SkImageGenerator subclass 2016-05-02 01:43:38 -07:00
SkImageInfo.h Revert of move static arrays into impl, to avoid multiple copies (patchset #3 id:40001 of https://codereview.chromium.org/1889793007/ ) 2016-04-16 12:24:09 -07:00
SkMallocPixelRef.h For non-opaque SkBitmapDevices, replace malloc-then-zero with calloc. 2015-11-05 09:46:23 -08:00
SkMask.h Add default ctor to SkMask 2015-12-17 11:33:12 -08:00
SkMaskFilter.h Revert of Delete SkFlattenable::Type (patchset #2 id:20001 of https://codereview.chromium.org/1834303003/ ) 2016-04-04 14:57:19 -07:00
SkMath.h remove (now unused) SkDivBits 2016-04-28 09:31:31 -07:00
SkMatrix.h Change SkMatrix::fixedStepInX to return SkVector (of SkScalar) rather than SkFixed. 2016-02-16 10:09:40 -08:00
SkMetaData.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkMilestone.h Update Skia milestone to 52 2016-04-07 22:58:19 -07:00
SkMultiPictureDraw.h Move SkTDArray to private. 2016-02-18 08:53:33 -08:00
SkOSFile.h add fsync to try to get complete skps from webpage picture capture 2015-12-16 13:41:23 -08:00
SkPaint.h Revert "Revert of Pass effects directly to fontcache (patchset #8 id:140001 of https://codereview.chromium.org/1863013003/ )" 2016-04-12 06:47:05 -07:00
SkPath.h allow move/zero-line/close to draw caps 2016-02-22 12:44:54 -08:00
SkPathEffect.h SkPathEffect.h: add SK_API where needed 2016-04-21 10:54:11 -07:00
SkPathMeasure.h fix path getSegment comment 2016-03-23 11:15:57 -07:00
SkPathRef.h Convert SkRefCnt to std::atomic. 2016-04-08 06:58:52 -07:00
SkPicture.h Optionally enable SkValidatingReadBuffer in SkPictureImageFilter 2016-04-22 11:40:42 -07:00
SkPictureRecorder.h return pictures as sk_sp 2016-03-18 07:25:55 -07:00
SkPixelRef.h Upgrade SkSpecialImage to have getTextureRef & getROPixels entry points 2016-04-08 12:10:42 -07:00
SkPixelSerializer.h SkPixelSerializer: remove deprecated virtual 2015-12-10 09:30:57 -08:00
SkPixmap.h spriteblitter for memcpy case (for all configs) 2016-04-15 06:59:39 -07:00
SkPngChunkReader.h Delete SkImageDecoder 2016-03-24 10:41:47 -07:00
SkPoint3.h Update SkLightingShader to support rotation 2015-08-20 05:15:07 -07:00
SkPoint.h Revert of Revert of stop calling SkScalarDiv (patchset #1 id:1 of https://codereview.chromium.org/1138263002/) 2015-05-12 10:37:34 -07:00
SkPostConfig.h Skia Filter Quality and Scaling Metrics 2016-04-18 09:14:00 -07:00
SkPreConfig.h force no SSE on iOS simulator 2016-03-23 12:54:54 -07:00
SkRasterizer.h Revert of Delete SkFlattenable::Type (patchset #2 id:20001 of https://codereview.chromium.org/1834303003/ ) 2016-04-04 14:57:19 -07:00
SkRect.h Cleanups related to SkFixed. 2016-02-25 10:28:11 -08:00
SkRefCnt.h Remove skstd::is_convertible. 2016-04-28 11:18:07 -07:00
SkRegion.h Remove useless SkASSERT in SkRect.h and SkRegion.h 2015-04-28 12:47:48 -07:00
SkRRect.h make transformed rrect radii fit rectangle 2016-02-23 10:32:40 -08:00
SkRSXform.h add helper to create RSXform w/ anchorPt 2015-07-30 05:46:05 -07:00
SkRWBuffer.h Fixes for SkRWBuffer 2016-04-22 06:59:01 -07:00
SkScalar.h Reverse dependency between SkScalar.h and SkFixed.h. 2016-04-07 08:49:31 -07:00
SkShader.h Revert of Delete SkFlattenable::Type (patchset #2 id:20001 of https://codereview.chromium.org/1834303003/ ) 2016-04-04 14:57:19 -07:00
SkSize.h deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients 2013-12-17 19:22:07 +00:00
SkStream.h SkWStream::writeText inlined. 2016-04-11 19:41:48 -07:00
SkString.h Reverse dependency between SkScalar.h and SkFixed.h. 2016-04-07 08:49:31 -07:00
SkStrokeRec.h Unify implementations of stroking radius calculationsns 2016-04-29 07:07:03 -07:00
SkSurface.h Fix legacy NewRenderTarget factory 2016-04-13 15:10:20 -07:00
SkSurfaceProps.h Tweak distance field path renderer behavior in gamma-correct mode to match 2016-04-13 13:56:21 -07:00
SkSwizzle.h Add missing SK_API to SkSwizzle.h 2016-03-24 07:50:14 -07:00
SkTextBlob.h Move SkTArray to include/private. 2016-02-17 13:13:44 -08:00
SkTime.h Change SkTime::GetMSecs to double; ensure values stored in SkMSec do not overflow. 2016-03-25 12:59:53 -07:00
SkTLazy.h Fix typo in SkTLazy copy ctor. src is a reference, not a pointer. 2016-03-25 09:11:35 -07:00
SkTraceMemoryDump.h Add support for light dumps in SkTraceMemoryDump interface. 2015-09-30 04:31:23 -07:00
SkTRegistry.h Rewrite SkTRegistry to take any trivially-copyable type. 2013-09-04 17:20:18 +00:00
SkTypeface.h remove SK_SUPPORT_NEW_ONCREATESCALERCONTEXT, no longer needed in chdrome 2016-04-12 16:57:55 -07:00
SkTypes.h Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER. 2016-04-29 06:41:35 -07:00
SkUnPreMultiply.h Factor out UnPreMultiplyPreservingByteOrder 2014-01-15 22:24:58 +00:00
SkWriteBuffer.h remove SkWriteBuffer::getWriter32(). 2016-04-29 13:58:09 -07:00
SkWriter32.h Remove SkWriter32::contiguousArray(). 2016-04-29 14:45:36 -07:00
SkXfermode.h remove U16 support, just support F16 2016-04-14 09:02:14 -07:00
SkYUVSizeInfo.h Update Skia's YUV API 2016-03-10 05:44:43 -08:00