skia2/include/core
mtklein 5aeb2fa253 Revert of Optimized implementation of quickReject() (patchset #12 id:260001 of https://codereview.chromium.org/2225393002/ )
Reason for revert:
New assert triggering in the Chrome roll,
https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/208750/steps/webkit_unit_tests%20%28with%20patch%29%20on%20Ubuntu-12.04/logs/FrameThrottlingTest.SynchronousLayoutInAnimationFrameCallback

and breaks the SKNX_NO_SIMD bot,
https://codereview.chromium.org/2236363004

Original issue's description:
> Optimized implementation of quickReject()
>
> Impl Overview
> (1) Keep the device clip bounds up to date.  This
>     requires minimal additional work in a few places
>     throughout canvas.
> (2) Keep track of if the ctm isScaleTranslate.  Yes,
>     there's a function that does this, but it's slow
>     to call.
> (3) Perform the src->device transform in quick reject,
>     then check intersection/nan.
>
> Other Notes:
> (1) NaN and intersection checks are performed
>     simultaneously.
> (2) We no longer quick reject infinity.
> (3) Affine and perspective are both handled in the slow
>     case.
> (4) SkRasterClip::isEmpty() is handled by the intersection
>     check.
>
> Performance on Nexus 6P:
> 93.2ms -> 59.8ms
>
> Overall Android Jank Tests Performance Impact:
> Should gain us a ms or two on some tests.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225393002
>
> Committed: https://skia.googlesource.com/skia/+/d22a817ff57986407facd16af36320fc86ce02da

TBR=reed@google.com,herb@google.com,msarett@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2231393003
2016-08-12 02:22:33 -07:00
..
SkAnnotation.h remove unneeded flag for annotations 2016-03-05 06:00:12 -08:00
SkBBHFactory.h Revert of Add non-inline SkRTreeFactory constructor to fix clang-cl (patchset #2 id:20001 of https://codereview.chromium.org/1676833002/ ) 2016-02-26 16:31:12 -08:00
SkBitmap.h remove/deprecate SkBitmap::getTexture, as it now always returns false 2016-07-25 08:29:10 -07:00
SkBitmapDevice.h remove fClipStack and attach/deattach-from-canvas 2016-07-25 08:05:23 -07:00
SkBlitRow.h Port SkBlitRow::Color32 to SkOpts. 2015-09-10 10:38:02 -07:00
SkBlurTypes.h move common blur types into central header 2014-04-28 16:25:35 +00:00
SkCanvas.h Revert of Optimized implementation of quickReject() (patchset #12 id:260001 of https://codereview.chromium.org/2225393002/ ) 2016-08-12 02:22:33 -07:00
SkChunkAlloc.h MIPS32r2: Fix Chromium runtime crash 2016-06-05 13:14:21 -07:00
SkClipStack.h Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER. 2016-04-29 06:41:35 -07:00
SkColor.h Change SkColor4f to RGBA channel order 2016-06-24 06:31:47 -07:00
SkColorFilter.h Add SkRasterPipeline blitter. 2016-07-22 11:05:04 -07:00
SkColorPriv.h SkBlendARGB32 and S32[A]_Blend_BlitRow32 are currently formulated as: SkAlphaMulQ(src, src_scale) + SkAlphaMulQ(dst, dst_scale), which boils down to ((src*src_scale)>>8) + ((dst*dst_scale)>>8). In particular, note that the intermediate precision is discarded before the two parts are added together, causing the final result to possibly inaccurate. 2016-08-05 11:48:45 -07:00
SkColorSpace.h Add SkColorSpace::Equals() API 2016-08-01 09:43:08 -07:00
SkColorTable.h Ensure that SkColorTable->fCount is set properly after decodes 2016-05-17 08:52:11 -07:00
SkData.h Use SkNVRefCnt for a couple common types. 2016-08-09 12:20:04 -07:00
SkDataTable.h Move to SkDataTable::MakeXXX and sk_sp. 2016-08-05 06:51:50 -07: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
SkDevice.h Add drawImageLattice() and drawBitmapLattice() APIs 2016-08-02 08:05:56 -07:00
SkDocument.h SkPDF: allow overriding Producer metadata 2016-06-30 08:22:04 -07:00
SkDraw.h SkPixmap::setColorSpace 2016-06-09 11:03:45 -07:00
SkDrawable.h Make SkDrawable an SkFlattenable 2016-04-25 06:40:26 -07:00
SkDrawFilter.h SkPaintFilterCanvas cleanup 2016-01-12 12:14:10 -08:00
SkDrawLooper.h Revert of Delete SkFlattenable::Type (patchset #2 id:20001 of https://codereview.chromium.org/1834303003/ ) 2016-04-04 14:57:19 -07:00
SkError.h Sanitizing source files in Housekeeper-Nightly 2013-09-05 07:01:19 +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 Revert of Delete SkFlattenable::Type (part 1) (patchset #1 id:1 of https://codereview.chromium.org/1861013002/ ) 2016-04-05 12:00:49 -07:00
SkFont.h typedef uint16_t SkGlyphID 2016-07-25 07:18:12 -07: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 add SkGraphics::PurageAllCaches 2016-02-22 06:19:54 -08:00
SkImage.h Revert of Store mipmap levels in deferred texture image (patchset #11 id:200001 of https://codereview.chromium.org/2115023002/ ) 2016-08-09 17:46:25 -07:00
SkImageDeserializer.h Deserialize pictures with custom image-deserializer 2016-08-11 03:55:15 -07:00
SkImageEncoder.h Delete SkARGBImageEncoder. 2016-08-02 12:57:33 -07:00
SkImageFilter.h Adding color space to SkSpecialImage 2016-07-21 07:15:37 -07:00
SkImageGenerator.h Enable generating SkImage with the same uniqueID in SkImageGenerator subclass 2016-05-02 01:43:38 -07:00
SkImageInfo.h Add SkColorSpace::Equals() API 2016-08-01 09:43:08 -07:00
SkLights.h Fix dtor bug in SkLights 2016-08-03 09:40:39 -07: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 Implement GPU occluded blur mask filter 2016-08-10 16:25:25 -07:00
SkMath.h SkLeanWindows.h: #include "Windows.h" fewer places 2016-06-07 17:21:10 -07:00
SkMatrix44.h SkMatrix44 clarifications and clean-ups 2016-06-23 12:42:29 -07:00
SkMatrix.h Revert of Change mapRectScaleTranslate to pass args/ret by value (patchset #2 id:20001 of https://codereview.chromium.org/2138943002/ ) 2016-08-10 07:13:21 -07:00
SkMetaData.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkMilestone.h Update skia milestone to next 2016-06-30 07:31:09 -07:00
SkMultiPictureDraw.h Move SkTDArray to private. 2016-02-18 08:53:33 -08:00
SkOSFile.h add fsync to try to get complete skps from webpage picture capture 2015-12-16 13:41:23 -08:00
SkPaint.h SkPaint intercept API for SkTextBlob and horizontal text 2016-07-28 09:47:24 -07:00
SkPath.h Avoid warnings on GCC 4.8.4 2016-07-26 14:10:17 -07:00
SkPathEffect.h Add constructor to DashInfo to enable initializer lists 2016-08-10 16:36:11 -07:00
SkPathMeasure.h Move seg_to to a new header, define SkSegType enum there 2016-08-09 09:38:30 -07:00
SkPathRef.h Use SkNVRefCnt for a couple common types. 2016-08-09 12:20:04 -07:00
SkPicture.h Deserialize pictures with custom image-deserializer 2016-08-11 03:55:15 -07:00
SkPictureAnalyzer.h SkPictureAnalyzer: expose the number of slow GPU commands. 2016-06-09 12:43:30 -07:00
SkPictureRecorder.h Sketch SkPictureRecorder::optimizeFor(GrContext*). 2016-08-01 13:17:47 -07:00
SkPixelRef.h remove/deprecate SkBitmap::getTexture, as it now always returns false 2016-07-25 08:29:10 -07:00
SkPixelSerializer.h SkPixelSerializer: remove deprecated virtual 2015-12-10 09:30:57 -08:00
SkPixmap.h SkPixmap::setColorSpace 2016-06-09 11:03:45 -07: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 Revert of Optimized implementation of quickReject() (patchset #12 id:260001 of https://codereview.chromium.org/2225393002/ ) 2016-08-12 02:22:33 -07:00
SkPreConfig.h Enable SK_DEBUG/SK_RELEASE to be defined in the user config. 2016-08-05 13:04:41 -07: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 In GrShape detect that stroked axis-aligned lines are rrects. 2016-07-18 07:31:13 -07:00
SkRefCnt.h SkLite* 2016-08-06 12:51:51 -07:00
SkRegion.h inline very common intersect+rect_rgn 2016-06-30 07:47:34 -07:00
SkRRect.h Make GrShape track the winding direction and starting point for rrect types. 2016-06-06 14:01:25 -07:00
SkRSXform.h add helper to create RSXform w/ anchorPt 2015-07-30 05:46:05 -07:00
SkRWBuffer.h Fixes for SkRWBuffer 2016-04-22 06:59:01 -07:00
SkScalar.h Swap SkGpuBlurUtils over to using SkIRects 2016-05-13 05:06:19 -07:00
SkShader.h Always return ImageShader, even from SkShader::MakeBitmapShader 2016-08-02 06:12:06 -07:00
SkSize.h deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients 2013-12-17 19:22:07 +00:00
SkStream.h SkWStream::writeText inlined. 2016-04-11 19:41:48 -07: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 Remove SkSurface::MakeRenderTargetDirect 2016-08-04 08:45:02 -07:00
SkSurfaceProps.h Remove SkSurfaceProps gamma-correctness flag entirely. 2016-07-26 11:36:05 -07:00
SkSwizzle.h Add missing SK_API to SkSwizzle.h 2016-03-24 07:50:14 -07:00
SkTextBlob.h update textblob api to use sk_sp 2016-08-10 14:16:41 -07: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 Add a SkTLazy copy assignment operator 2016-08-10 16:30:37 -07:00
SkTraceMemoryDump.h Add support for light dumps in SkTraceMemoryDump interface. 2015-09-30 04:31:23 -07:00
SkTRegistry.h Rewrite SkTRegistry to take any trivially-copyable type. 2013-09-04 17:20:18 +00:00
SkTypeface.h SkPDF: SkPDFFont organization changes. 2016-08-09 13:04:34 -07:00
SkTypes.h Fix SkDEBUGCODE to accept commas 2016-08-10 10:07:58 -07:00
SkUnPreMultiply.h Factor out UnPreMultiplyPreservingByteOrder 2014-01-15 22:24:58 +00:00
SkWriteBuffer.h Prototype code that turns any/every flattenable into JSON 2016-05-04 11:06:28 -07:00
SkWriter32.h Remove SkWriter32::contiguousArray(). 2016-04-29 14:45:36 -07:00
SkXfermode.h Add SkRasterPipeline blitter. 2016-07-22 11:05:04 -07:00
SkYUVSizeInfo.h Update Skia's YUV API 2016-03-10 05:44:43 -08:00