Go to file
Stephen White f3d5d44ec9 Dawn: staging manager rewrite.
Using many small staging buffers is quite costly for performance, for
example when there are many small texture uploads (such as MotionMark's
"canvas bouncing clipped rects" test).

Instead, the new manager uses buffers of 32K minimum, and returns
suballocations of those.

For now, allocation is simply iterates through the list of staging
buffers and returns the first one with enough remaining space.
This is O(N) in the number of staging buffers, which should be
ok since there are fewer of them. (If it becomes a hot path, we
can optimize it later.)

This also subsumes the UBO-specific staging buffer, since that one
did much the same thing but did not reuse staging buffers.

Change-Id: I4fddee8bb0fc602c49fe552acc327a640bf6917b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279921
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2020-04-08 16:11:48 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench clean up public m44 and camera api 2020-04-06 15:34:17 +00:00
bin roll GN 2020-04-01 17:02:23 +00:00
build/fuchsia harmonize rewrite-includes and gn-format checks 2020-04-03 17:00:54 +00:00
build_overrides Roll Dawn and add dependencies 2020-03-30 18:52:06 +00:00
dm Make skia_use_xps option work on Windows 2020-03-24 17:09:33 +00:00
docker Revert "fiddle - Don't make warnings into errors." 2020-02-07 21:39:38 +00:00
docs/examples Fix matrix scoping issue in sample 2020-03-23 13:44:53 +00:00
example Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
experimental [SVG] Fix spec links 2020-04-08 15:48:08 +00:00
fuzz Revert "Revert "Revert "Revert "Don't build GL on Metal, Vulkan, Dawn, Direct3D bots"""" 2020-03-20 17:11:58 +00:00
gm Remove gamma GM 2020-04-07 19:43:47 +00:00
gn Dawn: staging manager rewrite. 2020-04-08 16:11:48 +00:00
include Implement support for indirect draws 2020-04-07 19:41:18 +00:00
infra narrow use of fast_unwind_on_malloc=0 2020-04-08 15:18:18 +00:00
modules Mixed languages text crashes 2020-04-07 17:43:57 +00:00
platform_tools Reland "GrGLMakeNativeInterface_{iOS,mac,win}: clean up" 2020-01-08 16:55:43 +00:00
resources [SkTrimPathEffect] Preserve wrap-around continuity 2020-04-07 14:40:17 +00:00
samplecode Mixed languages text crashes 2020-04-07 17:43:57 +00:00
site Update release schedule, notes 2020-04-03 16:56:04 +00:00
specs [img-decode] Start on proposed new spec 2019-05-06 17:39:19 +00:00
src Dawn: staging manager rewrite. 2020-04-08 16:11:48 +00:00
tests add and test stack load/store 2020-04-07 21:15:47 +00:00
third_party Mark dawn and shaderc as third_party. 2020-04-03 20:46:14 +00:00
tools stifle leaks in terminator_CreateDevice() 2020-04-08 15:28:48 +00:00
.clang-format Disable BinPackParameters in .clang-format 2020-03-27 14:32:40 +00:00
.clang-tidy add google-build-namespaces to clang-tidy checks 2018-12-12 16:33:59 +00:00
.gitignore clean up some .gitignores 2019-05-15 19:55:45 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Optimize SkSL xor where one argument is constant 2019-12-20 14:50:46 +00:00
BUILD.gn Set gn output_dir variable for test apps. 2020-04-03 19:49:34 +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 third_party/externals/angle2 eb298a024032..8bd3dab11206 (12 commits) 2020-04-08 05:34:38 +00:00
go.mod Update Go Deps 2020-04-08 06:31:18 +00:00
go.sum Update Go Deps 2020-04-08 06:31:18 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py PRESUBMIT: Don't check formatting of deleted files 2020-04-08 10:36:09 +00:00
public.bzl [skottie] Cleanup: split animators into separate CUs 2020-03-17 15:48:17 +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 Remove secret wireframe mode from drawVertices 2020-04-07 20:07:27 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +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.