Commit Graph

54418 Commits

Author SHA1 Message Date
Chris Dalton
4718a8b83b Draw dmsaa textures with GrFillRRectOp
With the new drawing API in Ganesh it should be relatively
straightforward to chain FPs with different textures.

Bug: skia:11396
Change-Id: I57cde39a2c00c79ea8b9b907c0ee8a034f977a14
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386616
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-30 15:09:35 +00:00
Chris Dalton
7c27c31cab Beef up AllPathsVolatile benchmarking
Adds radeon and vulkan/quadro configs. Adds desk_motionmarkpaths.skp.

Change-Id: Icc6712a0b490a995b5f11c752b5eabe64c6e5fd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390176
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-30 15:09:05 +00:00
Adlai Holler
194b239e09 Reland "Use objc_externally_retained to cut down retain/release in Metal"
This reverts commit 8b6788079f.

Reason for revert: Fixed variable type for chrome & flutter

Basically, you can't use objc_externally_retained with `auto` type
variables because the compiler isn't smart enough to deduce the type
before checking that it's compatible with the attribute.

Original change's description:
> 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>


Change-Id: I5cad02fc9d8c7f21e22021858b2e6e9b038a3de6
Cq-Include-Trybots: luci.skia.skia.primary:Canary-Flutter
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389157
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-03-30 14:43:15 +00:00
Robert Phillips
0d8722c8b5 Make use of shareable promise images in tools
The main change here is just fusing the following three methods into recreateSKP:
   deflateSKP
   createCallbackContexts
   createSKP

All the remaining changes are just API fallout from that.

Bug: skia:11728
Change-Id: Iae2ce65983ad56c8288bdc830e248394a0055bfb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389925
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-03-30 14:25:55 +00:00
Brian Salomon
3079266f92 SkGpuBlurUtils::GaussianBlur handles degenerate downscale cases.
Previously it aborted if at a downscale to 1 pixel the effective
sigma was greater than the max sigma.

For repeat/mirror the single col/row is the blurred result

For decal/clamp add a border of transparent/original border and then
recurse.

Bug: skia:11735
Bug: chromium:1174354

Change-Id: I3438f49fdc5167f6def61a49f9fc8eaef3912ec3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385279
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-03-30 14:18:05 +00:00
Greg Daniel
38517c2c39 Have GrVkFramebuffer hold refs to the attachmetns that are part of it.
This starts to move us in the right direction for DMSAA support. In
future CLs it will allow GrVkOpsRenderPass to depend/use a
GrVkFramebuffer object when setting things up instead of a GrVkRenderTarget.
This makes it easier to dynamically tell it to use an msaa color attachmet
or the normal non-msaa attachment from the render target.

A bonus to this is that we can remove the ugly addResources call on the
GrVkRenderTarget.

Bug: skia:11809
Change-Id: I7e5db64210830994ec507e6bbc4d3d1e1a9ed4e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390036
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-03-30 13:47:35 +00:00
Ravi Mistry
430fd53936 Add scrolling to go to the more interesting parts of desk_intelwiki.skp
Bug: skia:11804
Change-Id: I96ce34311b5e5420ee343a0dbc68ef20f399be4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390336
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-30 13:46:19 +00:00
John Stiles
ca65f8f9f6 Detach VarDeclarations and Variables from each other during deletion.
Variable and VarDeclarations cross-reference one another. They generally
get deleted around the same time, but this is not always the case. In
this CL we explicitly detach them from each other at destruction time
to avoid holding a stale pointer, removing the risk of accessing it
later. (Accessing null is still fatal, of course, but it's less
dangerous than using a recently-freed pointer, and easier to debug as
well.)

Modifying things in the symbol table requires a const_cast, but it's not
too risky to null out a pointer field on a conceptually-dead object.
A Variable without a VarDeclaration is inert.

Change-Id: Ie01244495a82a8007269522a561b2512c5f12384
Bug: oss-fuzz:32587
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390056
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-30 13:10:15 +00:00
Kevin Lubick
9e3c9f1bf0 [canvaskit] Skip problematic skp
This skp started causing
Perf-Debian10-EMCC-GCE-CPU-AVX2-wasm-Release-All-Puppeteer_RenderSKP
to timeout.

Change-Id: I248b4be8f2287ecb16969f71f985acd794bd8d11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390298
Reviewed-by: Ravi Mistry <rmistry@google.com>
2021-03-30 13:07:38 +00:00
Brian Salomon
de3cb0b454 Reland "Don't reuse scratch textures when texsub image banned for FBO textures"
This is a reland of 2a88456c15

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>

Bug: skia:11204
Change-Id: I0585497e0d0d09dd68cbef050a0bbb8f9a85c16d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390058
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-03-30 13:00:25 +00:00
John Stiles
18a45b341d Reserve AST node space at the start of compilation.
I tested sksl_small, sksl_medium and sksl_large to check their ratio of
characters to AST nodes and the amount varied between 8:1 and 12:1. The
parser now reserves a pool of 1 AST node per 10 source characters before
beginning the AST translation. This gives a ~3% improvement in
sksl_large on my machine, not a huge win per se but still pretty
significant given the simplicity of the change.

Change-Id: I028c6c251504065cbbd36b6199b18728ff2414e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390057
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-30 12:34:15 +00:00
skia-autoroll
bb60ee51de Roll Chromium from 72a44ae7b7da to d6926860006d (346 revisions)
72a44ae7b7..d692686000

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: Icc32896119cc0fe3757ea7ab9725d6f1173dfd07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390157
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-30 05:52:14 +00:00
skia-autoroll
d7acfbc5ec Roll Dawn from b745df8537a0 to d7d98509da5c (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/b745df8537a0..d7d98509da5c

2021-03-29 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 9ef17472e871 to 01ac3dd9176d (1 revision)
2021-03-29 cwallez@chromium.org dawn_native: Use an internal GetQueue that doesn't add a ref
2021-03-29 cwallez@chromium.org dawn_native: Prefix all API methods with API

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

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

To 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: enga@google.com
Change-Id: I12f3fb6e1c058094717e5a2735c846be63fb5cc4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389944
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-30 05:04:24 +00:00
skia-autoroll
3007ce68f0 Roll SwiftShader from fb53aa2bb7da to 4c0f888d7ef8 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/fb53aa2bb7da..4c0f888d7ef8

2021-03-29 capn@google.com Automate installing the API library for testing

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: Ic67eedcec6148fac5ac2e5f0682e4c541f8584f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389942
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-30 05:01:54 +00:00
shrekshao
589adda930 WebGPU API evolution GPUExtent3D.depth -> depthOrArrayLayers
Bug: chromium:1176969
Change-Id: Ie3853bffe1e004c4a930b83201d7e89f82d1df12
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385196
Reviewed-by: Stephen White <senorblanco@google.com>
Commit-Queue: Stephen White <senorblanco@google.com>
2021-03-30 02:55:44 +00:00
Jim Van Verth
7b41798fd6 Add GrD3DPipeline.
This allows me to separate the wrapper around the ID3D12PipelineState
from the other data we track with GrD3DPipelineState. In this way I can
create a GrD3DPipeline directly for compute experiments without worrying
about managing graphics-specific objects. In the long run, we'll
probably need GrD3DGraphicsPipelineState and GrD3DComputePipelineState.

Change-Id: I36ff90a93b6e53fae217aaca3f6e0e76d698aa57
Bug: skia:10446
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389896
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-03-29 21:50:14 +00:00
Chris Dalton
2299df2f56 Don't let caps.maxRenderTargetSize() be > fMaxTextureSizeOverride
We've had a rule that the max render target size can't be larger than
the max texture size. The fMaxTextureSizeOverride option put us in a
situation where that rule could have been broken.

Bug: skia:11396
Change-Id: I403d0fd6af8c294e8a72e379690581523b0ce819
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387856
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-29 21:31:54 +00:00
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