skia2/include/core
Mike Reed 7a542c559a Change bitmapcache to not rely on lockpixels.
The Rec in the cache is the owner of the pixel memory
- discardable or
- malloc

Each external client has a pixelref that just points to those pixels,
and whose destructor will notify the rec.

This eliminates the dependency on lockPixels in pixelref, freeing us
to remove that entirely from pixelref.

Bug: skia:
Change-Id: If45ed0ae202a1211336626364235215253e8aa7c
Reviewed-on: https://skia-review.googlesource.com/10300
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-04-11 16:38:17 +00:00
..
SkAnnotation.h remove unneeded flag for annotations 2016-03-05 06:00:12 -08:00
SkBBHFactory.h Remove stray semicolons. 2016-09-27 14:04:26 +00:00
SkBitmap.h Revert "remove unused SkBitmap::copyPixelsTo" 2017-04-11 15:38:04 +00:00
SkBlendMode.h move SkBlendMode_Name into public (for chrome) 2016-11-16 19:17:21 +00:00
SkBlurTypes.h move common blur types into central header 2014-04-28 16:25:35 +00:00
SkCanvas.h SkCanvas constructor with legacy flag for Android framework 2017-04-11 13:28:29 +00:00
SkClipOp.h remove legacy clipop names 2017-03-15 23:44:46 +00:00
SkColor.h Make SkColorSetA() a constexpr function. 2017-04-07 20:21:11 +00:00
SkColorFilter.h Remove SkFallbackAlloc and SkFixedAlloc. 2017-01-16 17:01:57 +00:00
SkColorPriv.h Remove SK_SUPPORT_LEGACY_BROKEN_LERP support 2017-03-13 15:08:29 +00:00
SkColorSpace.h Delete SkColorSpace::ColorSpaceFlags 2017-03-24 17:11:26 +00:00
SkColorSpaceXform.h Add codec and color xform support for 565 2017-03-28 19:39:42 +00:00
SkColorSpaceXformCanvas.h Make xformer class for SkCSXCanvas, use for draw loopers 2017-03-30 18:02:58 +00:00
SkColorTable.h Revert[4] "clean up (partially) colortable api"""" 2017-04-03 19:29:38 +00:00
SkCrossContextImageData.h Add GrExternalTextureData and SkCrossContextImageData 2017-02-28 20:59:57 +00:00
SkData.h Class delete call unsized delete when size not known. 2016-10-19 21:41:00 +00:00
SkDataTable.h Remove SkDataTableBuilder. It is not used. 2017-02-28 21:11:45 +00:00
SkDeque.h
SkDocument.h SkXPS: new document API. 2017-02-06 19:00:28 +00:00
SkDrawable.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00
SkDrawFilter.h SkPaintFilterCanvas cleanup 2016-01-12 12:14:10 -08:00
SkDrawLooper.h Make xformer class for SkCSXCanvas, use for draw loopers 2017-03-30 18:02:58 +00:00
SkEncodedImageFormat.h SkImageEncoder: simplify API 2016-11-23 16:40:32 +00:00
SkExecutor.h SkExecutor 2017-02-22 16:17:39 +00:00
SkFilterQuality.h Skia Filter Quality and Scaling Metrics 2016-04-18 09:14:00 -07:00
SkFlattenable.h SkLightingShader normal vector CPU computation refactor. 2016-06-27 11:40:45 -07:00
SkFlattenableSerialization.h hide setImageFilter(ptr) 2016-11-01 16:05:41 +00:00
SkFont.h typedef uint16_t SkGlyphID 2016-07-25 07:18:12 -07:00
SkFontArguments.h Add SkTypeface::getVariationDesignPosition. 2017-02-24 16:59:05 +00:00
SkFontLCDConfig.h Add SK_API to SkFontLCDConfig. 2016-05-03 11:56:03 -07:00
SkFontStyle.h Remove 'Ulta' width. 2016-08-02 10:43:29 -07:00
SkGraphics.h remove guard for SkImageGenerator api 2017-02-22 04:31:18 +00:00
SkICC.h Improve comment in SkICC.h 2017-02-24 20:35:57 +00:00
SkImage.h Add SkImage::makeColorSpace() to public API 2017-04-05 16:17:15 +00:00
SkImageDeserializer.h Deserialize pictures with custom image-deserializer 2016-08-11 03:55:15 -07:00
SkImageEncoder.h Remove last of SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS 2017-01-10 19:36:17 +00:00
SkImageFilter.h SkImageFilter::onMakeColorSpace() - more overrides 2017-04-10 21:28:43 +00:00
SkImageGenerator.h cacherator upscales colortables to unify caching 2017-04-07 16:59:42 +00:00
SkImageInfo.h Revert "explictly fail to draw unpremul, as this is buggy, incomplete, tricky, and unused" 2017-01-20 14:21:42 +00:00
SkLights.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00
SkMallocPixelRef.h Revert[4] "clean up (partially) colortable api"""" 2017-04-03 19:29:38 +00:00
SkMask.h Add default ctor to SkMask 2015-12-17 11:33:12 -08:00
SkMaskFilter.h Consolidate Proxy caching code in GrResourceProvider 2017-03-14 14:09:12 +00:00
SkMath.h SkLiteDL: remove freelisting, add reset() and SKLITEDL_PAGE knob. 2016-08-16 09:36:18 -07:00
SkMatrix44.h Add some thread safety notes. 2017-03-02 13:44:49 +00:00
SkMatrix.h optimize intersect, use getType to utilize fast-case in preTranslate 2017-03-07 20:51:34 +00:00
SkMetaData.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkMilestone.h Update Skia milestone to 59 2017-03-02 14:46:43 +00:00
SkMultiPictureDraw.h Revert[2] "Change SkCanvas to *not* inherit from SkRefCnt" 2016-11-13 18:31:13 +00:00
SkPaint.h remove SK_SUPPORT_LEGACY_PAINT_TEXTDECORATION 2017-04-05 12:24:36 +00:00
SkPath.h Add some thread safety notes. 2017-03-02 13:44:49 +00:00
SkPathEffect.h move intermediate patheffect classes inside src 2017-03-09 14:46:11 +00:00
SkPathMeasure.h Move seg_to to a new header, define SkSegType enum there 2016-08-09 09:38:30 -07:00
SkPathRef.h Remove SkAutoTUnref and SkAutoTDelete from public includes. 2016-10-27 09:30:08 -07:00
SkPicture.h Remove run count field from SkTextBlob. 2017-03-13 13:36:54 +00:00
SkPictureAnalyzer.h Revert[2] "remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS" 2016-12-09 14:33:41 +00:00
SkPictureRecorder.h remove kReturnNullForEmpty_FinishFlag feature 2017-04-11 01:24:06 +00:00
SkPixelRef.h Change bitmapcache to not rely on lockpixels. 2017-04-11 16:38:17 +00:00
SkPixelSerializer.h SkPixelSerializer: remove deprecated virtual 2015-12-10 09:30:57 -08:00
SkPixmap.h SkBitmap::ComputeIsOpaque -> SkPixmap::computeIsOpaque 2016-12-07 21:44:39 +00: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 handle large conic weights 2016-07-13 10:56:53 -07:00
SkPostConfig.h Use alignas to force alignment. 2016-11-04 08:41:01 -07:00
SkPreConfig.h use __BYTE_ORDER__ macro to detect endianness when available 2016-11-28 21:07:47 +00:00
SkRasterHandleAllocator.h Make header files self-sufficient 2017-02-10 01:19:52 +00: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 Add tracking of unique proxyID beside unique renderTargetID in auditTrail and clearOp 2017-03-31 16:11:30 +00:00
SkRefCnt.h Only perform SkSafeRef race detection if on android framework 2017-03-23 14:32:47 +00:00
SkRegion.h SkRegion deserialization more robust 2017-02-18 13:34:30 +00:00
SkRRect.h Add validation of RRects to SkValidatingReadBuffer 2016-09-23 19:44:57 +00:00
SkRSXform.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00
SkRWBuffer.h Add a SkRWBuffer reserve mechanism 2016-09-30 13:34:19 -07:00
SkScalar.h remove obsolete SK_SUPPORT_LEGACY_SCALARMUL code 2017-04-08 00:34:04 +00:00
SkShader.h Mark overridden destructors with 'override' and remove 'virtual' 2017-03-22 16:06:18 +00:00
SkSize.h re-guard against negative dimensions on no-draw canvas 2017-03-10 16:29:32 +00:00
SkStream.h Mark overridden destructors with 'override' and remove 'virtual' 2017-03-22 16:06:18 +00: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 quick-fix to surface dox 2017-03-24 17:34:55 +00:00
SkSurfaceProps.h remove disable aa/dither flags from Props -- never used 2016-08-18 09:30:44 -07:00
SkSwizzle.h Add missing SK_API to SkSwizzle.h 2016-03-24 07:50:14 -07:00
SkTextBlob.h Purge GrTextBlobCache entries on SkTextBlob deletion 2017-03-14 14:00:13 +00:00
SkTime.h Make SkTime SK_API so that SkTime::GetDateTime() is visible to the clients. 2016-05-02 15:04:46 -07:00
SkTLazy.h Fix SkTLazy(const T*) initialization 2016-08-24 11:03:24 -07:00
SkTraceMemoryDump.h Add support for light dumps in SkTraceMemoryDump interface. 2015-09-30 04:31:23 -07:00
SkTypeface.h Make SkTypeface::onGetVariationDesignPosition pure virtual. 2017-03-01 22:33:47 +00:00
SkTypes.h Change SkMemory to the more accurately named SkMalloc. 2017-03-27 18:13:07 +00:00
SkUnPreMultiply.h Factor out UnPreMultiplyPreservingByteOrder 2014-01-15 22:24:58 +00:00
SkVertices.h remove legacy vertices flag and code 2017-04-06 12:58:46 +00:00
SkWriteBuffer.h Mark overridden destructors with 'override' and remove 'virtual' 2017-03-22 16:06:18 +00:00
SkWriter32.h Remove SkWriter32::contiguousArray(). 2016-04-29 14:45:36 -07:00
SkYUVSizeInfo.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00