Commit Graph

61025 Commits

Author SHA1 Message Date
Jorge Betancourt
f1265e12bb correct typo in bulge effect file name
Change-Id: Ief8f5df1cd49562dc63d787fa9e9a1a9e8dc71cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548697
Auto-Submit: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-06-09 17:19:51 +00:00
skia-autoroll
19cdb1a9a6 Roll vulkan-deps from 1190dc2b6863 to 22255d13ec18 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/1190dc2b6863..22255d13ec18

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers from 3ef4c97fd6ea to ec9b96aae53e

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 djsollen@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: djsollen@google.com
Change-Id: I53df4965c527ae4e48ebee4800821ec9269cd6e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548601
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-09 15:23:42 +00:00
Robert Phillips
60ce7871e7 [graphite] Add SkNthSet
Bug: skia:12701
Change-Id: I9d24a0605cf8a877deebf66c7308c55ad6eb0ea9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548416
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2022-06-09 13:57:53 +00:00
John Stiles
4e00544801 Fix const-correctness in CombinationBuilder::beginBlock.
The code was using C-style casts, accidentally stripping away const.

Change-Id: Ie34105a3974dcbf1879322cd15e2a9e392db95e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548476
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-09 13:16:38 +00:00
Kevin Lubick
e25e4dc7e7 [bazel] Specify files required for the toolchain more precisely.
This improves performance with sandboxing.

One can have Bazel output performance data [1][2], which can be
viewed via chrome://tracing or https://ui.perfetto.dev/.

With Perfetto, the following SQL queries [3][4] can summarize
the sandboxing metrics, as well as the actual compilation
time. http://screen/5TxbeZTso4gNDfD
Note that the dur column is in nanoseconds, so we convert
to seconds. These numbers could further be divided by
the number of processes (in my case 48) to get a scaled output.

SELECT SUM(dur) / 1000000000.0 FROM slice WHERE name = "sandbox.createFileSystem";
SELECT SUM(dur) / 1000000000.0 FROM slice WHERE name = "sandbox.delete";
SELECT SUM(dur) / 1000000000.0 FROM slice WHERE name = "subprocess.run";

I benchmarked the local compilation of //:skia_public using
--config=clang_linux (our custom Linux toolchain). I was
sure to clear the Bazel cache before each run and not count
the time to download/update a toolchain for the first time.

The control measurements (without this CL) are:
  Wall Time = 272.2s
  sandbox.createFileSystem = 5466.9s
  subprocess.run = 2961.0s
  sandbox.delete = 4112.3s

With this CL:
  Wall Time = 53.9s (5.05x faster)
  sandbox.createFileSystem = 403.4s
  subprocess.run = 1610.3s
  sandbox.delete = 348.8s

The control measurement is a touch misleading. Due to it being
so slow, I had recommended developers use a ramdisk when building
on machines with sufficient RAM via the Bazel flag
--sandbox_base=/dev/shm

Here is the control measurement when using a RAM disk:
  Wall Time = 21.2s
  sandbox.createFileSystem = 58.9s
  subprocess.run = 705.1s
  sandbox.delete = 46.6s

With this CL and a RAM disk:
  Wall Time = 19.2s (10% faster)
  sandbox.createFileSystem = 21.8s
  subprocess.run = 722.9s
  sandbox.delete = 16.2s

For devs who cannot or are not using a RAM disk, this is
a huge win. With a RAM disk, it's a modest improvement.

On an RBE build, this had minimal impact. I did my best
to bust the action cache with a fake define and the before
and after times were about the same.

This was inspired by [5] and [6].

[1] Add --profile=/tmp/profile.gz to any command
[2] https://bazel.build/rules/performance#performance-profiling
[3] https://perfetto.dev/docs/quickstart/trace-analysis#sample-queries
[4] https://perfetto.dev/docs/analysis/sql-tables#slice
[5] 93f21c9ef3
[6] 311acff345
Change-Id: Iceb2606e86111159141a286d01fc002d09fe3fe4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547822
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-06-09 11:58:45 +00:00
skia-autoroll
6a36fc1491 Roll ANGLE from 4ea62009c99b to 48b928d98fc8 (5 revisions)
4ea62009c9..48b928d98f

2022-06-09 syoussefi@chromium.org Vulkan: Overlay widgets for pipeline cache/hit stats
2022-06-08 romanl@google.com Remove cwd manipulations.
2022-06-08 jmadill@chromium.org De-template out dEQP GTest bridge class.
2022-06-08 geofflang@chromium.org Revert "GL: Temporarily enable validation for all GL calls."
2022-06-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 23b710f1a0b3 to 00594ab942b5 (41 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 djsollen@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: djsollen@google.com
Change-Id: Ibef662f349fc8de68f9c8943af3384a2eea0955e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548577
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-09 05:51:47 +00:00
skia-autoroll
328798c77d Roll Dawn from bd30d9e59422 to 5fb759f6e76a (7 revisions)
https://dawn.googlesource.com/dawn.git/+log/bd30d9e59422..5fb759f6e76a

2022-06-09 senorblanco@chromium.org OpenGL: factor out Adapter (GL) into its own file.
2022-06-09 enga@chromium.org Add unittests for dawn::native::Blob
2022-06-09 jiawei.shao@intel.com Disallow creating multisampled textures without RenderAttachment usage
2022-06-09 jiawei.shao@intel.com Clamp clearStencilValue into the range of stencil format
2022-06-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 4ea62009c99b to c11af00ae1d1 (4 revisions)
2022-06-08 shrekshao@google.com DAWN_PLATFORM and DAWN_COMPILER macro improvements
2022-06-08 cwallez@chromium.org Add reflection APIs for wgpu::Texture.

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 enga@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: enga@google.com
Test: Test: dawn_end2end_tests
Test: Test: dawn_unittests
Change-Id: I9f3c6082c1b3960e5037a2dca3277e0487f7c50c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548576
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-09 04:52:22 +00:00
skia-autoroll
6376c0c001 Roll SwiftShader from afbfd351374d to f1a62bb45663 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/afbfd351374d..f1a62bb45663

2022-06-08 sugoi@google.com OpSelect implementation for pointers
2022-06-08 srisser@google.com Implement descriptor indexing for storage buffers
2022-06-08 antonio.caggiano@collabora.com GN: Fix wayland import check

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 djsollen@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: djsollen@google.com
Change-Id: I25819bb0f5b010e88b4d2f8367f146254544bcf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548578
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-09 04:48:10 +00:00
skia-autoroll
124f9b0234 Roll vulkan-deps from 5b0dd8c6d0a7 to 1190dc2b6863 (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/5b0dd8c6d0a7..1190dc2b6863

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools from 044ff1aabf65 to fad68a75519f

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 djsollen@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: djsollen@google.com
Change-Id: If23940c08d30e276bea487da2c1e00b960360ccb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548556
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-09 02:44:12 +00:00
Robert Phillips
ce763d8f94 [graphite] Add the combination system's BeginBlock usages
This is just the lowest level of the combination system. The higher
level iteration to accumulate the keys will be in a following CL.

Bug: skia:12701
Change-Id: I4015790a7bca49f11f8eb1a4fda32f235845c049
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547819
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-08 20:08:12 +00:00
Herb Derby
661353407f Fix leak in SubRunInitializer
Bug: oss-fuzz:47844
Change-Id: I5b44801bb11433bfa1bfb88f374f750051dc7eec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548397
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-06-08 20:07:22 +00:00
John Stiles
220f6e4ab1 Simplify lexer transition code.
This removes an if-check from the top of get_transition, removes an if-
check from the top of Lexer::next(), simplifies a bounds check, and
removes bitfields from the index array. Disappointingly, on my machine,
I can't measure any change at all; `get_transition` and `next`
stubbornly remain at about 4-5% of total nanobench time for
`sksl_large`. However, it's still simpler and hopefully slightly smaller
code.

Change-Id: If4187c01f350fe642b7af7cb6bd2c8250ca3c00e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548396
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-08 19:13:55 +00:00
Kevin Lubick
93b2030ffd [codesize] Use hours and UTC in GCS file names
codesize.skia.org was missing data and a misunderstanding of
file names was one cause.

To be consistent with Gold (and Perf?) we should use UTC as the
time zone for the folders and add hours. The server has been
switched to UTC in https://skia-review.googlesource.com/c/buildbot/+/548262/

This also fixes a race condition caused by upload the .tsv files
before the .json files. When the server sees a Pub/Sub event
for a .tsv file, it indexs the corresponding .json file.
Frequently, the .json file wouldn't have been uploaded yet,
so the indexing would fail.

Change-Id: Iabe64786db6e5c6020a3fc5dda244ccbe478c401
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548357
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-06-08 19:05:43 +00:00
Leandro Lovisolo
09a20afc9c [dm] Upload old SKPs into a separate "old-skp" Gold corpus.
The goal of this CL is to upload SKPs produced by the Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-OldestSupportedSkpVersion into a new "old-skp" Gold corpus. This will make triaging SKPs easier.

Other approaches I considered:

- Define a new --oldSkp flag. Redundant since we can recover this information by looking at the --config flag.
- Define a new "old-skp" value accepted by the --src flag. More complex; requires larger changes in DM.cpp, and changes to the Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-OldestSupportedSkpVersion task definition.

Bug: skia:13398
Change-Id: Ie8311e715eee0daf335e277132b7484a46b94489
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548076
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2022-06-08 18:53:13 +00:00
Aditya Kushwah
fd86891407 Implement onSetLabel method.
In this CL, the GrSurfaceProxy's and GrDrawOpAtlas's label strings
are plumbed so that it can be stored in the label string of
GrGpuResource. onSetLabel method, which is called from setLabel
method of GrGpuResource, will pass labels to Skia OpenGL backend
using ANGLE's labeling API.

Bug: chromium:1164111
Change-Id: I516c06f0ebbf6bbe6d31ea5a4a64b2baeedd1560
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545717
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-06-08 18:43:34 +00:00
Robert Phillips
9eacc01a7f [graphite] Move addition of children out of AddToKey ...
and rename it BeginBlock.

The motivation for this CL is that it is simpler for the combination
system and the shaders to iterate over their children themselves rather
than shoehorning it into AddToKey.

Bug: skia:12701
Change-Id: I334fbcb7ce83af0681fb06d8449125fdbe8b05f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547446
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-08 18:35:25 +00:00
Kevin Lubick
94f90622eb Manual Dawn Roll
We decided to be ok with an empty version because caching
shader compilations is not that much overhead compared to
the rest of the backends that just have to redo them.

Change-Id: I995b3c75a7e723a1188184f8753450634fa0b629
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548356
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-06-08 18:17:28 +00:00
Kevin Lubick
308b839a44 [codesize] Add skottie_tool and -Oz to compile flags
Change-Id: Ia059e8e215bd46dd4aac5b5b509fe73a19a5c051
Bug: skia:12151
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548296
Reviewed-by: Brian Osman <brianosman@google.com>
2022-06-08 17:12:34 +00:00
Robert Phillips
13143ed2a1 [graphite] Move blendInfo from gatherer to builder
We have a SkPaintParamsKeyBuilder at precompile time but not a
SkPipelineDataGatherer. We need the blend info at precompilation
time so that we can create a complete SkShaderCodeDictionary entry
for the precompiled combination(s).

Bug: skia:12701
Change-Id: I7686162ba93cb331f7c7dc2422e2d6937f367397
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547820
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-08 16:55:49 +00:00
Michael Ludwig
ce2e111e7c [graphite] Make nanobench measure the right amount of work in SKPs
SKPBench tiles the SkPicture into multiple surfaces, with tile WH
differing between GPU and CPU backends. Graphite was being incorrectly
classified as a CPU backend and ended up using smaller tile sizes, so
the SkPicture would be played back many more times relative to Ganesh.
In addition, each surface's contents is a subset of the total picture,
so batching was artificially limited compared to Ganesh.

Added a call to Device::flushPendingWorkToRecorder() in
Surface_Graphite::onFlush(). This ensures DrawPass::Make() is called
when nanobench and viewer are measuring the bulk of the work
(viewer's "flush" time was always 0 for Graphite since the
DrawPass::Make was only being counted in the total time when it
was executed for swapBuffers()). Flushing in this manner also prevents
batching across loops in nanobench, or resetting/clearing prior loops
recorded draws when the benchmark starts with a fullscreen clear.

The SKPBench change should make all graphite benchmarks report lower
times compared to what's in perf.skia.org. The flush change should
increase their reported times for benchmarks that required multiple
loops to get an accurate time measurement (for expensive SKPs with
loops == 1, it shouldn't be affected).

Change-Id: I9256dbfc4c7c021377be8f5137b48036cc67e4a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548157
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-06-08 15:43:00 +00:00
Robert Phillips
9c5063271a Add skgpu::BlendInfo
This unifies GrXferProcessor::BlendInfo and SkPipelineDataGatherer::BlendInfo.

The motivation for this is that I want to store a blend info on the
SkPaintParamsBuilder and having the BlendInfo in SkPipelineDataGatherer
made that difficult. Once moved to Blend.h it didn't make sense to have
the GrXferProcessor version.

Change-Id: I8c36feeef0bfe85dfc3f53b6bbb0193b29136bfd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547816
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-08 15:33:04 +00:00
John Stiles
9245ecb239 Clean up in find_existing_declaration.
Instead of copying a vector, now we use a span. Also, migrate out a
parameter-equality test to a helper function (allowing a "match"
temporary variable to be removed, and improving readability a bit).

Change-Id: Ic7f3274f244f8dd9444a6780c08465f9026b63f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548156
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-06-08 14:53:01 +00:00
John Stiles
2a376045ca Remove accessor functions from ShaderCaps.
Change-Id: Ifc4616c99bddd7d40d5a0bd2dd3c57bfb973500f
Bug: skia:12559
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547825
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-06-08 14:16:07 +00:00
skia-autoroll
0cb1463f90 Roll vulkan-deps from cf0460217e98 to 5b0dd8c6d0a7 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/cf0460217e98..5b0dd8c6d0a7

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers from b2a156e1c043 to 36c0c1596225
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools from c94501352d54 to 044ff1aabf65

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 djsollen@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: djsollen@google.com
Change-Id: Ibeb47240bbd835f84bfc09e51f555c39f4bbe469
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548136
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-08 14:00:42 +00:00
John Stiles
c3d83ab18e Deduplicate redundant array type objects.
When an array type like `float[4]` is parsed, we now search for and
attempt to reuse an existing Type object instead of creating a new array
Type each time. These redundant array Types were stashed in the symbol
table, so this even rippled out to wasted space in our dehydrated data.

For builtin types, we stash their array types in the topmost non-builtin
symbol table of the program. For non-builtin types (structs), we play
it safe by stashing the array type in the current symbol table to avoid
mixing up types that share a name. Today's SkSL only allows structs at
the top-level and doesn't actually have a way to create two Types with
the same name, so this is perhaps an overabundance of caution.

Change-Id: I6feed44b7e15be57f0cac93b07b0d43dffb768b8
Bug: skia:12329
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547826
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-06-08 13:32:21 +00:00
skia-autoroll
8275d94e24 Roll ANGLE from ce3c0fe901f8 to 4ea62009c99b (20 revisions)
ce3c0fe901..4ea62009c9

2022-06-08 syoussefi@chromium.org Vulkan: Prefer driver uniforms over spec consts
2022-06-08 syoussefi@chromium.org Vulkan: Fix program creation crash
2022-06-07 ffz@google.com Implement GL_EXT_base_instance
2022-06-07 syoussefi@chromium.org infra: Increase shards for end2end tests on ASAN
2022-06-07 romanl@google.com Make TestEventListener and inner class of TestSuite.
2022-06-07 jmadill@chromium.org infra: Add Linux AMD test spec.
2022-06-07 geofflang@google.com GL: Disable texture border clamp on imagination.
2022-06-07 chris@rive.app Add a test for volatile aliases of the same shader image
2022-06-07 antonio.caggiano@collabora.com Vulkan: Enable VK_EXT_platform_wayland
2022-06-07 lubosz.sarnecki@collabora.com Tests: Add Shadow Fight 3 trace.
2022-06-07 senorblanco@chromium.org Remove suppressions for now-passing ES 3.1 tests.
2022-06-07 antonio.caggiano@collabora.com Vulkan: Fix mutable format check
2022-06-07 syoussefi@chromium.org Remove suppression for passing tests
2022-06-07 abdolrashidi@google.com Vulkan: Remove enableLineRasterEmulation
2022-06-07 syoussefi@chromium.org Roll Chromium from 4697545681bd to 4658acb376d4 (377 revisions)
2022-06-07 lubosz.sarnecki@collabora.com Tests: Add Rush Royale trace.
2022-06-07 cnorthrop@google.com Capture/Replay: Track dirty state per EntryPoint for Reset
2022-06-07 senorblanco@chromium.org D3D11: fix UAV handling.
2022-06-07 jmadill@chromium.org Fix printing of non-standard renderers.
2022-06-07 rohitrao@chromium.org Converts from sprintf() to snprintf().

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 djsollen@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: djsollen@google.com
Test: Test: Animal Crossing MEC, Star Wars KOTOR MEC
Test: Test: angle_perftests --gtest_filter="*rush_royale*"
Test: Test: angle_perftests --gtest_filter="*shadow_fight_3*"
Change-Id: I184d3ac3d2bc9590a82b8d1c97863e2b36971de1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548039
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-08 05:51:39 +00:00
skia-autoroll
f9d2906a4d Roll SwiftShader from f54df11f323e to afbfd351374d (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f54df11f323e..afbfd351374d

2022-06-08 ericcurtin17@gmail.com Do not assume drm card is card0
2022-06-07 sugoi@google.com OpPtrAccessChain implementation

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 djsollen@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: djsollen@google.com
Change-Id: Ic21a22ecb750a163d157bd8b1a621691568f4e27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548040
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-08 04:48:42 +00:00
skia-autoroll
ac6f96def9 Roll vulkan-deps from 3bc63b5d22bc to cf0460217e98 (11 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/3bc63b5d22bc..cf0460217e98

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross from 50b4d5389b6a to a97bbc24c5ba

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 djsollen@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: djsollen@google.com
Change-Id: I680072f3fb9e2627f53727982b009ebcc56ba987
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548036
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-08 01:16:00 +00:00
John Stiles
4d77ec3280 Remove GrShaderCaps accessor functions.
This CL also removes a few from SkSLUtil but the majority of these will
be cleaned up in a followup. (Some of these are currently in active use
in SkSL.)

Change-Id: I7a018d3f6d8d21d69805f91d81a49c09636e4661
Bug: skia:12559
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547818
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-06-07 21:08:03 +00:00
Florin Malita
acfa138998 [skottie] Text animator support for stroke width
Similar to other animatable text props, implement support for stroke
width.

Change-Id: Ia6ef65e8528edfec20def1b77da8df817e56cc7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546244
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-06-07 21:02:48 +00:00
John Stiles
975407491e Add missing header to gni file.
Change-Id: I7def5f224be502d20e36d8cc11b4c60584485e31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547824
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2022-06-07 20:57:16 +00:00
John Stiles
a6f625c24c Remove caps-accessor function pointers from SkSL::Setting.
We have a TODO to get rid of the accessor functions. We can use direct
member pointers instead.

Change-Id: I81470d8e03905be583677ef41a6de3547c8b318e
Bug: skia:12559
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547823
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-07 20:37:15 +00:00
Greg Daniel
48bb28cf89 [Graphite] Prepare samplers in drawPass.
Bug: skia:13357
Change-Id: Ibb0ce845de4865f54ae155ea791facb8e59d5fd7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547286
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-06-07 19:45:49 +00:00
John Stiles
bc20800c4f Remove unused shader-cap fCanUseFastMath.
This caps-bit was always set to true. The last reference was removed
here: http://review.skia.org/512936

Change-Id: Ifbad66f58847f7bd8579c837de3d3b5428625e34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547821
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-06-07 19:14:38 +00:00
Herb Derby
d45ffc66de Switch to using LeftTop for Transformed and SDFT glyphs
Currently, the position and source rectangle are stored for each
glyph. The atlas entry has the needed information to reconstruct
the rectangle. Switch to storing the LeftTop of each glyph,
and use the rect from the atlas entry to get the width and height.
Adjust all the serialize/deserialize code to use the new format.

Change-Id: Ifb8524fb3a53d2f52059707918c732804e7f093a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547285
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-06-07 15:25:47 +00:00
John Stiles
fd40889786 Disable SkSLStructFieldNoFolding test in wasm-gm-tests.
It fails on the Nvidia Linux GLSL drivers used in the Golo.

Change-Id: I79cfbb9955aef6a6a57d22c82ab94a657434be7d
Bug: skia:13395
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547447
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-06-07 14:48:49 +00:00
Greg Daniel
0317614443 [Graphite] Add prepareResources for DrawPass and handle Pipelines.
Bug: skia:13357
Change-Id: Id66337e7c19492e2cb6658906d3144c38610300a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547282
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-06-07 14:10:55 +00:00
John Stiles
2508d582b5 Enable StructFieldNoFolding test.
This doesn't work on Nvidia's desktop Linux drivers, probably due to the
same root cause as skia:13035. (Reported the bug to Khronos at
https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3748)

Change-Id: Iafe73df72e175f5ccb6f4663e5b102fe7efaf57c
Bug: skia:13395
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547443
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-06-07 13:30:50 +00:00
skia-autoroll
0351cac00c Roll vulkan-deps from 23bf94f3d252 to 3bc63b5d22bc (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/23bf94f3d252..3bc63b5d22bc

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 djsollen@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: djsollen@google.com
Change-Id: I366cddd3b8470b14a719337c4260bdada2256c64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547696
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-07 12:32:30 +00:00
skia-autoroll
32bb72454d Roll ANGLE from 7fb021b08ee3 to ce3c0fe901f8 (8 revisions)
7fb021b08e..ce3c0fe901

2022-06-07 syoussefi@chromium.org Vulkan: Make depth-correction uniform controlled
2022-06-06 geofflang@google.com Log the fully formatted message for internal errors.
2022-06-06 cclao@google.com Vulkan: Remove non-current vertex array from buffer's observer list
2022-06-06 syoussefi@chromium.org Suppress failing test
2022-06-06 romanl@google.com Support running end2end tests.
2022-06-06 antonio.caggiano@collabora.com Vulkan: Fix Wayland Display DRM formats
2022-06-06 romanl@google.com Add a wrapper script to run traces using android_helper.
2022-06-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 113f00d1a057 to 4697545681bd (509 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 djsollen@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: djsollen@google.com
Change-Id: I45f93cf1a38af5bf9eec708ad3a1d5bd6951f411
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547637
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-07 05:55:06 +00:00
skia-autoroll
0f5404fc63 Roll SwiftShader from 26243894edb8 to f54df11f323e (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/26243894edb8..f54df11f323e

2022-06-06 antonio.caggiano@collabora.com GN: Expose Wayland surface extension on Linux
2022-06-06 antonio.caggiano@collabora.com Dynamically detect libwayland-client

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 djsollen@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: djsollen@google.com
Change-Id: I8ea9f920be84d5f4d9427df305aec53f388bb112
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547638
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-07 04:49:06 +00:00
skia-autoroll
1d4f1e8de5 Roll Dawn from 2f5d8e33d736 to e7099d4f3bb2 (7 revisions)
https://dawn.googlesource.com/dawn.git/+log/2f5d8e33d736..e7099d4f3bb2

2022-06-07 hao.x.li@intel.com Add validation for GPURender/ComputePassTimestampLocation
2022-06-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 611f0e0d8545 to 4868e5a700b7 (6 revisions)
2022-06-06 enga@chromium.org Cleanup unnecessary struct specialization
2022-06-06 bclayton@google.com tint/resolver: Prevent ICE with invalid input
2022-06-06 cwallez@chromium.org TextureBase: Make the constructor/destructor protected.
2022-06-06 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 7fb021b08ee3 to 611f0e0d8545 (1 revision)
2022-06-06 cwallez@chromium.org dawn::wire: Remove unnecessary imports of ObjectBase constructor.

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 enga@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: enga@google.com
Change-Id: I0fdcd4d8fe59d380921c0c1eff78a110adccdea0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547636
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-07 04:39:08 +00:00
skia-autoroll
300f96a8e2 Roll vulkan-deps from 7aa9b8dad8d1 to 23bf94f3d252 (7 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/7aa9b8dad8d1..23bf94f3d252

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 djsollen@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: djsollen@google.com
Change-Id: I36dd58224cefb35e145b574d08d7c8f17e981974
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547139
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-06 23:50:00 +00:00
John Stiles
b6f91bc023 Optimize away equality checks for structs with known values.
We had all the moving parts in place, but had neglected to check
`simplify_constant_equality` for structs. It worked for structs that
boiled down to the same expression tree, but not for mismatched structs.
Comparison of known structs should be allowed in a constant-expression.

Change-Id: I3a52abf4530d1fe25d17eb482c1e29b5b8e03cf6
Bug: skia:13387
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547444
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-06 20:59:15 +00:00
John Stiles
a75ee2620b Optimize away field accesses to known structs.
This is necessary for proper constant-folding, and can help us generate
better code. Most examples are pretty contrived, but a realistic benefit
can be found in inlined code (see TrivialArgumentsInlineDirectly.glsl).

Change-Id: I86aac9d48a70ae35a15109fd0b04400ae39a3b47
Bug: skia:13387
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547277
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-06 20:38:43 +00:00
John Stiles
ad06265b37 Reland "Add unit test covering struct field folding."
This reverts commit 3ba37e1d38.

Reason for revert: disabled test on Win+Intel/Android+Adreno6xx GPUs
(skia:13393)

Broke out non-folding tests to a separate test due to failures on
Quadro/RTX3060. (skia:13395)

Original change's description:
> Revert "Add unit test covering struct field folding."
>
> This reverts commit 0cbba91940.
>
> Reason for revert: returns red on Adreno and Intel
>
> Original change's description:
> > Add unit test covering struct field folding.
> >
> > At present, we don't try to optimize away `myStruct.myField` accesses
> > even when `myStruct` is known or constant, so the output from the test
> > is not too impressive.
> >
> > Change-Id: I563559e5cdc6c2669d69ec78ad8ca09d3be02a68
> > Bug: skia:13387
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547276
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
>
> Bug: skia:13387
> Change-Id: I2e651ddb82fac08cdc16fa8b77696cdd314e805f
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547438
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>

Change-Id: Ic86ff6b1034363d1343793f94e3ba707adb2fcc3
Bug: skia:13387, skia:13393, skia:13395
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547439
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-06 20:38:26 +00:00
Brian Osman
48805a6c01 Simplify SkSL::Setting code dramatically
These values are always bool, so we can eliminate several levels of
indirection.

Change-Id: I074e9bd7a8f984776f4c710f640d761dee4258c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546862
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-06-06 17:00:33 +00:00
Michael Ludwig
3f381474f8 [graphite] Add HW tessellated stroking sksl and enable
Bug: skia:12703
Change-Id: I6949fb2de3213c770756a3be21c1d47387a40e10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545238
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-06-06 16:41:03 +00:00
John Stiles
3ba37e1d38 Revert "Add unit test covering struct field folding."
This reverts commit 0cbba91940.

Reason for revert: returns red on Adreno and Intel

Original change's description:
> Add unit test covering struct field folding.
>
> At present, we don't try to optimize away `myStruct.myField` accesses
> even when `myStruct` is known or constant, so the output from the test
> is not too impressive.
>
> Change-Id: I563559e5cdc6c2669d69ec78ad8ca09d3be02a68
> Bug: skia:13387
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547276
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

Bug: skia:13387
Change-Id: I2e651ddb82fac08cdc16fa8b77696cdd314e805f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547438
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-06-06 16:00:07 +00:00
Dan Field
84a7d44d4b Allow buildroot to specify location of vulkan_memory_allocator
Change-Id: I6dab23fbd4d663e4031e3c6f568471f266f26936
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547016
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-06-06 15:28:09 +00:00