skia2/gn
Michael Ludwig 1186b60fcf [graphite] Only convert LinearTolerances to vertex counts when invoking draw calls
Instead of taking the minimum required index/vertex count for an
instance, DynamicInstances::append() now takes a proxy. The proxy can
be used to calculate the index when it's needed at flush time, and can
accumulate its internal state to represent a worst case that
corresponds to the worst case index count as well.

Updates the tessellating RenderSteps to use a single PatchAllocator
definition that just swaps out how tess::LinearTolerances are converted
to a vertex count. This will also work seamlessly with
FixedCountStrokes.

Removes stride() function from PatchAllocator because it's clunky to
try and pass that out of DrawWriter or RenderStep to PatchWriter, and
can be re-computed from fAttribs anyways. Since it's only re-used in
PatchWriter for the deferred patch, it's one sum for every path contour
and will likely not be noticed in perf. If it is, we can have
PatchWriter remember it instead and keep PatchAllocator simple still.

Bug: skia:13056, skia:13012
Change-Id: I52a36da4df23ebb01a98246458b6538744c1815f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540620
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2022-05-20 01:32:52 +00:00
..
portable Separate general defaults from Skia defaults 2021-03-22 15:30:56 +00:00
skia Allow use of ASAN with msvc. 2022-05-05 19:04:23 +00:00
toolchain Fix our GN files to build pure objcc targets correctly 2022-04-27 21:07:15 +00:00
__init__.py Make gn directory importable in python 2017-03-20 17:40:30 +00:00
bench.gni Move tessellation-specific functions out of GrPathUtils 2021-11-20 02:47:40 +00:00
BUILDCONFIG.gn Enable WASM cross-compilation by correctly using current_cpu 2022-04-20 11:31:35 +00:00
call.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
checkdir.py fix print functions for python3 gn scripts 2020-03-06 17:42:39 +00:00
checkpath.py Python3 tweaks 2019-12-17 17:12:03 +00:00
codesign_ios.py Reland "Set GN's script_executable to "python3"" 2022-04-07 20:11:27 +00:00
compile_ib_files.py [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
compile_sksl_tests.py Avoid hard failure when invalid UTF8 is returned. 2022-04-27 19:51:20 +00:00
copy_git_directory.py [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
core.gni Reland "Add SkCapabilities object" 2022-05-17 13:15:06 +00:00
cp.py Work around python 2 shutil.copy2 date bug 2020-09-28 20:12:13 +00:00
dehydrate_sksl.py Add Graphite-only dehydrated modules. 2022-04-21 21:05:27 +00:00
effects_imagefilters.gni Implement separate crop filter 2021-09-24 20:18:36 +00:00
effects.gni Add missing SkTrimPathEffect to skia_effects_public 2022-02-28 22:42:44 +00:00
find_headers.py Give a human-intelligible message if gn generates a warning 2022-02-23 18:40:03 +00:00
find_msvc.py Add Preview to list of possible MSVC versions. 2020-04-30 19:54:33 +00:00
find_xcode_sysroot.py [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
flutter_defines.gni drawVertices and drawPath apply blend between paint and primitive color. 2021-11-22 19:09:33 +00:00
fuchsia_defines.gni Enable new clip stack for Fuchsia 2020-10-12 20:41:03 +00:00
gen_plist_ios.py Add product bundle name to iOS Xcode projects 2020-11-16 16:00:56 +00:00
gm.gni Remove DSLFP support. 2022-05-16 16:17:26 +00:00
gn_meta_sln.py Update docs to reference python3 2022-05-09 15:07:22 +00:00
gn_to_bp_utils.py Build the NDK compliant shared library to be used by JNI in SkQP. 2022-01-10 17:11:48 +00:00
gn_to_bp.py Use DEPS to pull in VulkanMemoryAllocator. 2022-04-28 22:59:02 +00:00
gn_to_cmake.py Fix CMakeLists to find Emscripten headers 2021-04-16 16:45:22 +00:00
gpu.gni [graphite] Moving still more files into src/text/gpu 2022-05-19 18:44:05 +00:00
graphite.gni [graphite] Only convert LinearTolerances to vertex counts when invoking draw calls 2022-05-20 01:32:52 +00:00
highest_version_dir.py fix print functions for python3 gn scripts 2020-03-06 17:42:39 +00:00
ios.gni Fix setup for iOS simulator on arm64 Macs. 2022-03-30 20:06:39 +00:00
is_clang.py Fix is_clang python3 encoding errors 2020-06-26 18:41:00 +00: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 add structure for normal SKX opts 2020-06-05 13:48:39 +00:00
pdf.gni Make skia_use_xps option work on Windows 2020-03-24 17:09:33 +00:00
push_to_android.py skia_android_serial = "auto" 2017-01-12 16:30:17 +00:00
rm.py Delete .a file before writing static library. 2020-06-11 17:19:23 +00:00
run_sksllex.py Reland "Fetch clang-format automatically when compiling .fp files." 2020-06-12 13:21:41 +00:00
samples.gni Revert "Move SkCamera.h to client_utils/android" 2022-04-25 12:33:01 +00:00
shared_sources.gni Update sprint to graphite name 2021-09-21 16:44:10 +00:00
skia.gni Ensure skia_gl_standard is correct when skia_use_angle is true 2022-05-10 17:13:15 +00:00
skqp_gn_args.py [sksl] Make sksl tracing optional 2022-04-12 13:59:25 +00:00
sksl_tests.gni [sksl][wgsl] Field access and test for vertex stage builtins 2022-05-18 15:01:59 +00:00
sksl.gni Fix gn for DSLWrapper.h 2022-05-17 15:15:58 +00:00
tests.gni [graphite] Add entry point for registering SkBlenders w/ the Context 2022-05-17 19:34:15 +00:00
utils.gni Revert "Move SkCamera.h to client_utils/android" 2022-04-25 12:33:01 +00:00
xps.gni harmonize rewrite-includes and gn-format checks 2020-04-03 17:00:54 +00:00