skia2/gn
Chris Dalton 4328e928ef Add a stencil/tessellation hybrid mode for path rendering
This is a hybrid approach where we stencil only the curves using GPU
tessellation shaders, and then tessellate the path's inner polygon on
CPU and draw it directly to the final render target, stencilled
against the curves. Tessellating just the inner polygon is more than
fast enough to do in real time, and still allows us fill in the
majority of pixels in a single render pass. It gives us most the
benefit of CPU tessellation, but at a fraction of the cost.
Furthermore, the tessellated inner polygon can potentially be cached
and reused independent of the view matrix.

Change-Id: Id45adc643b51ab80a0c655dd2045a5314bdc7507
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266456
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-01-30 01:44:15 +00:00
..
toolchain Python3 tweaks 2019-12-17 17:12:03 +00:00
__init__.py Make gn directory importable in python 2017-03-20 17:40:30 +00:00
bench.gni Add GrQuad::bounds() benchmark 2020-01-22 18:23:55 +00:00
BUILD.gn Enable ASAN on Windows 2019-12-30 17:06:26 +00:00
BUILDCONFIG.gn Enable ASAN on Windows 2019-12-30 17:06:26 +00:00
call.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
checkdir.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
checkpath.py Python3 tweaks 2019-12-17 17:12:03 +00:00
codesign_ios.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
compile_ib_files.py Reland "Add launch screen to iOS apps" 2019-09-05 14:05:08 +00:00
compile_processors.py moved files generated from .fp files into generated/ directories 2019-04-10 18:02:02 +00:00
copy_git_directory.py GN tools: copy_git_directory.py better error message. 2019-11-19 17:04:18 +00:00
core.gni Add SkImage::MakeRasterFromCompressed and make MakeFromCompressed fall back to decompression for unsupported compression types (take 2) 2020-01-28 14:03:14 +00:00
cp.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
create_sksl_enums.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
effects_imagefilters.gni Add new SkImageFilters factory API 2019-08-02 13:33:35 +00:00
effects.gni Add SkShaderMaskFilter.h to public header list 2019-06-21 14:40:25 +00:00
find_headers.py Python3 tweaks 2019-12-17 17:12:03 +00:00
find_msvc.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
find_xcode_sysroot.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
flutter_defines.gni remove obsolete flag SK_SUPPORT_LEGACY_CANVAS_MATRIX_VIRTUALS 2020-01-23 15:12:46 +00:00
fuchsia_defines.gni remove legacy hinting-enum guards 2018-11-28 20:15:03 +00:00
gen_plist_ios.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
gm.gni incorporate r,g,b,a into shaderHash 2020-01-28 20:58:37 +00:00
gn_meta_sln.py Decorate project names with their relative path in the meta SLN 2018-06-01 19:22:08 +00:00
gn_to_bp_utils.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
gn_to_bp.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
gn_to_cmake.py [infra] Change CMake build to use a temporary directory 2020-01-14 11:41:55 +00:00
gpu.gni Add a stencil/tessellation hybrid mode for path rendering 2020-01-30 01:44:15 +00:00
highest_version_dir.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
ios.gni gn: split out iOS templates to gn/ios.gni 2019-09-16 18:49:24 +00:00
is_clang.py GN: match shell behavior for cc and cxx in is_clang.py 2016-09-27 09:29:24 -07:00
make_gm_gni.py GMs: re-sort gni, script to regenerate gni, file name convention 2019-05-02 20:08:37 +00:00
opts.gni clean up SkBitmapProcState::platformProcs() 2018-12-03 21:24:31 +00:00
pdf.gni SkPDF: move type1 font code into single file 2019-04-18 21:01:58 +00:00
push_to_android.py skia_android_serial = "auto" 2017-01-12 16:30:17 +00:00
run_sksllex.py Revert "Revert "SkSL now supports null child processors"" 2019-02-22 17:50:30 +00:00
samples.gni sample3d 2020-01-11 21:23:27 +00:00
shared_sources.gni remove empty skia_for_chromium_defines 2019-01-17 17:37:01 +00:00
skia.gni remove more vtune references 2020-01-29 04:19:03 +00:00
sksl.gni Revert "Revert "Complete rewrite of the SkSL interpreter"" 2020-01-24 14:42:37 +00:00
tests.gni Fix GrColorMatrixFragmentProcessor handling of premul transparent black. 2020-01-02 14:55:06 +00:00
utils.gni move SkClipStack::asPath into PDFUtils 2019-12-20 19:27:26 +00:00
xps.gni GN: split out skia_*_public from skia_*_sources 2019-03-15 18:29:19 +00:00