skia2/include/core
Yuqian Li 06ee8e8a3e Revert "Revert "Revert "Remove budgeted parameter from SkSurface::makeImageSnapshot"""
This reverts commit 31249bb2df.

Reason for revert: Android build is still broken as shown below.

out/target/product/bullhead/obj/NATIVE_TESTS/hwui_unit_tests_intermediates/tests/unit/SkiaPipelineTests.o frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp"
frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:211:51: error: non-virtual member function marked 'override' hides virtual member function
    sk_sp<SkImage> onNewImageSnapshot(SkBudgeted) override {
                                                  ^
external/skia/src/image/SkSurface_Base.h:46:28: note: hidden overloaded virtual function 'SkSurface_Base::onNewImageSnapshot' declared here: different number of parameters (0 vs 1)
    virtual sk_sp<SkImage> onNewImageSnapshot() = 0;
                           ^
frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:281:84: error: no viable conversion from 'sk_sp<DeferLayer<DeferTestCanvas>>' to 'sk_sp<SkSurface>'
    pipeline->renderFrame(layerUpdateQueue, dirty, nodes, true, contentDrawBounds, surface);
                                                                                   ^~~~~~~
external/skia/include/core/SkRefCnt.h:253:15: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<DeferTestCanvas> >' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument
    constexpr sk_sp(std::nullptr_t) : fPtr(nullptr) {}
              ^
external/skia/include/core/SkRefCnt.h:259:5: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<DeferTestCanvas> >' to 'const sk_sp<SkSurface> &' for 1st argument
    sk_sp(const sk_sp<T>& that) : fPtr(SkSafeRef(that.get())) {}
    ^
external/skia/include/core/SkRefCnt.h:268:5: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<DeferTestCanvas> >' to 'sk_sp<SkSurface> &&' for 1st argument
    sk_sp(sk_sp<T>&& that) : fPtr(that.release()) {}
    ^
external/skia/include/gpu/../private/SkTLogic.h:27:82: note: candidate template ignored: disabled by 'enable_if' [with U = (anonymous namespace)::DeferLayer<DeferTestCanvas>]
template <bool B, typename T = void> using enable_if_t = typename std::enable_if<B, T>::type;
                                                                                 ^
external/skia/include/gpu/../private/SkTLogic.h:27:82: note: candidate template ignored: disabled by 'enable_if' [with U = (anonymous namespace)::DeferLayer<DeferTestCanvas>]
external/skia/include/core/SkRefCnt.h:327:5: note: candidate function
    operator unspecified_bool_type() const { return this->get() ? &sk_sp::fPtr : nullptr; }
    ^
frameworks/base/libs/hwui/pipeline/skia/SkiaPipeline.h:50:30: note: passing argument to parameter 'surface' here
            sk_sp<SkSurface> surface);
                             ^
frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:312:58: error: no viable conversion from 'sk_sp<DeferLayer<ClippedTestCanvas>>' to 'sk_sp<SkSurface>'
            SkRect::MakeWH(CANVAS_WIDTH, CANVAS_HEIGHT), surface);
                                                         ^~~~~~~
external/skia/include/core/SkRefCnt.h:253:15: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<ClippedTestCanvas> >' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument
    constexpr sk_sp(std::nullptr_t) : fPtr(nullptr) {}
              ^
external/skia/include/core/SkRefCnt.h:259:5: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<ClippedTestCanvas> >' to 'const sk_sp<SkSurface> &' for 1st argument
    sk_sp(const sk_sp<T>& that) : fPtr(SkSafeRef(that.get())) {}
    ^
external/skia/include/core/SkRefCnt.h:268:5: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<ClippedTestCanvas> >' to 'sk_sp<SkSurface> &&' for 1st argument
    sk_sp(sk_sp<T>&& that) : fPtr(that.release()) {}
    ^
external/skia/include/gpu/../private/SkTLogic.h:27:82: note: candidate template ignored: disabled by 'enable_if' [with U = (anonymous namespace)::DeferLayer<ClippedTestCanvas>]
template <bool B, typename T = void> using enable_if_t = typename std::enable_if<B, T>::type;
                                                                                 ^
external/skia/include/gpu/../private/SkTLogic.h:27:82: note: candidate template ignored: disabled by 'enable_if' [with U = (anonymous namespace)::DeferLayer<ClippedTestCanvas>]
external/skia/include/core/SkRefCnt.h:327:5: note: candidate function
    operator unspecified_bool_type() const { return this->get() ? &sk_sp::fPtr : nullptr; }
    ^
frameworks/base/libs/hwui/pipeline/skia/SkiaPipeline.h:50:30: note: passing argument to parameter 'surface' here
            sk_sp<SkSurface> surface);
                             ^
frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:343:58: error: no viable conversion from 'sk_sp<DeferLayer<ClipReplaceTestCanvas>>' to 'sk_sp<SkSurface>'
            SkRect::MakeWH(CANVAS_WIDTH, CANVAS_HEIGHT), surface);
                                                         ^~~~~~~
external/skia/include/core/SkRefCnt.h:253:15: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<ClipReplaceTestCanvas> >' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument
    constexpr sk_sp(std::nullptr_t) : fPtr(nullptr) {}
              ^
external/skia/include/core/SkRefCnt.h:259:5: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<ClipReplaceTestCanvas> >' to 'const sk_sp<SkSurface> &' for 1st argument
    sk_sp(const sk_sp<T>& that) : fPtr(SkSafeRef(that.get())) {}
    ^
external/skia/include/core/SkRefCnt.h:268:5: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<ClipReplaceTestCanvas> >' to 'sk_sp<SkSurface> &&' for 1st argument
    sk_sp(sk_sp<T>&& that) : fPtr(that.release()) {}
    ^
external/skia/include/gpu/../private/SkTLogic.h:27:82: note: candidate template ignored: disabled by 'enable_if' [with U = (anonymous namespace)::DeferLayer<ClipReplaceTestCanvas>]
template <bool B, typename T = void> using enable_if_t = typename std::enable_if<B, T>::type;
                                                                                 ^
external/skia/include/gpu/../private/SkTLogic.h:27:82: note: candidate template ignored: disabled by 'enable_if' [with U = (anonymous namespace)::DeferLayer<ClipReplaceTestCanvas>]
external/skia/include/core/SkRefCnt.h:327:5: note: candidate function
    operator unspecified_bool_type() const { return this->get() ? &sk_sp::fPtr : nullptr; }
    ^
frameworks/base/libs/hwui/pipeline/skia/SkiaPipeline.h:50:30: note: passing argument to parameter 'surface' here
            sk_sp<SkSurface> surface);
                             ^
frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:214:42: error: cannot initialize object parameter of type 'SkSurface' with an expression of type '(anonymous namespace)::DeferLayer<DeferTestCanvas>'
    T* canvas() { return static_cast<T*>(getCanvas()); }
                                         ^~~~~~~~~
frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:282:27: note: in instantiation of member function '(anonymous namespace)::DeferLayer<DeferTestCanvas>::canvas' requested here
    EXPECT_EQ(4, surface->canvas()->mDrawCounter);
                          ^
frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:214:42: error: cannot initialize object parameter of type 'SkSurface' with an expression of type '(anonymous namespace)::DeferLayer<ClippedTestCanvas>'
    T* canvas() { return static_cast<T*>(getCanvas()); }
                                         ^~~~~~~~~
frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:313:27: note: in instantiation of member function '(anonymous namespace)::DeferLayer<ClippedTestCanvas>::canvas' requested here
    EXPECT_EQ(1, surface->canvas()->mDrawCounter);
                          ^
frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:214:42: error: cannot initialize object parameter of type 'SkSurface' with an expression of type '(anonymous namespace)::DeferLayer<ClipReplaceTestCanvas>'
    T* canvas() { return static_cast<T*>(getCanvas()); }
                                         ^~~~~~~~~
frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:344:27: note: in instantiation of member function '(anonymous namespace)::DeferLayer<ClipReplaceTestCanvas>::canvas' requested here
    EXPECT_EQ(1, surface->canvas()->mDrawCounter);

Original change's description:
> Revert "Revert "Remove budgeted parameter from SkSurface::makeImageSnapshot""
> 
> This reverts commit 9e9188f84b.
> 
> Reason for revert: Android-side fix has landed
> 
> Original change's description:
> > Revert "Remove budgeted parameter from SkSurface::makeImageSnapshot"
> > 
> > This reverts commit b64bcbdc3a.
> > 
> > Reason for revert: 
> > 
> > Android build failed as shown below.
> > 
> > frameworks/base/libs/hwui/VkLayer.cpp:32:41: error: too many arguments to function call, expected 0, have 1
> >     mImage = surface->makeImageSnapshot(SkBudgeted::kNo);
> > 
> > Original change's description:
> > > Remove budgeted parameter from SkSurface::makeImageSnapshot
> > > 
> > > This unused feature complicates MDB.
> > > 
> > > Chrome compiles locally for me with this CL.
> > > 
> > > Change-Id: I611e464885fb984030eace43ead42cf39d0e7f72
> > > Reviewed-on: https://skia-review.googlesource.com/9734
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > Commit-Queue: Robert Phillips <robertphillips@google.com>
> > > 
> > 
> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > 
> > Change-Id: Iae6e313c15b2352bd0d4fc7b5629de0a51ac398e
> > Reviewed-on: https://skia-review.googlesource.com/9788
> > Reviewed-by: Yuqian Li <liyuqian@google.com>
> > Commit-Queue: Yuqian Li <liyuqian@google.com>
> > 
> 
> TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org,liyuqian@google.com
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Change-Id: If07d1b5db6e6c618d37445a0cf127780ed243a92
> Reviewed-on: https://skia-review.googlesource.com/9843
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org,liyuqian@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I674b0a9d4130e00164d2e0344a92c373cf70f4fd
Reviewed-on: https://skia-review.googlesource.com/9873
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-03-17 20:50:19 +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 Remove unused SkBitmap::RLEPixels 2017-03-14 15:47:45 +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 remove unused params 2017-03-17 19:37:27 +00:00
SkClipOp.h remove legacy clipop names 2017-03-15 23:44:46 +00:00
SkColor.h SkBitmap::ComputeIsOpaque and SkBitmap::eraseColor support F16 2016-12-07 20:43:26 +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 Expose SkColorSpaceTransferFn inversion function 2017-03-14 15:57:03 +00:00
SkColorSpaceXform.h Reland "Respect full precision for RGB16 PNGs" (part 2) 2017-01-19 22:08:52 +00:00
SkColorSpaceXformCanvas.h Add SK_API to SkCreateColorSpaceXformCanvas 2017-03-16 13:35:49 +00:00
SkColorTable.h Ensure that SkColorTable->fCount is set properly after decodes 2016-05-17 08:52:11 -07: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 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
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 Remove use of SkSmallAllocator from all Loopers. 2017-02-08 21:08:02 +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::colorSpace() and SkImage::refColorSpace() 2017-03-04 20:24:02 +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 Add ImageToColorSpace helper in SkImageFilter 2016-12-29 18:35:44 +00:00
SkImageGenerator.h Switch SkImageGenerator over to generating GrTextureProxies 2017-03-03 17:40:52 +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 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 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
SkOSFile.h Fix SkFILEStream. 2017-03-10 19:58:46 +00:00
SkPaint.h Revert "Revert "Revert[2] "hide deprecated underline and strikethru""" 2017-02-23 14:19:40 +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 Update endRecordingAsPicture to finishRecordingAsPicture 2017-02-22 19:55:27 +00:00
SkPixelRef.h Remove (unused) YUV API from SkPixelRef 2017-01-13 20:40:11 +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 optimize intersect, use getType to utilize fast-case in preTranslate 2017-03-07 20:51:34 +00:00
SkRefCnt.h Remove sk_ref_sp's misleading preprocessor define and comment 2016-12-21 15:36:13 +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 stop using SkScalarMul 2017-02-14 19:45:24 +00:00
SkShader.h Revert "More non-invertible shader local matrix guards" 2017-02-11 01:19:47 +00:00
SkSize.h re-guard against negative dimensions on no-draw canvas 2017-03-10 16:29:32 +00:00
SkStream.h SkDynamicMemoryWStream::detachAsStream() returns unique_ptr 2017-03-15 19:25:45 +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 Revert "Revert "Revert "Remove budgeted parameter from SkSurface::makeImageSnapshot""" 2017-03-17 20:50:19 +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 Revert "Remove SkDraw from device-draw methods, and enable device-centric clipping." 2017-03-02 20:22:48 +00:00
SkUnPreMultiply.h Factor out UnPreMultiplyPreservingByteOrder 2014-01-15 22:24:58 +00:00
SkVertices.h Revert[4] "store vertices arrays inline with object"""" 2017-03-16 19:17:11 +00:00
SkWriteBuffer.h Remove SkAutoTUnref and SkAutoTDelete from public includes. 2016-10-27 09:30:08 -07: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