Go to file
Michael Ludwig e9eda5802a [graphite] Add HybridBoundsManager and use as default impl
This combines the BruteForceManager and Gridmanager, starting with
brute force when it's fastest for low N and then transitioning to less
accurate grid that scales for larger N.

Also updates the set of benchmarks to run based on more reasonable
configs (e.g. having a reasonable level of accuracy to be worth
considering).

Updates Device to use the HybridBoundsManager with brute force up to
64 draws, and then a grid configured to make 16x16 pixel cells. My
guess is we will see a mix of perf regressions and improvements with
this. The existing use of the NaiveBoundsManager had negligible CPU
cost but disallowed all re-ordering. The brute force and grid
managers will add CPU cost but enable re-ordering, which shows up
as shorter command buffers (e.g. 17k commands vs. 28k commands in the
motionmark suits benchmark). However, because we don't have SSBOs
there still isn't as much batching that would let the GPU take
advantage of this re-ordering so I'm not sure how visible the wins
will be yet.

Bug: skia:13201, skia:12787
Change-Id: Iad58fccab45def5f702a30860e063669424dfcf2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/550518
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Nicolette Prevost <nicolettep@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-06-21 15:52:22 +00:00
bazel Reland "Add Perfetto library (gn & bazel) and bare-bones SkPerfTrace class" 2022-06-15 16:35:05 +00:00
bench [graphite] Add HybridBoundsManager and use as default impl 2022-06-21 15:52:22 +00:00
bin Update SKPs documentation link 2022-05-18 15:21:44 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Set dawn_vulkan_tools_dir in Dawn's GN overrides 2022-04-14 17:05:33 +00:00
client_utils/android Revert "Move SkCamera.h to client_utils/android" 2022-04-25 12:33:01 +00:00
demos.skia.org [canvaskit] Add in fillText to spreadsheet demo for comparison 2022-02-15 15:35:43 +00:00
dm [graphite] Use CombinationBuilder to create SkPaintParamsKeys directly 2022-06-16 17:16:30 +00:00
docker Update Perfetto reference following fix for b/234001590 2022-06-16 15:16:55 +00:00
docs/examples Replace SK_ARRAY_COUNT with std::size() for skia/docs 2022-06-16 20:09:58 +00:00
example Revert "set up GL sample app to build through Bazel Mac toolchain" 2022-06-17 20:07:06 +00:00
experimental [bazel] Add "skia_internal" target that exposes private API for tests/tools. 2022-06-02 11:23:50 +00:00
fuzz Remove SkMakeSpan 2022-06-15 17:26:32 +00:00
gm Remove SK_MAYBE_UNUSED. 2022-06-16 16:52:53 +00:00
gn Reland "Move SkSubRun to src/text" 2022-06-18 17:20:42 +00:00
include Reland "Move SkSubRun to src/text" 2022-06-18 17:20:42 +00:00
infra Update SKP version 2022-06-19 08:28:42 +00:00
modules [canvaskit] Enable WebGPU in GN build 2022-06-16 23:14:17 +00:00
platform_tools Fix bug where SkQP test that are always to be excluded are not. 2022-04-29 20:26:54 +00:00
resources Added preliminary SkSL Metal compute shader support 2022-06-15 18:52:42 +00:00
samplecode Remove GrShaderCaps accessor functions. 2022-06-07 21:08:03 +00:00
site [bazel] Delete gazelle-based BUILD.bazel files 2022-05-31 14:14:54 +00:00
specs [infra] Port serve.py from Python2 to 3 2021-08-31 15:28:19 +00:00
src [graphite] Add HybridBoundsManager and use as default impl 2022-06-21 15:52:22 +00:00
tests GrGpuBufferTest: make assert reachable 2022-06-21 15:48:12 +00:00
third_party Reland "Add Perfetto library (gn & bazel) and bare-bones SkPerfTrace class" 2022-06-15 16:35:05 +00:00
toolchain Revert "[bazel] Update to v5.2.0" 2022-06-21 14:04:59 +00:00
tools Reland "Move SkSubRun to src/text" 2022-06-18 17:20:42 +00:00
.bazelrc Revert "set up GL sample app to build through Bazel Mac toolchain" 2022-06-17 20:07:06 +00:00
.bazelversion Revert "[bazel] Update to v5.2.0" 2022-06-21 14:04:59 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore [infra] Add BazelBuild task to build CanvasKit on the CI with Bazel 2022-05-06 17:54:08 +00:00
.gn Disable wayland in ANGLE 2022-06-15 18:24:40 +00:00
.vpython [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
AUTHORS Add mike@reedtribe.org to AUTHORS 2022-05-19 12:49:11 +00:00
BUILD.bazel [bazel] Add "skia_internal" target that exposes private API for tests/tools. 2022-06-02 11:23:50 +00:00
BUILD.gn [canvaskit] Enable WebGPU in GN build 2022-06-16 23:14:17 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll ANGLE from 878bbfaac0b3 to 21c89c14831c (3 revisions) 2022-06-21 05:52:46 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go_repositories.bzl [infra] Update dep of infra repo 2022-04-28 13:20:10 +00:00
go.mod [infra] Update dep of infra repo 2022-04-28 13:20:10 +00:00
go.sum [infra] Fix go.sum 2022-04-28 18:01:34 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS [infra] Add wildcard OWNERS 2021-08-30 19:19:34 +00:00
OWNERS.android Update OWNERS.android with more details 2022-03-16 18:13:33 +00:00
package-lock.json [bazel] Make custom karma_test rule 2022-02-23 14:53:01 +00:00
package.json [bazel] Make custom karma_test rule 2022-02-23 14:53:01 +00:00
PRESUBMIT.py [bazel] Add Presubmit exception for public.bzl 2022-06-02 19:45:05 +00:00
public.bzl Reland "Move SkSubRun to src/text" 2022-06-18 17:20:42 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
RELEASE_NOTES.txt Add SkSurfaceProps parameter to several APIs 2022-06-02 13:12:33 +00:00
requirements.txt Added expected hash for MarkupSafe for the MacOS platform with the M1 chip 2022-05-19 17:54:32 +00:00
whitespace.txt Push shaders.skia.org. 2022-01-19 21:46:16 +00:00
WORKSPACE.bazel Reland "Add Perfetto library (gn & bazel) and bare-bones SkPerfTrace class" 2022-06-15 16:35:05 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.