skia2/tests
Chris Dalton 68b8bd5ba7 Add GrTriangulator::TriangulateInnerPolygons
Unlike TriangulateSimpleInnerPolygons, this new method *always*
succeeds. It works by introducing a concept of "breadcrumb" triangles.
The breadcrumb triangles serve as a glue that erases T-junctions
between the outer curves and inner polygon triangulation.

This CL also introduces a test to verify the breadcrumb triangles
actually guarantee to eliminate T-junctions. It works by cancelling
out shared edges in the combined breadcrumb triangles and inner
triangulation, and then verifying that the resulting edge list is
bit-for-bit identical to the outer edges from the original polygon(s).

Bug: skia:10419
Change-Id: Iea8ee2ca3701697246309dceb90e63279aabdfe4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/353536
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-01-14 23:22:52 +00:00
..
sksl Enforce (valid) array sizes in many more places 2021-01-14 22:14:59 +00:00
AAClipTest.cpp
AdvancedBlendTest.cpp
AndroidCodecTest.cpp SkAnimatedImage: Always respect exif orientation 2020-12-21 16:39:12 +00:00
AnimatedImageTest.cpp SkAnimatedImage: Always respect exif orientation 2020-12-21 16:39:12 +00:00
AnnotationTest.cpp
ApplyGammaTest.cpp
ArenaAllocTest.cpp extract fibonacci allocator block code 2020-12-17 00:01:53 +00:00
AsADashTest.cpp
BackendAllocationTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
BackendSurfaceMutableStateTest.cpp
BadIcoTest.cpp
BitmapCopyTest.cpp
BitmapGetColorTest.cpp
BitmapTest.cpp
BitSetTest.cpp
BlendTest.cpp
BlitMaskClip.cpp
BlurTest.cpp
BRDTest.cpp
BulkRectTest.cpp GrRenderTargetContext->GrSurfaceDrawContext 2020-12-10 18:51:19 +00:00
CachedDataTest.cpp
CachedDecodingPixelRefTest.cpp
CanvasStateHelpers.cpp
CanvasStateHelpers.h
CanvasStateTest.cpp
CanvasTest.cpp Bitmap should use sampling options 2020-12-12 15:36:21 +00:00
ChecksumTest.cpp
ClearTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
ClipBoundsTest.cpp
ClipCubicTest.cpp
ClipperTest.cpp
ClipStackTest.cpp
CodecAnimTest.cpp
CodecExactReadTest.cpp
CodecPartialTest.cpp Have SkWuffsCodec use one Wuffs decoder 2020-12-15 17:42:32 +00:00
CodecPriv.h
CodecRecommendedTypeTest.cpp
CodecTest.cpp
ColorFilterTest.cpp
ColorMatrixTest.cpp
ColorPrivTest.cpp
ColorSpaceTest.cpp
ColorTest.cpp
CompressedBackendAllocationTest.cpp Work on hiding filter-quality 2020-12-23 17:05:17 +00:00
CopySurfaceTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
CTest.cpp
CubicMapTest.cpp
DashPathEffectTest.cpp
DataRefTest.cpp
DebugLayerManagerTest.cpp
DefaultPathRendererTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
DeferredDisplayListTest.cpp GrRenderTargetContext->GrSurfaceDrawContext 2020-12-10 18:51:19 +00:00
DequeTest.cpp
DescriptorTest.cpp
DeviceTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
DiscardableMemoryPoolTest.cpp
DiscardableMemoryTest.cpp
DrawBitmapRectTest.cpp Begin to hide drawBitmap 2021-01-13 19:40:45 +00:00
DrawOpAtlasTest.cpp GrRenderTargetContext->GrSurfaceDrawContext 2020-12-10 18:51:19 +00:00
DrawPathTest.cpp
DrawTextTest.cpp
EGLImageTest.cpp Add GrSurfaceFillContext 2020-12-16 20:48:43 +00:00
EmptyPathTest.cpp
EncodedInfoTest.cpp
EncodeTest.cpp
ExifTest.cpp
ExtendedSkColorTypeTests.cpp
F16StagesTest.cpp
FakeStreams.h
FillPathTest.cpp
FitsInTest.cpp
FlattenableFactoryToName.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
FlattenableNameToFactory.cpp
FlattenDrawableTest.cpp
Float16Test.cpp
FloatingPointTextureTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
FontHostStreamTest.cpp
FontHostTest.cpp
FontMgrAndroidParserTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
FontMgrFontConfigTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
FontMgrTest.cpp Make onCreateScalerContext return unique_ptr. 2020-12-28 17:31:09 +00:00
FontNamesTest.cpp
FontTest.cpp
FrontBufferedStreamTest.cpp
GeometryTest.cpp
GifTest.cpp
GLBackendSurfaceTest.cpp
GlyphRunTest.cpp
GpuDrawPathTest.cpp
GpuRectanizerTest.cpp
GradientTest.cpp Pass samplingoptions to GrArgs 2020-12-28 21:19:21 +00:00
GrAHardwareBufferTest.cpp
GrBlockAllocatorTest.cpp
GrCCPRTest.cpp GrRenderTargetContext->GrSurfaceDrawContext 2020-12-10 18:51:19 +00:00
GrClipStackTest.cpp GrRenderTargetContext->GrSurfaceDrawContext 2020-12-10 18:51:19 +00:00
GrContextAbandonTest.cpp
GrContextFactoryTest.cpp
GrContextOOM.cpp
GrDDLImageTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
GrFinishedFlushTest.cpp
GrGLExtensionsTest.cpp
GrMemoryPoolTest.cpp
GrMeshTest.cpp Fix fragment processors and unit tests which mix ints and floats. 2021-01-14 00:24:45 +00:00
GrMipMappedTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
GrOpListFlushTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
GrPathUtilsTest.cpp
GrPipelineDynamicStateTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
GrPorterDuffTest.cpp
GrQuadBufferTest.cpp
GrQuadCropTest.cpp
GrStyledShapeTest.cpp
GrSubmittedFlushTest.cpp
GrSurfaceTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
GrTBlockListTest.cpp
GrTClusterTest.cpp Add a new implementation of reduceOpsTaskSplitting 2021-01-07 17:20:03 +00:00
GrTextBlobTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
GrTextureMipMapInvalidationTest.cpp
GrThreadSafeCacheTest.cpp Remove public getter for GrSurfaceDrawContext on SkSCanvas. 2020-12-23 16:13:07 +00:00
GrVxTest.cpp
HashTest.cpp Reland "Add support for range-based for loops to SkTHashSet/Map." 2020-12-22 20:53:53 +00:00
HighContrastFilterTest.cpp
HSVRoundTripTest.cpp
ICCTest.cpp
ImageBitmapTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
ImageCacheTest.cpp
ImageFilterCacheTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
ImageFilterTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
ImageFrom565Bitmap.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
ImageGeneratorTest.cpp Remove SkYUVASizeInfo, make SkYUVAIndex a private part of SkYUVAInfo 2021-01-12 15:06:26 +00:00
ImageIsOpaqueTest.cpp
ImageNewShaderTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
ImageTest.cpp Reland "Add new virts, hide old ones" 2020-12-30 15:21:01 +00:00
IncrTopoSortTest.cpp
IndexedPngOverflowTest.cpp
InfRectTest.cpp
InsetConvexPolyTest.cpp
InterpolatorTest.cpp
InvalidIndexedPngTest.cpp
IsClosedSingleContourTest.cpp
JSONTest.cpp
LayerDrawLooperTest.cpp
LazyProxyTest.cpp Remove GrFragmentProcessor::usesExplicitReturn. 2020-12-15 18:06:12 +00:00
LListTest.cpp
LRUCacheTest.cpp
M44Test.cpp
MallocPixelRefTest.cpp
MaskCacheTest.cpp
MathTest.cpp
Matrix44Test.cpp
MatrixClipCollapseTest.cpp
MatrixColorFilterTest.cpp
MatrixTest.cpp
MD5Test.cpp
MemoryTest.cpp
MemsetTest.cpp
MessageBusTest.cpp
MetaDataTest.cpp
MipMapTest.cpp
MtlBackendAllocationTest.mm Use ManagedBackendTexture in backend allocation tests 2020-12-17 02:50:43 +00:00
MtlCopySurfaceTest.mm
MultiPictureDocumentTest.cpp Accept a callback used in MultiPictureDocument::endPage 2021-01-06 16:52:50 +00:00
NdkDecodeTest.cpp
NdkEncodeTest.cpp
NonlinearBlendingTest.cpp
OctoBoundsTest.cpp
OffsetSimplePolyTest.cpp
OnceTest.cpp
OnFlushCallbackTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
OpChainTest.cpp
OSPathTest.cpp
OverAlignedTest.cpp
PackBitsTest.cpp
PaintTest.cpp
ParametricStageTest.cpp
ParseColorTest.cpp
ParsePathTest.cpp
PathBuilderTest.cpp
PathCoverageTest.cpp
PathMeasureTest.cpp
PathOpsAngleIdeas.cpp
PathOpsAngleTest.cpp
PathOpsAsWindingTest.cpp
PathOpsBattles.cpp
PathOpsBoundsTest.cpp
PathOpsBuilderConicTest.cpp
PathOpsBuilderTest.cpp
PathOpsBuildUseTest.cpp
PathOpsChalkboardTest.cpp
PathOpsConicIntersectionTest.cpp
PathOpsConicLineIntersectionTest.cpp
PathOpsConicQuadIntersectionTest.cpp
PathOpsCubicConicIntersectionTest.cpp
PathOpsCubicIntersectionTest.cpp
PathOpsCubicIntersectionTestData.cpp
PathOpsCubicIntersectionTestData.h
PathOpsCubicLineIntersectionIdeas.cpp
PathOpsCubicLineIntersectionTest.cpp
PathOpsCubicQuadIntersectionTest.cpp
PathOpsCubicReduceOrderTest.cpp
PathOpsDCubicTest.cpp
PathOpsDebug.cpp
PathOpsDebug.h
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
PathOpsQuadIntersectionTest.cpp
PathOpsQuadIntersectionTestData.cpp
PathOpsQuadIntersectionTestData.h
PathOpsQuadLineIntersectionTest.cpp
PathOpsQuadLineIntersectionThreadedTest.cpp
PathOpsQuadReduceOrderTest.cpp
PathOpsSimplifyDegenerateThreadedTest.cpp
PathOpsSimplifyFailTest.cpp
PathOpsSimplifyQuadralateralsThreadedTest.cpp
PathOpsSimplifyQuadThreadedTest.cpp
PathOpsSimplifyRectThreadedTest.cpp
PathOpsSimplifyTest.cpp
PathOpsSimplifyTrianglesThreadedTest.cpp
PathOpsSkpTest.cpp
PathOpsTestCommon.cpp
PathOpsTestCommon.h
PathOpsThreadedCommon.cpp
PathOpsThreadedCommon.h
PathOpsThreeWayTest.cpp
PathOpsTigerTest.cpp
PathOpsTightBoundsTest.cpp
PathOpsTSectDebug.h
PathOpsTypesTest.cpp
PathRendererCacheTests.cpp whole-word replace renderTargetContext with surfaceDrawContext 2020-12-11 23:24:40 +00:00
PathTest.cpp
PDFDeflateWStreamTest.cpp
PDFDocumentTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
PDFGlyphsToUnicodeTest.cpp
PDFJpegEmbedTest.cpp
PDFMetadataAttributeTest.cpp
PDFOpaqueSrcModeToSrcOverTest.cpp
PDFPrimitivesTest.cpp
PDFTaggedLinkTest.cpp
PDFTaggedPruningTest.cpp
PDFTaggedTableTest.cpp
PDFTaggedTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
PictureBBHTest.cpp
PictureShaderTest.cpp
PictureTest.cpp
PinnedImageTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
PixelRefTest.cpp
Point3Test.cpp
PointTest.cpp
PolyUtilsTest.cpp
PremulAlphaRoundTripTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
PrimitiveProcessorTest.cpp how to use SkArenaAlloc with no friends 2020-12-15 01:23:18 +00:00
ProcessorTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
ProgramsTest.cpp Remove GrFragmentProcessor::usesExplicitReturn. 2020-12-15 18:06:12 +00:00
PromiseImageTest.cpp
ProxyConversionTest.cpp
ProxyRefTest.cpp
ProxyTest.cpp
QuickRejectTest.cpp
RandomTest.cpp
ReadPixelsTest.cpp Move GPU read pixels tests to new file. 2020-12-30 01:26:23 +00:00
ReadWritePixelsGpuTest.cpp Revert "Reland "asyncRescaleAndRead supports unpremul results on GPU"" 2021-01-13 14:57:13 +00:00
RecordDrawTest.cpp Reland "Add new virts, hide old ones" 2020-12-30 15:21:01 +00:00
RecorderTest.cpp Reland "Add new virts, hide old ones" 2020-12-30 15:21:01 +00:00
RecordingXfermodeTest.cpp
RecordOptsTest.cpp
RecordPatternTest.cpp
RecordTest.cpp
RecordTestUtils.h
RectangleTextureTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
RectTest.cpp Add halfWidth/halfHeight functions to SkRectPriv 2020-12-22 20:42:43 +00:00
RefCntTest.cpp
RegionTest.cpp
RenderTargetContextTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
RepeatedClippedBlurTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
ResourceAllocatorTest.cpp
ResourceCacheTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
RoundRectTest.cpp
RRectInPathTest.cpp
RTreeTest.cpp
SafeMathTest.cpp
SamplePatternDictionaryTest.cpp
SamplingTest.cpp Don't use sprite-blit if cubic sampling 2020-12-21 16:10:42 +00:00
ScalarTest.cpp
ScaleToSidesTest.cpp
SerializationTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
SerialProcsTest.cpp
ShaderImageFilterTest.cpp
ShaderOpacityTest.cpp Bitmap should use sampling options 2020-12-12 15:36:21 +00:00
ShaderTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
ShadowTest.cpp Fix shadow directional light bounds. 2020-12-17 18:04:15 +00:00
ShaperTest.cpp
SizeTest.cpp
SkBase64Test.cpp Make SkBase64 interface less unpleasant. 2021-01-08 20:28:19 +00:00
Skbug5221.cpp
Skbug6389.cpp
Skbug6653.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
SkColor4fTest.cpp
SkColorSpaceXformStepsTest.cpp
SkDOMTest.cpp
SkFixed15Test.cpp
SkGaussFilterTest.cpp
SkGlyphBufferTest.cpp
SkGlyphTest.cpp
skia_test.cpp
SkImageTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
SkNxTest.cpp
SkPathRangeIterTest.cpp
SkRasterPipelineTest.cpp
SkRemoteGlyphCacheTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
SkResourceCacheTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
SkRuntimeEffectTest.cpp Add generic uniform setter function to SkRuntimeShaderBuilder 2021-01-14 14:38:18 +00:00
SkScalerCacheTest.cpp
SkShaperJSONWriterTest.cpp
SkSharedMutexTest.cpp
SkSLCross.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
SkSLDSLTest.cpp Fixed error reporting on invalid SkSL assignments 2021-01-13 18:34:44 +00:00
SkSLFPTestbed.cpp Replace more instances of sk_OutColor with explicit returns. 2020-12-15 15:14:09 +00:00
SkSLGLSLTestbed.cpp
SkSLInterpreterTest.cpp Fix fragment processors and unit tests which mix ints and floats. 2021-01-14 00:24:45 +00:00
SkSLMemoryLayoutTest.cpp Add a reference to the ErrorReporter to the SkSL Context. 2021-01-12 14:19:16 +00:00
SkSLMetalTestbed.cpp
SkSLSPIRVTestbed.cpp
SkStrikeCacheTest.cpp
SkUTFTest.cpp
SkVMTest.cpp rename Arg to Ptr 2021-01-08 20:50:15 +00:00
SkVxTest.cpp
SortTest.cpp
SpecialImageTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
SpecialSurfaceTest.cpp
SrcOverTest.cpp
SrcSrcOverBatchTest.cpp
SRGBReadWritePixelsTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
SRGBTest.cpp
StreamBufferTest.cpp
StreamTest.cpp
StringTest.cpp Fix cross-platform deviations in SkStrAppendScalar for inf/nan. 2021-01-06 14:12:19 +00:00
StrokeIndirectTest.cpp Don't store tessellation tolerances on GrStrokeOp 2020-12-14 18:16:47 +00:00
StrokerTest.cpp
StrokeTest.cpp
SubsetPath.cpp
SubsetPath.h
SurfaceSemaphoreTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
SurfaceTest.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
SVGDeviceTest.cpp
SwizzlerTest.cpp
TArrayTest.cpp
TDPQueueTest.cpp
TemplatesTest.cpp
Test.cpp
Test.h
TestTest.cpp
TestUtils.cpp GrSurfaceContext::read/writePixels takes GrPixmap 2020-12-29 16:31:56 +00:00
TestUtils.h Remove pixel write/read tests. 2020-12-23 13:56:17 +00:00
TextBlobCacheTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
TextBlobTest.cpp
TextureBindingsResetTest.cpp Work on hiding filter-quality 2020-12-23 17:05:17 +00:00
TextureOpTest.cpp
TextureProxyTest.cpp Use bitmap.asImage() 2020-12-23 17:41:47 +00:00
TextureStripAtlasManagerTest.cpp
Time.cpp
TLazyTest.cpp
TopoSortTest.cpp
TraceMemoryDumpTest.cpp
TracingTest.cpp
TransferPixelsTest.cpp
TriangulatingPathRendererTests.cpp Add GrTriangulator::TriangulateInnerPolygons 2021-01-14 23:22:52 +00:00
TypefaceTest.cpp
UnicodeTest.cpp
UtilsTest.cpp
VerticesTest.cpp
VkBackendSurfaceTest.cpp GrRenderTargetContext->GrSurfaceDrawContext 2020-12-10 18:51:19 +00:00
VkDrawableTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
VkHardwareBufferTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
VkPriorityExtensionTest.cpp
VkProtectedContextTest.cpp Move to sampling for async-rescale routines 2021-01-05 15:46:51 +00:00
VkWrapTests.cpp
VkYcbcrSamplerTest.cpp
VptrTest.cpp
WangsFormulaTest.cpp Add specialized impl of Wang's formula for cubic rationals 2020-12-10 17:26:08 +00:00
WebpTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
WindowRectanglesTest.cpp
WritePixelsTest.cpp Bitmap.asImage() 2020-12-23 15:54:57 +00:00
Writer32Test.cpp
YUVCacheTest.cpp
YUVTest.cpp Remove SkYUVASizeInfo, make SkYUVAIndex a private part of SkYUVAInfo 2021-01-12 15:06:26 +00:00