skia2/samplecode
Chris Dalton 75e1f4c028 Lift recursive curve culling out of tessellators
We need recursive chopping/culling logic in order to draw
astronomically large paths. But rather than do that at the same time
the tessellators chop curves, this CL moves that logic into an
SkPath -> SkPath transformation that runs ahead of time (and only if
the path is extremely large to begin with). This will enable us to
remove recursion from the tessellators and quickly determine ahead of
time the size of buffers they need.

Bug: skia:12524
Change-Id: Ib2800fb23054f1548501811203173e58273fbc83
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/463936
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-10-27 16:39:36 +00:00
..
DecodeFile.h Sample/Filter2View: make it work without /skimages 2019-07-08 17:05:23 +00:00
Sample2PtRadial.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
Sample3D.cpp Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
Sample.cpp Almost remove GrContext 2020-10-20 15:52:01 +00:00
Sample.h add std::function option to Click to simplify callsites 2020-04-22 15:41:28 +00:00
SampleAARectModes.cpp Bitmap should use sampling options 2020-12-12 15:36:21 +00:00
SampleAARects.cpp Bitmap should use sampling options 2020-12-12 15:36:21 +00:00
SampleAndroidShadows.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleAnimatedImage.cpp Fix implicit fallthroughs throughout Skia. 2020-06-11 22:29:53 +00:00
SampleAnimatedText.cpp Reland "Add new virts, hide old ones" 2020-12-30 15:21:01 +00:00
SampleAnimBlur.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleArc.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
SampleAtlas.cpp Migrate to drawImage w/ sampling 2021-01-22 22:38:02 +00:00
SampleAudio.cpp Reland "Add format-specifier warnings to SkDebugf." 2021-06-25 17:57:43 +00:00
SampleCamera.cpp Simplify common case for recttorect 2021-01-15 18:37:46 +00:00
SampleChart.cpp Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
SampleChineseFling.cpp Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
SampleCircle.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleClip.cpp Fix cases of variable shadowing in /samplecode/. 2021-08-11 13:40:50 +00:00
SampleClock.cpp Revert "Reland "Revert "Use flat version of path-direction enum""" 2019-11-22 19:09:54 +00:00
SampleComplexClip.cpp Use SkClipOp::kFoo instead of kFoo_SkClipOp from SkClipOpPriv 2021-08-03 18:08:21 +00:00
SampleCowboy.cpp Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
SampleCusp.cpp Reland "Add format-specifier warnings to SkDebugf." 2021-06-25 17:57:43 +00:00
SampleDegenerateQuads.cpp Move more classes to skgpu::v1 namespace 2021-09-16 14:04:16 +00:00
SampleDegenerateTwoPtRadials.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleEffects.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleEmboss.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleFatBits.cpp Use SkClipOp::kFoo instead of kFoo_SkClipOp from SkClipOpPriv 2021-08-03 18:08:21 +00:00
SampleFillType.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleFilterBounds.cpp Don't assume DecomposeCTM and setDeviceCoordSystem always succeed 2021-08-26 14:21:45 +00:00
SampleFitCubicToCircle.cpp Add an interactive sample that fits cubics to circular arcs 2020-06-09 23:04:03 +00:00
SampleFlutterAnimate.cpp Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
SampleGlyphTransform.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleGradients.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleHairCurves.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleHairModes.cpp Bitmap should use sampling options 2020-12-12 15:36:21 +00:00
SampleImageFilterDAG.cpp Don't assume DecomposeCTM and setDeviceCoordSystem always succeed 2021-08-26 14:21:45 +00:00
SampleLayers.cpp Use SkClipOp::kFoo instead of kFoo_SkClipOp from SkClipOpPriv 2021-08-03 18:08:21 +00:00
SampleLCD.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleManyRects.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleMaterialShadows.cpp Reland "Fix directional shadows." 2021-07-16 16:49:52 +00:00
SampleMegaStroke.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleMixer.cpp Migrate to drawImage w/ sampling 2021-01-22 22:38:02 +00:00
SamplePatch.cpp Simplify common case of linear filtering with no mips 2021-01-15 16:47:16 +00:00
SamplePath.cpp Fix cases of variable shadowing in samplecode/. 2021-08-02 19:25:01 +00:00
SamplePathClip.cpp Redraw duing mouse drag 2021-08-31 00:34:58 +00:00
SamplePathEffects.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SamplePathOverstroke.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SamplePathTessellators.cpp Lift recursive curve culling out of tessellators 2021-10-27 16:39:36 +00:00
SamplePathText.cpp Fix a couple Wshadow warnings 2021-08-17 15:09:14 +00:00
SamplePolyToPoly.cpp Fix cases of variable shadowing in /samplecode/. 2021-08-11 13:40:50 +00:00
SampleQuadStroker.cpp Pass sampling to surface.draw 2021-01-06 19:05:00 +00:00
SampleRectanizer.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleRepeatTile.cpp Bitmap should use sampling options 2020-12-12 15:36:21 +00:00
SampleSG.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleShadowColor.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleShadowReference.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleShadowUtils.cpp Fix cases of variable shadowing in /samplecode/. 2021-08-11 13:40:50 +00:00
SampleShip.cpp More hiding of legacy drawImage calls 2021-01-22 13:53:42 +00:00
SampleSimpleStroker.cpp Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
SampleSlides.cpp Simplify common case of linear filtering with no mips 2021-01-15 16:47:16 +00:00
SampleStringArt.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleStrokePath.cpp Simplify common case for recttorect 2021-01-15 18:37:46 +00:00
SampleStrokeRect.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleStrokeVerb.cpp Reland "Purge ccpr" 2021-06-19 18:42:38 +00:00
SampleSVGFile.cpp Reland "Fix compilation w/ "skia_enable_svg = false" (take 2)" 2021-09-01 17:54:08 +00:00
SampleTextBox.cpp Add SkShaper::PurgeCaches. 2021-01-27 17:50:30 +00:00
SampleTextureUpload.cpp Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
SampleThinAA.cpp Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
SampleTiming.cpp Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
SampleVariableWidthStroker.cpp Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
SampleVertices.cpp Simplify common case of linear filtering with no mips 2021-01-15 16:47:16 +00:00
SampleWritePixels.cpp Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SampleXfer.cpp Simplify common case for recttorect 2021-01-15 18:37:46 +00:00
SampleXfermodesBlur.cpp Fix cases of variable shadowing in samplecode/. 2021-08-02 19:25:01 +00:00
vertexdump.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00