Commit Graph

60598 Commits

Author SHA1 Message Date
Brian Osman
3cbb13a93b Reland "Add SkCapabilities object"
This is a reland of commit 69fecd6c2d

Original change's description:
> Add SkCapabilities object
>
> This describes the capabilities of a particular Skia rendering context
> (GPU context, or the CPU backend). At the moment, it only contains the
> supported SkSL version (with a new enum added to specify the current
> value as "100" and a new ES3 value as "300".
>
> SkCapabilities can not be retrieved from an SkCanvas - the client must
> have a concrete way of knowing what their destination device that will
> do the actual rendering is (GrCaps or SkSurface).
>
> This CL doesn't make use of the SkCapabilities yet, that's coming in
> follow-up CLs that alter the SkSL compiler and SkRuntimeEffect API.
>
> Bug: skia:11209
> Change-Id: I4e9fd21ff7ffd79f1926c5c2eb34e10b3af4bc9b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537876
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

Bug: skia:11209
Change-Id: If76343a8a536ade25f6b3d80e0885c7bc47d2adf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540919
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-05-17 13:15:06 +00:00
skia-autoroll
bf2ee31bce Roll SK Tool from 2ba8fd175800 to 84cc4bdc442d
https://skia.googlesource.com/buildbot.git/+log/2ba8fd175800..84cc4bdc442d

2022-05-17 kjlubick@google.com [infra] Switch from python gsutil to golang gsutil
2022-05-16 jcgregorio@google.com [perf] Fix angle config file.

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 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: jcgregorio@google.com
Change-Id: I205a7d5758e183f43692d239bc9e10ed3cf4dd2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540993
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-17 12:38:23 +00:00
Kevin Lubick
16fa353926 [bazel] Move third party BUILD.bazel files to bazel/external
See also http://cl/449188526

Change-Id: Idb775cd955c82f16c79a61bb3d417c2c92f88a88
Bug: skia:12541, skia:13323
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541217
Reviewed-by: Ravi Mistry <rmistry@google.com>
2022-05-17 12:13:49 +00:00
skia-autoroll
56e251fd41 Roll ANGLE from 48b1f07b0fcb to 807c94ea85e0 (11 revisions)
48b1f07b0f..807c94ea85

2022-05-16 gert.wollny@collabora.com Capture/Replay: Adjust tests do adhere to capture limits
2022-05-16 syoussefi@chromium.org Vulkan: Dynamic state for stencil test/op
2022-05-16 syoussefi@chromium.org Vulkan: Dynamic state for depth test/write/op
2022-05-16 penghuang@chromium.org Do not call RendererVK::handleDeviceLost() for device lost
2022-05-16 syoussefi@chromium.org Vulkan: Dynamic state for depth bounds
2022-05-16 syoussefi@chromium.org Make BitSetArray constexpr
2022-05-16 antonio.caggiano@collabora.com Vulkan: Fix DRM to GL format conversion
2022-05-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c6a60f3cc711 to 131de3fd9ec7 (22 revisions)
2022-05-16 geofflang@chromium.org D3D: Initialize storage after generating mipmap images.
2022-05-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from f1c2c0b07281 to 4011ab35f3d8 (1 revision)
2022-05-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 3aa3e39b0aca to 11b60f867851 (666 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 jmbetancourt@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: jmbetancourt@google.com
Change-Id: I3960f54a941a4209087e866d452588d082f6b496
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540988
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-17 05:54:21 +00:00
skia-autoroll
b7ff3cb8b9 Roll vulkan-deps from b5c0eec3336c to c37d1e2ab98c (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/b5c0eec3336c..c37d1e2ab98c

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC jmbetancourt@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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: jmbetancourt@google.com
Change-Id: I96cc89fc0ece93a8fbf3bd01123694457fa0cb91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540986
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-17 03:30:57 +00:00
Jason Simmons
4220ffbaf2 Fix the start/end indexes used for font features in SkParagraph
Font feature start/end indexes must be relative to the start of the utf8
buffer passed to SkShaper.  SkParagraph had been passing indexes based on
the start of the block.

See https://github.com/flutter/flutter/issues/103615

Change-Id: Ie15611cb05e3532fc34d66724ac347b9bddc3c8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540157
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2022-05-17 00:40:39 +00:00
Kevin Lubick
add9e135dd Reland "[infra] Remove old python scripts and urllib2 references"
This is a reland of commit 167e608bb3

Original change's description:
> [infra] Remove old python scripts and urllib2 references
>
> I was searching for urllib2 while resolving issues with
> https://skia-review.googlesource.com/c/skia/+/538636
> when I found several old, apparently unused scripts.
>
> Rather than fix them, let's get rid of them. If they
> are still in use, the conversion to urllib.request is
> pretty easy.
>
> Change-Id: I27d419601e81c93a3d53e280188a379dfab927c4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538936
> Auto-Submit: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Ravi Mistry <rmistry@google.com>
> Reviewed-by: Ravi Mistry <rmistry@google.com>

Change-Id: I656b45cbcbde61c45d6d9daa0d6b97324d738631
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541077
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
2022-05-16 20:15:49 +00:00
John Stiles
40bd208dcc Remove DSL runtime effect support.
DSL runtime effects were unused outside of test code.

Change-Id: I561afc533c7c204183968aff0b9c4389b0587114
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540917
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-05-16 20:04:43 +00:00
Herb Derby
3b16c4fb7a Combine all the device info needed for SubRun creation
Introduce SkStrikeDeviceInfo which contains all the device
information need to categorize the SubRuns. This abstraction will
be used in future CLs to move the Painters off of the devices,
and the SurfaceDrawingContext.

Change-Id: I77b9eff37e1e98175dfcebfc0f392c70aff19dc0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541057
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-16 19:39:28 +00:00
Kevin Lubick
d2e8c965a4 Fix flutter roll
third_party/**/BUILD.gn have a copyright header, so we'll add one
to our third_party/**/BUILD.bazel files too.

Change-Id: Ifc04d36624af07d91d279a139f3a691e51ce7418
Bug: skia:13323
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541076
Reviewed-by: Ravi Mistry <rmistry@google.com>
2022-05-16 19:36:38 +00:00
Herb Derby
a604dc364f Fix MSAN where glyphs are uninitialized in tests
Change-Id: I1d8874e1371ce2ddeba119b097d018ad94aa474c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541016
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-05-16 19:08:58 +00:00
Robert Phillips
067a4f2609 Miscellaneous gpu cleanup
Encountered while creating a presentation

Change-Id: I16962f089d263504644cc6b5f17d35644ff2099d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539056
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-05-16 18:57:58 +00:00
John Stiles
e7ecd7449d Remove dead files from public.bzl.
Change-Id: I23782db7fcb435d88cfae7a8d9a07c561ac24b89
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540921
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-05-16 17:43:51 +00:00
Callum Moffat
b647498072 Add perspective matrix equality to GrTextBlob::Key
This will allow text blobs to be removed from GrTextBlobRedrawCoordinator
when they have perspective transformations.

Bug: skia:12966
Change-Id: I53d2a7f5ea1ba0560b49c2f6bb4c62ffa564dcc8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540737
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-16 17:07:36 +00:00
James Godfrey-Kittle
48cc723716 Doc typos and formatting
Change-Id: I727681b43c4603471d7e3973a114a75006f70b79
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540744
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: James Godfrey-Kittle <jamesgk@google.com>
2022-05-16 16:33:43 +00:00
Brian Osman
88a51fea63 Revert "Add SkCapabilities object"
This reverts commit 69fecd6c2d.

Reason for revert: Why do we even bother separating include from src?

Original change's description:
> Add SkCapabilities object
>
> This describes the capabilities of a particular Skia rendering context
> (GPU context, or the CPU backend). At the moment, it only contains the
> supported SkSL version (with a new enum added to specify the current
> value as "100" and a new ES3 value as "300".
>
> SkCapabilities can not be retrieved from an SkCanvas - the client must
> have a concrete way of knowing what their destination device that will
> do the actual rendering is (GrCaps or SkSurface).
>
> This CL doesn't make use of the SkCapabilities yet, that's coming in
> follow-up CLs that alter the SkSL compiler and SkRuntimeEffect API.
>
> Bug: skia:11209
> Change-Id: I4e9fd21ff7ffd79f1926c5c2eb34e10b3af4bc9b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537876
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

Bug: skia:11209
Change-Id: I3bc843b0abf154dbaecb209b251f80741757bf70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540858
Commit-Queue: Brian Osman <brianosman@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-05-16 16:32:03 +00:00
John Stiles
3bc68ed74c Eliminate fOwnedNodes from symbol tables.
Now that DSLFP is gone, no one uses this. Previously, this was used to
stash the `sk_SampleCoord` Variable symbol:
https://skia-review.googlesource.com/c/skia/+/540301/1/src/sksl/dsl/DSLVar.cpp#b148

Change-Id: I4015dd7b29da004cd308fb21570a23014a2c66d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540303
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-05-16 16:22:02 +00:00
John Stiles
4c2f5c305f Eliminate SkSL::CodeStringExpression.
This was only used by DSL FPs, which have been removed.

Change-Id: I486e81b9d0111ed1b106b81e3c956cfd266ff27a
Bug: skia:11330
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540302
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2022-05-16 16:22:02 +00:00
John Stiles
9216ee97d5 Remove DSLFP support.
Ganesh did not adopt DSL FPs, and Graphite is moving to a module-based
solution instead (where we precompile and rehydrate everything once at
startup).

Change-Id: Ie659535739b2d47de654625f65994912c61b0466
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540301
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-05-16 16:17:26 +00:00
John Stiles
431f305d51 Remove useless std::move.
This doesn't do anything, but if it did, it would cause a
use-after-move.

Change-Id: Idfb515ac0a8395c7a4ff86f9fcf25a96c336527d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540860
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-05-16 15:53:02 +00:00
Kevin Lubick
c4abee5e38 Revert "[bazel] Run gazelle only on the files that changed"
This reverts commit 5c6bf4f692.

Reason for revert: git diff does not work well with deleted files

Original change's description:
> [bazel] Run gazelle only on the files that changed
>
> With this change, make generate takes 1.8 seconds instead of
> 7.9 seconds.
>
> We still have generate_force to run on everything.
>
> Change-Id: I6d57031adbe38a7f25a59570baea89970eea024f
> Bug: skia:12541
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540740
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

Bug: skia:12541
Change-Id: I47c23adf09bbc6324817e166f7ab33eb16f4bf61
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540743
Reviewed-by: John Stiles <johnstiles@google.com>
2022-05-16 15:41:39 +00:00
Michael Ludwig
8c1fe9f743 Add file to public.bzl
Change-Id: Idb526ccbb6d552b418c569a63bd3eed83e975ab1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540916
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-05-16 15:31:09 +00:00
John Stiles
bde670a39b Remove DSL from GrGaussianConvolutionFragmentProcessor.
Since this is super performance-sensitive, I manually checked to ensure
that the generated code didn't change. Other than differences in
variable name mangling, our final output looks to be identical.

Change-Id: I1bdf012f9b15bafcd85a9e73abfb3fa444459c60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540300
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-05-16 15:24:29 +00:00
Michael Ludwig
cb61d1ff99 Provide immediate patch's LinearTolerances to PatchAllocator
This moves the accumulation of worst case tolerances into
VertexChunkPatchAllocator for Ganesh, and lets the tessellating
RenderSteps in Graphite calculate the exact index count for each
instance (for which DrawWriter::DynamicInstances then tracks the worst
case index count between flushes).

Bug: skia:13056, skia:13012
Change-Id: I1d7b99d3edfc5c551cbe67734405ec43fba0e2db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539049
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-05-16 15:01:11 +00:00
Brian Osman
ec19d41b08 Revert "Fix public.bzl"
This reverts commit e064c4c804.

Reason for revert: Original CL is being reverted

Original change's description:
> Fix public.bzl
>
> Follow-up to https://skia-review.googlesource.com/c/skia/+/537876
>
> Change-Id: I414c1e9860848e94597abb87b31ad7c3c297b8c2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540739
> Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>

Change-Id: I484b8230a5813d3a087164071b0a5765b4e96423
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540859
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-05-16 14:50:22 +00:00
Herb Derby
54c080691a Cleanup code in SkChromeRemoteGlyphCache
* Add this->'s
* Make the logic in checkForDeletedEntries more robust.
* Harden readStrikeData by checking the typefaceID before doing
  the descriptor typefaceID translation.
* Rename fRemoteFontIdToTypeface to fRemoteTypefaceIdToTypeface
* Simplify some SK_DEBUG code.

Change-Id: I8498f9be7ef4874f28f595222e661b9f8330b94f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540317
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-16 14:47:32 +00:00
skia-autoroll
41c7b8a64b Roll vulkan-deps from 131de3fd9ec7 to b5c0eec3336c (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/131de3fd9ec7..b5c0eec3336c

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC jmbetancourt@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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: jmbetancourt@google.com
Change-Id: I437c7f7f195a3bdc74e18210c4ecafc84a0a91e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540798
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-16 14:44:55 +00:00
John Stiles
39f73c0156 Remove DSL from GrConvexPolyEffect.
Ganesh didn't adopt DSL for its fragment processors, except for two.
Backing out those two will allow us to eliminate a lot of unused tech.

Change-Id: I705072fe589746d05e0ae54ef25cee4de368f9b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540318
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-05-16 14:36:11 +00:00
Kevin Lubick
5c6bf4f692 [bazel] Run gazelle only on the files that changed
With this change, make generate takes 1.8 seconds instead of
7.9 seconds.

We still have generate_force to run on everything.

Change-Id: I6d57031adbe38a7f25a59570baea89970eea024f
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540740
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-05-16 14:18:20 +00:00
Kevin Lubick
24f0b884c0 [bazel] Move Dawn BUILD.bazel to third_party/bazel
Rather than having a monolithic third_party/BUILD.bazel, this moves
our Dawn rules to their own subdirectory and makes it callable via
@dawn instead of //third_party/dawn.

This will help with the G3 roll and make our rules more organized in
general.

This also rolls Dawn
Roll Dawn from ab9757036bd6 to e831fb61046b (22 revisions)

https://dawn.googlesource.com/dawn.git/+log/ab9757036bd6..e831fb61046b

Suggested Review Order:
 - WORKSPACE.bazel, where we define @dawn and its deps
   (@vulkan_headers and @vulkan_tools). I initially thought
   I needed to define all of Dawn's deps in the workspace_file_content
   for new_local_repository, but that WORKSPACE file is
   ignored when building Skia rules.
 - third_party/dawn/BUILD.bazel, the contents of which were copied
   from //third_party/BUILD.bazel and modified largely via
   find-and-replace to point to files relative to
   //third_party/externals/dawn. One exception is the cpu_wasm
   config_setting because @dawn isn't able to see Skia's
   //bazel/macros.bzl.
 - All other files

Change-Id: Ib2d7bc972ef00b6b68370ce5c2839ffb70ed9a2f
Bug: skia:12541, skia:13211
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538638
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-05-16 14:06:59 +00:00
John Stiles
0a5146ca3f Replace Constructor::Convert with ConstructorSplat::Make.
This was our last abuse of Constructor::Convert; remaining call sites
are FunctionCall::Convert and DSLType::Construct. Both of these callers
actually require the constructor-disambiguating smarts of
Constructor::Convert.

Change-Id: I9727a63abda03613cd524be3ae9740ada6735081
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540616
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2022-05-16 14:00:21 +00:00
John Stiles
4517711966 Add new file to google3 build.
This file was originally added in http://review.skia.org/540040.

Change-Id: I11540a8a882300e12383fac7c8fa437e1e44301b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540619
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-05-16 13:03:58 +00:00
Kevin Lubick
e064c4c804 Fix public.bzl
Follow-up to https://skia-review.googlesource.com/c/skia/+/537876

Change-Id: I414c1e9860848e94597abb87b31ad7c3c297b8c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540739
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2022-05-16 12:43:34 +00:00
skia-autoroll
3c34161973 Roll ANGLE from 8bb7c35c2159 to 48b1f07b0fcb (16 revisions)
8bb7c35c21..48b1f07b0f

2022-05-16 syoussefi@chromium.org Vulkan: Dynamic state for front face
2022-05-15 syoussefi@chromium.org Vulkan: Dynamic state for cull mode
2022-05-14 syoussefi@chromium.org Vulkan: Emulate YUV built-ins
2022-05-14 syoussefi@chromium.org Vulkan: Don't invalidate pipeline on dynamic state change
2022-05-14 penghuang@chromium.org Do not do cleanup for Vulkan device lost
2022-05-13 yuxinhu@google.com Code Cleanup
2022-05-13 romanl@google.com Re-skip flaky test un-skipped by crrev.com/c/3641181
2022-05-13 romanl@google.com Skip flaky test on Mac NVIDIA.
2022-05-13 gman@chromium.org Metal: Fix dangling pointer warning in IntermRebuild.cpp
2022-05-13 min.zhang@arm.com Vulkan: Add case: TextureSampleByDrawDispatchDraw
2022-05-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b768d03422ea to c6a60f3cc711 (1 revision)
2022-05-13 romanl@google.com Revert "Vulkan: Flush texture updates more often"
2022-05-13 jmadill@chromium.org Vulkan: Add generic descriptors for DS cache.
2022-05-13 jmadill@chromium.org Vulkan: Add shared descriptor set caches.
2022-05-13 lubosz.sarnecki@collabora.com TracePerfTest: Add ability to screenshot after reset.
2022-05-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 65b23f3c9e05 to 3aa3e39b0aca (497 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 jmbetancourt@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: jmbetancourt@google.com
Change-Id: I909692ab8f824b4ff20f3a244b481225369d292b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540756
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-16 05:51:50 +00:00
skia-autoroll
5ee962bc9d Roll SwiftShader from f1c2c0b07281 to 4011ab35f3d8 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f1c2c0b07281..4011ab35f3d8

2022-05-13 capn@google.com Eliminate PointerType::getContainedType() calls

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 jmbetancourt@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: jmbetancourt@google.com
Change-Id: I1adb9310930fdc7f20b4b35f672eb23ea1d454f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540757
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-16 04:53:18 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
2213f3c810 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: Idc4f52e1692d9f474e991cdf7a80be920ee6e160
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540677
Bot-Commit: 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>
2022-05-15 08:23:49 +00:00
skia-autoroll
ca7bd5e6b4 Roll vulkan-deps from b4fc55a102dd to 131de3fd9ec7 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/b4fc55a102dd..131de3fd9ec7

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC lovisolo@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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: lovisolo@google.com
Change-Id: Id1e2ae76351119d087984171a2b6d70e83bc97d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540636
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-15 03:02:18 +00:00
skia-autoroll
87a96b8961 Roll vulkan-deps from 520daea585de to b4fc55a102dd (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/520daea585de..b4fc55a102dd

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC lovisolo@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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: lovisolo@google.com
Change-Id: I1d06471b3b6b9201846c030a9a4796bf907b3778
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540576
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-14 14:22:18 +00:00
skia-autoroll
beefc9c5d2 Roll vulkan-deps from 0ff867fa3164 to 520daea585de (6 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/0ff867fa3164..520daea585de

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross from 940efca099af to d0c8dc304503

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC lovisolo@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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: lovisolo@google.com
Change-Id: I9a8ff0d90f507312d4ec1a8a60ff3eb4784fcc68
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540371
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-13 21:18:16 +00:00
Robert Phillips
5bde3f4b2f Add kSkBlendModeCount
I keep bumping into the need for this

Change-Id: I69384f7d590c163fd6244bdc64cc5e48450fecd4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540171
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-05-13 18:56:38 +00:00
Herb Derby
c5bb10cd48 Verify pinned state in glyphVector and deserialization
Change-Id: I283f421183f747e7225eaf96c9c5e4217b6f5dc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540036
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-13 18:32:19 +00:00
John Stiles
018b243aa4 Eliminate empty statements/nops in dehydrated modules.
This doesn't improve the quality of final code, so we can skip this pass
during normal program compilation, but there's no excuse for leaving
Nops in a dehydrated module that we always load into memory at startup.

Change-Id: I7ff94f2713cff658799c469a46b526544dfc318c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540040
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-05-13 17:31:59 +00:00
Brian Osman
69fecd6c2d Add SkCapabilities object
This describes the capabilities of a particular Skia rendering context
(GPU context, or the CPU backend). At the moment, it only contains the
supported SkSL version (with a new enum added to specify the current
value as "100" and a new ES3 value as "300".

SkCapabilities can not be retrieved from an SkCanvas - the client must
have a concrete way of knowing what their destination device that will
do the actual rendering is (GrCaps or SkSurface).

This CL doesn't make use of the SkCapabilities yet, that's coming in
follow-up CLs that alter the SkSL compiler and SkRuntimeEffect API.

Bug: skia:11209
Change-Id: I4e9fd21ff7ffd79f1926c5c2eb34e10b3af4bc9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537876
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-05-13 16:31:20 +00:00
John Stiles
f6e31bf1dc Add const modifier to initialPreLocal identity matrix.
This makes expressions with `initialPreLocal` eligible for constant
folding. In practice, this doesn't do much today because matrix constant
folding doesn't support no-op-arithmetic elimination, but in a followup,
we could easily simplify `initialPreLocal * foo` --> `foo` when it's the
identity matrix.

Change-Id: I4c6faf2aa550b6b9776dd8a5da9ea5ec06cd8330
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540316
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-05-13 15:30:30 +00:00
Michael Ludwig
f4b4420410 Consolidate tessellation tolerance tracking into helper class
Moving it into the helper class serves a few purposes:
1. Consolidate the more complicated stroke vertex count calculations so
   that they can be reused between graphite and ganesh more easily.
2. Gives us an object that the PatchWriter can pass to its
   PatchAllocators that is itself not a template, so the allocators can
   be easily reused across different PatchWriter configurations.
3. Gives us a good place to start experimenting with tighter tolerance
   tracking (particularly around internal rotation and join rotation).

Bug: skia:13056, skia:13012
Change-Id: I6086d459a21ac7ab8e833a988cc7c403983c3dd2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537083
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2022-05-13 15:23:25 +00:00
John Stiles
11f2740463 Remove [[maybe_unused]] workaround in MetalCodeGen.
This effectively rolls back http://review.skia.org/538045.

Change-Id: I9c457a6c9c9ba98d4c2e3a6af03c5dd80c76beb9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540082
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-05-13 14:47:23 +00:00
John Stiles
a91ee035ed Eliminate unreachable code in dehydrated modules.
At present this has no effect. There isn't any dead path in the built-in
code (as you would hope) and we don't do any sufficiently-interesting
transformations that might cause unreachable code to appear.

Change-Id: I6798ae21f8721cf9f6f61ecb1765c8d8df7a9d0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540039
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-05-13 14:45:41 +00:00
Eric Boren
860c40fee5 Update Skia milestone to 104
Change-Id: Iafd9cf15ac3c42bda7fa6b6857a82dc2eae6d234
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540296
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2022-05-13 14:21:17 +00:00
John Stiles
ed2e8ab44a Eliminate dead local variables from dehydrated code.
This should address the root cause of http://review.skia.org/538045.

We currently don't eliminate unreferenced names from the symbol table,
although that'd be free money if we wanted to do it.

Change-Id: I712e23e6a4f3cb48c2b5ae68f042e13031d5f632
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540038
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-05-13 14:00:52 +00:00
Leon Scroggins III
1e43dce386 Android: Turn on select Skia tracepoints
In b/224677119, we found that turning on *all* of Skia tracing caused
regressions. We are separately turning it off, but we do find some value
in select tracepoints. Add back in the ones we care about. The remaining
tracepoints can still be turned on manually with the sysprop.

All of these tracepoints are already traced on other platforms (e.g.
Chrome, Flutter). Convert them to TRACE_EVENT0_ALWAYS, introduced in
I13fd77445e0d2a05e46b75629b37bab5f571b02e. (A better long term solution
will be to use categories, as tracked in b/232405757.)

For GrOps, we had an Android-specific tracepoint, added in
I18ac03676da058ba4af5bd6a0c375b3f17c3c399, as well as separate
TRACE_EVENT0 tracepoints with basically the same timing and label.
Remove the Android-specific version, and make the other one
TRACE_EVENT0_ALWAYS. This removes redundant child-parent pairs.

Bug: b/231627558
Bug: b/224677119
Bug: b/232226246
Test: perfetto
Change-Id: I03ce62062a0bde723d3b6ac026bd978b249ad9a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540156
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-05-13 13:18:54 +00:00