Commit Graph

57354 Commits

Author SHA1 Message Date
Michael Ludwig
144926d968 Allow subpixel nested rects to have nearly equal x/y half widths
When transforming to device space, equal local-space half widths in X
and Y might end up being fractionally different, which would prevent
optimizing the nested rect path to use the stroke aa rect op. Visually,
these very small differences are not going to be noticeable and the op
can just arbitrarily pick one of the two widths to use for coverage.

Also fixed an issue where if the aa stroke op returned null from
MakeNested(), drawSimplifiedShape() assumed it meant nothing needed to
be drawn. After https://skia-review.googlesource.com/c/skia/+/427976,
this actually isn't the case and it should attempt path rendering for
the unbalanced subpixel nested rects.

In the linked bug's case, the square rects would not transform to
identical x and y half widths depending on the UI scale of the browser
(differing by a negligible amount). This would then return a null op
and skip falling back to the path renderer so nothing would draw.

Bug: chromium:1234194
Change-Id: Ibd4254cb37e0fc01a5da342e06c4d82cb6223fe8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447462
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-09-10 21:05:27 +00:00
Greg Daniel
0c2cca5698 Make sure we use device bounds for DrawableOp.
The bounds stored on the SkDrawable are in local space, but the bounds
we want on the Op need to be in device space. Not doing this transform
caused a bug where other ops were incorrectly being reodered around the
drawable on the gpu.

This also fixes an issue where vulkan would draw to the base device
instead of the top device.

Bug: b/198924563
Change-Id: I7c3d8ac9efdeb2b18d9be9e1f812f0132aa05893
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447591
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-09-10 20:55:25 +00:00
Ethan Nicholas
96dbf7403e Reduced the number of temporary arrays created by DSLParser
Change-Id: I9b758fd816278b50d2b1182cbfe6e0752b09cc51
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447720
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-10 20:44:22 +00:00
Michael Ludwig
181bb97c38 Reorganize and hide aa clip impl into .cpp file
Bug: skia:10205
Change-Id: Ia2dd9b99f5282a46aaeaf8eac54c9f6bfd583fc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/445617
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-09-10 20:43:08 +00:00
Ethan Nicholas
9a1f92e4ff Add ExpressionArray variants to DSL calls
This allows us to reduce the number of temporary arrays being created by
going directly to the final array type.

Change-Id: I6161c663f7f69ed1d323ae05b4a92b2d0c1b4c04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447194
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-10 20:06:56 +00:00
Ben Wagner
d532a9e544 Update supported iOS to 11
Skia bots build and test on iOS with a minimum of iOS 11. Chrome
currently requires 13 and other internal users are at minimum 11. While
Skia may currently build with older minimum targets (currently back to
iOS 8, though shortly will require iOS 9) it is not tested on versions
older than 11.

Change-Id: I34305438caccd4f990904a4cc4dcdff2c64b6cc5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447717
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-09-10 19:19:20 +00:00
Herb Derby
2b868d6b9a math and error rates for lerp
Study that compares scaled integer lerp to float lerp. This
shows an error rate of 0.38% with a max difference of 1.

Study to compare scaled values the would result as the
intermediate values of a bilerp. This shows an error rate
of 24% with a max difference of 1.

Change-Id: Id27b6baa9ce56efedb30f490a3f84ccf808315fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447183
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-10 18:51:51 +00:00
Ethan Nicholas
db38ad7b14 Fixed DSL assertion error on source files containing nulls
The assertion was there to make sure we weren't running off the end of
the source, but naturally fails in the presence of legitimate embedded
nulls.

Change-Id: I3b80499e9b182c9ea046c479f35d7a965d548401
Bug: oss-fuzz:38107
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447182
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-10 18:44:22 +00:00
Eric Boren
81f03a4f4c [infra] Roll infra to update vpython
Bug: chromium:1244124
Change-Id: If44330139ddecc37da40ad7ad4ef90dbf45ddf6a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447586
Reviewed-by: Erik Rose <erikrose@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-09-10 17:41:28 +00:00
Brian Osman
d4da5d1fd6 Remove deprecated field from SkRuntimeEffectBuilder::BuilderChild
Android has been updated to use fChild, so fIndex is dead.

Change-Id: Iec728aa91a4ad47f84e2188ade75f639f0c6087c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447186
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-10 17:41:10 +00:00
skia-autoroll
19d99b6577 Roll SK Tool from fe20b5b7cd6c to a369a738f282
https://skia.googlesource.com/buildbot.git/+log/fe20b5b7cd6c..a369a738f282

2021-09-10 kjlubick@google.com [machine] Flatten Firestore schema and reduce duplication
2021-09-10 kjlubick@google.com [machine] Rename store.StoreImpl to store.FirestoreImpl
2021-09-10 kjlubick@google.com [tmm] Refactor interrogation code to allow for growth.
2021-09-10 borenet@google.com Revert "[commandbuffer] Roll back vpython in an attempt to fix CommandBuffer"
2021-09-10 borenet@google.com [autoroll] Switch several rollers from master to main
2021-09-10 hernantorrisi@gmail.com replacing metadata filename with json file name
2021-09-10 ravi_mistry80@hotmail.com Update whitespace.txt
2021-09-10 kjlubick@google.com [gold] Fix incorrect timestamp
2021-09-10 kjlubick@google.com [gold] Fix error when there are no results
2021-09-10 jcgregorio@google.com [ansible] All Android devices migrated to rack4.
2021-09-10 kjlubick@google.com [auth] Rename constants and modernize tests.
2021-09-09 borenet@google.com [sk] Add reviewers instead of self CR+2 and force-submit
2021-09-09 brianosman@google.com Update iImage example to use newer SkSL syntax

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: I0253b2715014e30f737d241eab1cef035f06174b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447701
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-10 17:36:19 +00:00
Ethan Nicholas
c9d65f0b8a Fixed duplicate function definition error discovered by fuzzer
Bug: oss-fuzz:38140
Change-Id: I76a1b3ef8289b3089192d043d173677c00741a54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/445836
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-10 17:35:52 +00:00
Michael Ludwig
c7ffd5e680 Clip vertical edges outside crop rect during convex edge walk
Bug: chromium:1239558
Change-Id: Ibc4655adaa72d1abf306940dd8b5e2f6a8b0edd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446923
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-09-10 15:59:54 +00:00
John Stiles
5da061a53b Simplify code in compile-time optimization.
We had several paths through the code which assembled a compound value
by manually building up an ExpressionArray of Literals. It takes much
less code to assemble a double[] array. We now have a helper function
which takes an array of doubles, converts them to an ExpressionArray of
the appropriate type of Literal, then returns a CompoundConstructor.

We also had several places in the code which called
  arguments[a]->getConstantSubexpression(b)->as<FloatLiteral>().value()
and this has been made into a helper lambda function.

Change-Id: I5ca2e94788a8b7fdfb37f42fbbbb1e728ed0a242
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447458
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-10 14:38:09 +00:00
John Stiles
12545d475f Implement compile-time optimization for outerProduct.
Change-Id: If57fb5acbf5bd0cfeadc54dd12c3ba1da0840491
Bug: skia:12202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447416
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-10 14:34:32 +00:00
John Stiles
144ea42b1a Enable outerProduct() in public SkSL and add unit tests.
Compile-time optimization is not yet implemented so the generated code
contains a lot of checks which will be optimized away in a followup CL.

Change-Id: I83b5df8580a6712686d18812e3848a703feac315
Bug: skia:12202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447300
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-10 14:32:50 +00:00
Ethan Nicholas
bf4a7d5235 Fixed DSLParser crash with invalid swizzle
In response to a non-identifier token after a dot, DSLParser would
attempt to swizzle a zero-length field and fail an assertion.

The same basic code path exists in the old compiler, but the resulting
parse error causes the process to abort before it attempts to process
the zero-length swizzle.

Bug: oss-fuzz:38106
Change-Id: Ifd997ce1d564b5f6ef0a9a785d8d9e254785e600
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446185
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-09-10 14:29:22 +00:00
Heather Miller
588dcc093d Update Skia milestone to 96
Change-Id: I635df8267340a9068b80a2e6c001958cfb2d10e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447578
Reviewed-by: Heather Miller <hcm@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Auto-Submit: Heather Miller <hcm@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-09-10 11:51:00 +00:00
skia-autoroll
c96f979384 Roll Chromium from a2b0fa8ea081 to bb2d18926c64 (15686 revisions)
a2b0fa8ea0..bb2d18926c

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC erikrose@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: erikrose@google.com
Change-Id: Ia45357a8776d2b7a4f1c0e8562839a1d882cb555
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447487
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-10 06:01:16 +00:00
skia-autoroll
c00ff3d6d6 Roll SwiftShader from 35209220317c to 446e61c24b37 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/35209220317c..446e61c24b37

2021-09-09 sugoi@google.com Refactor VkMemoryAllocateInfo parsing

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 erikrose@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: erikrose@google.com
Change-Id: I028f48841379808d73a19855869c77209792e97d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447486
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-10 05:17:50 +00:00
skia-autoroll
9292c806e9 Roll Dawn from 053b58cd29dc to 6fa50b5e6c57 (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/053b58cd29dc..6fa50b5e6c57

2021-09-10 jiawei.shao@intel.com Vulkan: Support extension "depth_clamp"
2021-09-09 jrprice@google.com metal: Use single-entry point transform
2021-09-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 25517e9ce811 to ebab7d2f7a7e (2 revisions)
2021-09-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 733addc20fbf to 25517e9ce811 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 733addc20fbf to ebab7d2f7a7e

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 bajones@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: bajones@google.com
Change-Id: I4b975eb2de8826b4f213c66caa73dcec0d158712
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447485
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-10 04:47:51 +00:00
Jim Van Verth
f17e4008a8 Ignore more pixel mismatches in mtltestprecompile.
Change-Id: I31322f1e04430379d88ca1ed45e52a37b667fee3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447437
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-09 22:13:14 +00:00
John Stiles
2533953aa3 Add Round() to DSL.
I wrote some code which needed Round(); it isn't in ES2 so it wasn't in
the DSL intrinsic set yet.

Change-Id: I304f61b502a68d255d15899181e34fcae2ef16a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447017
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-09-09 19:24:27 +00:00
John Stiles
df84ccdb38 Disable SkSLIntrinsicPackUnorm2x16 test.
This test fails on my work laptop (Radeon 5300M) so simply disabling it
on the tree isn't sufficient in this case. We don't seem to have a test
opt-out mechanism that automatically applies to local runs of dm.

Change-Id: I83582f0cdc3c9e6a61e6dc8e07851b9705143423
Bug: skia:12434
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447057
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-09 19:13:46 +00:00
John Stiles
997c3eda28 Use generic types to specify square forms of outerProduct.
This reduces our memory footprint slightly (smaller dehydrated data,
fewer IRNodes in the rehydrated GPU module).

This required a small tweak to our built-in types. $squareMat and
$squareHMat are now aligned with our $vec/$genType generics. (The "1x1
matrix" case is explicitly marked as invalid, allowing `float2x2` to
match up with `float2` and `half2x2` to match up with `half2`.)

Change-Id: I219a7be42102afbf60bb6857b53ac2b4f469113d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447187
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-09-09 19:09:02 +00:00
John Stiles
feb1e1274c Add implementation of outerProduct() intrinsic to Metal.
Metal doesn't natively offer this intrinsic at all, but we now write an
equivalent template function whenever the intrinsic is encountered.
Proper testing will be added in a followup CL (when outerProduct is made
available in public SkSL).

Change-Id: Ie8d6bf8d735d0ab45b7559be68036b08c5802365
Bug: skia:12202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447296
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-09 19:08:36 +00:00
Jim Van Verth
fc309eafda Metal: add programmatic command buffer capture
* Update capture method to use latest interface
* Add simple hooks to enable command buffer capture for dm, nanobench, etc.

Change-Id: Ia69f1d10f1f80084342f4f38d12aca92f4dc710c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447193
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-09-09 19:04:28 +00:00
Greg Daniel
3270a78150 Add Adreno5xx workaround for dual source blending followed by disabling blending bug.
Bug: chromium:1241134
Change-Id: If99fbd62aaa9e2b5d064fdec6a010d3ab0f9dd66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446817
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-09-09 19:03:54 +00:00
John Stiles
8d0dd0d1c1 Add support for pack/unpackUnorm2x16 to public SkSL.
This includes compile-time optimization and tests.

The unit test is disabled in a followup CL
(http://review.skia.org/447057) because it exposes a Radeon 5300M bug
in OpenGL.

Change-Id: I8b2f0411358aeb68c4edfeb0bd7a2814c4be1f40
Bug: skia:12202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447056
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-09-09 18:59:15 +00:00
Brian Osman
74947225a5 Update comment explaining ignoreable subset rects
Change-Id: I1f3e5e0bdc216910be6b522f460b2c277134635c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447190
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-09-09 18:58:49 +00:00
Robert Phillips
171ff2fdd5 Patch TextureBindingsResetTest to match CommandBuffer expectations
Bug: skia:10412
Bug: skia:12437
Change-Id: I93077bbd2ed40252966305df1b93ceb813218828
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446181
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-09 18:54:03 +00:00
John Stiles
19a7b9749c Convert constant variables to values earlier in intrinsic optimization.
It's dangerous to leave constant variable expressions lying around, as
the temptation to access them via getConstantSubexpression is just too
great, but this currently isn't supported. This bit us in `inverse`
(see http://review.skia.org/440260) and it seems like we had a similar
latent bug with `cross` as well.

Fortunately, this change seemed to simplify the code in general.

Change-Id: Idd3e84ca202a1f05f91c1d6d5e94a3bc6da0d8d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447016
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-09-09 18:53:46 +00:00
Corentin Wallez
2c704669fb Update usage of deprecated Dawn typedefs
Bug: dawn:22
Change-Id: I7c0a4f77bc2c2df81ff4be091bf86569898a1ade
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447216
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@google.com>
Reviewed-by: Stephen White <senorblanco@google.com>
2021-09-09 18:32:56 +00:00
skia-autoroll
66ef11dceb Roll SK Tool from 876761b46493 to f9e7723e5a27
https://skia.googlesource.com/buildbot.git/+log/876761b46493..f9e7723e5a27

2021-09-09 rmistry@google.com Delete ds.MigrateData
2021-09-09 kjlubick@google.com [infra] Add now helper for changing time throughout tests.
2021-09-09 kjlubick@google.com [vfs] Use fs.FileInfo instead of os.FileInfo
2021-09-09 kjlubick@google.com [machine] Mock out times for tests and decouple firestore schema.
2021-09-09 kjlubick@google.com [tmm] Address some static analysis concerns
2021-09-09 kjlubick@google.com [tmm] Improve documentation and names.
2021-09-09 kjlubick@google.com [infra] Run RBE using the VM service account, not JSON keys.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To 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: I83a9268ae1d0f5d8eee0571b128c6f785259806b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447237
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-09 18:09:18 +00:00
Herb Derby
10d153ee21 improve quality of life
Change-Id: I75e93820bd1df57d076560f1b2991f1756ca5389
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446996
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-09-09 17:23:57 +00:00
Joe Gregorio
db2b44e01f Move all Android machines to arm64.
Change-Id: I738fb0c58d1a27397c94df384c8c87c045e36cb6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447177
Reviewed-by: Eric Boren <borenet@google.com>
2021-09-09 16:14:47 +00:00
Jim Van Verth
9605042e8e Metal: Fix discardable MSAA when used with stencil.
The RenderCommandEncoder created for LoadMSAAFromResolve needs to be
able to merge with the encoder that follows it -- otherwise, the load
will do nothing. Hence if the following encoder has stencil, we need to
add stencil to the LoadFromMSAAResolve encoder.

Bug: skia:12086
Change-Id: Idf1249e386e1a24c4f18477e7ff67910bc21aa3e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446716
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-09-09 12:42:49 +00:00
skia-autoroll
f4f2f7542d Roll SwiftShader from 83556eae921f to 35209220317c (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/83556eae921f..35209220317c

2021-09-08 capn@google.com Remove vulkan_fuchsia_extras.h

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 erikrose@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: erikrose@google.com
Change-Id: I5a7be806c22e54eb6af4cad3ca0a3b0b760c2bbf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447039
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-09 05:28:50 +00:00
skia-autoroll
14282f89f0 Roll Dawn from c6140d5c95b8 to 053b58cd29dc (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/c6140d5c95b8..053b58cd29dc

2021-09-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 5910ec1e8afc to 733addc20fbf (1 revision)
2021-09-09 jiawei.shao@intel.com Add FlatRenderPipelineDescriptor for CreateRenderPipelineAsync
2021-09-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from be514a1efb00 to 5910ec1e8afc (2 revisions)
2021-09-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 676ec7cf9964 to be514a1efb00 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 676ec7cf9964 to 733addc20fbf

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 bajones@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: bajones@google.com
Change-Id: I80c98e27c5c2c893546ab772668bb05e1f0d1fc8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447038
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-09 04:59:47 +00:00
skia-autoroll
fc36020440 Roll ANGLE from 5a7b8c612591 to 8b2fd983e61a (6 revisions)
5a7b8c6125..8b2fd983e6

2021-09-08 syoussefi@chromium.org Translator: Fix validation failure in RemoveDynamicIndexing
2021-09-08 jmadill@chromium.org Trace Tests: Load trace list from JSON file.
2021-09-08 ianelliott@google.com Add note that OWNERS should only be updated upstream
2021-09-08 lexa.knyazev@gmail.com Vulkan: Enable VVL on macOS
2021-09-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from aed9a7633481 to 83556eae921f (1 revision)
2021-09-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from e1a053dddd92 to 3ce06be375f3 (419 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 erikrose@google.com,robertphillips@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: erikrose@google.com,robertphillips@google.com
Change-Id: I13e38e78629d0d3f8064fae224d1f623dd46a341
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447036
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-08 23:45:13 +00:00
John Stiles
b6981fb6a4 Add float-packing intrinsics from sksl_gpu to Metal.
It turned out that Metal had equivalent intrinsics/casts all along; we
just needed to emit them.

Tests will be improved in a followup CL which adds the ES3-compatible
packing intrinsics into sksl_public.

Change-Id: Iec8a20b9f9fe9b1badea2944eb0b1f0a17c74560
Bug: skia:12351
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446744
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-08 20:02:43 +00:00
John Stiles
51f9512928 Update GLSL intrinsic ordering to match latest docs.
The GLSL ES 3.0 Specification added a new section in the intrinsics
list, "8.4 : Floating-Point Pack and Unpack Functions." This shifts all
the following sections forward by one. I've updated various comments
which referred to the spec by section number. (The modern-day GLSL spec
is consistent with this new numbering, except for 8.9 "Fragment
Processing Functions," which leaps ahead all the way to 8.14 in today's
spec.)

Also, a handful of post-ES2 intrinsics in FunctionCall.cpp were lumped
together in a catch-all "not required by ES2" section. These have been
moved to the proper ES3 section.

Change-Id: If56c7307a06e6131a2a6d062f7560314362ba265
Bug: skia:12202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446743
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-08 18:51:20 +00:00
John Stiles
14c3175d7a Add ES3 intrinsic modf to sksl_public.
The test has been improved and now covers a variety of values. Because
this intrinsic has side-effects (an out-param), we do not support
optimizing it or treating it as a constant-expression.

The modf documentation doesn't mention anything about constant-
expression support or lack thereof. Experimentally, modf is also not
treated as a constant-expression by Apple GLSL or glslang:

http://screen/4RWwYKr6vCjxCPQ
http://screen/45ttDTVAFGDRyxP

Change-Id: I15bb1de80e90fa97ddf8e9d3803352603b9608d0
Bug: skia:12202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446396
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-08 18:45:16 +00:00
John Stiles
0736712710 Support swizzled out-params in SPIR-V intrinsic calls.
The code in writeFunctionCall which supported swizzled out-params has
been factored out into a pair of helper functions. The code for emitting
intrinsics now relies on these helpers when emitting out-params.

Change-Id: I4436185ae107d70b529e7e1ea0dd89f844c6a673
Bug: skia:11052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446719
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-08 18:19:13 +00:00
John Stiles
8ff713b0b4 Revert "Add RelaxedPrecision decoration to function-call temp vars."
This reverts commit 0f4304e6e7.

Reason for revert: breaks Adreno 6xx

Original change's description:
> Add RelaxedPrecision decoration to function-call temp vars.
>
> This is really same basic issue as http://review.skia.org/446640. We
> were creating a temp variable but ignoring its type's precision.
>
> Change-Id: I9a5fedd7ada864d36757fc196f42ff95bac7d706
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446718
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Change-Id: I6ae4e264b60f7f38a1abb5f1d0324461a33c896d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446742
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>
2021-09-08 17:06:07 +00:00
Brian Osman
201b72a7f4 In runtime effects, treat all children as sampled
An unused child that used its coordinates would triggers asserts in the
GP - we expect that all FPs are sampled/invoked. This generates slightly
sub-optimal code (we compute and interpolate the local coordinates for
that child FP), but it's not likely to happen in real code.

Bug: skia:12429
Change-Id: Ic2ddc65d16a7e1f47af8c4192e5ff9ea329bf335
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446836
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-08 17:03:43 +00:00
skia-autoroll
a0d61eb561 Roll SK Tool from f846e64d8dfe to a2c45e4997e0
https://skia.googlesource.com/buildbot.git/+log/f846e64d8dfe..a2c45e4997e0

2021-09-08 jcgregorio@google.com [docsyserver] Fix instructions for running locally.
2021-09-08 kjlubick@google.com [infra] Fix copypasta in push_apps_from_wasm
2021-09-08 borenet@google.com [task scheduler] Enforce that all tasks have a CasSpec

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: I02273884aa16ad5529ad832c7adeafa013879557
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446777
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-08 16:13:18 +00:00
John Stiles
0f4304e6e7 Add RelaxedPrecision decoration to function-call temp vars.
This is really same basic issue as http://review.skia.org/446640. We
were creating a temp variable but ignoring its type's precision.

Change-Id: I9a5fedd7ada864d36757fc196f42ff95bac7d706
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446718
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-08 16:06:56 +00:00
Florin Malita
38ecac7895 [skottie] Suppress layer parser errors for tt: 0
Bodymovin uses tt: [1-4] to encode a layer track matte type, and skips
the property when a track matte is not present.

Flow OTOH uses explicit tt: 0 to signal the absence of a track matte.

Update the parser to not error out on tt: 0.

Change-Id: I2d456ac3479e356ba1fc5320589848f8872775e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/445957
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-09-08 16:04:01 +00:00
Robert Phillips
769b4884a9 Move some more Ops to skgpu::v1 namespace
Bug: skia:11837
Change-Id: I522636c6dbf977929b0d368e18beb9c3a01fdeb1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446184
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-08 15:41:04 +00:00