skia2/include/core
Mike Reed c25f440d53 Reland "add getAlphaf() to pixmap/bitmap"
This is a reland of f3ebd312f2

PS 2: use faster half->float routine
PS 3: relax tolerance to 2^-10 for half, keeping others 2^-12

Original change's description:
> add getAlphaf() to pixmap/bitmap
>
> Convenient for just extracting alpha (and more efficient than getColor()) and
> works for super-normal formats w/o loss of precision.
>
> Somewhat inspired by examining multiple chrome call-sites for getColor(), where
> chrome only really cared about the alpha. This new method runs about twice
> as fast as getColor() for the simple cases (i.e. no colorspace xforms), and
> even faster in the complex cases (since retrieving alpha doesn't care about
> colorspaces).
>
> Bug: skia:
> Change-Id: I7cd5a2c7f78de781aaa69dd1aa0dba3c532fcb73
> Reviewed-on: https://skia-review.googlesource.com/155606
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

Cq-Include-Trybots: skia.primary:Test-Android-Clang-Nexus7-CPU-Tegra3-arm-Debug-All-Android,Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-SK_CPU_LIMIT_SSE2,Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All,Test-Win2016-MSVC-GCE-CPU-AVX2-x86_64-Release-All,Test-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All
Bug: skia:
Change-Id: Ie94e5c89e185fde12cbd6c56ed4026c4dc5a1623
Reviewed-on: https://skia-review.googlesource.com/156242
Commit-Queue: Ravi Mistry <rmistry@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-21 17:41:03 +00:00
..
SkAnnotation.h
SkBBHFactory.h
SkBitmap.h Reland "add getAlphaf() to pixmap/bitmap" 2018-09-21 17:41:03 +00:00
SkBlendMode.h refresh generated includes 2018-07-13 14:23:24 +00:00
SkBlurTypes.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkCanvas.h fix 100 column violators in generated includes 2018-09-13 16:00:54 +00:00
SkCanvasVirtualEnforcer.h don't support virtual onDrawTextOnPath 2018-08-28 16:54:18 +00:00
SkClipOp.h
SkColor.h Work toward removing SkPM4f 2018-09-21 15:44:51 +00:00
SkColorFilter.h Add color space to SkColorFilter::filterColor4f 2018-08-01 20:45:50 +00:00
SkColorPriv.h Revert "Revert "SkTypes: extract SkTo"" 2018-06-14 14:55:17 +00:00
SkColorSpace.h more skcolorspace cleanup 2018-09-05 14:39:31 +00:00
SkColorSpaceXform.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkColorSpaceXformCanvas.h
SkCoverageMode.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkData.h More workarounds on Windows Debug DLL crash. 2018-07-09 17:20:17 +00:00
SkDataTable.h
SkDeferredDisplayListRecorder.h Add DoneProc to Promise Images 2018-03-16 19:27:46 +00:00
SkDeque.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkDocument.h SkDocument: Factories now located in SkPDFDocument.h and SkXPSDocument.h 2018-09-20 18:21:07 +00:00
SkDrawable.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkDrawLooper.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkEncodedImageFormat.h GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
SkExecutor.h
SkFilterQuality.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkFlattenable.h Restore SkLightingShader and associated classes 2018-07-17 17:24:50 +00:00
SkFont.h Remove SkPaint::Flags::kDevKernFlag. 2018-05-09 21:27:11 +00:00
SkFontArguments.h Add SkTypeface::getVariationDesignParameters 2018-07-12 17:30:20 +00:00
SkFontLCDConfig.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkFontMgr.h SkFontMgr::matchFamilyStyle can return nullptr. 2018-08-16 22:49:52 +00:00
SkFontParameters.h Add SkTypeface::getVariationDesignParameters 2018-07-12 17:30:20 +00:00
SkFontStyle.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkGraphics.h Remove TLS glyph cache calls. 2018-03-09 19:32:22 +00:00
SkICC.h IWYU: three files 2018-09-19 14:21:55 +00:00
SkImage.h fix bookmaker 2018-09-18 11:58:35 +00:00
SkImageEncoder.h centralize encoding to SkData 2017-12-09 01:36:48 +00:00
SkImageFilter.h Add color type to the image filter DAG's OutputProperties 2018-07-06 18:34:58 +00:00
SkImageGenerator.h Remove obsolete kIndex_8_SkColorType reference 2018-09-04 14:55:48 +00:00
SkImageInfo.h refresh generated includes 2018-07-13 14:23:24 +00:00
SkLights.h Restore SkLightingShader and associated classes 2018-07-17 17:24:50 +00:00
SkMallocPixelRef.h Clean up includes in SkMallocPixelRef 2018-06-26 16:47:39 +00:00
SkMaskFilter.h Remove occluder parameter from SkMaskFilter::MakeBlur factory 2018-08-22 15:59:29 +00:00
SkMath.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkMatrix44.h SkColorSpace cleanup 2018-09-04 15:48:02 +00:00
SkMatrix.h update generated includes 2018-09-13 19:03:00 +00:00
SkMetaData.h
SkMilestone.h Update Skia milestone to 71 2018-08-30 18:02:33 +00:00
SkMultiPictureDraw.h
SkOverdrawCanvas.h don't support virtual onDrawTextOnPath 2018-08-28 16:54:18 +00:00
SkPaint.h Reland "Switch SkPaint's color to SkColor4f" 2018-09-05 14:16:33 +00:00
SkPath.h include: whitespace changes for clang-format 2018-09-19 14:54:57 +00:00
SkPathEffect.h move patheffect virtuals to protected and rename 2018-08-16 17:47:22 +00:00
SkPathMeasure.h abort really big path fuzzing 2018-06-21 16:42:37 +00:00
SkPicture.h Reland "Switch SkPaint's color to SkColor4f" 2018-09-05 14:16:33 +00:00
SkPictureRecorder.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkPixelRef.h include: whitespace changes for clang-format 2018-09-19 14:54:57 +00:00
SkPixmap.h Reland "add getAlphaf() to pixmap/bitmap" 2018-09-21 17:41:03 +00:00
SkPngChunkReader.h
SkPoint3.h Simplify perspective shadows to match future MD specs. 2018-08-31 18:15:19 +00:00
SkPoint.h update generated includes 2018-09-13 19:03:00 +00:00
SkPostConfig.h trim #include <new> from SkPostConfig.h 2018-06-11 15:55:31 +00:00
SkPreConfig.h update SkPreConfig a little 2018-08-31 15:09:19 +00:00
SkRasterHandleAllocator.h
SkRect.h update generated includes 2018-09-13 19:03:00 +00:00
SkRefCnt.h Remove SkRefCnt_SafeAssign. 2018-07-12 23:42:44 +00:00
SkRegion.h fix empty region iter rect 2018-08-28 15:21:25 +00:00
SkRRect.h refresh generated includes 2018-08-10 17:55:28 +00:00
SkRSXform.h
SkRWBuffer.h
SkScalar.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkSerialProcs.h Change behavior of custom image serial/deserial 2018-03-08 21:50:51 +00:00
SkShader.h clean up includes 2018-08-06 14:49:46 +00:00
SkSize.h
SkStream.h Revert "SkStream: remove some WStream functions from public api" 2018-09-06 12:22:41 +00:00
SkString.h Revert "SkStream: remove some WStream functions from public api" 2018-09-06 12:22:41 +00:00
SkStrokeRec.h Reland "ccpr: Implement stroking with fine triangle strips" 2018-09-03 10:16:28 +00:00
SkSurface.h update generated includes 2018-09-13 19:03:00 +00:00
SkSurfaceCharacterization.h Add GrContextThreadSafeProxy and remove most friends of GrContextThreadSafeProxy 2018-05-10 19:14:16 +00:00
SkSurfaceProps.h Flesh out SkSurfaceCharacterization 2017-11-30 17:10:38 +00:00
SkSwizzle.h
SkTextBlob.h include: whitespace changes for clang-format 2018-09-19 14:54:57 +00:00
SkTime.h SkMacros split from SkTypes.h 2018-06-12 18:39:33 +00:00
SkTLazy.h remove SkTCast 2018-06-18 17:22:18 +00:00
SkTraceMemoryDump.h Dump additional details about the gpu resources. 2018-03-29 18:08:15 +00:00
SkTypeface.h Reland "remove SK_SUPPORT_LEGACY_TYPEFACE_MAKEFROMSTREAM" 2018-09-13 15:19:09 +00:00
SkTypes.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkUnPreMultiply.h
SkVertices.h added optimizations to speed up skinning 2018-08-15 15:52:29 +00:00
SkYUVSizeInfo.h alternative no anonymous enums 2018-04-26 17:11:53 +00:00