Commit Graph

59631 Commits

Author SHA1 Message Date
skia-autoroll
6e9b0ab507 Roll SK Tool from 4a81244729f7 to d37b5a4a6c21
https://skia.googlesource.com/buildbot.git/+log/4a81244729f7..d37b5a4a6c21

2022-03-08 borenet@google.com [kube] Add configmap-reload to Go deps, build with Bazel

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 borenet@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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: borenet@google.com
Change-Id: I65230f5eb05ad75684596d4da4b30fb807fe3008
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518058
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-08 20:20:46 +00:00
Kevin Lubick
57c1541715 Remove old experiments
These are unowned and/or unused.

Change-Id: I2ca871be712a7bf990ff89acc23b6a519bb19374
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517996
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-08 19:07:00 +00:00
Ben Wagner
35453dc1e1 Make GrVkRenderPass::AttachmentFlags enum unsigned
These are flags and so are logically unsigned. This fixes an issue where
ASAN detects that the bitwise negation of of all listed enum values will
not fit in underlying enum type.

Change-Id: Idb993f29bdac36ef8960392b89a748f708dae520
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517878
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-03-08 18:32:30 +00:00
Greg Daniel
3c254e1d3b [Graphite] Support caching of buffers.
Bug: skia:12754
Change-Id: I8b74fadabee2ec90c20f9b53ff4946a3e2062cd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515956
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-03-08 18:14:47 +00:00
Kevin Lubick
03f84116a8 [canvaskit] Enable Debugger bindings for autobuild
Change-Id: I12a4be7d1dabd721fd4aa82242bf646791a0b229
Bug: skia:12995
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517677
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2022-03-08 17:42:37 +00:00
Brian Osman
258954f29e Update build_command_buffer to copy ANGLE libs
This is required, now that the passthrough decoder is enabled
(particularly on Mac, where we run our command buffer bots).

Change-Id: Id2c5ccff1f27669c487cade04b912a7792077c38
Cq-Include-Trybots: luci.skia.skia.primary:Build-Mac-Clang-x86_64-Debug-CommandBuffer
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517776
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-08 17:29:47 +00:00
Ben Wagner
6c630f2ce6 Make SkScalerContext enums scoped.
This was motivated by SkScalerContextFlags putting `kNone` into the
global namespace. Instead of adding a suffix, change these internal
enums to be scoped and update the users.

Because SkScalerContextFlags is used like a bitfield,
`SK_MAKE_BITFIELD_OPS` is used to provide the appropriate operators. The
macro implementation is updated to handle scoped enums, remove the very
dangerous, unwanted, and unused templated operators, and add operator~
since that is needed by one existing user.

Also, for some reason this allows the compiler to find an unused field
which is removed.

Change-Id: Id31c80b381bffaf9b623f6a8ec7d86751d3d99f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517616
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-03-08 16:24:47 +00:00
Ben Wagner
d727f04dd1 FreeType bitmap glyphs never have a path.
If a glyph is to be drawn from a bitmap, preemptively mark it as not
having any path. This prevents attempts to fake bold or draw large
`sbix` glyphs from paths.

Change-Id: I2959f18e70f29b13ca198a710dffc88a249c73d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517617
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-03-08 16:24:29 +00:00
Robert Phillips
335a1d0454 [graphite] Split SkPipelineData out into its own file(s)
SkPipelineData is evolving into a big deal - it deserves it owns files.

Bug: skia:12701
Change-Id: I78b4100f1b90fa10f2b264e6d13fca6f15bba39b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516157
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-08 16:04:35 +00:00
John Stiles
6cb0d972c2 Remove obsolete double-initialization check.
Change-Id: I5b37d4ce1b8b78de634e6bfaa2d32bfc3b88c54f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517756
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-08 16:01:48 +00:00
Brian Osman
c971058638 Avoid deleting singleton flattenables
Bug: oss-fuzz:45355
Change-Id: I1958f7c009ae186485cc59e9ce1c3e8179a0acee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517737
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-08 15:47:49 +00:00
Robert Phillips
6509844d91 [graphite] Add SkPaintParamsKey::BlockReader class
This class hides a lot of the finicky details of block handling and provides a structured means of accessing an SkPaintParamsKey's data payload.

In a following CL this will be used to expose the SkPaintParamsKey's data to the snippet glue code.

Bug: skia:12701
Change-Id: I6554940429c7c6e048cfd37533951c61cf255408
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516337
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-08 15:33:35 +00:00
Robert Phillips
0c43db950c [graphite] Make GrBlend shareable between Graphite and Ganesh
Additionally make the enums enum-classes.

We will need this to specify fixed function blend modes in Graphite.

This CL is mainly mechanical (i.e., global replace) but some fix-ups were required for our internal bit twiddling with the enum-classes.

Bug: skia:12701
Change-Id: I67abcf8274d14e691974cf253bf65dcb4697bd9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515318
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-08 14:51:44 +00:00
John Stiles
5e9388d170 Add support for conditional unit tests.
DEF_CONDITIONAL_TEST and DEF_CONDITIONAL_GPUTEST_FOR_xxxx_CONTEXTS will
allow unit tests to be considered or ignored based on a passed-in
boolean condition. DEF_TEST_DISABLED is now implemented as a conditional
test hard-coded with a "false" condition.

This allows macros (such as SKSL_TEST) to add unit tests based on the
result of a comparison.

Change-Id: Ic5325569009cfce768ba8942907c1d3e7d69ca1c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517516
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-08 14:35:54 +00:00
Brian Osman
e3444c8bf9 Fix broken jsfiddle links
These were still using an outdated version of SkRuntimeEffect.makeShader

Change-Id: Ie55b0eb764cc7f662a8a8893973a60b9746ca51c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517276
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-08 13:41:28 +00:00
Kevin Lubick
a573cbab1a Revert "[includes] Remove link between SkImage.h and SkImageEncoder.h"
This reverts commit f60584eb0f.

Reason for revert: Chrome and G3 issues

Original change's description:
> [includes] Remove link between SkImage.h and SkImageEncoder.h
>
> According to go/chrome-includes [1], this will save about
> 210MB (0.09%) off the Chrome build. http://screen/GVdDaRRneTRuroL
>
> [1] https://commondatastorage.googleapis.com/chromium-browser-clang/include-analysis.html#view=edges&filter=%5Ethird_party%2Fskia%2Finclude%2Fcore%2FSkImage%5C.h%24&sort=asize&reverse=&includer=%5Ethird_party%2Fskia%2Finclude%2Fcore%2FSkImage%5C.h%24&included=&limit=1000
>
> Canary-Android-Topic: image-encoder-2
> Change-Id: If911ec283a9ce2b07c8509768a6a05446573a215
> Bug: 242216
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512416
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>

Bug: 242216
Change-Id: Idc906ff54d8baf49989d3ee24e045d7b0ca710df
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517676
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Kevin Lubick <kjlubick@google.com>
2022-03-08 13:09:49 +00:00
skia-autoroll
9909ff7c5e Roll ANGLE from 36132a265702 to 74f327021439 (7 revisions)
36132a2657..74f3270214

2022-03-08 gman@chromium.org Metal: Fix for mulitsampled buffers losing their contents
2022-03-07 jmadill@chromium.org Fix base level changes not updating FBO completeness check.
2022-03-07 antonio.caggiano@collabora.com EGL: Validate and implement dmabuf extensions
2022-03-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e572921329ff to ac2a0b67e505 (9 revisions)
2022-03-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 561264b73b36 to fc40ddd2a901 (3 revisions)
2022-03-07 gman@chromium.org Metal: Fix WebGL CTS fbomultisample tests failing in Metal
2022-03-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 46c84f1b0c3f to 62518720406c (527 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 brianosman@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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: brianosman@google.com
Change-Id: I81d56661e277e4103cb5c5504157ee3407eeac0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517596
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-08 05:35:13 +00:00
skia-autoroll
aee84bee07 Roll Dawn from 95f44fd3b3fd to 345bf87c35dc (7 revisions)
https://dawn.googlesource.com/dawn.git/+log/95f44fd3b3fd..345bf87c35dc

2022-03-08 jiawei.shao@intel.com Vulkan: Use Zero Initialize Workgroup Memory extension if possible
2022-03-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ac2a0b67e505 to a7a3a6313703 (7 revisions)
2022-03-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from e75be480f865 to ea70300ba044 (5 revisions)
2022-03-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 4cb132918164 to 41f8d2ad52ff (7 revisions)
2022-03-07 shrekshao@google.com Deprecate clearColor, clearDepth, and clearStencil in dawn.json
2022-03-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 29cf938afd2a to ac2a0b67e505 (1 revision)
2022-03-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 36132a265702 to e75be480f865 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 4cb132918164 to 41f8d2ad52ff

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 lokokung@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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: lokokung@google.com
Change-Id: Ie6738402d1a2250cc6f473e7740177eae6a71679
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517597
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-08 04:36:48 +00:00
John Stiles
88f360e963 Remove unused argument from skqp command-line tool.
This only affected one helper script; the others just automatically
forward any user-specified arguments.

Change-Id: Icd401d222d14e459e3c4429e2b2fec567834cada
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517356
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-07 23:44:59 +00:00
Greg Daniel
0cab38e81a [graphite] Add support for caching scratch textures.
Bug: skia:12754
Change-Id: I666bda6a192e3c3dc95953e5a36fbabbf65171ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515857
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-03-07 23:27:47 +00:00
Kevin Lubick
f60584eb0f [includes] Remove link between SkImage.h and SkImageEncoder.h
According to go/chrome-includes [1], this will save about
210MB (0.09%) off the Chrome build. http://screen/GVdDaRRneTRuroL

[1] https://commondatastorage.googleapis.com/chromium-browser-clang/include-analysis.html#view=edges&filter=%5Ethird_party%2Fskia%2Finclude%2Fcore%2FSkImage%5C.h%24&sort=asize&reverse=&includer=%5Ethird_party%2Fskia%2Finclude%2Fcore%2FSkImage%5C.h%24&included=&limit=1000

Canary-Android-Topic: image-encoder-2
Change-Id: If911ec283a9ce2b07c8509768a6a05446573a215
Bug: 242216
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512416
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-07 21:32:13 +00:00
Brian Osman
22c94544b3 Support arbitrary bicubic filtering in raster pipeline
Guarded for chromium and Google3

Bug: chromium:1302855
Change-Id: If9b085a24d5f03e6971506c98463aa8c09100a67
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516016
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-07 20:56:55 +00:00
John Stiles
d8590052e8 Remove GM test support from SkQP.
We only want to run pass/fail unit tests on SkQP. Gold image support has
been removed.

In this CL, the command-line argument for render tests has been left
as-is to avoid breaking scripts which rely on it. This can be removed in
a followup. The Java binding continues to exist as a no-op.

Change-Id: Ib8acb6cb490b935b10d841e2319fe4537696bda1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516336
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-07 19:09:53 +00:00
Julia Lavrova
1cd8104ea3 Reverting a part of blitter selection change
that wouldn't allow to use RasterPipeline
when SkVM blitter cannot be created

Change-Id: Ieadf06169c8163a8490df19258eb4dd25e31ee05
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516997
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2022-03-07 18:39:58 +00:00
John Stiles
28b3520559 Use SkTHashMap for the SkSL program-size checker.
Change-Id: Iae781edcd966393d6c1b43d79c7fb71705b8593d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516456
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-03-07 18:34:17 +00:00
Dichen Zhang
7225b26450 Add color-depth detection
ag/16935648 added a method to detect the color depth of R/G/B channel
for input sources. This change does the following: (1) call this new method and default
SkAndroidCodec to 1010102 for 10-bit images; (2) add color-depth to
SkEncodedInfo.

Change-Id: I3ede4a7a6223da2d4c075403d6ee280db086e0be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512076
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2022-03-07 18:22:52 +00:00
Julia Lavrova
bbb1fef951 Switch from SkPaintShader to SkColorShader
as a small optimization and to prepare for future
bigger optimization

Change-Id: Iafda673533c05417de5092549105e82959ba9fcf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516378
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2022-03-07 17:16:50 +00:00
John Stiles
6a10556775 Reject equality operators on opaque types.
ES2 disallows opaque types in expressions (other than passing them to
their associated builtin functions). We now enforce a similar
restriction on SkSL opaque types.

While I was there, I added several other cases to the invalid-shader
test to make sure that they were all caught.

I needed to reorder some code to make sure that ternary expression error
messages didn't change. Ternary expressions now check for opaque types
before checking that the left-side type and right-side type are
compatible. This is because we check for "compatible" ternary
expressions by checking if `leftSide == rightSide` would be accepted.
`shader1 == shader2` used to be considered a valid expression for the
purposes of this test, but not anymore.

Change-Id: I62a0a31feca9dadd428da7d1b48d7693c4b6434d
Bug: skia:13026
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516802
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-07 15:19:46 +00:00
Kevin Lubick
2d86f6f5db Reland "[includes] Remove include link between SkPathRef.h and SkRRect.h"
This is a reland of 37b8239bec

Upstack changes:
 - http://ag/17004908
 - https://github.com/flutter/engine/pull/31654

Original change's description:
> [includes] Remove include link between SkPathRef.h and SkRRect.h
>
> According to go/chrome-includes [1], this will save about
> 40MB (0.02%) off the Chrome build. http://screen/4GnPjFaYpwCVHVL
>
> I'm not quite sure why the link is so expensive, but we can
> forward declare it and move the implementation from the .h
> to the .cpp file easily enough.
>
> [1] https://commondatastorage.googleapis.com/chromium-browser-clang/include-analysis.html#view=edges&filter=%5Ethird_party%2Fskia%2Finclude%2Fprivate%2FSkPathRef%5C.h%24&sort=includes&reverse=&includer=%5Ethird_party%2Fskia%2Finclude%2Fprivate%2FSkPathRef%5C.h%24&included=&limit=1000
>
> Canary-Chromium-CL: 3485346
> Change-Id: Ie3a5e7a735426f883a6c06ddbd3b8bf148bf1709
> Bug: 242216
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512158
> Reviewed-by: Robert Phillips <robertphillips@google.com>

Bug: 242216
Change-Id: I31288895528251fd59913427b95b9f88a871d14b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512776
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-07 15:15:05 +00:00
John Stiles
9f67845661 Use SkTHashMap/Set in the SPIRVCodeGenerator.
Change-Id: Iffc3b1febeae0c29d4c24a483f6c05a01ef363d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515716
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-03-07 15:11:56 +00:00
Kevin Lubick
7d4e12544e [dawn] Clean up include paths and dawn_native namespace
Change-Id: I343d878b2ff3b1abf52007c7612b01c53731566b
Bug: dawn:824,dawn:1275,skia:12512
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516916
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-07 14:38:55 +00:00
John Stiles
b8cee7dab3 Reject operators =, ==, and != on void types.
The fuzzer discovered that we allow == on void types (confusing the SkVM
backend).

Change-Id: Ia9494642faf67f3f86e3a365807be8bd4a7062e4
Bug: skia:13026
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516796
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-07 14:10:29 +00:00
John Stiles
1c2b4492b8 Only run vector-folding logic on vectors.
Previously, we would take the vector-folding path for all types. This
didn't cause any problem for scalars, but failed for "zero-size" types
like void. It isn't valid to compare zero-size values, but we currently
don't reject such code (see skia:13026), and the fuzzer noticed this.
It's safest to only run the vector-folding code when we actually have
multiple slots that need to be folded into one result.

Change-Id: I0bc88043d9a4aeea38ae24dc1a6d1a7430d3d7b0
Bug: oss-fuzz:45279, skia:13026
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516676
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-07 13:58:17 +00:00
John Stiles
c8cb357b53 Fix leak in SkReadBuffer::readFlattenable.
If an object did not have the expected type, we would return null, but
leak the undesired object.

Change-Id: I4f799e6583f8d35e852319106b5b07a5a2e4d354
Bug: oss-fuzz:45240, oss-fuzz:45256, oss-fuzz:45265, oss-fuzz:45270
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516797
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-07 13:42:17 +00:00
skia-autoroll
8e6f4d08ce Roll ANGLE from b72718d23720 to 36132a265702 (18 revisions)
b72718d237..36132a2657

2022-03-05 hailinzhang@google.com Reland "add host cached bit for staging buffer"
2022-03-05 antonio.caggiano@collabora.com Vulkan: Fix DRM format support verification
2022-03-04 romanl@google.com Capture/Replay: Clarify that capture is disabled by default.
2022-03-04 cclao@google.com Vulkan: Align the size before calling into VMA's allocator
2022-03-04 m.maiya@samsung.com Vulkan: Add feature to create pipeline during glLinkProgram
2022-03-04 cnorthrop@google.com Docs: Update CaptureAndReplay to include Perf tests
2022-03-04 yuxinhu@google.com Reland "Remove ImageViewHelper from ResourceUseList"
2022-03-04 jmadill@chromium.org Vulkan: Add overlay widget for cache key size.
2022-03-04 romanl@google.com Capture/Replay: Mark two more tests as flaky.
2022-03-04 jmadill@chromium.org Vulkan: Fix missing empty buffer descriptor.
2022-03-04 lubosz.sarnecki@collabora.com Tests: Add Fire Emblem Heroes trace.
2022-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 2328c3fcf88d to f7e842466e0a (5 revisions)
2022-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from e2a60c1d35cf to 46c84f1b0c3f (1077 revisions)
2022-03-04 jmadill@chromium.org Revert "add host cached bit for staging buffer"
2022-03-04 jmadill@chromium.org Call generate_test_spec_json with vpython3.
2022-03-04 jmadill@chromium.org Protect against deleting a current XFB buffer.
2022-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 7089ef18891d to 561264b73b36 (7 revisions)
2022-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a30aef1d7967 to e572921329ff (5 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 brianosman@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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: brianosman@google.com
Test: Test: ProgramBinary*CreatePipelineDuringLink*
Test: Test: angle_perftests --gtest_filter="*fire_emblem_heroes*"
Change-Id: I3dc24ec0f9cd10d2abecae965b16e8c1ef86d660
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516697
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-07 05:39:14 +00:00
skia-autoroll
396ff9f275 Roll SwiftShader from 561264b73b36 to fc40ddd2a901 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/561264b73b36..fc40ddd2a901

2022-03-06 swiftshader.regress@gmail.com Regres: Update test lists @ 60bf3b4c
2022-03-04 swiftshader.regress@gmail.com Regres: Update test lists @ 561264b7
2022-03-04 dvet@google.com Update debug info code to compile with latest LLVM

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 brianosman@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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: brianosman@google.com
Change-Id: I5578eabea91532cfa8db4cb312d385a0b16d7377
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516696
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-07 04:48:48 +00:00
skia-autoroll
0152ee9981 Roll Dawn from d58b7ef97bde to 95f44fd3b3fd (18 revisions)
https://dawn.googlesource.com/dawn.git/+log/d58b7ef97bde..95f44fd3b3fd

2022-03-06 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b207b888452e to 29cf938afd2a (1 revision)
2022-03-06 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 60bf3b4cf91b to fc40ddd2a901 (1 revision)
2022-03-06 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from e67027c2df29 to 36132a265702 (1 revision)
2022-03-05 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 8c1205c391dc to b207b888452e (1 revision)
2022-03-05 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from e1930f0fac2b to 60bf3b4cf91b (1 revision)
2022-03-05 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from bf3cdca5844b to e67027c2df29 (7 revisions)
2022-03-05 enga@chromium.org Remove WGSL readonly-storage to storage binding type promotion
2022-03-05 shrekshao@google.com Allow sparse color attachments
2022-03-05 hao.x.li@intel.com Add timestampWrites on render/compute passes
2022-03-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e572921329ff to 8c1205c391dc (6 revisions)
2022-03-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from d1003645cb39 to 4cb132918164 (1 revision)
2022-03-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 561264b73b36 to e1930f0fac2b (1 revision)
2022-03-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from b72718d23720 to bf3cdca5844b (10 revisions)
2022-03-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from c7e2e32d489d to d1003645cb39 (2 revisions)
2022-03-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 80fa1bbd5615 to c7e2e32d489d (1 revision)
2022-03-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 81af4024f34b to e572921329ff (1 revision)
2022-03-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 39fdd0d506bf to 561264b73b36 (4 revisions)
2022-03-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 7b202392bf9f to b72718d23720 (5 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 80fa1bbd5615 to 4cb132918164

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 file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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: I62c4f860aef7d25c6ccadcbc24cd3765a05d1c6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516698
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-07 04:43:48 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
f029354f16 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I8be10a4093ac38d4c98223e601c89e8c204efcce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516559
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-03-06 07:59:41 +00:00
skia-autoroll
d7bcfecfaf Roll SK Tool from c5b107e57d75 to 871de5b784ca
https://skia.googlesource.com/buildbot.git/+log/c5b107e57d75..871de5b784ca

2022-03-06 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 borenet@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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: borenet@google.com
Change-Id: Ie7093773a9c8291ca5c133d3446b203da5fe688f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516557
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-06 06:08:16 +00:00
Kevin Lubick
cf67cbeb2f Fix int underflow in SkReadBuffer
We don't want to use any negative index in fFactoryArray.

Change-Id: Ib87b3c0a28fb61653dbffc700a96001421930060
Bug: oss-fuzz:42237
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516376
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-03-04 21:37:18 +00:00
Brian Osman
0817ce7c5b Add SK_LENIENT_SKSL_DESERIALIZATION, enabled in Debugger
When deserializing an SkSL shader, it's possible to encounter code that
doesn't compile (particularly from the last year, when syntax tweaks
were being made). By default, we still treat this as an error and fail
to load the SKP. In the SKP debugger, though, we add a lenient mode that
permits these failures. If any of the children were SkShaders, we
instead return that. If all else fails, we just return nullptr, which
will cause the triggering draw to use a solid paint-color, but at least
allow the SKP to be loaded and viewed.

For color-filters and blenders, we allow malformed SkSL, but always
return nullptr.

The bug that prompted this change involved Android's overscroll stretch
shader, where this approach works particularly well (it turns the
stretch into a simple pass-through of the underlying content).

Change-Id: I756c694739d31b11efa1b82c126f34440a7de66a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515543
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-04 20:58:47 +00:00
John Stiles
694823b5cb Remove unused code from the SPIRVCodeGenerator.
Change-Id: I417dd9716aa1d0e861f98ad27cd18e00c3674131
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515677
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-03-04 20:36:37 +00:00
John Stiles
dae33f857f Use SkTHashMap for the SkSL Inliner.
Change-Id: Icd175fb400d4c7d7bc8f072a58e9abb9fb42df2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516156
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-03-04 20:09:23 +00:00
Ben Wagner
8bf4580c3c Update ImGui power sliders in Viewer
The power sliders have been deprecated in favor of specifying that the
sliders are logarithmic. This doesn't appear to work very well, but at
least it doesn't crash at runtime with an assert.

Change-Id: I2c80aaf8e387efbb878c81a1ca0f754f6c45e80a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516160
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-04 20:00:19 +00:00
John Stiles
1a01d5a1f1 Remove unused members from GLSLCodeGenerator.
Change-Id: I49ed41170d5ac39658554435f806af0218911316
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516158
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-04 19:16:13 +00:00
Ravi Mistry
9a822433df Pull the latest doxygen image
Bug: skia:13020
Change-Id: I32ac1f7593f85da76a883d795cd9803f55a42f24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516076
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2022-03-04 19:08:05 +00:00
John Stiles
bc6b9df7c6 Use SkTHashMap for the MetalCodeGenerator.
We seem to save about 1K of code size each time an unordered_set/map is
replaced.

Change-Id: I7e04076d470e6c7ad4ae8301ded231ae69168bc8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515361
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-03-04 19:01:18 +00:00
John Stiles
b3deb0a652 Use SkTHashMap for the intrinsic-name map.
This leverages our new ability to initialize a hash map at construction
time (http://review.skia.org/515319)

Change-Id: I2e6038b3a6645f19128930d3c58707a682b5232f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515320
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-04 18:55:12 +00:00
John Stiles
6105180115 Use SkTHashMap for the PipelineStageCodeGenerator.
Change-Id: I7b10f475598b070b1b690f38dc7d54b40f240f14
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515676
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-04 18:51:46 +00:00
John Stiles
7957918db3 Use SkTHashMap for the BuiltinMap.
Change-Id: I6f50d8020c15acf664cdfcb2918c2e547427b838
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515321
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-04 18:50:03 +00:00