Commit Graph

47300 Commits

Author SHA1 Message Date
Florin Malita
6e7eac9fff [skottie] Simplify the separate-dimensions vector interpolator
No need for an intermediate adapter object - just bind individual/scalar
fields using existing mechanisms.

No functional side effects.

TBR=
Change-Id: I16be769e5fb92dba0ebb6ce3b0584c5cdcc2b92c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276215
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-10 19:55:50 +00:00
Robert Phillips
3eabf4ae00 Convert AAConvexPathOp to surfacing its programInfo
This Op is interesting bc it has multiple draws (i.e., it has multiple GrMeshes).

Bug: skia:9455
Change-Id: Ifdd0f07c713cfd88f77038f9a63289d004ffe83b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276208
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-03-10 19:52:31 +00:00
Greg Daniel
a19ea58aa9 Experiment with no longer avoiding uploading same uniforms in vulkan.
The plan is to land this and see what the perf bots report. Only local
desktop a little less than half the time we skip the upload for not being
dirty. But we're not sure if this is saving us much. Unless there is no
regression at all, we will revert this.

Bug: skia:10035
Change-Id: I8a3a8862ccd10ba109b5ddc2f3473d30b3ceccaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276211
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-03-10 19:29:00 +00:00
Mike Klein
d3f67dbf9f add Builder::dot()
Just a quick hack up to dump out a dot-compatible graph.
Arrows go from instruction -> args, making them depends-on
arrows, not data-flows-this-way arrows.

Example:
    ninja -C out nanobench
    out/nanobench --config 8888 -m bitmap_RGBA_8888_A_scale_bicubic --skvm
    dot /tmp/CT4-AT2-Cov0-Blend3-CS0-Shader7d2763e63326274c.dot -T png -O
    open /tmp/*.png

Change-Id: Ic1ad99bb39f84a211304feef8ac485c0225d6a60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276184
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-10 18:51:40 +00:00
Mike Reed
121c2afb99 clipShader -- raster implementation
1. pass shader+op down to device
2. bitmapdevice pass it down to rasterclip
3. rasterclip only ever stores at most one shader
   - if there is a ctm, fold that into (another) shader
   - if the op is difference, invert the sense of alpha
   - if there was a previous shader, compose with it
4. pass through to rasterpipelineblitter
5. it prepends the colorPipeline with the clipShader, and stashes its
   results in a buffer (fClipShaderBuffer)
6. in each blit, scale/lerp from the buffer before storing the result

Change-Id: I07c7a8a20b9ae95cdcc9954237d115e63819f7c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275798
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-03-10 18:43:21 +00:00
Florin Malita
92ec801a2b [skottie] 2D spatial interpolation support
AE discriminates [1] between basic 2-dimensional properties
(PropertyValueType.TwoD - e.g. scale), and spatial 2D properties
(PropertyValueType.TwoD_SPATIAL - e.g. position).

For the latter it provides additional keyframe controls (tangent in &
tangent out) to describe a non-linear interpolation path ("spatial
interpolation").  This composes on top of the usual temporal
interpolation (with its own optional cubic mapping).

To support spatial interpolation:

  - introduce a new Skottie value type (Vec2Value), to represent
    TwoD and TwoD_SPATIAL properties
  - introduce a KeyframeAnimator specialization for Vec2Value, which
    tracks per-keyframe tangent information
  - for spatial keyframes, instantiate/store an SkContourMeasure, and
    use instead of straight Vec2 LERP
  - switch interesting 2D properties to the new value type (transform
    position, anchor point, scale)

(we could look into separating TwoD/TwoD_SPATIAL if needed, but the new
specialization is already more efficient than the old
opaque-vector-with-late-binding approach)

[1] http://docs.aenhancers.com/properties/property/#property-propertyvaluetype

Change-Id: I0863fd970cec4c5ff15cf01b2fb5c6602a468179
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274283
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-10 17:50:55 +00:00
Michael Ludwig
dd86fb3531 Move tiled bitmap code into SkGpuDevice_drawTexture.cpp
This is purely moving code, to make changes in the next CL clearer when
most of these functions can be made static in the cpp file.

Change-Id: I9b23dd96bfc4b6ab3b5f6c8ad8b62365a6d82db2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276199
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-03-10 17:50:25 +00:00
Robert Phillips
d1a8af69ef Make GrRegionOp surface programInfos at record time
Bug: skia:9455
Change-Id: I6049f94fcc7bab00d007e6eca1ba2a425977401a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276198
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-10 17:45:51 +00:00
Robert Phillips
e37f1c4c18 Surface programInfos on GrLatticOp at record time
This entailed adding createProgramInfo & onPrePrepareDraws methods.

This Op is interesting bc its GP has a proxy.

Bug: skia:9455
Change-Id: I5b2e5f20fd5bdd96f31a06c52929b1787336a466
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275948
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-10 17:45:21 +00:00
Chris Dalton
78dac6dcb2 Convert FillRRectOp to the new bind/draw API
Change-Id: Ide8f951ec64c245f94ddae5b442a115495b3e3f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275550
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-03-10 15:45:11 +00:00
Nathaniel Nifong
2e307968fd Clean up Enums in Canvaskit
- Removed inverse filltypes
 - Removed StrokeAndFill Paint Style
 - Removed TextEncoding (all functions assume UTF-8)

Change-Id: Ie2824042b48b3dcefb41ef761bb3070df894da75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276099
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-03-10 15:17:20 +00:00
Eric Boren
fae71fb596 [infra] gen_tasks: fix TODOs in usesDocker()
This adds the "docker_installed=true" dimension for some tasks which are
currently using Docker but do not set the dimension.

Change-Id: I94ede7376e081b861bc691111b58eda37ccf6c41
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276002
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-03-10 10:17:59 +00:00
skia-recreate-skps
80f8325046 Update Go Deps
Change-Id: I2ab6c86e008d2cebbddecb2be2fd44a33f44d0a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276156
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-03-10 05:22:58 +00:00
skia-autoroll
4760465241 Roll ../src 5c8f724bfe77..7f81408a3581 (409 commits)
5c8f724bfe..7f81408a35


Created with:
  gclient setdep -r ../src@7f81408a35

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 brianosman@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/+/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
Bug: None
Tbr: brianosman@google.com
Change-Id: I2356d1e6a27d032beeef11646a9a52d6a7b21b31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276148
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-10 05:05:58 +00:00
skia-autoroll
9e1f70b1d7 Roll third_party/externals/angle2 0c9b6abde90c..abcc536b6207 (12 commits)
0c9b6abde9..abcc536b62

git log 0c9b6abde90c..abcc536b6207 --date=short --first-parent --format='%ad %ae %s'
2020-03-10 shrekshao@google.com Speculative fix for nullptr program in QueryProgramiv
2020-03-09 jmadill@chromium.org Revert "Vulkan: Fix store ops with linear command recording."
2020-03-09 b.schade@samsung.com Enabled GL_KHR_no_error
2020-03-09 tikuta@chromium.org use go isolate client in trigger.py
2020-03-09 geofflang@google.com Allow referencing buganizer issues with ANGLE CLs.
2020-03-09 geofflang@google.com Generate arch-specific defines in Android.bp
2020-03-09 geofflang@google.com Improve GN args for generating Android rolls.
2020-03-09 cnorthrop@google.com docs: Document how to use ANGLE on Android
2020-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 66a682b6a8f9..4c027048d88b (3 commits)
2020-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src 9bd3f561bcee..74556a131735 (1 commits)
2020-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src aa95c80e1a89..6861ea4e10a1 (1 commits)
2020-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 51b2800bb317..b44162fdbb25 (2 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@abcc536b6207

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-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
Bug: None
Tbr: brianosman@google.com
Change-Id: I9df960aee06eaa64663ded756d7fbd354cd6b0a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276147
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-10 04:34:19 +00:00
skia-autoroll
390b9cd720 Roll third_party/externals/swiftshader b44162fdbb25..8be72df60462 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b44162fdbb25..8be72df60462

git log b44162fdbb25..8be72df60462 --date=short --first-parent --format='%ad %ae %s'
2020-03-09 swiftshader.regress@gmail.com Regres: Update test lists @ b44162fd

Created with:
  gclient setdep -r third_party/externals/swiftshader@8be72df60462

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: brianosman@google.com
Change-Id: Ifedee8cf84e371560279762101eceefb3a1064a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276146
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-10 04:31:58 +00:00
Mike Reed
8a44af5cba remove unused isAPicture from shaderbase
Change-Id: I8dac4d62c68a79d5f08c1a96e160c6606c8f765c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276104
Auto-Submit: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-03-09 23:55:09 +00:00
Florin Malita
0c465e3f35 SkShaders::Blend/GPU: treat null inputs as input color
Matches CPU behavior.

Bug: skia:10019
Change-Id: I514bb996fdce8de2af5df008e185c48617a20a37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276008
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-09 23:52:59 +00:00
Mike Klein
a67d1aebf2 add missing license line to SkVM_opts.h
Change-Id: Ie66eccaae13bd1499b3b21bd1bc3c08f867e58aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276139
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-09 23:02:58 +00:00
Florin Malita
52f0291147 Remove SkMaskFilter::makeWithMatrix()
No longer in use by known clients.

Change-Id: Ib695f900a7912f27b40e76905d7369ea18c40800
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276098
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2020-03-09 21:02:38 +00:00
Nathaniel Nifong
a3aa601ea6 Add a canvas test to make and draw SkVertices
Change-Id: I54647b84e0ee0e13cf3041e9340120a6aca89d08
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275997
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-03-09 20:28:48 +00:00
Leon Scroggins III
a77f30c7db Reland "Split building encoding from decoding"
This reverts commit 9d4b788807.
Copyright issue has been fixed in
https://skia-review.googlesource.com/c/skia/+/275998.

Original description:
Bug: skia:9756

In CanvasKit, a large part of the binary is for encoding. Clients
would be happier with a smaller binary and no webp/jpeg encoding. Make
this an option by splitting up the GN arguments.

Split SK_HAS_WEBP_LIBRARY into SK_CODEC_DECODES_WEBP (to match the
existing SK_CODEC_DECODES_RAW) and SK_ENCODE_WEBP. Same for JPEG and
PNG.

Update CanvasKit compile script to disable webp and jpeg encoding.
Update debugger compile script to disable all encoding.

Change IsPng signature to match other SkCodecs.

TBR=djsollen@google.com

Change-Id: Ic847bae0154e0a2922100b3f2ee14a077ee5635a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276007
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-03-09 20:21:19 +00:00
Greg Daniel
85da3368c5 Add d3d support for creating command lists.
Currently we only can create direct command lists and we also don't cache anything.

Change also has so minor fixes to GMs allowing the d3d backend to run through all
GMs without crashing (though not actually drawing anything).

Bug: skia:9935
Change-Id: Ibf378e522d2e49bf342c709eb93d6fca4d43eac9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276097
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-03-09 19:42:48 +00:00
Florin Malita
4054061b0b [skottie] Defibrillate wipe effects
Since we can't use mask filters on layer paints any longer, refactor the
existing wipe effects to use explicit shader masking:

  - remove SkSG::MaskFilterEffect - it no longer works
  - replace with SkSG::MaskShaderEffect
    - for atomic draws, apply the shader to the draw paint as
      SkShader::Blend(kSrcIn, mask_shader)
    - for isolated content, apply the mask as an extra pass
      drawPaint(kDstIn, mask_shader) before restoring the layer
  - refactor VenetianBlindsEffect, LinearWipeEffect and RadialWipeEffect
    to use mask shaders
  - additionally, refactor the RadialWipeEffect gradient to avoid using
    a local shader matrix (does not compose correctly within the new
    framework)

Everyone clear... do not touch the patient... BZZZT!

TBR=

Change-Id: I3a88da97a17b3b68812480cad5298b8778b6847c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275694
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-09 18:41:08 +00:00
Florin Malita
ea3ddc9aef [skottie] KeyframeAnimator builders
Split the keyframe parsing logic into separate builder helpers.

No functional impact, this will facilitate some upcoming changes.

TBR=

Change-Id: I62a02a0ad90ddef572208f8714f22ae0a0b97023
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276003
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-09 18:10:59 +00:00
Leon Scroggins III
20baaee0f7 Update SkWebpEncoder.cpp's copyright notice
Much of the Skia codebase was originally developed in Android and
therefore had an Apache 2 license. When Skia switched to a BSD
license, we updated our files
(see https://codereview.appspot.com/4816058) using an automated
script (see https://codereview.appspot.com/4800055). This file
was imported into Skia from Android later (as SkImageDecoder_libwebp,
in https://chromiumcodereview.appspot.com/12604006), and we
forgot to update its copyright notice. Update it now to match.

Change-Id: I3d1b3d019a013d9a39b7d07a7463b5df580c8da8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275998
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-03-09 17:58:48 +00:00
Kevin Lubick
c06355c93e [canvaskit] Update dash example link to use new API.
Change-Id: Icecf6ab02846046af0baff2d49f3388a436370fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276001
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-03-09 17:56:30 +00:00
Nathaniel Nifong
c8f95e27c4 Fix deprecated names
Change-Id: I40756339e3ef61f05da2b0df510318ff4329c8ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275999
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-03-09 17:06:18 +00:00
Eric Boren
23899c64e3 [infra] gen_tasks: Fix TODOs in usesGit()
This removes the "work" cache from tasks which should not need it, and
adds the "git" cache to all tasks which use Git.

Change-Id: Ie3e5e964d77db44db869030ba195a50e27b75e70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275996
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-03-09 16:23:33 +00:00
Julia Lavrova
e65c5fc14c Enable skia_use_icu for iOS
Bug: skia:9977
Change-Id: I0bf7fe972efe48c5c2b0fd8eabab1d6ff249faee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275959
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-03-09 16:23:29 +00:00
Greg Daniel
02c45909ff Add empty GrD3DResourceProvider class.
Bug: skia:9935
Change-Id: I28f799cb53eb12fc1bd63f4fbcf1e1a09d7ccf3e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274937
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-03-09 15:43:48 +00:00
Nathaniel Nifong
d96c3c78e7 Add shader makers to SkShader externs
Bug: skia:9843
Change-Id: I98ba2e41563b8b3dcec523ae7a2340b9aacfec2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275963
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-03-09 15:22:28 +00:00
Eric Boren
8a05d23363 [infra] More gen_tasks tweaks
Behavioral changes:
- CreateDockerImage and PushAppsFrom*DockerImage tasks no longer get go
  or protoc assets and caches.
- Skpbench on desktop uses CIPD packages for [m]skp, rather than the
  isolated versions.

Change-Id: I0532546be9a4a79434b2d2017061322884ba11fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275956
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-03-09 14:37:58 +00:00
Nathaniel Nifong
4cf2ab6ffe JS files to support running jasmine tests in google3
accompanied by cl/299139086

Change-Id: I9d05aab8171313d2efd2f47c0007b716e4f5a76e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275763
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-03-09 14:20:27 +00:00
Eric Boren
c27e70235f [infra] Overhaul gen_tasks_logic
- Add jobBuilder and taskBuilder for convenience.
- Add parts type with convenience matching funcs.

Change-Id: I8213a1e3742d055515e7b8520b2dec0c06c6f2d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275076
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-03-09 13:02:47 +00:00
Eric Boren
424d28b070 Update Go Deps
Change-Id: I4e662032c2f416a65b27145df547c4ff0245d255
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275856
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-03-09 10:39:27 +00:00
skia-autoroll
0154105fc1 Roll ../src da581c3babc4..5c8f724bfe77 (551 commits)
da581c3bab..5c8f724bfe


Created with:
  gclient setdep -r ../src@5c8f724bfe

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 brianosman@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/+/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
Bug: None
Tbr: brianosman@google.com
Change-Id: I5417cf4e9052b9361c9a0d70d5b7146f6d531cb7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275855
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-09 04:50:57 +00:00
skia-autoroll
24e3e6706e Roll third_party/externals/angle2 9acaf6626042..0c9b6abde90c (11 commits)
9acaf66260..0c9b6abde9

git log 9acaf6626042..0c9b6abde90c --date=short --first-parent --format='%ad %ae %s'
2020-03-07 b.schade@samsung.com Skip invalid end2end test for ES2
2020-03-06 ianelliott@google.com Revert "Instantiate rx::DisplayEGL when device type EGL is selected"
2020-03-06 tobine@google.com Reland "Vulkan:Include precision qualifier in GLSL"
2020-03-06 julien.isorce@chromium.org Instantiate rx::DisplayEGL when device type EGL is selected
2020-03-06 geofflang@google.com Fix GN warning about unused variable when angle_enable_commit_id=false
2020-03-06 ianelliott@google.com Generate new compiler errors for array-of-arrays
2020-03-06 geofflang@google.com Add a GN argument to enable/disable commit_id.
2020-03-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src c6a4c6d3d8b5..aa95c80e1a89 (2 commits)
2020-03-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 1af57a3ec414..94ed4c384c34 (1 commits)
2020-03-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader a095711c5d77..51b2800bb317 (1 commits)
2020-03-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 044ecc0b2c65..66a682b6a8f9 (1 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@0c9b6abde90c

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-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
Bug: None
Tbr: brianosman@google.com
Change-Id: Ie0913a65b13fa7768ad96af21e104e2baa50e66c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275854
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-09 04:42:17 +00:00
skia-autoroll
1987b8f367 Roll third_party/externals/swiftshader 51b2800bb317..b44162fdbb25 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/51b2800bb317..b44162fdbb25

git log 51b2800bb317..b44162fdbb25 --date=short --first-parent --format='%ad %ae %s'
2020-03-06 madesroches@google.com Support for the largePoints feature in Vulkan
2020-03-06 capn@google.com Explicitly compile with warnings-as-errors

Created with:
  gclient setdep -r third_party/externals/swiftshader@b44162fdbb25

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: brianosman@google.com
Change-Id: Ia683737e3775d9e9958a6b6e30a76dff5df1ce58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275853
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-09 04:32:17 +00:00
Martin Vejdarski
c56950442d fall back to vswhere.exe to find msvc
Change-Id: I5cba7406522479c05dc5148357eed31d105a31fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275876
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-08 23:57:16 +00:00
Chris Davis
475b9d0fb7 Remove global static mutex in SkScalerContext_win_dw.cpp
In SkScalerContext_win_dw.cpp there is a global static initializer created at
load time: static SkSharedMutex DWriteFactoryMutex. Change is to move this to
a function where it will be created as a local static on demand.

Bug: skia:10018
Change-Id: Iac5b2ca69617f485c3dce54f18d9a6d7f0416b82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275838
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-08 23:55:17 +00:00
skia-recreate-skps
b18390699e Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I101c525e95fd8697baea4234515088f64fe75d47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275859
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-03-08 08:20:46 +00:00
Brian Osman
2e19af063b Revert "Move interpreter disassemble to out-of-line member of ByteCode"
This reverts commit 1b0124fec6.

Reason for revert: Check generated files bot is unhappy.

Original change's description:
> Move interpreter disassemble to out-of-line member of ByteCode
> 
> Now it returns a string (rather than just calling printf).
> 
> Adds GUI view of particle effect byte code (for fun), and fixes the
> unit tests that called ByteCodeFunction::disassemble, which wasn't
> doing anything.
> 
> Change-Id: Ide3fd933cf14832feae7ff9e0fdc1ae8f24a28d4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273878
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I478a93769a3e1a72a339853d6d41865dba8bbe66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275800
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-03-07 17:44:05 +00:00
Chinmay Garde
cf573d844d Prepare texture for cross context usage when using the Metal backend.
This implementation will only work when the two contexts are created using
the same device and command queue. This restriction is now applied in Flutter.
With the patch and context setup, async texture uploads on the IO thread are
functional.

Change-Id: I887d24b2612cde933e088f74f33912a3a8762159
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275758
Commit-Queue: Chinmay Garde <chinmaygarde@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Chinmay Garde <chinmaygarde@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-03-07 00:59:32 +00:00
Brian Osman
1b0124fec6 Move interpreter disassemble to out-of-line member of ByteCode
Now it returns a string (rather than just calling printf).

Adds GUI view of particle effect byte code (for fun), and fixes the
unit tests that called ByteCodeFunction::disassemble, which wasn't
doing anything.

Change-Id: Ide3fd933cf14832feae7ff9e0fdc1ae8f24a28d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273878
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-03-06 22:16:11 +00:00
Mike Klein
9d4b788807 Revert "Split building encoding from decoding"
This reverts commit 94aaf7cdf5.

Reason for revert: you know what I already typed the reason stop making rules that people have to follow, robots.

Original change's description:
> Split building encoding from decoding
> 
> Bug: skia:9756
> 
> In CanvasKit, a large part of the binary is for encoding. Clients
> would be happier with a smaller binary and no webp/jpeg encoding. Make
> this an option by splitting up the GN arguments.
> 
> Split SK_HAS_WEBP_LIBRARY into SK_CODEC_DECODES_WEBP (to match the
> existing SK_CODEC_DECODES_RAW) and SK_ENCODE_WEBP. Same for JPEG and
> PNG.
> 
> Update CanvasKit compile script to disable webp and jpeg encoding.
> Update debugger compile script to disable all encoding.
> 
> Change IsPng signature to match other SkCodecs.
> 
> Change-Id: Iec8466ee1b76bc3d1e377c24201068b776cd7718
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273768
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Nathaniel Nifong <nifong@google.com>

TBR=djsollen@google.com,scroggo@google.com,kjlubick@google.com,nifong@google.com

Change-Id: I4fc2ea916743fda7e7d0d668b59e52052e880104
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9756
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275710
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-06 21:39:21 +00:00
Brian Osman
bd4f872d69 Handle runtime effect shader errors better
- Expose shader error handler on GrBaseContextPriv
- Use that to report errors that happen during (late) SkSL conversion
- Remove various asserts. We expect these functions not to fail, but
  they absolutely can for any kind of error that gets past the first
  compile in SkRuntimeEffect::Make. We'll still make a GLSLFP, but it
  won't inject any code, so the resulting shader will *also* fail to
  compile. Injecting our own errors first gives the user a better idea
  what's actually broken.
- SkSLSlide also reports errors via the error handler now, too.

Change-Id: I4b871cdaa5e3217b042ebf000bb7474afaeab04c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275679
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-03-06 21:32:31 +00:00
Robert Phillips
24a8e9e170 Reland "Update skpbench's DDL timing"
This reverts commit f35dfabe40.

Reason for revert: 

Relanding - usage of the flag has been removed from the bots in:

https://skia-review.googlesource.com/c/skia/+/275688 (Remove bot to record DDL creation time)

Original change's description:
> Revert "Update skpbench's DDL timing"
> 
> This reverts commit 6f0124ad68.
> 
> Reason for revert: need to remove flag on bots first
> 
> Original change's description:
> > Update skpbench's DDL timing
> > 
> > Chrome is seeing some extra overhead when using DDLs for rasterization. This CL updates skpbench to try to replicate their usage of DDLs (or, at least, better illustrate the overhead of using DDLs).
> > 
> > Bug: skia:9455
> > Change-Id: I2abc7cf2d597c97d1d7a47425064c621a7ef0eb3
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275496
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Robert Phillips <robertphillips@google.com>
> 
> TBR=egdaniel@google.com,robertphillips@google.com
> 
> Change-Id: I87b8c78355b81f5f6c90b74f59f176f3cdbdfdaa
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:9455
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275681
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: I18446e385edb7827fae89541a03545194fe84f6a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9455
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275691
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-06 20:26:50 +00:00
Robert Phillips
e690d9b60c Remove bot to record DDL creation time
This option is being removed in:

https://skia-review.googlesource.com/c/skia/+/275496 (Update skpbench's DDL timing)

Change-Id: Ibdb0c3c04d38503a97add94286d252b664a0eda5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275688
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-06 20:20:50 +00:00
Jim Van Verth
943504bda6 Remove invalid assert
Bug: skia:9935
Change-Id: I35246b69393a4553afa9c2372e683015b82c27f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275686
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-03-06 20:15:20 +00:00