Commit Graph

54551 Commits

Author SHA1 Message Date
Adlai Holler
026851ad2b Correctly delete ops in GrOpsTask::reset
This resetting occurs when merging ops tasks, when we decide to skip
an ops task because a later ops task in the list has a clear color.

You can't just delete the op chains, you have to get all the stuff
out of the chains first or else you'll hit an assert.

Bug: skia:10877
Change-Id: I5377f242a67ab65a656783a61a534be4756f6c21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389959
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
2021-03-29 21:28:44 +00:00
Jim Van Verth
d3dafd088e D3D: Add support for Unordered Access View creation
Change-Id: Ic976545daeb8b6e81b8595d5058429d0b0a9b49b
Bug: skia:10446
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389958
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-03-29 21:20:06 +00:00
Florin Malita
c49c7f591b [svg] Fix handling of <rect> rx/ry
Both rx/ry are optional and clamped to half width/height, respectively:
https://www.w3.org/TR/SVG11/shapes.html#RectElementRXAttribute

Bug: skia:11802
Change-Id: I7b1af7042fdcaa70c0c6b4bfb15d1cb8848e251e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389957
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2021-03-29 21:13:44 +00:00
skia-recreate-skps
a5a4518d95 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I973e56769040147acab254e10cf901effcc00e4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390016
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-03-29 21:11:05 +00:00
Weston Tracey
6af3af0121 [infra] Direct Gold upload from lottie tests.
Bug: skia:11785
Change-Id: I88279fae8c1338547d265ffb2215de13cb5ebe3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389920
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Weston Tracey <westont@google.com>
2021-03-29 21:10:34 +00:00
Weston Tracey
556302dea5 [infra] Direct Gold upload from pathkit tests.
Bug: skia:11785
Change-Id: I4af4641c6a8b47d9dbb35448ca6db61763161464
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389836
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-03-29 16:40:45 +00:00
Weston Tracey
9bb0b6e2f6 [infra] Make gold_upload module for direct-from-test uploads.
Bug: skia:11785
Change-Id: I6358e83242483cde3c8a726111fe9ed07fb09bda
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389708
Reviewed-by: Eric Boren <borenet@google.com>
2021-03-29 16:40:45 +00:00
Kevin Lubick
7845b9700e [fuzz] Expose Region Op fuzzing to oss-fuzz.
This simplifies the fuzzer (since the important logic
is in FuzzCommon.cpp).

As requested by https://chromium-review.googlesource.com/c/chromium/src/+/2597075

Change-Id: Ia73f88ec584a2147f110755f98542e610100cfff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389736
Commit-Queue: Weston Tracey <westont@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
2021-03-29 16:05:05 +00:00
John Stiles
d80cef64fe Simplify the getConstant code during loop analysis.
This function took a unique_ptr<Expression>& but it was sufficient to
take just an Expression&. This doesn't change anything in this CL, but
I have been experimenting with ownership changes of VarDecl expressions
(due to fuzzer findings) and not requiring a unique_ptr here has been
helpful.

Change-Id: Ic6851e8171779b77c6e5caf45903f2d99dd012fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389797
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-03-29 16:02:42 +00:00
Florin Malita
99438408b1 [svg] Add support for funcIRI fallback colors
Per spec [1], funcIRI paint servers can specify a fallback color to be
used when the IRI is invalid.

[1] https://www.w3.org/TR/SVG11/painting.html#SpecifyingPaint

Bug: skia:11802
Change-Id: I9711822f97ed949315d944aff4de2fda97eaa607
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389796
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2021-03-29 15:45:02 +00:00
John Stiles
3d1d60ac19 Avoid creating GM test resources at startup time.
The `compositor_quads_xxxxxx` slides were attempting to create their
renderers at program startup time. These are now created in
onOnceBeforeDraw instead.

Change-Id: I5dd5844447bf87348cb88ee97aa4e03593eb07fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389616
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-03-29 15:17:09 +00:00
Ravi Mistry
9340b43508 Remove anchor and increase wait time for desk_intelwiki.skp
No-Try: true
Bug: skia:11804
Change-Id: Ib30df7f233bd3c2bcbfdf5c62e803be187a4ff01
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389712
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-29 15:14:22 +00:00
skia-autoroll
59be76851d Roll ANGLE from 3d6cedb1e956 to eac2397bcf94 (5 revisions)
3d6cedb1e9..eac2397bcf

2021-03-25 jmadill@chromium.org Trace Tests: Work around autoninja.bat change on Win.
2021-03-25 m.maiya@samsung.com Vulkan: Enable glBlitFramebuffer for EXT_sRGB_write_control
2021-03-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 91a2a0b15f23 to 3f4383f1d450 (26 revisions)
2021-03-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from a98fb3f8380a to 8969f861fc24 (2 revisions)
2021-03-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from bda1e3894abc to 7a30f2f0e630 (468 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 mtklein@google.com on the revert to ensure that a human
is aware of the problem.

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/master/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: mtklein@google.com
Test: Test: SRGBFramebufferTest*.*Vulkan*
Change-Id: Ib34bb94945e11d3998401c6becf07d78b249e362
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389776
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-29 14:56:09 +00:00
John Stiles
fabed8bb79 Fix fuzzer-discovered error with variable declarations.
As soon as a single VarDeclaration is successfully created, its Variable
is added to the current symbol table. However, if a variable-declaration
line declared several variables in a row, we would stop if ANY of the
declarations contained an error and discard the entire statement, but
would continue processing the rest of the program. This left us in a
position where some Variables existed in the SymbolTable with valid,
reachable names, but their corresponding VarDeclaration statement had
been thrown away as erroneous. Since Variables point back to
VarDeclarations for their initialValues, this gave us a stale pointer.
Any future reference to that variable name which could trigger an
access to its initialValue would read from this dead pointer.

This CL fixes the conversion of VarDeclarations so that we no longer
throw away any VarDeclarations associated with a successfully-parsed
Variable.

Change-Id: If8ec3c160933e48a0e1f36414234b3a849d8978c
Bug: oss-fuzz:32587
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389636
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-03-29 14:35:09 +00:00
Joe Gregorio
02f72022c5 [docs] Port markdown to Docsy
This CL lands copies all the documentation in /site into /site2
but also adds frontmatter to each page.

Additionally it adds a Hugo `config.toml` file.

Once the new documentation server is live the original /site
directory will be removed and /site2 will be renamed /site.

Bugs: skia:11799
Change-Id: Ic300cf5c2a2a8fa2f9acc3455251bf818cb96a52
Docs-Preview: https://skia.org/?cl=386116
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386116
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2021-03-29 13:13:06 +00:00
skia-autoroll
9753413043 Roll Chromium from e0abc3035c46 to 72a44ae7b7da (206 revisions)
e0abc3035c..72a44ae7b7

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

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/master/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: mtklein@google.com
Change-Id: I1a8f63667633b8d790ca1eb4bb0ef730bff276cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389676
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-29 05:14:48 +00:00
skia-autoroll
2549798818 Roll SwiftShader from d4550ab8d3f0 to fb53aa2bb7da (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/d4550ab8d3f0..fb53aa2bb7da

2021-03-26 swiftshader.regress@gmail.com Regres: Update test lists @ d4550ab8

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

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/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: mtklein@google.com
Change-Id: I9b03944a7cda2338859afa910f059f281b8260b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389557
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-29 05:10:48 +00:00
skia-autoroll
52b4c16f43 Roll Dawn from 125715248544 to b745df8537a0 (1 revision)
https://dawn.googlesource.com/dawn.git/+log/125715248544..b745df8537a0

2021-03-26 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from cea744d55887 to 9ef17472e871 (5 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from cea744d55887 to 9ef17472e871

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

To 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/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: bclayton@google.com
Change-Id: Ib73924926c176aa2b23b6b13d34efad7a4e5dd7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389678
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-29 04:56:48 +00:00
skia-recreate-skps
d1de126c25 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I391e4d0d64aafcfbe105df42ef661e18f43965a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389536
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-03-28 06:53:21 +00:00
skia-autoroll
497bdf9599 Roll SwiftShader from 8969f861fc24 to d4550ab8d3f0 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/8969f861fc24..d4550ab8d3f0

2021-03-25 jmadill@chromium.org Increase render target limit to 8.

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

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/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: reed@google.com
Change-Id: I81838e0444971bd067bc3daf9a95b78352687807
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389438
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-26 05:01:09 +00:00
skia-autoroll
7a8252144a Roll Chromium from f3d16e168f8c to e0abc3035c46 (461 revisions)
f3d16e168f..e0abc3035c

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

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/master/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: reed@google.com
Change-Id: Ia20cf9ab3fbb2935e3f76b39042224d57b8f4992
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388865
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-26 04:57:19 +00:00
skia-autoroll
5069304bb2 Roll Dawn from 6d0438c21e0f to 125715248544 (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/6d0438c21e0f..125715248544

2021-03-25 cwallez@chromium.org Use RefCounted for DeviceBase
2021-03-25 bryan.bernhart@intel.com D3D12: Remove WrapSharedHandle
2021-03-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 5c9906e3079f to cea744d55887 (2 revisions)
2021-03-25 bajones@chromium.org Allow Dawn to surface Tint internal compiler errors as uncaptured validation errors

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 5c9906e3079f to cea744d55887

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

To 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/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: bclayton@google.com
Change-Id: Ie6d1954e5784ac2c950735f599019e7536a49a1a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388866
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-26 04:53:19 +00:00
John Stiles
2396fb8be5 Convert division-by-literal in SPIR-V to multiplication.
This is particularly relevant for "vector / scalar" divides, as these
end up generating an extra OpFDiv to take the reciprocal of the scalar.
This meant we were generating code to calculate "literal 1 / literal N"
at runtime whenever dividing vector V against scalar N. This fix moves
the reciprocal calculation to compile-time. And of course, it's a valid
strength reduction in all cases.

Change-Id: I0986057e516120fe872e70135f1ac365155d5377
Bug: skia:11792
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389156
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-26 02:30:54 +00:00
John Stiles
d94bfdd7d8 Fix codegen for integer vector-scalar arithmetic in SPIR-V.
Due to missing type-checks, we would emit `OpVectorTimesScalar` when
multiplying an ivec with an int, or an `OpFDiv` when dividing an ivec
against an int.

Change-Id: Idc214dbe0ec208cb44f28b22e585584ac2ab7dae
Bug: skia:11267, skia:11788
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388742
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-26 02:30:04 +00:00
John Stiles
2febb5b423 Add SkSL test for vector-scalar math.
We had constant-folding tests for vector-scalar arithmetic, but didn't
have an equivalent SkSL unit test for vector-scalar arithmetic that
actually needs to be computed at runtime.

This exposes two SPIR-V bugs: one was previously known, but the other
is a new discovery.

Change-Id: I28737128f20b445797c6c29872335d05f94cc95c
Bug: skia:11267, skia:11788
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388739
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-25 23:30:34 +00:00
Ethan Nicholas
707d31578c Refactored DSL variable creation
Prior to this change, we were creating the SkSL variable and declaration
immediately on DSLVar creation. This causes problems with function
parameters, which are sometimes supposed to be tagged
SK_MAIN_COORDS_BUILTIN. If we have already created the variable and
inserted it into the symbol table, then by the time we determine the
variable is supposed to be SK_MAIN_COORDS_BUILTIN, it is too late to
modify the (now-const) variable.

We are not yet doing this tagging, but refactoring the creation in this
fashion paves the way to making it possible.

Change-Id: I031170502c5e7c1fff5ecfac01bea470ff4e61ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389216
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-25 23:02:04 +00:00
John Stiles
0c9d888748 Run SkSL inliner tests as part of dm.
Previously, these tests were never actually executed, only read during
code review. They are now properly tested for correctness whenever dm
is run. Non-ES2 compliant statements (do/while/switch) are unfortunately
excluded here, as they are not compatible with Runtime Effects yet.

Change-Id: I965c782baad6f8dd3961a400ae791fb2c1f844d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389296
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-25 22:58:54 +00:00
John Stiles
70cd59880d Code cleanup: add helper functions for matrix-vector rewrites.
The nitty-gritty details of this optimization don't belong in the body
of BinaryExpression::Make.

Change-Id: I7077d0ccf4ca1b049239f27443db897ed51a5895
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389060
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-25 22:54:34 +00:00
Weston Tracey
7ddc9b9941 [infra] Add ios-dev-image-14 asset script
Change-Id: I6733cc41b5b9b11b2d86a8b08bfa2dcfe04ff0d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388838
Auto-Submit: Weston Tracey <westont@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
2021-03-25 22:26:04 +00:00
Dominik Röttsches
2e04df9a06 Support PaintTranslate in COLRv1 rasterisation
Found during implementation of COLRv1 fuzzer for FreeType that translate
operation was still missing.

Added a test glyph containing two squares filled with a radial gradient
shifted by dx 128, dy -128 and dx -308, dy 307
combined using a PaintComposite.

Bug: skia:11790
Change-Id: I4cbfe34a111a450777dc2f8fa9d32a405f808a89
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389116
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-03-25 20:14:21 +00:00
skia-autoroll
ced1d35bc5 Roll skcms from 65de465d622d to b9593d4e39ea (1 revision)
https://skia.googlesource.com/skcms.git/+log/65de465d622d..b9593d4e39ea

2021-03-25 mtklein@google.com inclusivity in comments

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

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/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: reed@google.com,mtklein@google.com
Change-Id: I7e5a4e221e5442d663fee36a214b3f46b5acb6cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389198
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-25 19:25:41 +00:00
Mike Reed
5514431d0e Extend drawAtlas with optional sampling parameter
Change-Id: Id26f0d9ca5381da807b072c8b59745f2afd8df60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386860
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Yegor Jbanov <yjbanov@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-25 18:04:32 +00:00
Weston Tracey
c98b2afc7b [infra] Remove Upload tasks for Test.* jobs using the default recipe.
Bug: skia:11785
Change-Id: Ie66d0c49c978c02c23412b6525ee5d5e94f5d5d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388137
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-03-25 16:52:51 +00:00
Weston Tracey
593c99ef5e [infra] Remove Upload tasks for Test.*Canvaskit jobs.
Bug: skia:11785
Change-Id: I0f176c1ab3c5679c74efb727d55bf5431d5dae47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387636
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-03-25 16:52:51 +00:00
Mike Reed
c28336e5c2 No one needs legacy sprite behavior
Change-Id: I3ab0f671c16cb951eed9543e90c224cc4f00eec1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389056
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2021-03-25 14:18:15 +00:00
Eric Boren
a1db799824 Fix Python3 compatibility
Bug: skia:11768
Change-Id: I6107362457dce380e3fb1647ad58d8e33e453e2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388743
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2021-03-25 14:15:35 +00:00
Mike Reed
764bc210e6 Complete mipmapmode enum
Change-Id: I95d491ae0364897b3f48d81d0ca6fb5714c1ae9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388718
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2021-03-25 14:06:23 +00:00
Eric Boren
942db50454 [infra] Remove LenovoYoga jobs and associated code
These devices died in the flood a year ago.

Change-Id: Ibf2561016279b1c91eabffd3a5eb76995466b265
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388745
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-03-25 12:58:45 +00:00
Mike Reed
c028c5c1f8 Revert "Don't reuse scratch textures when texsub image banned for FBO textures"
This reverts commit 2a88456c15.

Reason for revert: speculative -- fix marshmellow gl on chrome roll?

Original change's description:
> Don't reuse scratch textures when texsub image banned for FBO textures
>
> If writePixels uses a scratch surface it will likely bind it to a FBO.
> If this workaround is in play that texture then becomes "poisoned" as
> a temp surface for a future writePixels(). However, our caching
> mechanism will still find it and we'll incur an extra recursion in
> writePixels to allocate a new texture that has never been bound to a
> FBO. This pattern can repeat itself with increasing recursion depth
> until the cache budget has been reached and we start purging the
> "poisoned" textures.
>
> Disallowing reuse of scratch textures avoids this issue.
>
> Bug: skia:11204
> Change-Id: I8002a673900a9a34e889c92e816781d4b7f84688
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388696
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,robertphillips@google.com

Change-Id: Ic5d5731d30031bdcddc444aa2c4d9d552dc75838
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11204
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389016
Reviewed-by: Mike Reed <reed@google.com>
2021-03-25 11:05:05 +00:00
Weston Tracey
39c0f4e0f3 [infra] Add Test-Mac11-Clang-MacMini9.1-CPU-AppleM1-arm64-Debug-All-NativeFonts
Bug: skia:11334
Change-Id: Ibc1c63391f4f43f76e34ffc9178e2b67c427c696
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388744
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Weston Tracey <westont@google.com>
2021-03-25 10:56:15 +00:00
skia-autoroll
a6748aa802 Roll Chromium from 18606de65b54 to f3d16e168f8c (466 revisions)
18606de65b..f3d16e168f

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

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/master/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: reed@google.com
Change-Id: I61bf3577719366c5bacc49e62862387076a8193e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388856
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-25 05:25:35 +00:00
skia-autoroll
3db061f143 Roll SwiftShader from a98fb3f8380a to 8969f861fc24 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/a98fb3f8380a..8969f861fc24

2021-03-25 swiftshader.regress@gmail.com Regres: Update test lists @ 2eed61ff
2021-03-24 capn@google.com Ensure compressed image copy is height compliant

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

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/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: reed@google.com
Change-Id: I0f78b0808f23537fddadbc13aaac73209f87b0ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388878
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-25 05:10:45 +00:00
skia-autoroll
3cdeaba813 Roll ANGLE from d146222879dc to 3d6cedb1e956 (11 revisions)
d146222879..3d6cedb1e9

2021-03-25 ynovikov@chromium.org Leave Android devices in portrait orientation after test
2021-03-24 cclao@google.com Vulkan: Add A few other *-None-04584 VVL error to skip list
2021-03-24 senorblanco@chromium.org SSBO handling rewrite.
2021-03-24 doughorn@google.com Fix potential mod by 0 with invalid formats.
2021-03-24 jmadill@chromium.org Disable Framebuffer Fetch test.
2021-03-24 m.maiya@samsung.com Add missing qualifier type handling in translator
2021-03-24 cnorthrop@google.com Scripts: Ignore robin_hood headers in VVL
2021-03-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from f1617b736428 to bda1e3894abc (469 revisions)
2021-03-24 amy.liu@arm.com Compression of the data from vkGetPipelineCacheData.
2021-03-24 xiaoxuan.liu@arm.com Vulkan: Fix gl_SamplePosition XY-flip and rotation.
2021-03-24 reveman@google.com [Fuchsia] Add ifndefs to vulkan_fuchsia_ext.h

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

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/master/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: reed@google.com
Test: Test: GLSLTest_ES31.VaryingTessellationSampleInAndOut*Test: Test: Verify no crash when format is invalid.Test: Test: dEQP-GLES31.functional.shaders.multisample_interpolation.Test: Test: dEQP-GLES31.functional.shaders.sample_variables.sample_pos.
Change-Id: I89e2e80dc5f850f1fa918710bb0f53860f364f19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388876
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-25 05:08:15 +00:00
skia-autoroll
7cae908221 Roll Dawn from 54e150b7c22e to 6d0438c21e0f (14 revisions)
https://dawn.googlesource.com/dawn.git/+log/54e150b7c22e..6d0438c21e0f

2021-03-24 cwallez@chromium.org Add documentation for the codegen.
2021-03-24 senorblanco@chromium.org Roll third_party/angle/ d8557cc88..0c9f22d3a (162 commits)
2021-03-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 84ef13c84fb3 to 5c9906e3079f (3 revisions)
2021-03-24 rharrison@chromium.org Add test to confirm validation rejects invalid WGSL
2021-03-24 cwallez@chromium.org Pull buildtools DEPS directly instead of via recursedeps
2021-03-24 cwallez@chromium.org Remove the dependency on shaderc and glslang.
2021-03-24 cwallez@chromium.org Remove utility to create shader modules from GLSL
2021-03-24 bclayton@google.com ComputePipelineD3D12 - check result of CreateComputePipelineState()
2021-03-24 bclayton@google.com .vscode/tasks.json: Implement tasks for Windows
2021-03-24 bclayton@google.com .gitignore: Add Visual Studio config directory
2021-03-24 bclayton@google.com Add .vscode/tasks.json
2021-03-24 bclayton@google.com Port ComputeSharedMemoryTests to WGSL
2021-03-24 bclayton@google.com Port TextureViewTests to WGSL
2021-03-24 enga@chromium.org Validate the texture Aspect enum in ImageCopyTexture

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 84ef13c84fb3 to 5c9906e3079f

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

To 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/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: bclayton@google.com
Change-Id: If690282d4d5877f519ff73bb46ee5b031dabe294
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388877
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-25 05:01:15 +00:00
John Stiles
06b6f47950 Update blendmode benchmark to allow less than 1000 iterations.
On Mali 400 devices, 1000 iterations is way too many, causing this
benchmark to take five seconds per variation:
http://screen/5AdKPZynP7myjfR

This change should help lighten the load on the tree for older devices.

Change-Id: I3f719093c3f7fdbc81ab41c29ce6d93f36360b7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388444
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-24 21:32:23 +00:00
John Stiles
9e13fe86b1 Rewrite matrix * vector multiplication on ARM GPUs.
If sk_Caps.rewriteMatrixVectorMultiply is false, we generate the same
code as before.

If sk_Caps.rewriteMatrixVectorMultiply is true, and optimization is
enabled, medium-precision multiplication of `matrix * vector` is
rewritten in BinaryExpression as the sum of
(m[0]*v[0] + m[1]*v[1] + ... + m[N]*v[N]).

Change-Id: I9796158fd4203b5cd2278c0d0e9a2e8cda82b136
Bug: skia:11769
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388460
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-24 19:21:44 +00:00
John Stiles
15da98ce58 Revert "Performance experiment: Disable SkSL inliner in nanobench/skpbench."
This reverts commit 3f5bee1a7a.

Reason for revert: concluding experiment

Original change's description:
> Performance experiment: Disable SkSL inliner in nanobench/skpbench.
>
> This is a reland of 045d7513d7
>
> This will allow us to measure the impact (positive or negative) of
> inlining functions before submitting a shader to the driver.
> In previous trials, we encountered an issue with overloads of cross()
> which prevented us from collecting data on some platforms.
>
> Original change's description:
> > Performance experiment: Disable SkSL inliner in nanobench/skpbench.
> >
> > This is a reland of 3f35ac10b4
> >
> > Time to run this experiment again.
> >
> > Original change's description:
> > > Performance experiment: Disable SkSL inliner in nanobench/skpbench.
> > >
> > > This will allow us to measure the impact (positive or negative) of
> > > inlining functions before submitting a shader to the driver.
> > >
> > > Change-Id: Icbd64096445a353187b30feea68573d89ca18664
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384317
> > > Reviewed-by: Brian Osman <brianosman@google.com>
> > > Commit-Queue: John Stiles <johnstiles@google.com>
> >
> > Change-Id: I278a770d4129f4ad0bf867c33a01b49a88cea588
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387256
> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
>
> Change-Id: I49a1555bde93c339fda567fc85a85e937af95628
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388396
> Commit-Queue: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: Ifd63edeb06fea8eea4ac0a4242c93449b288b074
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388796
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-24 19:21:25 +00:00
Michael Ludwig
8b6788079f Revert "Use objc_externally_retained to cut down retain/release in Metal"
This reverts commit 78381ee5e0.

Reason for revert: breaking chromium and flutter mac builds

Original change's description:
> Use objc_externally_retained to cut down retain/release in Metal
>
> Until we get off of ARC, these extra retains and releases can really
> add up in previous profiling of Metal, especially on iOS.
>
> Change-Id: Ib3aaa0b863c4469bdb6ad930395a170719c0293d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/381110
> Commit-Queue: Adlai Holler <adlai@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=jvanverth@google.com,bsalomon@google.com,adlai@google.com

Change-Id: I36aff7698a70052a42b91a910b92fd512b3eecd4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388717
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-03-24 19:06:05 +00:00
Brian Salomon
2a88456c15 Don't reuse scratch textures when texsub image banned for FBO textures
If writePixels uses a scratch surface it will likely bind it to a FBO.
If this workaround is in play that texture then becomes "poisoned" as
a temp surface for a future writePixels(). However, our caching
mechanism will still find it and we'll incur an extra recursion in
writePixels to allocate a new texture that has never been bound to a
FBO. This pattern can repeat itself with increasing recursion depth
until the cache budget has been reached and we start purging the
"poisoned" textures.

Disallowing reuse of scratch textures avoids this issue.

Bug: skia:11204
Change-Id: I8002a673900a9a34e889c92e816781d4b7f84688
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388696
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-03-24 18:29:42 +00:00
Adlai Holler
78381ee5e0 Use objc_externally_retained to cut down retain/release in Metal
Until we get off of ARC, these extra retains and releases can really
add up in previous profiling of Metal, especially on iOS.

Change-Id: Ib3aaa0b863c4469bdb6ad930395a170719c0293d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/381110
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-03-24 16:32:42 +00:00