Commit Graph

56524 Commits

Author SHA1 Message Date
John Stiles
126788e087 Simplify GetRuntimeBlendForBlendMode.
Now that we support sampling from an SkBlender inside a Runtime Effect,
we can leverage that to reuse the blends from SkBlender::Mode. This lets
us avoid hard-coding copies of every built-in blend function.

Change-Id: I51f380490611fbde943c16648999b4fd4e6a14a9
Bug: skia:12257, skia:12085
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434472
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-30 16:42:36 +00:00
John Stiles
ce9a5c953d Allow sampling from SkBlenders.
Runtime shaders, color filters, and blenders are all able to sample from
a blender. These use the blend-function signature; both a src-color and
dst-color must be passed to sample. i.e.: sample(blender, s, d)

Change-Id: I3738e6b0b4af6d1d79e62ca1815c80d6a1ae9d6f
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432056
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-30 16:41:54 +00:00
Robert Phillips
1a2e7de8ea Update tests for a V1-only skgpu::v1::SurfaceDrawContext
Bug: skia:11837
Change-Id: If8dd864d6cd8bc5ab9569fbab40866e1810dbc27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434162
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-07-30 16:33:41 +00:00
Joe Gregorio
2ee5cb516a [switchboard] Move P30's over to switchboard based RPis.
Bug: skia:12063
Change-Id: I86833ddfac9414348cbc6cf5bfb39e09c02c7d92
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434857
Auto-Submit: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-07-30 16:19:17 +00:00
John Stiles
02b6f6fdc3 Fix cloning of Runtime Blend fragment processors.
Previously, a cloned Runtime Blend FP would lose its
kIsBlendFunction_Flag, causing invalid code to be generated.

This broke the `filltypespersp` slide when "Force Runtime Blends" is on.

Change-Id: I9a140bc6467536e5ebeb2ca47eca6f013462dd58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434919
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-30 16:10:48 +00:00
John Stiles
ab7ff17156 Guard TopDeviceSurfaceFillContext calls for null return values.
TopDeviceSurfaceFillContext can return null if there is a paint filter
on the canvas.

Change-Id: I4aa5db63278a561dabea3390b0975bf072e1f679
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434918
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-07-30 15:36:45 +00:00
Robert Phillips
14d87226b3 Wean SkMorphologyImageFilter off of SurfaceDrawContext_v1.h
Without the SkVx.h #include this broke the G3 roll as part of:

https://skia-review.googlesource.com/c/skia/+/431384 (Retract GrSurfaceDrawContext.h a bit)

This new version should work. This is part of making v1::SurfaceDrawContext V1-only.

Bug: skia:11837
Change-Id: I240e5feeef6de89199882e666c71a864d13b9605
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434163
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-07-30 14:06:54 +00:00
John Stiles
04c612244a Convert GrBlendFragmentProcessor into a blend function.
When GrBlendFragmentProcessor is used to implement a SkBlender, we need
to pass distinct source and destination colors. A single `_input`
argument doesn't allow for this, but by enabling the blend-function
signature on the FP, we get both a `_src` and `_dst` color to work with.

By default, the GrBlendFragmentProcessor continues to pass `_src` to
both `srcFP` and `dstFP` since this is how it has historically worked.
To use the `_dst` color, the caller can wrap the dstFP in a
`UseDestColorAsInput` FP.

Change-Id: I105e1ee2554c3d526a82fffd26bc696a2b8dc248
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434045
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-07-30 14:02:18 +00:00
John Stiles
2a6f73cb27 Create FP GrFragmentProcessor::UseDestColorAsInput.
Returns a fragment processor which samples the passed-in fragment
processor using `args.fDestColor` as its input color. Pass a null FP
and it will return `args.fDestColor` directly. (This is only meaningful
in contexts like blenders, which use a source and dest color.)

This also fixes a bug in invokeChild which failed to forward along the
dest color when one blend function invokes another blend function, and
fixes an edge case where GrSkSLFP where it would fail to enable the
blend-function mode when the dstFP is null.

Change-Id: I46c8bffeb602d0c0b2b4dd1723a893582f3007ed
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434681
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-07-30 14:01:48 +00:00
skia-autoroll
5f7c32a568 Roll SK Tool from 63dbb5c871a7 to 8ad6b7700eea
https://skia.googlesource.com/buildbot.git/+log/63dbb5c871a7..8ad6b7700eea

2021-07-29 jcgregorio@google.com [machine] Fix Maintenance Mode.
2021-07-29 jcgregorio@google.com [switchboard] Remove old Ansible files that didn't use roles.
2021-07-29 jcgregorio@google.com [switchboard] Add create_chrome_bot_user Ansible role.
2021-07-29 jcgregorio@google.com [switchboard] Add copy_service_account_key Ansible role.
2021-07-29 kjlubick@google.com [gold] Switch to v2 of diffcalculator worker
2021-07-29 kjlubick@google.com [gold] Add v2 version of diffworker
2021-07-29 jcgregorio@google.com [switchboard] Add Ansible role install_test_machine_monitor.
2021-07-29 jcgregorio@google.com [switchbaord] Add set_root_password Ansible role.
2021-07-29 jcgregorio@google.com [switchboard] Add install_collectd Ansible role.
2021-07-29 jcgregorio@google.com [switchboard] Add swarming_needs Ansible role.
2021-07-29 rmistry@google.com Update cq-watcher and go/cq for SkCQ
2021-07-29 jcgregorio@google.com [switchboard] Add copy_adbkey Ansible role.
2021-07-29 rmistry@google.com [skcq] Tweak AddComment expo backoff values
2021-07-29 rmistry@google.com Use the most specific representation of a ChangeID to avoid multiple change errors
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.

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: I5d4ad17d4d28edea1c9d00db03c3b8e4d5689225
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434806
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-30 13:27:41 +00:00
Kevin Lubick
5d22c0e8ca [canvaskit] Remove RenderSKP test that times out
Change-Id: I78e2ec9cddc943b531cd34b384e138cc3dc46c11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434836
Reviewed-by: Eric Boren <borenet@google.com>
2021-07-30 13:04:56 +00:00
Brian Osman
8adb625505 Revert "SkCanvas: switch from SkDeque to std::deque"
This reverts commit cc9d20f308.

Reason for revert: Wrong API pre-C++17

Original change's description:
> 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>

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

Change-Id: Ica125d5ad04332d68f54dd544373fa29eaf2b69c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10987
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434856
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-30 12:52:37 +00:00
skia-autoroll
d31b15da6e Roll ANGLE from ae24c9d38782 to 3036e0903c8d (5 revisions)
ae24c9d387..3036e0903c

2021-07-29 syoussefi@chromium.org Vulkan: Direct SPIR-V Gen: Support the precise keyword
2021-07-29 syoussefi@chromium.org Define angle::HashSet potentially using abseil
2021-07-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ecc420b25566 to 55a0cb8b66ac (8 revisions)
2021-07-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from b8bcc42a41e5 to 44660405ea6c (1 revision)
2021-07-29 kbr@chromium.org Disable Metal shader cache again in angle_end2end_tests.

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: I164f3c83a65c35a6edc133bcb3f1db4d944388ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434798
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-30 05:30:42 +00:00
skia-autoroll
66ec2a5986 Roll Dawn from d59ba7c18b29 to b7c7f62829b0 (9 revisions)
https://dawn.googlesource.com/dawn.git/+log/d59ba7c18b29..b7c7f62829b0

2021-07-30 jiawei.shao@intel.com Implement inter-stage variable matching rules - Part II
2021-07-29 enga@chromium.org Allow creating texture views from destroyed textures
2021-07-29 shrekshao@google.com Add docs/external_resources.md to put links to google docs etc.
2021-07-29 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 72494048277a to 1f0200a3fffc (1 revision)
2021-07-29 enga@chromium.org Support multisampled depth texture bindings
2021-07-29 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 889b77a2a17c to 72494048277a (4 revisions)
2021-07-28 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 085dcbbe2037 to 889b77a2a17c (3 revisions)
2021-07-28 cwallez@chromium.org Deprecate readonly storage textures
2021-07-28 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from edecbb161f41 to 085dcbbe2037 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from edecbb161f41 to 1f0200a3fffc

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC bclayton@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-Debug-Dawn
Bug: None
Tbr: bclayton@google.com
Change-Id: I201d51eacd00eb7d23900a82254afebcf0d545ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434799
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-30 05:03:19 +00:00
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