skia2/tests
caryclark 61c21cdcc3 tight bounds optimization
Add support for tight bounds to detect and return moveTo
followed by close or zero-length lineTo.

Also short circuit so that hard work is avoided when
the path bounds is also the tight bounds.

Avoid doing work if the bounds can be trivially computed.
Include naked moveTo coordinates in the tight bounds.

R=fmalita@chromium.org
BUG=skia:5555, skia:5553
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2394443004

Review-Url: https://codereview.chromium.org/2394443004
2016-10-05 13:23:00 -07:00
..
AAClipTest.cpp Move clip CTM application to SkRasterClip and SkClipStack 2016-10-03 19:32:07 +00:00
AnnotationTest.cpp document.close from bool to void 2016-09-22 14:12:47 -07:00
ApplyGammaTest.cpp Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 20:20:14 +00:00
AsADashTest.cpp
BadIcoTest.cpp
BitmapCopyTest.cpp
BitmapGetColorTest.cpp
BitmapTest.cpp
BitSetTest.cpp
BlendTest.cpp
BlitMaskClip.cpp
BlitRowTest.cpp
BlurTest.cpp
CachedDataTest.cpp
CachedDecodingPixelRefTest.cpp
CanvasStateHelpers.cpp use SkCanvas::ClipOp 2016-09-23 15:17:31 +00:00
CanvasStateHelpers.h
CanvasStateTest.cpp
CanvasTest.cpp document.close from bool to void 2016-09-22 14:12:47 -07:00
ChecksumTest.cpp
ClampRangeTest.cpp
ClearTest.cpp
ClipBoundsTest.cpp Move clip CTM application to SkRasterClip and SkClipStack 2016-10-03 19:32:07 +00:00
ClipCubicTest.cpp
ClipperTest.cpp
ClipStackTest.cpp Move clip CTM application to SkRasterClip and SkClipStack 2016-10-03 19:32:07 +00:00
CodecPartialTest.cpp
CodecPriv.h
CodecTest.cpp
ColorFilterTest.cpp
ColorMatrixTest.cpp
ColorPrivTest.cpp
ColorSpaceTest.cpp Move toXYZD50() to SkColorSpace_Base 2016-09-28 11:15:27 -07:00
ColorSpaceXformTest.cpp Fixed invalid memory access issue in SkColorSpaceXform::apply() 2016-09-29 18:59:53 +00:00
ColorTest.cpp
CopySurfaceTest.cpp
CPlusPlusEleven.cpp
CTest.cpp
DashPathEffectTest.cpp
DataRefTest.cpp
DequeTest.cpp
DeviceLooperTest.cpp
DeviceTest.cpp
DFPathRendererTest.cpp
DiscardableMemoryPoolTest.cpp
DiscardableMemoryTest.cpp
DrawBitmapRectTest.cpp
DrawFilterTest.cpp
DrawPathTest.cpp
DrawTextTest.cpp
DynamicHashTest.cpp
EGLImageTest.cpp
EmptyPathTest.cpp
ErrorTest.cpp
ExifTest.cpp
FillPathTest.cpp
FitsInTest.cpp
FlattenableCustomFactory.cpp
FlattenableFactoryToName.cpp
FlattenDrawableTest.cpp
Float16Test.cpp
FloatingPointTextureTest.cpp
FontHostStreamTest.cpp
FontHostTest.cpp
FontMgrAndroidParserTest.cpp
FontMgrTest.cpp Remove stray semicolons. 2016-09-27 14:04:26 +00:00
FontNamesTest.cpp
FontObjTest.cpp
FrontBufferedStreamTest.cpp
GeometryTest.cpp
GifTest.cpp
GLProgramsTest.cpp
GpuColorFilterTest.cpp
GpuDrawPathTest.cpp Don't compute path keys for volatile paths in GrShape. 2016-09-23 12:09:16 -07:00
GpuLayerCacheTest.cpp
GpuRectanizerTest.cpp
GpuSampleLocationsTest.cpp
GradientTest.cpp
GrAllocatorTest.cpp
GrContextAbandonTest.cpp
GrContextFactoryTest.cpp
GrDrawTargetTest.cpp
GrGetCoeffBlendKnownComponentsTest.cpp
GrGLSLPrettyPrintTest.cpp
GrMemoryPoolTest.cpp Remove stray semicolons. 2016-09-27 14:04:26 +00:00
GrPorterDuffTest.cpp Remove stray semicolons. 2016-09-27 14:04:26 +00:00
GrShapeTest.cpp Remove stray semicolons. 2016-09-27 14:04:26 +00:00
GrSurfaceTest.cpp
GrTextureMipMapInvalidationTest.cpp
GrTextureStripAtlasTest.cpp
GrTRecorderTest.cpp
HashTest.cpp
image-bitmap.cpp
ImageCacheTest.cpp
ImageFilterCacheTest.cpp
ImageFilterTest.cpp Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 20:20:14 +00:00
ImageFrom565Bitmap.cpp
ImageGeneratorTest.cpp
ImageIsOpaqueTest.cpp
ImageNewShaderTest.cpp
ImageTest.cpp Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 20:20:14 +00:00
IndexedPngOverflowTest.cpp
InfRectTest.cpp
InterpolatorTest.cpp
InvalidIndexedPngTest.cpp
IsClosedSingleContourTest.cpp
LayerDrawLooperTest.cpp Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 20:20:14 +00:00
LayerRasterizerTest.cpp Remove stray semicolons. 2016-09-27 14:04:26 +00:00
LListTest.cpp
MallocPixelRefTest.cpp
MaskCacheTest.cpp
MathTest.cpp Revert of My take on SkAlign changes. (patchset #3 id:40001 of https://codereview.chromium.org/2368293002/ ) 2016-09-26 18:20:57 -07:00
Matrix44Test.cpp
MatrixClipCollapseTest.cpp
MatrixTest.cpp
MD5Test.cpp
MemoryTest.cpp
MemsetTest.cpp
MessageBusTest.cpp
MetaDataTest.cpp
MipMapTest.cpp
OnceTest.cpp
OSPathTest.cpp
OverAlignedTest.cpp OverAlignedTest: use sk_ malloc and free. 2016-09-27 16:12:13 +00:00
PackBitsTest.cpp
PackedConfigsTextureTest.cpp
PaintBreakTextTest.cpp
PaintImageFilterTest.cpp
PaintTest.cpp Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 20:20:14 +00:00
ParsePathTest.cpp
PathCoverageTest.cpp
PathMeasureTest.cpp
PathOpsAngleIdeas.cpp
PathOpsAngleTest.cpp
PathOpsBattles.cpp
PathOpsBoundsTest.cpp
PathOpsBuilderConicTest.cpp
PathOpsBuilderTest.cpp
PathOpsBuildUseTest.cpp
PathOpsConicIntersectionTest.cpp allow conic chop to fail 2016-09-26 11:03:54 -07:00
PathOpsConicLineIntersectionTest.cpp split tight quads and conics 2016-09-23 05:47:20 -07:00
PathOpsConicQuadIntersectionTest.cpp fix tiger b 2016-09-26 05:36:58 -07:00
PathOpsCubicConicIntersectionTest.cpp
PathOpsCubicIntersectionTest.cpp fix tiger b 2016-09-26 05:36:58 -07:00
PathOpsCubicIntersectionTestData.cpp
PathOpsCubicIntersectionTestData.h
PathOpsCubicLineIntersectionIdeas.cpp
PathOpsCubicLineIntersectionTest.cpp
PathOpsCubicQuadIntersectionTest.cpp
PathOpsCubicReduceOrderTest.cpp
PathOpsDCubicTest.cpp
PathOpsDebug.cpp coin debugging runs all tests in extended 2016-10-04 14:26:00 +00:00
PathOpsDLineTest.cpp
PathOpsDPointTest.cpp
PathOpsDRectTest.cpp
PathOpsDVectorTest.cpp
PathOpsExtendedTest.cpp
PathOpsExtendedTest.h
PathOpsFuzz763Test.cpp
PathOpsInverseTest.cpp
PathOpsIssue3651.cpp
PathOpsLineIntersectionTest.cpp
PathOpsLineParametetersTest.cpp
PathOpsOpCircleThreadedTest.cpp
PathOpsOpCubicThreadedTest.cpp
PathOpsOpLoopThreadedTest.cpp
PathOpsOpRectThreadedTest.cpp
PathOpsOpTest.cpp validate using nx to match bounds 2016-10-05 12:16:52 -07:00
PathOpsQuadIntersectionTest.cpp split tight quads and conics 2016-09-23 05:47:20 -07:00
PathOpsQuadIntersectionTestData.cpp
PathOpsQuadIntersectionTestData.h
PathOpsQuadLineIntersectionTest.cpp
PathOpsQuadLineIntersectionThreadedTest.cpp
PathOpsQuadReduceOrderTest.cpp
PathOpsSimplifyDegenerateThreadedTest.cpp
PathOpsSimplifyFailTest.cpp fix cubic linear test 2016-09-28 09:22:17 -07:00
PathOpsSimplifyQuadralateralsThreadedTest.cpp
PathOpsSimplifyQuadThreadedTest.cpp
PathOpsSimplifyRectThreadedTest.cpp
PathOpsSimplifyTest.cpp run dean4 test everywhere 2016-10-04 19:26:28 +00:00
PathOpsSimplifyTrianglesThreadedTest.cpp
PathOpsSkpClipTest.cpp
PathOpsSkpTest.cpp
PathOpsTestCommon.cpp
PathOpsTestCommon.h
PathOpsThreadedCommon.cpp
PathOpsThreadedCommon.h
PathOpsThreeWayTest.cpp split tight quads and conics 2016-09-23 05:47:20 -07:00
PathOpsTigerTest.cpp add tiger tests 2016-09-26 10:25:26 -07:00
PathOpsTightBoundsTest.cpp tight bounds optimization 2016-10-05 13:23:00 -07:00
PathOpsTSectDebug.h fix tiger b 2016-09-26 05:36:58 -07:00
PathOpsTypesTest.cpp
PathTest.cpp
PDFDeflateWStreamTest.cpp
PDFDocumentTest.cpp
PDFGlyphsToUnicodeTest.cpp
PDFInvalidBitmapTest.cpp
PDFJpegEmbedTest.cpp
PDFMetadataAttributeTest.cpp
PDFOpaqueSrcModeToSrcOverTest.cpp Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 20:20:14 +00:00
PDFPrimitivesTest.cpp
PictureBBHTest.cpp
PictureShaderTest.cpp
PictureTest.cpp isABitmap is deprecated, use isAImage 2016-09-28 21:42:04 +00:00
PipeTest.cpp
PixelRefTest.cpp
Point3Test.cpp
PointTest.cpp
PremulAlphaRoundTripTest.cpp
PrimitiveProcessorTest.cpp Remove stray semicolons. 2016-09-27 14:04:26 +00:00
ProxyTest.cpp
QuickRejectTest.cpp Remove stray semicolons. 2016-09-27 14:04:26 +00:00
RandomTest.cpp
Reader32Test.cpp
ReadPixelsTest.cpp Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 20:20:14 +00:00
ReadWriteAlphaTest.cpp
RecordDrawTest.cpp Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 20:20:14 +00:00
RecorderTest.cpp
RecordingXfermodeTest.cpp Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 20:20:14 +00:00
RecordOptsTest.cpp Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 20:20:14 +00:00
RecordPatternTest.cpp
RecordTest.cpp
RecordTestUtils.h
RectangleTextureTest.cpp
RectTest.cpp
RefCntTest.cpp Remove stray semicolons. 2016-09-27 14:04:26 +00:00
RefDictTest.cpp
RegionTest.cpp
ResourceCacheTest.cpp Change implementation of flush-count based GrGpuResource purging 2016-09-22 12:42:11 -07:00
RoundRectTest.cpp
RRectInPathTest.cpp
RTreeTest.cpp
ScalarTest.cpp
ScaleToSidesTest.cpp
SerializationTest.cpp Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 20:20:14 +00:00
ShaderOpacityTest.cpp
ShaderTest.cpp isABitmap is deprecated, use isAImage 2016-09-28 21:42:04 +00:00
SizeTest.cpp
Sk4x4fTest.cpp
SkBase64Test.cpp
SkBlend_optsTest.cpp
skbug5221.cpp
SkColor4fTest.cpp
SkDOMTest.cpp
skia_test.cpp fix initialization order 2016-10-04 15:00:10 +00:00
SkImageTest.cpp
SkLinearBitmapPipelineTest.cpp
SkLiteDLTest.cpp
SkNxTest.cpp
SkPEGTest.cpp
SkpSkGrTest.cpp
SkRasterPipelineTest.cpp Make test lower-level, make const_cast more visible. 2016-10-05 16:52:58 +00:00
SkResourceCacheTest.cpp
SkSharedMutexTest.cpp
SkSLErrorTest.cpp Revert of Turned on SkSL->GLSL compiler (patchset #41 id:880001 of https://codereview.chromium.org/2288033003/ ) 2016-09-30 08:05:24 -07:00
SkSLGLSLTest.cpp Revert of Turned on SkSL->GLSL compiler (patchset #41 id:880001 of https://codereview.chromium.org/2288033003/ ) 2016-09-30 08:05:24 -07:00
SmallAllocatorTest.cpp
SortTest.cpp
SpecialImageTest.cpp Change SkSpecialImage::makeSurface and makeTightSurface to take output 2016-09-23 13:04:05 -07:00
SpecialSurfaceTest.cpp
SrcOverTest.cpp
SRGBMipMapTest.cpp
SRGBReadWritePixelsTest.cpp
SRGBTest.cpp
StreamTest.cpp
StringTest.cpp
StrokerTest.cpp
StrokeTest.cpp
SubsetPath.cpp
SubsetPath.h
SurfaceTest.cpp Move toXYZD50() to SkColorSpace_Base 2016-09-28 11:15:27 -07:00
SVGDeviceTest.cpp
SwizzlerTest.cpp
TArrayTest.cpp
TDPQueueTest.cpp
TemplatesTest.cpp
TessellatingPathRendererTests.cpp
Test.cpp
Test.h coin debugging runs all tests in extended 2016-10-04 14:26:00 +00:00
TestConfigParsing.cpp Revert of Explicit control in tools of ANGLE frontend and backend (patchset #6 id:90001 of https://codereview.chromium.org/2381033002/ ) 2016-09-29 10:07:22 -07:00
TestTest.cpp
TextBlobCacheTest.cpp
TextBlobTest.cpp
TextureCompressionTest.cpp
Time.cpp
TLSTest.cpp
TopoSortTest.cpp
TraceMemoryDumpTest.cpp
TracingTest.cpp
TypefaceTest.cpp Remove stray semicolons. 2016-09-27 14:04:26 +00:00
UnicodeTest.cpp
UtilsTest.cpp
VarAllocTest.cpp
VkClearTests.cpp
VkHeapTests.cpp Some Vulkan memory fixes and cleanup 2016-09-23 10:30:04 -07:00
VkUploadPixelsTests.cpp
VkWrapTests.cpp
WindowRectanglesTest.cpp
WritePixelsTest.cpp Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 20:20:14 +00:00
Writer32Test.cpp
XfermodeTest.cpp
YUVCacheTest.cpp
YUVTest.cpp