skia2/include/core
Ravi Mistry cb55010652 Revert "Reland "SkSurface asynchronous read APIs allow client to extend pixel lifetime""
This reverts commit 6fc04f88a8.

Reason for revert: Chrome roll failure suspect because of:
* https://chromium-review.googlesource.com/c/chromium/src/+/1837131 (22 commits)
* https://chromium-review.googlesource.com/c/chromium/src/+/1837214 (24 commits)

Original change's description:
> Reland "SkSurface asynchronous read APIs allow client to extend pixel lifetime"
>
> This is a reland of ce240cc6fd
>
> Original change's description:
> > SkSurface asynchronous read APIs allow client to extend pixel lifetime
> >
> > Previously the pixel data passed to the client was only valid during
> > the client's callback. This meant if the client wanted to defer
> > processing of the data a copy was necessary.
> >
> > Now we pass an object to the callback and the pixel lifetime is tied
> > to the lifetime of that object.
> >
> > The object may be holding a GPU transfer buffer mapped. We don't assume
> > that the object will be released on the direct GrContext thread. So
> > when the object is destroyed it posts a message to a new type,
> > GrClientMappedBufferManager, hanging off the direct context. The direct
> > context will periodically check for messages and unmap and then unref
> > buffers so that they can be reused. Currently this is done in
> > GrContext::performDeferredCleanup() and GrDrawingManager::flush().
> >
> > The old API is kept around for backwards compatibility but it is
> > reimplemented as a bridge on top of the new mechanism.
> >
> > Also a utility function to SkImageInfo is added to directly make a new
> > info with a specified dimensions rather than passing the width and
> > height separately to makeWH().
> >
> > Bug: chromium:973403
> > Bug: skia:8962
> >
> > Change-Id: Id5cf04235376170142a48e90d3ecd13fd021a2a6
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245457
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
>
> Bug: chromium:973403, skia:8962
> Change-Id: I5cecd36276c8b6dc942cf549c7095db2df88530c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245678
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,brianosman@google.com

Change-Id: I9e01d1b82fb399b94292441d91da51176bb161d9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:973403, skia:8962
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245956
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-10-03 09:19:24 +00:00
..
SkAnnotation.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBBHFactory.h simplify rtree loops in Skia too 2019-05-15 15:42:10 +00:00
SkBitmap.h Fix SkPixmap and SkBitmap dox for computeByteSize 2019-07-10 19:43:59 +00:00
SkBlendMode.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBlurTypes.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkCanvas.h Revert "Fix flutter roll" 2019-08-28 19:50:56 +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 Move SkColorChannel into SkColor 2019-07-26 15:50:12 +00:00
SkColorFilter.h Rename GrColorSpaceInfo -> GrColorInfo 2019-09-30 21:53:24 +00:00
SkColorPriv.h cut SK_SAMPLES_FOR_X, simplify SK_?32_SHIFT 2019-04-24 20:58:58 +00:00
SkColorSpace.h add SkNamedTransferFn::kRec2020 2019-05-24 16:03:03 +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 rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkDataTable.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkDeferredDisplayListRecorder.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkDeque.h More classes no longer inherit from SkNoncopyable 2019-06-10 18:15:18 +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 remove unused sk_sp comparison operators 2019-08-27 14:52:01 +00:00
SkEncodedImageFormat.h
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 Add a way to disable baseline snapping. 2019-08-27 19:54:29 +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 unused sk_sp comparison operators 2019-08-27 14:52:01 +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 rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkImageInfo.h Revert "Reland "SkSurface asynchronous read APIs allow client to extend pixel lifetime"" 2019-10-03 09:19:24 +00:00
SkMallocPixelRef.h SkMallocPixelRef: remove MakeDirect and MakeWithProc from API. 2019-08-15 19:01:13 +00:00
SkMaskFilter.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkMath.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkMatrix44.h SkVector4 as ctype for half4 2019-06-02 18:32:45 +00:00
SkMatrix.h Change SkMatrix::decomposeScale to use preScale 2019-07-19 15:41:11 +00:00
SkMilestone.h Update Skia milestone to 79 2019-09-06 17:17:06 +00:00
SkMultiPictureDraw.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkOverdrawCanvas.h Add Color4f variant for DrawEdgeAAQuad 2019-08-27 23:22:32 +00:00
SkPaint.h remove code now that loopers are dead (w.r.t. canvas and paint) 2019-07-30 12:49:28 +00:00
SkPath.h Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +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 Pull path nested types out to root level 2019-09-13 12:54:09 +00:00
SkPicture.h move all picture version crap into single header 2019-07-30 20:15:07 +00:00
SkPictureRecorder.h More classes no longer inherit from SkNoncopyable 2019-06-10 18:15:18 +00:00
SkPixelRef.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkPixmap.h Fix SkPixmap and SkBitmap dox for computeByteSize 2019-07-10 19:43:59 +00:00
SkPngChunkReader.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkPoint3.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkPoint.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkPostConfig.h Add SkUNREACHABLE to definition of SK_ABORT. 2019-08-09 20:43:39 +00:00
SkPreConfig.h Revert "simplify and centralize SK_API" 2019-04-22 18:09:45 +00:00
SkPromiseImageTexture.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkRasterHandleAllocator.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkRect.h remove legacy flag SK_SUPPORT_LEGACY_RECT_PARAMS 2019-08-31 12:12:19 +00:00
SkRefCnt.h remove unused sk_sp comparison operators 2019-08-27 14:52:01 +00:00
SkRegion.h remove legacy flag SK_SUPPORT_LEGACY_RECT_PARAMS 2019-08-31 12:12:19 +00:00
SkRRect.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +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 rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +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 Pass GrBackendFormat to GrResourceProvider and GrGpu texture create 2019-08-05 17:33:17 +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 Revert "Reland "SkSurface asynchronous read APIs allow client to extend pixel lifetime"" 2019-10-03 09:19:24 +00:00
SkSurfaceCharacterization.h Add protected status to SkSurfaceCharacterization 2019-07-10 16:30:35 +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 Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +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 add copytable method to typefaces 2019-07-24 19:20:46 +00:00
SkTypes.h remove default looper flag, rely on clients to opt-in 2019-07-23 14:20:09 +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 Move SkColorChannel into SkColor 2019-07-26 15:50:12 +00:00
SkYUVASizeInfo.h Use safe computation for adding up YUVASizeInfo total bytes 2019-09-23 20:55:28 +00:00