skia2/samplecode
Chris Dalton b832ce61ee Add a path renderer that uses GPU tessellation
Implements a simple first pass for a path renderer that uses the
classic Red Book "stencil then cover" method, and linearizes curves
with GPU tessellation shaders.

The new path renderer is disabled by default, and can only be enabled
in the viewer UI or by passing the "--pr gtess" flag.

Change-Id: Ic9354952e93c8b108577961760b4f0daa82d35aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261715
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-01-07 20:00:22 +00:00
..
DecodeFile.h Sample/Filter2View: make it work without /skimages 2019-07-08 17:05:23 +00:00
PerlinPatch.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
Sample2PtRadial.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
Sample.cpp Hook up pinch-zoom and swipe gestures. 2019-09-10 13:34:47 +00:00
Sample.h tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleAAClip.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleAAGeometry.cpp Move "set_path_pt" from SampleAAGeometry into ToolUtils 2020-01-06 19:00:13 +00:00
SampleAARectModes.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleAARects.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
SampleAndroidShadows.cpp SkBlurMaskFilter.h is only needed for (deprecated) emboss 2019-12-30 15:40:46 +00:00
SampleAnimatedImage.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleAnimatedText.cpp Samples: clean up cruft 2019-07-17 18:29:50 +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 tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleBackdropBounds.cpp Clean up prior backdrop-filter CL 2019-09-05 19:59:46 +00:00
SampleBitmapRect.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleCamera.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleCCPRGeometry.cpp Reland "Rename GrSimpleTextureEffect->GrTextureEffect" 2020-01-07 18:44:42 +00:00
SampleChart.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleChineseFling.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleCircle.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleClip.cpp Detect when perspective is really affine, and update the matrix as we handoff 2019-12-18 21:25:43 +00:00
SampleClipDrawMatch.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleClock.cpp Revert "Reland "Revert "Use flat version of path-direction enum""" 2019-11-22 19:09:54 +00:00
SampleColorFilter.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
SampleComplexClip.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
SampleCowboy.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleCusp.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleDegenerateQuads.cpp Allow Tessellator to operate on provided GrQuads 2019-11-26 14:57:44 +00:00
SampleDegenerateTwoPtRadials.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleEffects.cpp SkColorMatrix cleanup 2019-11-04 15:20:15 +00:00
SampleEmboss.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleFatBits.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleFillType.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
SampleFilter2.cpp Sample/Filter2View: make it work without /skimages 2019-07-08 17:05:23 +00:00
SampleFilterQuality.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
SampleFlutterAnimate.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleFontCache.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleGlyphTransform.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleGradients.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
SampleHairCurves.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleHairline.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleHairModes.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleHT.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleIdentityScale.cpp SkBlurMaskFilter.h is only needed for (deprecated) emboss 2019-12-30 15:40:46 +00:00
SampleImageFilterDAG.cpp Reland "Reland "SkSurface asynchronous read APIs allow client to extend pixel lifetime"" 2019-10-03 19:14:22 +00:00
SampleLayerMask.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
SampleLayers.cpp SkBlurMaskFilter.h is only needed for (deprecated) emboss 2019-12-30 15:40:46 +00:00
SampleLCD.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleLighting.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleLitAtlas.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleLua.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleManyRects.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleMegaStroke.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
SampleMixer.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleParagraph.cpp Small bug fixes: leading spaces affect all width measurements, 2020-01-06 14:57:41 +00:00
SamplePatch.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SamplePath.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SamplePathClip.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SamplePathEffects.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SamplePathOverstroke.cpp Samples: simplify Sample::Event 2019-07-08 19:09:42 +00:00
SamplePathText.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
SamplePolyToPoly.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleQuadStroker.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
SampleRectanizer.cpp Samples: simplify Sample::Event 2019-07-08 19:09:42 +00:00
SampleRegion.cpp Revert "Reland "Revert "Use flat version of path-direction enum""" 2019-11-22 19:09:54 +00:00
SampleRepeatTile.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleSG.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleShaders.cpp re-run tools/rewrite_includes.py 2019-07-25 15:40:33 +00:00
SampleShadowColor.cpp Samples: simplify Sample::Event 2019-07-08 19:09:42 +00:00
SampleShadowReference.cpp Samples: simplify Sample::Event 2019-07-08 19:09:42 +00:00
SampleShadowUtils.cpp SkBlurMaskFilter.h is only needed for (deprecated) emboss 2019-12-30 15:40:46 +00:00
SampleShip.cpp Remove WallTimer class. 2019-07-15 16:06:11 +00:00
SampleSlides.cpp SkBlurMaskFilter.h is only needed for (deprecated) emboss 2019-12-30 15:40:46 +00:00
SampleStringArt.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleStrokePath.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
SampleStrokeRect.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleSubpixelTranslate.cpp SkBlurMaskFilter.h is only needed for (deprecated) emboss 2019-12-30 15:40:46 +00:00
SampleSVGFile.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleTessellatedWedge.cpp Add a path renderer that uses GPU tessellation 2020-01-07 20:00:22 +00:00
SampleTextBox.cpp SkBlurMaskFilter.h is only needed for (deprecated) emboss 2019-12-30 15:40:46 +00:00
SampleTextEffects.cpp SkBlurMaskFilter.h is only needed for (deprecated) emboss 2019-12-30 15:40:46 +00:00
SampleTextureDomain.cpp SkBlurMaskFilter.h is only needed for (deprecated) emboss 2019-12-30 15:40:46 +00:00
SampleTextureUpload.cpp Add adjustable max size for Metal dynamic allocation ring buffer. 2019-08-07 15:59:42 +00:00
SampleThinAA.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleUnpremul.cpp remove code now that loopers are dead (w.r.t. canvas and paint) 2019-07-30 12:49:28 +00:00
SampleVertices.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleWritePixels.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleXfer.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleXfermodesBlur.cpp SkBlurMaskFilter.h is only needed for (deprecated) emboss 2019-12-30 15:40:46 +00:00
vertexdump.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00