Commit Graph

56410 Commits

Author SHA1 Message Date
recipe-roller
e83daba07e Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
9fd324104c~..910def8f654695ebcb84d02a60f69ec0cfd1d32a
  9fd3241 (wenbinzhang@google.com)
      Fix issue when recipe launch with RECIPES_DEBUG_SLEEP
  910def8 (yuanjunh@google.com)
      Make sure all coverage files are removed

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie6069c7e32c47314fde23c0fa03003e013deda8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434757
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-30 03:56:16 +00:00
recipe-roller
0b26b92518 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools, recipe_engine) into this repository.

depot_tools:
45d2afa080
  45d2afa (avi@chromium.org)
      Revert "New vpython release to depot_tools."

recipe_engine:
adf6ca4b1b
  adf6ca4 (yuanjunh@google.com)
      [python3] make test _runner command py3 compatible

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I294c748781a093a727f1194cd076a6644f83f001
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434532
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-30 00:42:17 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
44600f6136 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I52020183d2963e2016f55b36f6c28158d9c5e733
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434531
Reviewed-by: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-07-30 00:03:46 +00:00
John Stiles
5b3aff4d39 Rename DestColor FP to SurfaceColor.
This is meant to help disambiguate the FP from `args.fDestColor`.

Change-Id: I59a4527e64970811a6798a635191016c645587ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434679
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-07-29 22:13:46 +00:00
John Stiles
8c9609ebe1 Allow explicit coords to be plumbed through blender functions.
This allows us to support a chain of FPs that includes both blenders
and matrices.

Change-Id: Ic8a4ea3eb24b7fd45552607be196461e999f03ea
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434656
Reviewed-by: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-07-29 21:43:59 +00:00
Greg Daniel
0545c2f4f6 Correctly set GrAttachment mipmapped flag.
Change-Id: I7b69d96367c36cbe217ec43c5361a2ceb49dbb9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434677
Auto-Submit: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-07-29 20:52:23 +00:00
Brian Osman
cc9d20f308 SkCanvas: switch from SkDeque to std::deque
Bug: skia:10987
Change-Id: If252f644dc3b8827356f9c7044c8e01fd0fc5afe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434676
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-29 20:50:42 +00:00
Ravi Mistry
94df5d607c Add skia_motionmarksuites_desktop.py
Bug: skia:12292
Change-Id: I80b6d1a122ef4ea5f08c237cc8d77e18262bee84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434467
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-07-29 19:16:05 +00:00
recipe-roller
a62fc8b0ca Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools, recipe_engine) into this repository.

depot_tools:
517f6beeaa
  517f6be (meiring@google.com)
      [depot_tools] roll rdb to 2be056d0

recipe_engine:
5f4efc8641
  5f4efc8 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 5408cdaa3a03 to faa49b9522a8

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I69b0c455354a6b9b0a907c1e8ed27372e0742c1b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434521
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-29 19:15:16 +00:00
Brian Osman
ac7a9a23ed Always emit all FP child functions before emitCode
This hoists logic that was being done only for GrSkSLFP to the base
class, and avoids having to write these functions lazily on first-call.

To simplify things further, stop storing the names of child processor
functions in the parent. Simply have each processor store its *own*
name. This avoids storing empty strings for null children.

Change-Id: I53afbae6dc0986575e3e91aba5532a27f7ef25d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434466
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-07-29 18:53:17 +00:00
John Stiles
3d019ddabc Support serialization of child effects for Runtime Blenders.
This CL also factors out the child effect reading and writing code into
helper functions, to avoid repeating it verbatim.

Change-Id: Ia48e5f346aa557179bec83daaa91e772765181a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434117
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-29 18:17:12 +00:00
Herb Derby
15e42b30e5 draw vertices: implement blending the tri-color shader
If there are colors, and the incoming paint has a shader,
then they need to be blended.

Bug=Skia:11822

Change-Id: Id5a1d7dffcaedb678214c694c9c87d0c71cdc991
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434161
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-07-29 17:48:59 +00:00
John Stiles
21c2af2dca Add separate src and dst arguments to runtime-blend SkSL functions.
When called in the typical FP context, we only have a paint color, not a
separate source and destination color. So we pass the paint color in
each slot. This seems counterintuitive, but the upshot is that a runtime
blender will now pass the paint color as the input color to the source
effect and dest effect. (In a followup CL, sampling directly from a
runtime blender will allow distinct values to be passed into each slot,
and these values will be honored as-is.)

Change-Id: I96b016527d1066f0431a763f6609c3983b4854ec
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433516
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-29 17:27:53 +00:00
John Stiles
131410a7d1 Add regression test for oss-fuzz:36655.
Change-Id: I7b53df1eae83a596c4d1f3620e7f9bd146f68af2
Bug: oss-fuzz:36655
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434465
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-07-29 15:22:20 +00:00
John Stiles
d340042cd6 Fix assertion when swizzling literals.
The fuzzer generated the expression `(6).xx`, which triggered a
type-checking assertion. This swizzle was otherwise harmless.

Change-Id: Icb12f93fe3f6d88265d67e689ceb85cf1085c9e8
Bug: oss-fuzz:36655
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434464
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-29 15:07:51 +00:00
Dominik Röttsches
58920bbdca [COLRv1] Spec update for degree specifications, fix PaintSkew
Multiply degree values by 180 as FreeType returns them just as in the
font format. Add more tests for skew and transform, and a sweep
test. Update the test font to follow changes from a work in progress
FontTools branch which implements the new format.

Roll FreeType to include parsing changes
d3dc2da9b2..47b1a541cb

Bug: skia:12272
Cq-Include-Trybots: luci.skia.skia.primary:Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Release-All-Android_NativeFonts
Change-Id: Iaaf3a53dbf40828b908202c19de91319cc68b0b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432976
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-07-29 14:55:45 +00:00
Herb Derby
99d7d67fc4 draw vertices: implement triangle vertex color
Reuse all the existing SkTriColorShader, implement the
matrix code using SKvM.

Bug=skia:11822
Change-Id: I1a1f0dd005939386ca7bf9ba812e717967525089
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434159
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-07-29 14:46:11 +00:00
skia-autoroll
99b9cd836e Roll SK Tool from a7b6f73b1117 to dfaa677fc445
https://skia.googlesource.com/buildbot.git/+log/a7b6f73b1117..dfaa677fc445

2021-07-29 jcgregorio@google.com Followup fixes from previous CL review.
2021-07-29 borenet@google.com Remove new-branch commands
2021-07-29 jcgregorio@google.com [switchboard] Ansible role copy_authorized_keys.
2021-07-29 jcgregorio@google.com [switchboard] Ansible role to load secrets.
2021-07-29 borenet@google.com [sk] Update release-branch command for SkCQ and Chrome Faster
2021-07-29 borenet@google.com [task scheduler] Workaround to trigger Buildbucket build status fix
2021-07-28 lovisolo@google.com [gold] Replace truncateWithEllipses() with infra-sk's truncate().
2021-07-28 lovisolo@google.com [gold] Delete Webpack and Karma config files.
2021-07-28 lovisolo@google.com [status] commits-table-sk.ts: Replace Gold's truncateWithEllipses with infra-sk's truncate.
2021-07-28 borenet@google.com Update go.mod with licenses
2021-07-28 rmistry@google.com [skcq] Add expo backoff to AddComment
2021-07-28 rmistry@google.com Add configurable rate-limits to go/gerrit
2021-07-27 rmistry@google.com [skcq] Retry transient errors during vm.GetVerifiers

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: jcgregorio@google.com
Change-Id: I4544edd12fa17efb1366d65d92e884ee1ee0bcaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434483
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-29 14:45:49 +00:00
Jorge Betancourt
14c4206d25 [androidkit] add seekTime and seekFrame for SkottieView util view
Change-Id: Ic714c0be2f63f62485e9d44f1db1e708f3c04dcd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433056
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-07-29 14:12:54 +00:00
Chris Dalton
d665999b0d Place GrAtlasPathRenderer above GrSmallPathRenderer in the chain
Tessellation is extremely fast for large batches of small paths. That,
combined with its ability to render without caching and the atlas's
well-defined memory limits, make it desirable over
GrSmallPathRenderer's CPU-generated bitmap cache. We may want to
reconsider use cases for distance fields though, and those could be
prioritized above the atlas.

Bug: skia:12258
Change-Id: I7b8218eb02f38b3b0c1462b181b9373f5c84cdaa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434199
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-07-29 13:25:44 +00:00
John Stiles
0ce9592410 Add 'isBlendFunction' as a FP flag and 'destColor' to EmitArgs.
Blend functions are fragment processors that take two arguments, a
source color and dest color.

Change-Id: Ia26fadae42610fd8849716ad68db867cfa082169
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433361
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-07-29 13:12:20 +00:00
Chisoon Jeong
109f54d200 Correct a typo in build_workaround_header.py
Change-Id: I356cfc0c59ada46d93130af136168489f6287c02
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433898
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-07-29 13:06:01 +00:00
Corentin Wallez
ff9ee67872 Roll dawn, tint, spirv-headers and spirv-tools
Also does some evolutions of Dawn's API and suppresses
runtime_intrinsics_matrix when using Dawn because Tint doesn't implement
a SPIR-V -> WGSL MatrixInverse polyfill yet.

Roll third_party/externals/dawn/ 170ea75f2..d59ba7c18 (121 commits; 1 trivial rolls)
https://dawn.googlesource.com/dawn.git/+log/170ea75f2ad2..d59ba7c18b29

Roll third_party/externals/spirv-headers/ bcf55210f..cf653e4ca (25 commits)
bcf55210f1..cf653e4ca4

Roll third_party/externals/spirv-tools/ dc72924cb..11cd875ed (89 commits)
dc72924cb3..11cd875ed8

Roll third_party/externals/tint/ ea1a4680d..cc6d5b464 (185 commits)
https://dawn.googlesource.com/tint/+log/ea1a4680d490..cc6d5b464dcb

Created with:
  roll-dep third_party/externals/dawn third_party/externals/spirv-headers third_party/externals/spirv-tools third_party/externals/tint

Bug: tint:1045
Change-Id: I40b18282538910cf9528096d2c6114465fbe5266
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431958
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Stephen White <senorblanco@google.com>
2021-07-29 13:02:43 +00:00
skia-autoroll
0d9a079079 Roll ANGLE from 0d06c3cf936a to ae24c9d38782 (10 revisions)
0d06c3cf93..ae24c9d387

2021-07-29 adkushwa@microsoft.com Remove space from internal debug name strings.
2021-07-28 bsheedy@chromium.org Suppress Mac 11.4 failures
2021-07-28 syoussefi@chromium.org TestSuite tests: Don't validate stderr until fixed
2021-07-28 syoussefi@chromium.org infra: Enable gles3.2 deqp tests with direct SPIR-V generation
2021-07-28 syoussefi@chromium.org infra: Enable gles3.1 deqp tests with direct SPIR-V generation
2021-07-28 bikineev@chromium.org Disable RunAppAsync and RunAppAsyncRedirectStderrToStdout
2021-07-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 42c7e9bc00c2 to ecc420b25566 (2 revisions)
2021-07-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 915947134128 to b8bcc42a41e5 (2 revisions)
2021-07-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from f18a56e21b43 to 7ad7eb435b84 (470 revisions)
2021-07-28 syoussefi@chromium.org Translator: Make sure built-in variables are consistent

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: kjlubick@google.com
Change-Id: I287945bbf8e81fc74b35e5d6954f542c0e81a39b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434377
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-29 05:27:43 +00:00
skia-autoroll
ef721154a7 Roll SwiftShader from b8bcc42a41e5 to 44660405ea6c (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b8bcc42a41e5..44660405ea6c

2021-07-28 capn@google.com Initialize llvm::orc::ExecutionSession with default SelfExecutorProcessControl

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: kjlubick@google.com
Change-Id: Icd121263ac1e064a4c7b73371d7d8ed6a9bd8f69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434376
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-29 05:14:42 +00:00
Chris Dalton
8cd8e27c2c Enable the atlas path renderer for GrAAType::kCoverage
This will definitely cause regressions on a whole slew of benchmarks
that were carelessly regurgitating cached bitmaps until the system
memory was blown. But the well defined memory limits of the atlas and
resilience to animation are worth it. If a client still wants this
type of caching they can always render their own bitmaps using Skia
and cache them.

Bug: chromium:928984
Bug: skia:12258
Change-Id: I277f50cb9192f1cf5fe8d4b7f629abe72432150a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433917
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-07-29 01:29:14 +00:00
Mike Reed
9459c1bb05 Move stub methods for updating shader into base
Change-Id: I2069553795403ea85e51eb84d4b146d10e59b027
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434296
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-07-28 22:14:47 +00:00
Chris Dalton
cdabdce301 Place the atlas path renderer above triangulation in the chain
This will cause some regressions on static, cached content, but the
hope is that the overall reliability of the atlas approach is more
desirable in the end.

Bug: skia:12258
Change-Id: I6db29342a70af6ebef61ebe91d406ed7692467f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433916
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-07-28 21:48:04 +00:00
Chris Dalton
72fd33ac58 Limit the max atlas path width to 1024
The way GrDynamicAtlas works, a single 2048x1 path is given an entire
2048x2048 atlas with draw bounds of 2048x1025. Limit the max width to
1024 to avoid this landmine until it's resolved.

Bug: skia:12291
Change-Id: I4719ea789615a22238fa30b66f857dbfc113f33d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433966
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-07-28 21:42:45 +00:00
Chris Dalton
8a1bbaa210 Remove uber paths from the tessellation atlas
Implements the atlas properly with draw lists instead of taking a
shortcut with uber paths. This speeds up the chalkboard by ~20% on my
Windows laptop (10.9 -> 8.6ms).

Bug: skia:12258
Bug: chromium:928984
Change-Id: Icabccd9a797f5802a11eb087fc97c23edd895679
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433876
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-07-28 21:36:50 +00:00
recipe-roller
c23f34894d Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
c5dc7a267c
  c5dc7a2 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 4a50fe70103e to 0bed1f0a6f81

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ieda5ae595dda868fc5552aa284119c113029bbef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433963
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-28 21:20:14 +00:00
Herb Derby
3b6ee00686 remove unused uniforms from update
Change-Id: Icc2cbce4080e9d5a76ea040982279d63fe198f69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434160
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-07-28 21:08:55 +00:00
Brian Osman
7fd83ebd39 Fix SkTLList::popTail
Change-Id: Id3e4d10456be6e0e0329600f05641034f3ffdb8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434336
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-07-28 20:23:38 +00:00
skia-autoroll
257ce471d5 Roll SK Tool from 87274fcd2b55 to 7159a93d57df
https://skia.googlesource.com/buildbot.git/+log/87274fcd2b55..7159a93d57df

2021-07-27 rmistry@google.com [skcq] Detect and post a better comment when merge conflicts occur

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: jcgregorio@google.com
Change-Id: I756952b9b6dfea7ee50fcca10faf1833c36efd1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432694
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-28 20:13:18 +00:00
Robert Phillips
4dca83162b Rename GrSurfaceDrawContext to skgpu::v1::SurfaceDrawContext
This CL is mostly mechanical. It:

replaces "src/gpu/GrSurfaceDrawContext.h" #includes with
         "src/gpu/v1/SurfaceDrawContext_v1.h" and reorders

replaces "class GrSurfaceDrawContext;" with
         "namespace skgpu { namespace v1 { class SurfaceDrawContext; }}"

replaces "GrSurfaceDrawContext*" with "auto" where possible
replaces "rtc" with "sdc"
replaces "surfaceDrawContext" with "sdc"
replaces GrSurfaceDrawContext with skgpu::v1::SurfaceDrawContext
reflows parameters as needed

This CL does not try to:

make skgpu::v1::SurfaceDrawContext V1-only
minimize the skgpu and/or skgpu::v1 prefixes

Those two tasks will be accomplished in follow up CLs. This CL is just trying to get the bulk of the mechanical changes comprehensibly landed.

Bug: skia:11837
Change-Id: I6fe59080249d585df8f5d27c6b67569cdc35842f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433156
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-07-28 20:12:10 +00:00
Joe Gregorio
f1f542cde8 [switchboard] Switch S20s over to arm64 RPis.
Bug: skia:12063
Change-Id: I47257179d38de0452766ce70857eaf0a920b7abc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434156
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-07-28 18:36:40 +00:00
Herb Derby
5992f9eb43 draw vertices: fast triangles using a shader
Introduce a new call to SkShaderBase to return an
SkUpdatableShader. An SkUpdatableShader is both a SkShaderBase
and has an update() method.

If the onUpdatableShader call returns !nullptr, then the
shader's specialized updatable shader is used. Otherwise,
the shader is wrapped in a TexCoordShader.

This scheme allows Shaders to have specialized updaters,
but also adds updaters for shaders that don't need
specialization.

orig  this  bench
771µs 779µs verts_textures_colors
217µs 335µs verts_textures
275µs 380µs verts_textures_persp

Bug=skia:11822

Change-Id: I11ba344eba96188c5631228cd5e91c5d834ea3d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/429417
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-07-28 18:08:35 +00:00
Chris Dalton
17eaf62160 Update GrPathTessellator::prepare() to take a list of paths
This allows us to batch multiple paths together in a single
tessellation. The first user will be the atlas, but the convex
renderer is also a good candidate.

Bug: skia:12258
Change-Id: I4d415d32bbf423cfd9b7ddf2543c21371936da90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433776
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-07-28 16:56:51 +00:00
Jim Van Verth
5bd97720a8 Metal: use staging buffer for updating non-dynamic buffers
For non-dynamic (i.e. GPU-resident) buffers, onUpdateData() uses a
staging buffer rather than map() and unmap(). In addition, map() and
unmap() do nothing for non-dynamic buffers.

Also removes fOffset member, as it was never anything but 0.

Change-Id: I8bcd36c10c14d21395693686696462cca79a0e70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433678
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-07-28 16:40:34 +00:00
Brian Osman
3a21d497bd Revert "Reland "SkCanvas: switch from SkDeque to simpler SkSTArray""
This reverts commit 4573ae19fe.

Reason for revert: Breaks Android roll.

Original change's description:
> Reland "SkCanvas: switch from SkDeque to simpler SkSTArray"
>
> This is a reland of 222c1c1631
>
> Original change's description:
> > SkCanvas: switch from SkDeque to simpler SkSTArray
> >
> > Faster, and much less klunky.
> >
> > Change-Id: I8531ea85bbfaff4ce1217d20803dd040a6edfff8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433477
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Reviewed-by: Mike Reed <reed@google.com>
>
> Change-Id: I3efc47c7e6b7362f62188b3a6793d71edef83b67
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433979
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=brianosman@google.com,reed@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: Ibd0f9548bbab308cd70d6f77abb02c87e2e6aba3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434041
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-28 14:57:39 +00:00
Herb Derby
85dbc1e527 Reland "draw vertices: put SkVM implementation behind a flag"
This is a reland of 2efda3ad16

I don't know what I was thinking. I forgot to run tests
with --skvm. I think it needs to follow back on Raster
Pipeline until I have drawVertices fully implemented for
SkVM.

Original change's description:
> draw vertices: put SkVM implementation behind a flag
>
> Change-Id: I8bcaad6169d5e243b48984657347efed7063b654
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433496
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

Change-Id: I5d5e16e7a1f4e3ff008a3d095556b6bf9ed19073
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433980
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-07-28 14:47:38 +00:00
Brian Osman
4573ae19fe Reland "SkCanvas: switch from SkDeque to simpler SkSTArray"
This is a reland of 222c1c1631

Original change's description:
> SkCanvas: switch from SkDeque to simpler SkSTArray
>
> Faster, and much less klunky.
>
> Change-Id: I8531ea85bbfaff4ce1217d20803dd040a6edfff8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433477
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

Change-Id: I3efc47c7e6b7362f62188b3a6793d71edef83b67
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433979
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-28 14:45:45 +00:00
Brian Osman
79b1478ffe Revert "SkCanvas: switch from SkDeque to simpler SkSTArray"
This reverts commit 222c1c1631.

Reason for revert: Assertion failures.

Original change's description:
> SkCanvas: switch from SkDeque to simpler SkSTArray
>
> Faster, and much less klunky.
>
> Change-Id: I8531ea85bbfaff4ce1217d20803dd040a6edfff8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433477
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

TBR=brianosman@google.com,reed@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: I192a7f8b08c11b7be10c3248d9f89d8914fd4fa7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433978
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-28 12:51:53 +00:00
Brian Osman
222c1c1631 SkCanvas: switch from SkDeque to simpler SkSTArray
Faster, and much less klunky.

Change-Id: I8531ea85bbfaff4ce1217d20803dd040a6edfff8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433477
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-07-28 12:18:13 +00:00
skia-autoroll
c7218f57ad Roll ANGLE from b8d6f8aa936d to 0d06c3cf936a (9 revisions)
b8d6f8aa93..0d06c3cf93

2021-07-28 pkasting@chromium.org Fix some instances of -Wunused-but-set-variable.
2021-07-28 syoussefi@chromium.org Translator: Fix sizing of tessellation shader arrays
2021-07-27 ynovikov@chromium.org Revert "VulkanExternalHelper: Use VK_KHR_image_format_list extension."
2021-07-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d85297cbd31b to 42c7e9bc00c2 (37 revisions)
2021-07-27 pkasting@chromium.org Fix some instances of -Wunreachable-code-aggressive.
2021-07-27 lubosz.sarnecki@collabora.com VulkanExternalHelper: Use VK_KHR_image_format_list extension.
2021-07-27 lubosz.sarnecki@collabora.com FrameCapture: Capture GLES1 matrix stack.
2021-07-27 lubosz.sarnecki@collabora.com GLES1State: Add getMatrixStack function.
2021-07-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 779c0d440060 to f18a56e21b43 (464 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: kjlubick@google.com
Change-Id: I0fcfc1999ecfe27860493d96c9f117f294b6dd33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433816
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-28 05:26:43 +00:00
skia-autoroll
5def25af3f Roll SwiftShader from fdb16bd6c291 to b8bcc42a41e5 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/fdb16bd6c291..b8bcc42a41e5

2021-07-27 capn@google.com Remove -Wno-unused-but-set-variable flag usage

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: kjlubick@google.com
Change-Id: I889948754de72ac9f9567c4784eef30522cef687
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433796
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-28 05:17:48 +00:00
recipe-roller
77292ac4a1 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

depot_tools:
1bd4ffa295~..493faf16216e7375a51be0139645969d93895520
  1bd4ffa (linxinan@google.com)
      Remove wait-for-merge from gerrit client tool
  493faf1 (linxinan@google.com)
      Add new API to update files by gerrit module

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id6a42f64d028aa078b48d8e63d28358653b31fd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433756
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-28 02:36:46 +00:00
recipe-roller
2527fd0b8d Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
537f0cb4e8~..b26ca6d25250558db80f05c8a515fea2c00b0a2a
  537f0cb (yiwzhang@google.com)
      py3: replace os.unsetenv with os.environ.pop
  b26ca6d (yiwzhang@google.com)
      py3: add cffi to vpthon3 spec

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I031e944ec029e9129941b4515598a2e6380bbd22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433738
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-28 01:33:17 +00:00
recipe-roller
dc409946e9 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

depot_tools:
acc131cedd
  acc131c (ukai@google.com)
      add infradata_rbe config

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0cbf2bd3e4109ee89f6e2913ad37d18f3f20766b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433736
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-28 00:32:45 +00:00
Herb Derby
32e07ae6bc Revert "draw vertices: put SkVM implementation behind a flag"
This reverts commit 2efda3ad16.

Reason for revert: Doesn't pass tests on SkVM bots.

Original change's description:
> draw vertices: put SkVM implementation behind a flag
>
> Change-Id: I8bcaad6169d5e243b48984657347efed7063b654
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433496
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

TBR=herb@google.com,reed@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: Id76791621398481b3af3acf82e459be5263caba3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433676
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-07-27 22:29:54 +00:00