Commit Graph

60882 Commits

Author SHA1 Message Date
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
Kevin Lubick
abeba7e6ce [includes] Fix dangling IWYU issue
Changes landed like ships in the night.

Change-Id: I8b6ce125ff95f60c35c2e6e40b49b43b2c42eb10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547258
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-06-06 14:47:37 +00:00
Kevin Lubick
37e7856fe6 [bazel] Add 2 IWYU jobs to CQ
Change-Id: I438dff88dc8e402f966dcc7ff51fdcd7d7c46fe8
Bug: skia:12541 skia:13052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547257
Reviewed-by: Eric Boren <borenet@google.com>
2022-06-06 14:29:47 +00:00
Kevin Lubick
b08f804b29 [bazel] Add CI jobs for IWYU
This removes the previous task driver dedicated to enforcing
IWYU and adds individual jobs for the binaries we want to
test. This aligns with the current plan of organizing our
Bazel CI jobs - going wide where possible.

Change-Id: I8b163957e34e594c1a80d7b9e6b63c64a277bef1
Bug: skia:12541 skia:13052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547019
Reviewed-by: Eric Boren <borenet@google.com>
2022-06-06 14:29:47 +00:00
Kevin Lubick
69a60e6dc0 [includes] Enforce IWYU on several directories
These four directories had IWYU enforced previously and
that enforcement was turned back on:
  - src/sksl/
  - src/utils/
  - src/svg/
  - tools/debugger/

It was discovered that src/sksl/ir had been missed with the
previous IWYU enforcement, so many files needed updating
(see https://skia-review.googlesource.com/c/skia/+/547256).

We do not currently include src/svg/ or tools/debugger/ in
any Bazel builds, so that enforcement has not been tested
with the new system. When we add in builds that use those
packages, we may need to update includes.

Suggested Review order:
 - clang_trampoline_linux.sh to see list expanded
 - bazel/Makefile to see convenient target for testing this
   locally (follow-up CL will have a CI job for this).

Change-Id: Ifef1659ccd1a0e6c862b82102576a06296a6b42e
Bug: skia:12541 skia:13052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546608
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-06-06 14:29:47 +00:00
Kevin Lubick
590d3cc8f7 [bazel] Re-implement IWYU enforcement
Instead of having a feature that a subpackage cc_library
would set (because the subpackage cc_libraries went away in
review.skia.org/543977), we now have a list of directories
for which all descendent files will have IWYU run on them.

As before, we have an overarching feature "skia_enforce_iwyu"
that enables this check because of the extra compilation
overhead it incurs.

We have decided to enforce IWYU on debug builds instead of
release builds because we have some code (e.g. that in
SkDEBUGCODE or SkASSERT) which is only compiled and executed
in a debug build, but we don't want to have
#if defined(SK_DEBUG)
all over the place. We make the assumption that the includes
needed to compile in debug mode are the superset of the
includes necessary for release and other modes.

Change-Id: I10254fcc162627c20eb89959e06417effa3cc396
Bug: skia:12541 skia:13052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546607
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-06-06 14:29:47 +00:00
Greg Daniel
3ee928de80 Fix checks for vk ycbcr helper support in tests.
We need to make sure we have the required chroma sampling options for the
format.

Bug: skia:12820, skia:13265
Change-Id: I6e0d0f9b50a5730ecbe5de2626bf1d1ee1051d7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546861
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-06-06 14:23:18 +00:00
Robert Phillips
a7b8e3fb75 [graphite] remove 'testPrecompile' from Graphite config options
Change-Id: I2f8c35c6d65d73f2778c3a8f32d7cfb823a64d2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546199
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-06 14:16:39 +00:00
John Stiles
0998b808b9 Remove unused 'isConstantOrUniform' method from Expression.
This was not referenced anywhere. Previously, it was called from
IsTrivialExpression, but that has since been rewritten.

Change-Id: I925565778e4964b52ac905e95b44931b8868f647
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547278
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-06-06 14:14:39 +00:00
John Stiles
0cbba91940 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>
2022-06-06 14:09:32 +00:00
Brian Osman
47b6b5897b Remove various sk_Caps settings
"canUseAnyFunction" was totally unused. All of the others that I removed
are only used from C++ code to control higher level logic (not within
shaders). A few of the remainders don't have sk_Caps references today,
but adding usage seems plausible.

Change-Id: I196f7d8abacde9dc6903d792cd18b58a34dc19f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546858
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-06-06 14:08:38 +00:00
Kevin Lubick
39352983ea [includes] Apply include-what-you-use to sksl/
Change-Id: I964ac2d7d2f1e9d10b0216deb6572b28a26da0fc
Bug: skia:13052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547256
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-06-06 13:49:27 +00:00
John Stiles
9fd18cc6c2 Add ES3 test for trivially inlinable arguments.
This lets us test non-constant array indexing and array ctors (which ES2
doesn't allow at all).

I also added some cast-related tests to the non-ES3 test which were
accidentally missed the first time around.

Change-Id: Ib03aa53f57702141a8852154d584a31ab75f96e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547017
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-06 13:45:13 +00:00
Greg Daniel
4d7d29c99f [Graphite] Add prepareResource step to Tasks when making Recordings.
Eventually we'll move the addCommands call on Task to happen from the
Context. However, things like instantiation of proxies still needs to
happen on the Recorder.

Bug: skia:13357
Change-Id: I905a83e735164b7b82e7ffa916c535b0cd234594
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546857
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-06-06 13:40:04 +00:00
skia-autoroll
e636f6ab8c Roll vulkan-deps from 05b48d0a0740 to 7aa9b8dad8d1 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/05b48d0a0740..7aa9b8dad8d1

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: I68729f7c731e5a4f8f83b89dd81d51afcecca3c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547161
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 11:08:02 +00:00
skia-autoroll
c11360e5ae Roll ANGLE from 53ec886e412e to 7fb021b08ee3 (10 revisions)
53ec886e41..7fb021b08e

2022-06-03 mark@lunarg.com Reland "Add Vulkan backend support for texture labels"
2022-06-03 senorblanco@chromium.org Translator/HLSL: fix image load/store handling.
2022-06-03 cclao@google.com Avoid dirty texture swizzle state when there is no change
2022-06-03 cclao@google.com Vulkan: Add tests for FramebufferCache growth bugs
2022-06-03 syoussefi@chromium.org Vulkan: Output cache look up feedback in pipeline graph
2022-06-03 geofflang@google.com Ignore eglBind/ReleaseTexImage calls for lost contexts.
2022-06-03 lubosz.sarnecki@collabora.com crash_handler_posix: Fix symbol path resolution.
2022-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 795b7900dc69 to 113f00d1a057 (497 revisions)
2022-06-03 lubosz.sarnecki@collabora.com crash_handler_posix: Use execvp.
2022-06-03 kkinnunen@apple.com Metal: Remove use of ANGLE_MTL_AUTORELEASE from mtl_state_cache

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: Ia930bf366471eee5773d43f27e9731cde9f5c46e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547137
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 05:50:32 +00:00
skia-autoroll
3b75fdda14 Roll SwiftShader from 19e3080dfe86 to 26243894edb8 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/19e3080dfe86..26243894edb8

2022-06-03 swiftshader.regress@gmail.com Regres: Update test lists @ 19e3080d

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: Iff0443f8480a33d448f0d6c6e44e0afca059e13f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547138
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 04:50:10 +00:00
skia-autoroll
0708bed2b1 Roll Dawn from c3c3bf538f07 to 2f5d8e33d736 (5 revisions)
https://dawn.googlesource.com/dawn.git/+log/c3c3bf538f07..2f5d8e33d736

2022-06-04 hogehoge@gachapin.jp Delint RefBaseTests.cpp
2022-06-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from ebdbae9b7a83 to 7fb021b08ee3 (6 revisions)
2022-06-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 19e3080dfe86 to 26243894edb8 (1 revision)
2022-06-03 amaiorano@google.com tint: fix emitting duplicate structs for atomicCompareExchangeWeak
2022-06-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from bbf67e2e41d8 to ebdbae9b7a83 (7 revisions)

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: I616304ed46df3b6ad6306df9d0c04afc8809d625
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547136
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-06 04:40:38 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
04c656f52a Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I39d8bb6000cad19cb1abe2f9b31e4705912fd5a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547096
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-06-05 07:58:00 +00:00
John Stiles
1713e69fe8 Improve TrivialArgumentsInlineDirectly test cases.
Test cases were added for matrix-resize-ctor, diagonal-matrix-ctor and
struct-ctor. These were originally absent because the original trivial-
expression code did not distinguish between each individual ctor type.
Unfortunately, array-ctor is not included because ES2 does not support
array-ctors.

Comments were added to make it a bit easier to understand why some cases
are trivial but others are not. In some cases, the compiler applies
relevant transformations that might not be apparent at first glance--
e.g. unary + is eliminated so that case is still trivial.

Change-Id: Ie6756fc01736d28035f3965ae18f3482bd030871
Bug: skia:13378
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546864
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-04 21:23:42 +00:00
John Stiles
2db58ed6cc Add comment explaining rewrite-matrix code.
Change-Id: I8bb64cb2e337ec4646da38d11f80e83a13670c59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546866
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-04 20:39:01 +00:00
skia-autoroll
4cc30bb9c5 Roll vulkan-deps from 4e01d8afaef2 to 05b48d0a0740 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/4e01d8afaef2..05b48d0a0740

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 bungeman@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: bungeman@google.com
Change-Id: Ie2aa0396bf4ffc720dc965181549a73d9532f61f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547036
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-04 15:19:30 +00:00
skia-autoroll
5c504a1c09 Roll vulkan-deps from e94c0d48eb5a to 4e01d8afaef2 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/e94c0d48eb5a..4e01d8afaef2

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 bungeman@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: bungeman@google.com
Change-Id: Ic8d886a61310b7107f6c50ff319cacc2d8dd0cab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546976
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-03 23:58:34 +00:00
Brian Salomon
30969dfa6d Common uniform setting for GrSkSLFP and MeshGP
Bug: skia:12720
Change-Id: I7a222771da5fb46b773b7785b06682dcd92b01a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546859
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-06-03 20:34:37 +00:00
Robert Phillips
c42960d4f2 [graphite] Split out CombinationBuilder tests
Bug: skia:12701
Change-Id: Ibf7b4ac280eb853e3f5d786bd188ae0ac208609b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545367
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-03 20:06:44 +00:00
Ethan Nicholas
f8c1c459b1 Revert "Revert "Restored unsized array support to SkSL""
This reverts commit 5270322b46.

Change-Id: If594d04dc657126dce48d69dcc67d1a5e3b0cc8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546856
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-06-03 19:03:13 +00:00
John Stiles
871476a9b2 Improve constructor handling in Analysis::IsTrivialExpression.
This code was originally written before our constructor IR types were
split apart, so its treatment of constructors was pretty simplistic. The
new code handles each type of constructor separately, and makes better
decisions as a result.

Compound constructors are now only considered to be trivial when they
are compile-time constants; this causes vector<->matrix conversion
constructors to be detected as non-trivial.

Change-Id: I534fcf69f5d5f43ac705d68ae00f97fce8496c2a
Bug: skia:13378
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546555
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-06-03 18:59:06 +00:00
Brian Salomon
3e08ec878d Finish uniform support for SkMesh.
SkMesh now takes SkData that contains the uniform values.

Change-Id: I286e7559ba692ce15925a54f59c2e829b6b5448f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546096
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-06-03 18:41:11 +00:00
John Stiles
d29d446a7d Fix layout alignment bug with half2x2 matrices.
GrSPIRVUniformHandler and GrVkUniformHandler had special-case handling
of float2x2 matrices, but neglected to put in the same handling for
half2x2 matrices (which are identical at the uniform level).

There are likely to be deeper issues here, but this is a step in the
right direction compared to where we were.

Bug: skia:13380
Change-Id: I035f707d1f3831c0057934fe16b2f96ea4847578
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546550
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-06-03 17:43:29 +00:00
John Stiles
2d2d2b4d1a Add test demonstrating that matrix/vector casts are considered trivial.
This version dodges skia:13380 by reordering the list of uniforms.
Disabled on Win10 with older Intel GPUs due to crashes when performing
vector/matrix casts in GLSL.

Change-Id: If053908fd1a6921257e5af0abdce1ff69a03297f
Bug: skia:13378, skia:12179
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546551
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-03 17:02:08 +00:00
Robert Phillips
f111a27fc2 [graphite] Simplify how blend modes are stored in the CombinationBuilder
Bug: skia:12701
Change-Id: I88a12b776cf9b14d0c0a94ae777b85d9592696a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544318
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-06-03 16:39:13 +00:00
Brian Osman
5270322b46 Revert "Restored unsized array support to SkSL"
This reverts commit 9583759bbd.

Reason for revert: MSAN failure

Original change's description:
> Restored unsized array support to SkSL
>
> This is a prerequisite for compute shaders. As of this CL, there isn't
> yet a way to use unsized arrays, as it is a compute-only feature and
> compute shaders are coming in a followup CL, but this adds the basic
> framework and error tests.
>
> Change-Id: I390c0961e324dd474474563bf9a8f6b34c9552a9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538900
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

Change-Id: Id10b48ef24c0e6219b65b0a201d13fea9632620f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546552
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-06-03 15:56:10 +00:00
Greg Daniel
357958225d Fix sample count when rebinding gl ms_rtt FBO.
Change-Id: I67548b24c5ee4703aedc9cafcfc98cd593659ea8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546547
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-06-03 15:04:06 +00:00
Brian Osman
2ef2cbcce1 Revert "Add test demonstrating that matrix/vector casts are considered trivial."
This reverts commit c18fb9c8a2.

Reason for revert: Red on the tree.

Original change's description:
> Add test demonstrating that matrix/vector casts are considered trivial.
>
> These casts are not particularly lightweight Metal (they invoke a helper
> function) so they are going to be marked as non-trivial in a followup
> CL.
>
> Change-Id: Ic88e6b3889f6d4f4751d7ebfc740229b7530930b
> Bug: skia:13378, skia:13380
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546417
> Reviewed-by: Arman Uguray <armansito@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

Bug: skia:13378, skia:13380
Change-Id: Iee60fcc0d9d56912268777a9fa4d2aa18154f157
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546548
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-06-03 14:59:17 +00:00
Robert Phillips
0c8a88526d [graphite] Add debug guards against reusing dead SkCombinationOptions
Bug: skia:12701
Change-Id: I4209a4741a957a4dc60ad6669fc164a2d5993676
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545720
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-03 14:22:26 +00:00
John Stiles
c18fb9c8a2 Add test demonstrating that matrix/vector casts are considered trivial.
These casts are not particularly lightweight Metal (they invoke a helper
function) so they are going to be marked as non-trivial in a followup
CL.

Change-Id: Ic88e6b3889f6d4f4751d7ebfc740229b7530930b
Bug: skia:13378, skia:13380
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546417
Reviewed-by: Arman Uguray <armansito@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-03 14:11:20 +00:00
Ethan Nicholas
9583759bbd Restored unsized array support to SkSL
This is a prerequisite for compute shaders. As of this CL, there isn't
yet a way to use unsized arrays, as it is a compute-only feature and
compute shaders are coming in a followup CL, but this adds the basic
framework and error tests.

Change-Id: I390c0961e324dd474474563bf9a8f6b34c9552a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538900
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-06-03 13:58:35 +00:00
Kevin Lubick
1e5eab37e1 Manually Roll Dawn from 232abaefc35d to c3c3bf538f07 (10 revisions)
https://dawn.googlesource.com/dawn.git/+log/232abaefc35d..c3c3bf538f07

2022-06-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from ee0d0b41a626 to 19e3080dfe86 (8 revisions)
2022-06-03 dsinclair@chromium.org Add parsing of shorter stage attributes.
2022-06-03 enga@chromium.org Rename CachedBlob -> Blob; move to own file
2022-06-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 67a8c19843a1 to bbf67e2e41d8 (4 revisions)
2022-06-02 yunchao.he@intel.com Rename GetMipLevelSize
2022-06-02 shrekshao@google.com Pipeline cache D3D12 backend impl
2022-06-02 bclayton@google.com tint: Add builtin tests for arguments passed by var
2022-06-02 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 1bf3ae22a00d to ee0d0b41a626 (1 revision)
2022-06-02 cwallez@chromium.org Remove wgpu::ExternalTextureDescriptor::colorSpace
2022-06-02 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from b03f278925c6 to 67a8c19843a1 (12 revisions)

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.
Change-Id: I05e3c2c8a4a28ce4501f6639115c5148f9558a12
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546606
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-06-03 13:53:38 +00:00
Robert Phillips
6e0a205f80 [graphite] Expand capabilities of SkCombinationsBuilder
This CL adds the ability to add child combinations to the top-level
combinations added to the builder.

Bug: skia:12701
Change-Id: Ibe182c631bb9811d82e314ba58823b1708058165
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542299
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-03 13:29:50 +00:00
Kevin Lubick
4ff73144c3 [infra] Remove CheckGeneratedBazelFiles job
The job had been removed from jobs.json previously. We no
longer intend to generate Bazel files using gazelle, which
is what this checked.

Change-Id: I1bcf98deae3831a18b9a70e4f0a295eb3f2785b8
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546137
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2022-06-03 13:02:15 +00:00
Leandro Lovisolo
6a00ee05ff [gcs_mirror] Add support for URLs ending with ".tgz".
This was necessary to mirror https://binaries.cockroachdb.com/cockroach-v21.1.9.linux-amd64.tgz in https://skia-review.googlesource.com/c/buildbot/+/546543.

Bug: skia:13293
Change-Id: Ib6d5db6864bd82f51321a44d5f15410d37d92ff7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546541
Auto-Submit: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2022-06-03 11:51:43 +00:00
skia-autoroll
b9be86b038 Roll vulkan-deps from ef513cbf195c to e94c0d48eb5a (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/ef513cbf195c..e94c0d48eb5a

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 bungeman@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: bungeman@google.com
Change-Id: I5648f7dc471f13079cb86b3aa11a4844130fe0fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546373
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-03 11:17:01 +00:00
skia-autoroll
74949fc4c2 Roll ANGLE from e04314fd8f19 to 53ec886e412e (9 revisions)
e04314fd8f..53ec886e41

2022-06-03 syoussefi@chromium.org Vulkan: Externally synchronize the pipeline cache
2022-06-02 kpiddington@apple.com Metal shaders fail to compile with "error: unknown type name 'uint'
2022-06-02 b.schade@samsung.com Vulkan: Add feature to use VK_FILTER_LINEAR for YUVConversionInfo
2022-06-02 gert.wollny@collabora.com Capture/Replay: support capturing eglCreateImage/eglDestroyImage
2022-06-02 syoussefi@chromium.org Vulkan: Suppress forced-xfb-emulation tests on pixel 6
2022-06-02 gman@chromium.org Metal: Validate total bits used in color attachments
2022-06-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 466e443100e6 to ee0d0b41a626 (2 revisions)
2022-06-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from f6e0343d6b36 to 795b7900dc69 (491 revisions)
2022-06-02 kbr@chromium.org Uptream Vivante and VMWare vendor ID recognition.

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 bungeman@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: bungeman@google.com
Change-Id: I929991ccf737a4b5694791cb81e06306a946da30
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546366
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-03 05:51:35 +00:00
skia-autoroll
3789354a30 Roll SwiftShader from 1bf3ae22a00d to 19e3080dfe86 (9 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/1bf3ae22a00d..19e3080dfe86

2022-06-02 srisser@google.com Move SIMD::Pointer to rr::Pointer4
2022-06-02 sugoi@google.com Remove unused allocateZero function
2022-06-02 sugoi@google.com Merge changes I988caf15,I62185327
2022-06-02 sugoi@google.com Fix early fragment tests
2022-06-02 sugoi@google.com Compute occlusion sample count early when using earlyFragmentTests
2022-06-02 sugoi@google.com Write stencil early when using earlyFragmentTests
2022-06-02 sugoi@google.com PixelRoutine::stencilOperation() refactor
2022-06-02 sugoi@google.com Return value refactor for stencilOperation()
2022-06-02 srisser@google.com Extend SIMD::Pointer to use multiple full pointers

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 bungeman@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: bungeman@google.com
Change-Id: Ib28e9c3c155ce240bef6a990a92285fcfa85dbc0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/546367
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-03 04:46:36 +00:00