Commit Graph

56445 Commits

Author SHA1 Message Date
Robert Phillips
4916c318fd Retract some headers (mainly GrOpsTask.h)
Bug: skia:11837
Change-Id: I22691e282fe9e994aafe32bed97f284d54595f74
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432936
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-08-02 16:55:40 +00:00
Brian Salomon
880bb534a0 GrGLSLGP performs pre-order traversal to determine FP varyings.
The traversal examines sample usage during descent and tracks the last
matrix sample usage encountered. Each FP that uses coords directly gets
a varying inserted at the position of the last matrix sample usage
encountered.

Whether a starting perspective coord or perspective matrix is
encountered is also tracked on the stack, removing the need for a
FP flag to track this.

Bug: skia:12198
Change-Id: I9f6302c1c2b6619b67a0d6ee1697d6e971560a15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433359
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-08-02 16:24:52 +00:00
Ethan Nicholas
e0531f50e3 Removed redundant setup code from DSLFunction
This code was written back when most of the function setup was happening
in IRGenerator (and therefore not being hit by the DSL, which was
creating a function declaration directly). Since then, the Function
setup code was moved from IRGenerator into SkSLFunctionDeclaration.cpp,
making this copy of it in the DSL redundant.

Change-Id: Ide110a4ae7dc8b3182c467ee3a2ca249b07d7e36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433159
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-08-02 16:05:34 +00:00
Robert Phillips
33bf2b56f9 Pipe all SDC creation through the recording context
In the new GrSurfaceContext class hierarchy we can get either a v1 or v2 SFC/SDC depending on the context options setting.

Bug: skia:11837
Change-Id: Ia25bc10b58bbbaf65a484b323d9d0eee471bb7ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435276
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-08-02 16:04:52 +00:00
Brian Salomon
2957885548 Reland "Fix check in GrGLGpu for whether PBO 0 is bound"
This is a reland of 62d42db282

Check for PBO support before binding PBO 0.

Original change's description:
> Fix check in GrGLGpu for whether PBO 0 is bound
>
> Found in OOP-R canvas in Chrome. Most likely async read followed by
> sync read with an intervening resetContext().
>
> Bug: chromium:1208212
>
> Change-Id: Ibf85f070d0a4cd389f67e9b249655b0ef667c66e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435277
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

Bug: chromium:1208212
Change-Id: I0da48fa9a1f31ec15827f9bef980e9d5a7d70d26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435622
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-08-02 15:06:04 +00:00
Brian Salomon
4f8d4be6bf Convert device space effect back to subclass.
No functional change.

This will allow it to use a different sample usage in the future.

Bug: skia:12198
Change-Id: I6d8bef383bf8a75f06e4cd8aa1c5a48188b53592
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433677
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-08-02 14:23:52 +00:00
Brian Salomon
751de92cf1 Revert "Fix check in GrGLGpu for whether PBO 0 is bound"
This reverts commit 62d42db282.

Reason for revert: d3d9 angle tests failing

Original change's description:
> Fix check in GrGLGpu for whether PBO 0 is bound
>
> Found in OOP-R canvas in Chrome. Most likely async read followed by
> sync read with an intervening resetContext().
>
> Bug: chromium:1208212
>
> Change-Id: Ibf85f070d0a4cd389f67e9b249655b0ef667c66e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435277
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:1208212
Change-Id: I85c89a4d0dd63aaafd80d7572c5643cfa547498b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435617
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-08-02 13:59:19 +00:00
skia-autoroll
772ce8489b Roll SK Tool from b8a47193acd9 to 9b136d2f58bd
https://skia.googlesource.com/buildbot.git/+log/b8a47193acd9..9b136d2f58bd

2021-08-02 rmistry@google.com Encode branch name in go/gerrit.FullChangeId
2021-08-02 borenet@google.com [autoroll] Switch from omahaproxy to chromiumdash for branch info
2021-08-02 borenet@google.com [sk] Account for whitespace in asset VERSION files

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 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

Tbr: kjlubick@google.com
Change-Id: I56720b57c658a5de1f8263b0c1e23cadb7dabd70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435584
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-02 13:29:12 +00:00
skia-autoroll
82f5815629 Roll ANGLE from 3036e0903c8d to d4d6c23c7c21 (14 revisions)
3036e0903c..d4d6c23c7c

2021-08-01 pkasting@chromium.org Fix a recently-introduced case of -Wunreachable-code-aggressive.
2021-07-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 55a0cb8b66ac to eca94bf2bef7 (22 revisions)
2021-07-31 syoussefi@chromium.org Translator: Correctly respect precision of gl_FragColor/Data
2021-07-31 syoussefi@chromium.org Disable Precise unittests without SPIR-V gen enabled
2021-07-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix OpImage* on multisampled images
2021-07-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix gl_Clip/CullDistance
2021-07-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix nested ternary operators
2021-07-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: Support vec(..., mat)
2021-07-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 571256871c2e to 0eb84cfc3d3f (25 revisions)
2021-07-30 kbr@chromium.org Get direct-to-Metal backend to run angle_end2end_tests.
2021-07-30 syoussefi@chromium.org Revert "Disable RunAppAsync and RunAppAsyncRedirectStderrToStdout"
2021-07-30 syoussefi@chromium.org Translator: Consolidate EvqFragDepth and EvqFragDepthEXT
2021-07-30 sugoi@google.com Rename WebSwapLayerCGL to WebSwapCGLLayer
2021-07-30 lubosz.sarnecki@collabora.com packed_egl_enums: Add ColorSpace.

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 nifong@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: nifong@google.com
Change-Id: I1911afd89beccb5861b392a22226649c2dcc57ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435577
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-02 05:23:43 +00:00
skia-autoroll
3bbecc3e9a Roll Dawn from b7c7f62829b0 to 7e874a1c096e (2 revisions)
https://dawn.googlesource.com/dawn.git/+log/b7c7f62829b0..7e874a1c096e

2021-07-31 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 2c1fbe801b3a to b209c477db71 (5 revisions)
2021-07-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 1f0200a3fffc to 2c1fbe801b3a (19 revisions)

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

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: Ia4aefe5d74ce50e8d2506f4da628b804a46ed5d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435576
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-02 04:40:41 +00:00
skia-autoroll
60f3e2a7d5 Roll SK Tool from 35acbf78a3c5 to b8a47193acd9
https://skia.googlesource.com/buildbot.git/+log/35acbf78a3c5..b8a47193acd9

2021-08-01 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update CIPD Packages

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 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

Tbr: kjlubick@google.com
Change-Id: I393e88a88a179b2862ec0273c889d278efc218ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435479
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-01 14:50:43 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
2236b79a2a Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I3f340fb3702005236099ce5874a3f2f2a82de9f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435457
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-08-01 08:56:43 +00:00
Mike Reed
464703f514 Add gm exercising strokeandfill
Bug: skia:8428
Change-Id: I82cd1d5774f03f5d746a5290d4d030406f932cd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435436
Reviewed-by: Mike Reed <reed@google.com>
2021-07-31 19:23:47 +00:00
skia-autoroll
028e45b2f0 Roll SK Tool from 30875cd19b97 to 35acbf78a3c5
https://skia.googlesource.com/buildbot.git/+log/30875cd19b97..35acbf78a3c5

2021-07-30 jeffyoon@google.com PGO trybots to trigger based on newly introduced milestone key
2021-07-30 jcgregorio@google.com Add shelf3 POE switch to rack4.
2021-07-30 borenet@google.com [sk] Add Flutter branch support to release-branch command

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: I7d346827781d3b5fa28e659cd37b3adc274053e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435376
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-31 16:13:13 +00:00
Brian Salomon
62d42db282 Fix check in GrGLGpu for whether PBO 0 is bound
Found in OOP-R canvas in Chrome. Most likely async read followed by
sync read with an intervening resetContext().

Bug: chromium:1208212

Change-Id: Ibf85f070d0a4cd389f67e9b249655b0ef667c66e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435277
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-07-30 22:38:47 +00:00
recipe-roller
31df6806c0 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:
6adf69fe80
  6adf69f (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 559e1b74816d to 9511bd5330b2

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: If47a5a15c0e2077c24c00130b388f460e0a3b560
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435236
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 20:43:13 +00:00
Herb Derby
98c2dd31ac draw atlas: using skvm
Bug=skia:12225

Change-Id: I1b6816e234cbaa49035bcedfeff894a8d2c31133
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434680
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-07-30 20:35:53 +00:00
John Stiles
82c99d19a2 Reduce size of ChildPtr object.
We take advantage of their shared SkFlattenable lineage to store all
three types of object in the same sk_sp, and check their
Flattenable type to distinguish between them. Accessors allow us to
mimic the coding style of having three distinct fields.

Change-Id: I16426377f10fa2abffbf09bb7998c968614433df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435019
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-30 19:38:54 +00:00
John Stiles
ae2171eba6 Fixup enum name in SkFlattenable.
`SkShaderBase` is an implementation-detail of SkShader and doesn't need
to be in this enum name.

Change-Id: Ieb40a09ae489d4a1e11dfd306d20a8b94ee05ef9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435017
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-07-30 18:19:11 +00:00
John Stiles
68c9325263 Create test case to repro skia:12212.
Change-Id: I2dde12b262f51b00a95eb26f87b85c3f5a19b45b
Bug: skia:12212
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/428961
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-30 17:41:13 +00:00
Rohit Rao
19cd36b20f Removes a deprecated call to CTGetCoreTextVersion() when compiling for iOS 14+.
When compiling for iOS with a min deployment target of 14.0+,
CTGetCoreTextVersion() is marked as deprecated. The Core Text version is
used to enable fallback behavior when the current CoreText version is
known to behave badly. However, the version of CoreText that ships with
iOS 14.0 is greater than the versions which require fallback
behavior. Instead of keeping a map from iOS version to CoreText version,
as recommended by the deprecation message, simply disable all fallback
behavior when compiling for iOS 14.0+.

Change-Id: Ic81a1718247e434cb84d451bbdb8f810f3fe2555
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434042
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-07-30 17:39:43 +00:00
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