skia2/include/core
Brian Salomon 99a813ca29 Avoid unbounded listener growth on SkImage_Lazy when textures are purged
Generalizes the system used on SkPathRef where a GrTexture's key
destructor signals that a listener on the image can be removed via
the unique key custom data.

Removes texturesAreCacheable() from SkImageGenerator. This was used to
prevent unbounded growth in a narrow situation related to
GrBackendTextureImageGenerator.


Change-Id: I3c605da099acfac94751e793331e356a0979d359
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274038
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-02 18:38:09 +00:00
..
SkAnnotation.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBBHFactory.h add metadata to calculated bounds 2020-02-27 19:12:35 +00:00
SkBitmap.h remove enum docs 2020-02-11 21:43:07 +00:00
SkBlendMode.h remove enum docs 2020-02-11 21:43:07 +00:00
SkBlurTypes.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkCanvas.h Reland "Track device coordinate space as matrix" 2020-02-27 16:32:45 +00:00
SkCanvasVirtualEnforcer.h Revert "Fix flutter roll" 2019-08-28 19:50:56 +00:00
SkClipOp.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkColor.h SkColorSetA now warns if the result is unused. 2020-02-05 16:07:57 +00:00
SkColorFilter.h thread alloc through to color filters 2020-02-04 18:17:08 +00:00
SkColorPriv.h Remove SkScalarClampMax and SkScalarPin 2020-02-06 18:29:51 +00:00
SkColorSpace.h remove unneeded include 2020-02-21 21:01:32 +00:00
SkContourMeasure.h More classes no longer inherit from SkNoncopyable 2019-06-10 18:15:18 +00:00
SkCoverageMode.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkCubicMap.h [skottie] De-dupe sequential cubic mappers 2019-07-17 17:14:46 +00:00
SkData.h test data.equals with empty 2020-02-17 17:53:49 +00:00
SkDataTable.h trim out unneeded references to SkString 2019-11-15 21:01:01 +00:00
SkDeferredDisplayList.h Add a program iterator to SkDeferredDisplayList 2020-02-24 14:03:06 +00:00
SkDeferredDisplayListRecorder.h Move SkDeferredDisplayList.h into include\core (take 2) 2020-02-21 21:26:02 +00:00
SkDocument.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkDrawable.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkDrawLooper.h IWYU -- colorspace no longer includes matrix44 2020-01-21 21:37:32 +00:00
SkEncodedImageFormat.h GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
SkExecutor.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFilterQuality.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFlattenable.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFont.h Skip degenerate contours in glyphs. 2020-02-13 16:22:42 +00:00
SkFontArguments.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFontLCDConfig.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFontMetrics.h Restore SkFontMetrics documentation. 2019-08-15 18:11:39 +00:00
SkFontMgr.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFontParameters.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFontStyle.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFontTypes.h Remove SkTextEncoding and SkFontHinting macros. 2019-05-22 20:44:28 +00:00
SkGraphics.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkICC.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkImage.h remove enum docs 2020-02-11 21:43:07 +00:00
SkImageEncoder.h Revert "add runtime registration for encoders" 2019-05-15 22:02:39 +00:00
SkImageFilter.h Move SkImageFilter functionality into private SkImageFilter_Base 2019-08-02 18:56:39 +00:00
SkImageGenerator.h Avoid unbounded listener growth on SkImage_Lazy when textures are purged 2020-03-02 18:38:09 +00:00
SkImageInfo.h basic, untested BGR 1010102 and 101010x 2020-02-11 21:44:57 +00:00
SkM44.h [skottie] Initial support for per-character 3D 2020-02-21 21:14:02 +00:00
SkMallocPixelRef.h SkMallocPixelRef: remove MakeDirect and MakeWithProc from API. 2019-08-15 19:01:13 +00:00
SkMaskFilter.h trim out unneeded references to SkString 2019-11-15 21:01:01 +00:00
SkMath.h Remove SkClampMax 2020-02-06 19:49:53 +00:00
SkMatrix44.h remove legacy SkMScalar code 2020-01-23 23:13:21 +00:00
SkMatrix.h remove enum docs 2020-02-11 21:43:07 +00:00
SkMilestone.h Update Skia milestone to 82 2020-01-30 17:14:00 +00:00
SkOverdrawCanvas.h Add Color4f variant for DrawEdgeAAQuad 2019-08-27 23:22:32 +00:00
SkPaint.h remove enum docs 2020-02-11 21:43:07 +00:00
SkPath.h remove enum docs 2020-02-11 21:43:07 +00:00
SkPathEffect.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkPathMeasure.h More classes no longer inherit from SkNoncopyable 2019-06-10 18:15:18 +00:00
SkPathTypes.h Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
SkPicture.h Docs: Add links to header files. 2019-10-18 19:24:13 +00:00
SkPictureRecorder.h let picture record take a bbh directly 2020-01-21 18:59:11 +00:00
SkPixelRef.h trim out unneeded references to SkString 2019-11-15 21:01:01 +00:00
SkPixmap.h remove enum docs 2020-02-11 21:43:07 +00:00
SkPngChunkReader.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkPoint3.h Add clipping for perspective triangles 2019-12-17 23:24:18 +00:00
SkPoint.h Test texture domain effect with local matrix. 2019-11-22 22:37:33 +00:00
SkPromiseImageTexture.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkRasterHandleAllocator.h use std::make_unique 2019-12-12 22:32:45 +00:00
SkRect.h Remove SkMin32/SkMax32 2020-02-06 17:31:51 +00:00
SkRefCnt.h Make GrSurfaceProxy ref counts thread safe. 2019-10-24 19:55:23 +00:00
SkRegion.h remove enum docs 2020-02-11 21:43:07 +00:00
SkRRect.h remove enum docs 2020-02-11 21:43:07 +00:00
SkRSXform.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkRWBuffer.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkScalar.h Remove SkScalarClampMax and SkScalarPin 2020-02-06 18:29:51 +00:00
SkSerialProcs.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkShader.h Optional local matrix for SkShaders factories 2019-07-09 18:09:14 +00:00
SkSize.h Remove GrSurfaceDesc 2020-02-07 19:48:13 +00:00
SkStream.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkString.h Don't mark inline functions in SkString.h as static. 2019-06-04 11:40:02 +00:00
SkStrokeRec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSurface.h Update SkSurface::ReplaceBackendTexture to take ContentChangeMode 2020-02-18 15:15:06 +00:00
SkSurfaceCharacterization.h Add createBackendFormat and createFBO0 helper methods to SkSurfaceCharacterization 2020-02-13 18:55:22 +00:00
SkSurfaceProps.h Add SkSurfaceProp::operator!=. 2019-08-30 15:27:33 +00:00
SkSwizzle.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTextBlob.h Docs: Add links to header files. 2019-10-18 19:24:13 +00:00
SkTileMode.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTime.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTraceMemoryDump.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTypeface.h Move scaler context fallback to GDI 2020-02-11 19:50:27 +00:00
SkTypes.h Add comment to SkTPin explaining NaN behavior 2020-02-11 14:43:39 +00:00
SkUnPreMultiply.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkVertices.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkYUVAIndex.h Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
SkYUVASizeInfo.h Use safe computation for adding up YUVASizeInfo total bytes 2019-09-23 20:55:28 +00:00