Commit Graph

44060 Commits

Author SHA1 Message Date
Hal Canary
4119443532 experimental/skottie_ios: Skottie iOS/Metal App
To use, see instructions in experimental/skottie_ios/README.md .

No-Try: true
Change-Id: I4fb71576c5e38c7776d14561930b8c2598cfb48f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240284
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-09-16 19:10:24 +00:00
Nathaniel Nifong
d3d13af110 Add a wasm debugger test that uses a WebGL surface
Change-Id: I9fef343d8ae958ca6382f6a781a31b6a583728bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241756
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-09-16 19:07:04 +00:00
Kevin Lubick
556d00eaad [canvaskit] Add test for skottie to catch framebuffer issues
Would have helped notice
https://skia-review.googlesource.com/c/skia/+/241757
when Gold results changed.

Change-Id: I0c7b75a7c6cd5d9952eb98056c98b1118471c330
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241763
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2019-09-16 18:49:50 +00:00
Hal Canary
3388c1a15e gn: split out iOS templates to gn/ios.gni
motivation:  BUILD.gn os too big, also can be reused in modules.

Also: add a BUILD.gn for minimal_ios_mtl_skia_app that uses the
template.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm64-Debug-iOS_Metal,Build-Mac-Clang-arm64-Release-iOS,Test-iOS-Clang-iPhone7-GPU-PowerVRGT7600-arm64-Debug-All-Metal,Test-iOS-Clang-iPhone6-GPU-PowerVRGX6450-arm64-Release-All

Change-Id: I70ebb9668cce51ea9fa671a3d8c93041fbedcbfa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241761
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
2019-09-16 18:49:24 +00:00
Jim Van Verth
c25802db30 Add ETC2 support to Metal backend.
Fills out onCreateCompressedTexture and sets iOS caps to support ETC2.
Skia supports no compressed texture formats on MacOS as yet.

Bug: skia:8243
Change-Id: I2ce20f601c035a8822e658c88b815fdd8587aa98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240692
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-09-16 18:24:04 +00:00
Brian Osman
d46cb9729b Particle effect scripting update
This change adds another layer of complexity and control to
the particle system. There are now two code chunks: the old
code that's run per-particle, and new code that's run for
the effect itself. This allows for effect lifetime to be set
by the script (eg, randomly), as well as the emission rate.
Rate can vary over time (see pulse.json), and particles can
be emitted in bursts by setting the effect's burst field
(see fireworks.json).

Additionally, the effect has its own frame of reference and
color, which becomes the default state for newly emitted
particles. This allows synchronizing state across particles
in various interesting ways (see color in fireworks.json).

Change-Id: Iec2f7a3427ce1d6411ed7ef5b3023cbef2e8a134
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240498
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-16 17:48:04 +00:00
recipe-roller
debc2a3013 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/9ccd0577466b3f1ddf54286a05e564f0a1c45e05 cipd: update to 2a121dde. (tandrii@chromium.org)
  https://crrev.com/4a60db4c3e62239e471dc69906353fcf0384920a Correct an error message where branch and url had changed places (bratell@opera.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I10bcd97379a06b0a70157fda9a5142bc0ed1bc47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241793
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-09-16 17:41:03 +00:00
Brian Osman
4af42fcca1 Fix precompiling shaders on GLES / Android
We need to specify attribute locations and (sometimes) frag shader
output locations. Desktop GL worked fine without this, but Flutter
ran into this problem, and a Pixel 2 reproduced the issue.

Note that both APIs (BindFragDataLocation and BindAttribLocation)
don't take effect until the next time the program is linked, so
we have to relink the program after applying those changes.

I was afraid that re-linking would eliminate the perf benefits of
pre-compiling the shaders, but (at least on Pixel 2) that's not
the case. I traced the life of a single program, and the initial
link (during precompile) was 4.4 ms. The re-link took 0.23 ms.

Change-Id: Iadb3b425a8cf9f6a52e015c2e37f875c0fd73d6d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241758
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-16 17:13:23 +00:00
recipe-roller
b9f4881193 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/87a0c8179bab672f7e51ec0b2e0f35bc87146d82 [swarming] Display timeout type when analyzing results. (kylecameron@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I77c74cbc26cd656994c5d90213c6b396b5f600e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241783
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-09-16 17:09:04 +00:00
Hal Canary
6ed3e8e779 BUILD/iOS-App: simplify bundle
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm64-Debug-iOS_Metal,Build-Mac-Clang-arm64-Release-iOS,Test-iOS-Clang-iPhone7-GPU-PowerVRGT7600-arm64-Debug-All-Metal,Test-iOS-Clang-iPhone6-GPU-PowerVRGX6450-arm64-Release-All

Change-Id: I9f4cdd215a8bf62016944f7200cb1543a751bfd0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241048
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-09-16 16:55:04 +00:00
Brian Osman
3bd566ee5c android_gdbserver: Don't fail when trying to locate nonexistent files
Without '-x', exit codes of remote commands are forwarded to the host,
causing the shell script to terminate early.

Change-Id: I4cd8357277e22cc6d616d31bc83ba228eb8c2940
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241363
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-16 16:28:33 +00:00
Nigel Tao
6447a1a777 Remove a deprecated Wuffs io_buffer::reader call
Bug: skia:8235
Change-Id: I4bd439bd8449b419cfc2ccedc2aef9e7e7ed154f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241496
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-09-16 15:40:31 +00:00
Brian Salomon
c22498502c Mark last render target bound ID invalid after clearing texture levels using glClear
Fixes WebGL invalid framebuffer issues.

Change-Id: I841b8aa27f126feeb9971123c8b025630cdd3e0b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241757
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-09-16 15:39:41 +00:00
skia-autoroll
86c48abc94 Roll third_party/externals/angle2 b1580a276713..d32dae1bb37c (5 commits)
b1580a2767..d32dae1bb3

git log b1580a276713..d32dae1bb37c --date=short --no-merges --format='%ad %ae %s'
2019-09-13 zmo@chromium.org Revert "EGL: Implement EGL_KHR_no_config_context"
2019-09-13 m.maiya@samsung.com Vulkan: Support float textures and renderbuffers
2019-09-13 j.vigil@samsung.com EGL: Implement EGL_KHR_no_config_context
2019-09-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src fdd13ca10ffc..fe0b2bd694bb (1 commits)
2019-09-13 emircan@chromium.org Move to NewCreateImagePipe2Cmd

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

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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=brianosman@google.com
Change-Id: I881f786bd88fd5d44153f518301328e36e18325e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241697
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-16 05:31:10 +00:00
skia-recreate-skps
346125d5f6 Update Go deps
Change-Id: I814843dfa1c23a37efba938212947bcdd6fbb611
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241704
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-16 05:25:00 +00:00
skia-autoroll
9a858e9a8d Roll third_party/externals/swiftshader adb0d51ca672..30847688f059 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/adb0d51ca672..30847688f059

git log adb0d51ca672..30847688f059 --date=short --no-merges --format='%ad %ae %s'
2019-09-13 sugoi@google.com Renderer alignment fix
2019-09-13 digit@google.com [android] Fix build.

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

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.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=brianosman@google.com
Change-Id: I3c53cb6967ec4b7d6b05ace2d7543980f95a9876
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241696
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-16 04:33:10 +00:00
skia-autoroll
561b90bd1d Roll ../src 465489971eea..48c8f915e06e (416 commits)
465489971e..48c8f915e0


Created with:
  gclient setdep -r ../src@48c8f915e0

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.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
TBR=brianosman@google.com
Change-Id: Ia706814919a1da6390c50cd2f1dcea14a9f238ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241698
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-16 04:29:30 +00:00
skia-recreate-skps
cb52badca0 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I99fa92a361bee1ce98242c2b61a1ad4fb7705319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241668
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-15 08:21:11 +00:00
skia-recreate-skps
974165680c Update Go deps
Change-Id: I8d9ac808d0c8c754c574f20a7275d0fcdc6e2d13
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241663
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-15 05:24:31 +00:00
recipe-roller
25c4f5b308 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/9d25ad41920eff43a8249f663e5f66d7d1b89d5f depot_tools: Fix update_depot_tools for Windows on MinGW (ehmaldonado@chromium.org)
  https://crrev.com/73ec83f0febdf5015e18199abe42ee092b6e67ab setup_color: Don't output an error if GetConsoleMode fails (raul@tambre.ee)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If2f949b0ac51008da24e2480a5d57165bce966bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241655
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-09-14 19:48:10 +00:00
Mike Reed
4241f5e0a8 Revert "add guard to switch to SkPathTypes"
This reverts commit e1af44498b.

Reason for revert: breaking google3?

Original change's description:
> add guard to switch to SkPathTypes
> 
> Change-Id: I44d8b5ae8a5172d11a6d4cd9d994373dd3816d6f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241278
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=robertphillips@google.com,kjlubick@google.com,fmalita@chromium.org,reed@google.com

Change-Id: If1fffb6310921ee6f213af000da793afcf62ab0b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241560
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-09-14 19:13:44 +00:00
Mike Reed
e1af44498b add guard to switch to SkPathTypes
Change-Id: I44d8b5ae8a5172d11a6d4cd9d994373dd3816d6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241278
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2019-09-14 01:26:38 +00:00
Khushal Sagar
2cb1315d99 Reland "gpu: Update GrGLCaps usage of fTextureRectangle with chromium."
This reverts commit f010089975.

Reason for revert: Fixes landed in chromium (see crbug.com/998038).

Original change's description:
> Revert "gpu: Update GrGLCaps usage of fTextureRectangle with chromium."
> 
> This reverts commit c43ab22a8c.
> 
> Reason for revert: crbug.com/998038
> 
> Original change's description:
> > gpu: Update GrGLCaps usage of fTextureRectangle with chromium.
> > 
> > R=​bsalomon@google.com
> > 
> > Bug:900706
> > Change-Id: I0ca0062f12f905c47e9f096acf675b93f131e390
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234990
> > Commit-Queue: Khushal Sagar <khushalsagar@chromium.org>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> 
> TBR=bsalomon@google.com,khushalsagar@chromium.org
> 
> Change-Id: Iebdaed117229987f23ec1b1ad48ec6719972ad95
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 900706
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237431
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

TBR=bsalomon@google.com,khushalsagar@chromium.org,michaelludwig@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 900706, 998038
Change-Id: I959fbc97c2424ebb9d4e8fa570d71ff941194daa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240824
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Khushal Sagar <khushalsagar@chromium.org>
2019-09-13 21:42:32 +00:00
Ethan Nicholas
cf4deab60e Improved skslc depth tracking
This fixes a class of bugs discovered by fuzzing, in which a very
complicated expression leads to a stack overflow.

Bug: oss-fuzz:15510
Change-Id: Idee6df8bb1dd4ca101bcc0ef21a974c58017f8a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240510
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-09-13 20:54:50 +00:00
Michael Ludwig
bd2f070633 Always create an approx-size texture for approx-fit proxies
Bug: chromium:1003415
Change-Id: I699a22aaca36b6ec9f78076732eb810a90154337
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241356
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-09-13 19:55:59 +00:00
Ethan Nicholas
e455f65ecf SkSL now supports constant 1/0 in all swizzle channels, as well as "LTRB" as an alias for "xyzw" / "rgba".
Bug: skia:9181
Change-Id: Iedefbb94bbb05ce37fcf66ca0b40c97f2adf7698
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241276
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-09-13 19:50:59 +00:00
recipe-roller
b0fdec6810 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/125d60a10368ea9905859f28a7489fc96500675c git-cl: Remove ChangeListImplementation boilerplate. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I323f66e0b1a9532bfb61842d6815b5ccdeaf0fcc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241358
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-09-13 19:00:28 +00:00
Mike Klein
6d20d99daa test we already have SkPicture::drawsNothing()
I was about to add a new call here, but for users like Flutter that are
using an R-tree, we may already have a precise drawsNothing() call.

There are a couple simple specializations of SkPicture, but they'll
already return the right answer:

   - an SkEmptyPicture will return empty bounds
   - a single-draw SkMiniPicture will return the bounds of that draw

That leaves the general SkBigPicture case.  With an R-tree we'll
calculate the bounds of every draw in the picture, unioning them up into
the cullRect() of the picture itself.

So cullRect().isEmpty() should mostly just work as drawsNothing()
already?

Bug: skia:9411
Change-Id: I5e5dfc21cb7c5c77d173ebee2e91e7bef880367b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240973
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-09-13 18:55:08 +00:00
Michael Ludwig
043dba039e Revert "Use "clamp" when reexpanding gaussian blurs"
This reverts commit f19510e320.

Reason for revert: chrome layout tests need rebasing

Original change's description:
> Use "clamp" when reexpanding gaussian blurs
> 
> Bug: skia:
> Change-Id: Ib0a59a56b38eb743f0c78de2cf717d04c775c8df
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240666
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=robertphillips@google.com,csmartdalton@google.com,michaelludwig@google.com

Change-Id: I53b3a16259ea9a9d1863be85fd5f2e0f1383ff3b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241277
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-09-13 14:46:40 +00:00
Kevin Lubick
d372934c42 [canvaskit] expose SkColorFilter and add SkColorMatrix helpers
of note, this is kjlubick's 2^9 = 512'th commit into the Skia repo.

Change-Id: I635cb1db6812217358ab138cd833c0c61f676232
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241037
Reviewed-by: Mike Reed <reed@google.com>
2019-09-13 14:09:03 +00:00
Mike Reed
86a1451c18 Pull path nested types out to root level
Change-Id: I66a854fa157c5c22d0caaf8bc6f5989baa876a5c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241079
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-09-13 12:54:09 +00:00
skia-autoroll
576a84cbc7 Roll third_party/externals/angle2 f421e0e33e66..b1580a276713 (5 commits)
f421e0e33e..b1580a2767

git log f421e0e33e66..b1580a276713 --date=short --no-merges --format='%ad %ae %s'
2019-09-12 hckim.kim@samsung.com Vulkan: Set half float vertex format to valid in 2.0 context
2019-09-12 laurie.hedge@imgtec.com Vulkan: Fix integer overflow for max per stage and combined uniform buffers.
2019-09-12 jmadill@chromium.org Vulkan: Reduce uniform block dynamic buffer size.
2019-09-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 664ad418f845..fdd13ca10ffc (1 commits)
2019-09-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src c0e9807094ef..ad7f2c5c4c7f (5 commits)

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

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

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=mtklein@google.com
Change-Id: Idadc05e8820ab112d7f672959c6fdaeefe5f5896
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241197
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-13 05:27:40 +00:00
skia-recreate-skps
6632582c89 Update Go deps
Change-Id: I32b7447fd3468a1df840c02467c4c31d1dfc00e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241204
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-13 05:25:20 +00:00
skia-autoroll
cd0751931b Roll ../src 4712e39822ec..465489971eea (366 commits)
4712e39822..465489971e


Created with:
  gclient setdep -r ../src@465489971e

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

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
TBR=mtklein@google.com
Change-Id: I22fe4d0628da2ff42ce32ce0fd4ddda9cf1d4659
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241198
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-13 04:49:20 +00:00
skia-autoroll
a32726b608 Roll third_party/externals/swiftshader 5a5ffe52a944..adb0d51ca672 (7 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5a5ffe52a944..adb0d51ca672

git log 5a5ffe52a944..adb0d51ca672 --date=short --no-merges --format='%ad %ae %s'
2019-09-13 Tom.Tan@microsoft.com Fix intrinsic of getting timer tick for Windows ARM64
2019-09-12 digit@google.com [memfd] Create support class for Linux memfd-backed region.
2019-09-12 capn@google.com Assert Reactor Float constants are finite
2019-09-12 capn@google.com Fix construction of SPIR-V constant float objects
2019-09-12 capn@google.com Fix passing sampler offset operands unchanged
2019-09-12 capn@google.com Fix storing of non-float SPIR-V constants
2019-09-12 capn@google.com Fix non-float constant creation for ASM

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

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

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=mtklein@google.com
Change-Id: Iabe6a58d39aba131093a38fd877b8f3dcc75564d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241196
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-13 04:33:20 +00:00
Mike Reed
430470d519 make rectcontour and nestedrects private
Change-Id: I37b81f3cd96acc310ce78244d427eeb9c7999061
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241078
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-09-13 00:17:49 +00:00
recipe-roller
f1711de0d3 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/57fe41698a42c272ac0cb6d55596e9fedf24eb0e [vpython] Roll to 4722764c4f0247f32e18864c90bd349336bf684f (smut@google.com)
  https://crrev.com/5b6ae8bc74d18033d8880e6183efa9ef6ca71de3 git-cl: Use bb to schedule try jobs. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I58d3589fa7a075f6a7779a0d38af23512e1d800f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241158
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-09-13 00:01:40 +00:00
recipe-roller
b3e9b048d9 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/8d1e67e5cc59fe452451804e811e144a318822d2 Add dry_run option for trivial autorolls (olivernewman@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7b95331703cfad9bd7eae20ceb4fc921ab878e70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241081
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-09-12 22:09:37 +00:00
Florin Malita
eec0199e15 [skottie] Avoid reshaping text unnecessarily
Only call into SkShaper when the text value changes.

Change-Id: I4c44a20fd48be932f9ffe23af5ebcc12b67956ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241077
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-09-12 21:18:37 +00:00
Stephen White
7ea2ada521 Tiny Dawn fix: don't submit empty list of command buffers to the queue.
Change-Id: I1a474007e26a5973431c2ddf9bae99c3e3cb1c37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241047
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-09-12 21:08:16 +00:00
recipe-roller
f5b2aca4d8 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/c8b67ed81fd495b19c58030f0d3b6d40fddc7ac8 git-cl: Remove support for buildbot masters in git-cl. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1ba124f19e1043e9a9e3df06134dd7842844e2bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241096
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-09-12 20:59:46 +00:00
Stephen White
9ec33d1748 Update Dawn backend to recent GrGpu::onCreateTexture() change.
Change-Id: I9e329406f70eb1a0f8b86088ee9c2b7baa32f9af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241046
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-09-12 20:44:06 +00:00
Jim Van Verth
c13030169f Fix ETC1 support on iOS.
iOS doesn't support the ETC1 GL format, but does support ETC2 which has
ETC1 support as well. We should probably default to ETC2 in any case.

Change-Id: Ifd34fc602a1227f76316a8e27cf5555605c66840
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241045
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-09-12 17:47:39 +00:00
Chris Dalton
f19510e320 Use "clamp" when reexpanding gaussian blurs
Bug: skia:
Change-Id: Ib0a59a56b38eb743f0c78de2cf717d04c775c8df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240666
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-09-12 17:43:39 +00:00
Robert Phillips
de4456f6f2 Add bench for SkDDLRecorder detach
On Windows I'm getting:

curr/maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
  33/38  MB	1495	2.62us	2.65us	2.66us	2.72us	1%	.o.o.oO.OO	gl	DDLRecorder

Change-Id: I529e6ac612c455915c166472124b08647eb7bffd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241039
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-09-12 17:09:08 +00:00
Brian Salomon
032cf12f2b Make blurrect_compare GM work on GPUs without renderable A8
Change-Id: I8965a6a417bc7b228e723d8e53a5ff46f8c7badf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240836
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-09-12 13:40:19 +00:00
Brian Salomon
1d19da0c11 Update fully lazy proxy checks to look for negative w/h
Bug: chromium:1000004
Change-Id: I73fcd98682853a057d8ee6a1c224bf43587f906a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240691
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-09-12 13:40:19 +00:00
Mike Klein
a424536401 rewrite tricky loop to avoid -Wsizeof-array-div
I don't see anything particularly wrong with the code as written, but
it's triggering a warning from the new Clang -Wsizeof-array-div because
it _looks_ like a bug, dividing sizeof(SkPoint[2]) by sizeof(SkScalar).
(The answer is 4.)

We can rewrite this to just not trigger the warning.

See https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=36439

Bug: fuchsia:36439
Change-Id: I73bef83add9050d95b3ccf69e613ab009c6a152b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240825
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-09-12 13:26:39 +00:00
Robert Phillips
429f0d380c Add kRG_1616 and kAlpha_16 SkColorTypes
This also switches GrColorType::kR_16 to kAlpha_16 to more closely match raster.

Bug: skia:9121
Change-Id: I03c6e6c52c90aa4223478c5ea6c8b2ed8558f677
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239930
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-09-12 12:20:09 +00:00
skia-autoroll
578c88f047 Roll third_party/externals/angle2 0b8eca795349..f421e0e33e66 (6 commits)
0b8eca7953..f421e0e33e

git log 0b8eca795349..f421e0e33e66 --date=short --no-merges --format='%ad %ae %s'
2019-09-12 zmo@chromium.org Make angle_deqp_gles*_tests use discrete GPU for test expectations.
2019-09-11 timvp@google.com Vulkan: Support program interface queries for inputs
2019-09-11 bsalomon@google.com Add final to class TIntermPreprocessorDirective
2019-09-11 timvp@google.com Fix dEQP renderbuffer unspecified attachment test.
2019-09-11 tobine@google.com Vulkan: Enable further dEQP 3.1 tests
2019-09-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 7f7236f1eba0..c0e9807094ef (4 commits)

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

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

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=mtklein@google.com
Change-Id: Ie38ef290dbd364fc4e3877ac3c30c3d39db7c090
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240835
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-12 05:25:48 +00:00