Commit Graph

44657 Commits

Author SHA1 Message Date
Mike Klein
b484e7ce24 hand off frames to encoder as they come
Instead of rendering all .mp4 frames then encoding, we can kick off
rendering and have the encoder consume frames in order as they become
available.

This uses std::promise / std::future pairs to make the handoff: frame
producers fulfill thieir promise by moving their image into set_value(),
and the encoder (main thread) consumes them by moving those images out
of the paired std::future().  It may not be obvious, but the line

    sk_sp<SkImage> img = frame.get_future().get();

does move the image into `img`... gMP4Frames does not hold a ref once
.get_future().get() has returned.  (Though depending on when you look,
the surface still might.)

This lets us get going on encoding as soon as the first frame is ready,
and hypothetically means encoding should finish shortly after the last
frame draws.  But, different frames cost different time to draw, and we
can't control the order they'll return.  We _do_ have control over the
order they're started, and we're doing that exactly wrong using a LIFO
thread pool.  I've added .mp4 encoding starvation stats to show this...
when I run in LIFO order it looks typically something like

    starved min 0ms, med 0ms, avg 4.12333ms, max 2115ms, sum 2474ms
    frame time min 12ms, med 292ms, avg 307.208ms, max 711ms, sum 184325ms
    106.68user 57.27system 0:04.55elapsed 3601%CPU (0avgtext+0avgdata 3159748maxresident)k
    0inputs+1528outputs (0major+772790minor)pagefaults 0swaps

Mirroring the batch order with (i = frame_count - 1 - i) results in less
starvation, less memory usage, better scaling, and a quicker wall time.

    starved min 0ms, med 0ms, avg 0.896667ms, max 382ms, sum 538ms
    frame time min 13ms, med 374ms, avg 344.365ms, max 918ms, sum 206619ms
    111.64user 52.56system 0:03.62elapsed 4529%CPU (0avgtext+0avgdata 2660912maxresident)k
    0inputs+1528outputs (0major+649031minor)pagefaults 0swaps

Change-Id: Ic60e8eac856af238ef32e3383d86f6c24e5c7851
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247674
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-10 16:34:31 +00:00
Robert Phillips
835cbdaf70 Pass GrProgramInfo further down Vulkan call chain
This just resolves some lingering TODOs from:

https://skia-review.googlesource.com/c/skia/+/244118 (Add GrProgramInfo to centralize management of program information)

Bug: skia:9455
Change-Id: I58e8a4e039ba8369b381725be196dacf3bcd07c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247436
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-10-10 15:45:31 +00:00
Jim Van Verth
ce3cf804f1 Draw perspective text as paths.
Perspective glyphs can vary in screen size so it's unclear which SDF
level is best, and even if we choose one for an entire subrun it's
possible that a given glyph will have artifacts if it's too big.
Instead we fall back to paths unless specifically requested to
support perspective SDF.

Bug: skia:9515
Change-Id: I75ac1d60f2eaa0e63de201b5db36fe0485fff463
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247398
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-10-10 15:35:51 +00:00
Robert Phillips
7de1333df7 Add computation of requestedFeatures to GrProgramInfo and use it
This is a deferred TODO/code review request. In general, this improves the encapsulation of program information w/in GrProgramInfo. Additionally, it is desirable to stop using the Desc/Key to access this information.

Bug: skia:9455
Change-Id: I854ff3225a49657d3a523e88e4bfa549128ee486
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247336
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-10-10 15:20:22 +00:00
Kevin Lubick
957bf97414 [debugger] Use alternate buffer
Bug: skia:9524
Change-Id: I8268d1652f55516e009e3cf68b3322f37aa08933
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247636
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2019-10-10 15:19:42 +00:00
Nigel Tao
477f221d98 Update Wuffs version to 0.2.0-rc.1
Bug: skia:8235
Change-Id: Ia53348d620e1b9b6651ce5035dc4def02da67df6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247156
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-10-10 15:12:21 +00:00
Florin Malita
10e5257ec9 [SkVideoEncoder] Allow clients to control the color type
Change-Id: If57514c9e7e8d0a417eb9388873bbb348fc49076
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247384
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-10-10 14:55:31 +00:00
Brian Osman
232e3301c7 Roll third_party/externals/angle2 8e7d9d6c2326..5d9c4ee328bc (9 commits)
*** Manual roll including build fix: Add DXGI.lib to ANGLE link ***

8e7d9d6c23..5d9c4ee328

git log 8e7d9d6c2326..5d9c4ee328bc --date=short --no-merges --format='%ad %ae %s'
2019-10-10 nazabris@microsoft.com Add D3D11on12 device option
2019-10-10 jmadill@chromium.org Fix a warning with VS2019.
2019-10-09 jmadill@chromium.org Roll Chromium DEPS (October 2019).
2019-10-09 jmadill@chromium.org Vulkan: Get rid of "TextureVkViews".
2019-10-09 geofflang@chromium.org Partially Revert "Convert DXT1 RGB data to DXT3 RGBA when uploading to the GPU."
2019-10-09 cnorthrop@google.com Vulkan: Fix off by one when flushing staged texture updates
2019-10-09 geofflang@chromium.org Make sure all extension strings start with GL_
2019-10-09 jmadill@chromium.org Add ANGLE Platform Metal extension.
2019-10-09 geofflang@chromium.org GL: Skip buffer validation for transform feedback buffers.

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

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 kjlubick@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
Change-Id: Id3ee424e6215443643d8b9690b28b7fcddea0968
TBR=kjlubick@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247638
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
2019-10-10 14:29:51 +00:00
Kevin Lubick
69537d7989 [skottie-perf] Remove beetle from list of tests
Change-Id: I8a92ec53224b4ce42afaf69fcdac9f5eff1deb61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247637
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-10-10 13:27:14 +00:00
skia-autoroll
0fc9b3829b Roll ../src 309b078c964e..92809357d851 (414 commits)
309b078c96..92809357d8


Created with:
  gclient setdep -r ../src@92809357d8

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 kjlubick@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=kjlubick@google.com
Change-Id: Ic722367d07139ac6e945b91ca14b58be07bdfd7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247582
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-10 04:33:46 +00:00
recipe-roller
fe23b1de9e 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/b4a587df5e348bddb26ea1bb6a5013f1e854b3a8 depot_tools: Remove depot-tools-auth (ehmaldonado@chromium.org)
recipe_engine:
  https://crrev.com/47a94f44d8b345593510faf052494627c69c5c44 [buildbucket] Let child builds use builder priority (olivernewman@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia33565d510b5e91af710d33378d5e426feaa6a0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247524
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-10-10 00:51:26 +00:00
recipe-roller
73d2fee0d8 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/71681bf1e84a4829521cb8a33b7c3331d46580b8 git-common: Explicitly specify utf-8 when encoding. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I403b2dfec0029d292f06458eda7cef87b988a694
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247519
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-10-10 00:20:56 +00:00
Herb Derby
d543fbbd6f Revert "Draw perspective text as paths."
This reverts commit 76826fc91c.

Reason for revert: Missing some characters

Original change's description:
> Draw perspective text as paths.
> 
> Perspective glyphs can vary in screen size so it's unclear which SDF
> level is best, and even if we choose one for an entire subrun it's
> possible that a given glyph will have artifacts if it's too big.
> Instead we fall back to paths.
> 
> Bug: skia:9515
> Change-Id: I88f03b25651df0222459f5dbd03eee9465b97487
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247437
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,herb@google.com

Change-Id: I5e39566c35b49323913eb72ff89ecbc91faac8ce
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9515
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247462
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-09 23:46:28 +00:00
recipe-roller
0a9ec07ff3 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/aeee6a83d519e3076616c0d6753dc0befbe479d3 git cl: record additional tag for builds triggered via retry-failed. (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2999239a6f6632fa3aa0890ee73ea7dae860fa39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247366
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-10-09 22:31:26 +00:00
Jim Van Verth
76826fc91c Draw perspective text as paths.
Perspective glyphs can vary in screen size so it's unclear which SDF
level is best, and even if we choose one for an entire subrun it's
possible that a given glyph will have artifacts if it's too big.
Instead we fall back to paths.

Bug: skia:9515
Change-Id: I88f03b25651df0222459f5dbd03eee9465b97487
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247437
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-10-09 20:53:20 +00:00
Herbert Derby
7951a0da32 Introduce SkGlyphPositionRoundingSpec.
SkGlyphPositionRoundingSpec encapsulates the information needed for rounding
positions correctly. This allows test to avoid using an SkStrike in future
unit tests.

This is part of a major rewrite:
https://skia-review.googlesource.com/c/skia/+/238196

Change-Id: I18dd6fe394df0fcbda492cefe2484c9bf9bb40d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247338
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-09 19:53:01 +00:00
Robert Phillips
865d8d682c Centralize error checking w/in the GrProgramInfo class
Although not necessary I would like to centralize/encapsulate the error checking so there is just one place to go to update/extend this code. It does have the nice property that, since we validate in the ctor and this object is immutable, we only have to do it once (and can delete some code spread throughout the code base).

Bug: skia:9455
Change-Id: Iaa26c7a896a9bd053358a6f8424d7f5944b0117e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247339
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-10-09 19:09:01 +00:00
Greg Daniel
8b6661757a Add new public api on GrContext for computing image size.
This api will replace ComputeTextureSize.

Change-Id: I9befd8706f44250805315bdb13a559cf81c7142d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247337
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-10-09 18:57:20 +00:00
Mike Klein
be6d62d5d3 add -f mp4 to skottie_tool
This runs way faster than skottie2movie, even with Mike's patch.
We could probably ditch skottie2movie with this CL and one adding --gpu?

Change-Id: I41376c2cd636eb75a3a6d2aaa75bef48211a1021
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247377
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-09 18:53:01 +00:00
recipe-roller
0369c5ced9 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/be83c310e3d5601c400d856a9963d1f413183d42 git-hyper-blame: Make tests run on Python 3. (ehmaldonado@chromium.org)
  https://crrev.com/baaf6bec019f60ea5f1c3e7d9b9dd12302ce61fc git-cl: Use buildbucket v2 to fetch tryjob results. (ehmaldonado@chromium.org)
  https://crrev.com/cb1eb489666392bf18938b88815659f8669aeec6 Reland "gclient_utils: buffer output as bytestrings in Annotated" (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0b6ac9cdaaa54f1cfb25267ab6eb413d710f327f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247378
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-10-09 18:33:01 +00:00
Robert Phillips
2579de4567 Tighten up creation of the GrProgramDesc and remove some unnecessary checks
This takes care of some of the deferred work from:

https://skia-review.googlesource.com/c/skia/+/244118 (Add GrProgramInfo to centralize management of program information)

Bug: skia:9455
Change-Id: If1cdfc0a0614babd18f7f4bccd445e03a6dbb9ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247301
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-10-09 16:50:32 +00:00
Kevin Lubick
fa5a138170 [canvaskit] Update to build with emscripten 1.38.47
Bug: skia:9052
Change-Id: Ic1aec2c9b8ace556f5b77862582894f59fd26b64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247302
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-10-09 15:08:10 +00:00
Ben Wagner
d687f741b6 Retain hints when subsetting for PDF.
There exist 'tricky' fonts which use bytecode hints to move all parts of
a glyph for legibility, not just to slightly tweak the outlines. Until
it is possible to detect these 'tricky' fonts, retain all font's
bytecode hints.

Bug: chromium:1010396
Change-Id: I4eaca967da1a853c8061a4997ce8b872a53fd2f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247298
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-10-09 14:58:02 +00:00
Kevin Lubick
e27a503a0a [canvaskit] Clean up embedded fonts
See https://groups.google.com/forum/#!topic/skia-discuss/J2XT7XjmFtI

Change-Id: I73614208d26536924bc3ed3385c1cd3c490ef8a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247098
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-10-09 14:51:39 +00:00
skia-autoroll
54548626a9 Roll third_party/externals/angle2 a333b87cfcbe..8e7d9d6c2326 (9 commits)
a333b87cfc..8e7d9d6c23

git log a333b87cfcbe..8e7d9d6c2326 --date=short --no-merges --format='%ad %ae %s'
2019-10-09 kbr@chromium.org Add EGL_ANGLE_device_cgl extension.
2019-10-09 efoo@chromium.org Add COMPONENT and TEAM information in OWNERS file
2019-10-08 kbr@chromium.org (ANGLE) Rename CHROMIUM_compressed_texture_etc to use ANGLE_ prefix.
2019-10-08 jmadill@chromium.org Roll angle-internal.
2019-10-08 jmadill@chromium.org Vulkan: Get rid of "fetch" level/layer image views.
2019-10-08 jmadill@chromium.org Vulkan: Get rid of level layer "storage" views.
2019-10-08 courtneygo@google.com Vulkan: Update depth/stencil expectations
2019-10-08 timvp@google.com Create test to validate scissor size is correct
2019-10-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src c18c9ff6bc30..3c7ff8d4f0a1 (1 commits)

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

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 kjlubick@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=kjlubick@google.com
Change-Id: I190400840569891c03c10d5f70afdaa0b3fba23a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247259
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-09 06:31:22 +00:00
skia-autoroll
77dde599c9 Roll ../src 5c41949c8fc4..309b078c964e (481 commits)
5c41949c8f..309b078c96


Created with:
  gclient setdep -r ../src@309b078c96

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 kjlubick@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=kjlubick@google.com
Change-Id: Ife6e993a10c0f9bde2f87e85078bab6a5f1daaf7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247260
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-09 04:38:32 +00:00
Joe Gregorio
2b1a25a4d3 Fix Cloud Build for vpython.
Bug: 993053
Change-Id: I9af5bbf7c715701ba403e2b7ab2e720a1792fb0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247149
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2019-10-08 23:43:33 +00:00
Joe Gregorio
df2726ee7a Revert "Another attempt to fix vpython in Cloud Build."
This reverts commit e7bc084498.

Reason for revert: Broke fiddle.

Original change's description:
> Another attempt to fix vpython in Cloud Build.
> 
> I think the underlying issue is switching to the 'skia' user
> to do the build. Instead let's try building as root and then
> chown the generated files which are then used by subsequent
> Dockerfiles.
> 
> Bug:993053
> Change-Id: I314a6c83f70e611ec0fafe93ae136d218d153cfb
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247107
> Reviewed-by: Joe Gregorio <jcgregorio@google.com>
> Commit-Queue: Joe Gregorio <jcgregorio@google.com>

TBR=borenet@google.com,jcgregorio@google.com

Change-Id: I2e0968bc032a2c7716d95d51ba598d94fc67f1ca
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 993053
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247143
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2019-10-08 22:44:23 +00:00
Robert Phillips
7327c9ddfc Add GrRenderTask and GrOp prePrepare framework
We want to be able to pull more work forward when creating DDLs. The prePrepare entry points will allow us to perform this CPU-side preprocessing.

Change-Id: I2c0c7978dbf7d7c335425ea81ab2323cb9dcdbc3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247048
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-10-08 22:43:22 +00:00
recipe-roller
139e88015c 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/1cc8317a701750c47ac3fe5183af8e105f9c36bc swarming: always mock bot and task IDs in test mode. (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I473ad07070f41724e1421deb54a7bf17e3e31892
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247136
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-10-08 21:40:01 +00:00
Julia Lavrova
191c6080dc Bug fix (strut must be false by default)
Change-Id: I3d778562ae85da048190998faa7f62a2953c099f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247108
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-10-08 20:53:01 +00:00
Robert Phillips
901aff018b Add GrProgramInfo to centralize management of program information
This is the first step in moving the marshaling of program information earlier in renderTask processing (i.e., to onPrePrepare).

Change-Id: I91e3baed9a128e845bd32f9dbbacd9b21d852a3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/244118
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-10-08 20:35:51 +00:00
Joe Gregorio
e7bc084498 Another attempt to fix vpython in Cloud Build.
I think the underlying issue is switching to the 'skia' user
to do the build. Instead let's try building as root and then
chown the generated files which are then used by subsequent
Dockerfiles.

Bug:993053
Change-Id: I314a6c83f70e611ec0fafe93ae136d218d153cfb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247107
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2019-10-08 20:08:02 +00:00
skia-autoroll
c093cc838f Roll skia/third_party/skcms 5c593bf702db..a52db47aa53f (1 commits)
https://skia.googlesource.com/skcms.git/+log/5c593bf702db..a52db47aa53f

git log 5c593bf702db..a52db47aa53f --date=short --no-merges --format='%ad %ae %s'
2019-10-08 mtklein@google.com sketch PQ and HLG APIs

Created with:
  gclient setdep -r skia/third_party/skcms@a52db47aa53f

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

CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux-blink-rel

Bug: None
Change-Id: I9f9eeabe7760c31b73a2ed4d64bce1027fd2a9f7
TBR=kjlubick@google.com,mtklein@google.com
TBR=kjlubick@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247074
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-08 20:05:22 +00:00
Greg Daniel
8803c2d8f3 Add bytes per pixel to metal format table.
Bug: skia:6718
Change-Id: I86108f9096d10b216eb08effb1d1274b383a3048
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247104
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-10-08 19:33:36 +00:00
Herbert Derby
1942d69227 Use SkZip in SkGlyphRun
* cleanup unused functions and fields.

Change-Id: I3a7902d04a150b4cca870c65cd9e5a655ca84d9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247100
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-08 19:27:46 +00:00
recipe-roller
1a4881fb82 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/c38e00052ff07bce6b14e72ea1d9630e46559c99 Revert "git-cl: Set legacy properties." (ehmaldonado@chromium.org)
recipe_engine:
  https://crrev.com/3d26d5f05680aa707e527b8c291d298cd3d35748 swarming: support overriding default bot_id and task_id in test_api. (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2bd9f690778341a67a7dcdce1f0f798967167d20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247071
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-10-08 19:21:06 +00:00
skia-autoroll
ff2d574329 Roll skia/third_party/skcms 684790252fe2..5c593bf702db (1 commits)
https://skia.googlesource.com/skcms.git/+log/684790252fe2..5c593bf702db

git log 684790252fe2..5c593bf702db --date=short --no-merges --format='%ad %ae %s'
2019-10-08 mtklein@google.com use cipd package for python on skcms bots

Created with:
  gclient setdep -r skia/third_party/skcms@5c593bf702db

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

CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux-blink-rel

Bug: None
Change-Id: Id40ca5b3bab411906e10dccab177c1acb2084f46
TBR=kjlubick@google.com,mtklein@google.com
TBR=kjlubick@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247102
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-08 19:19:26 +00:00
recipe-roller
8a97436f7a 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/1f3bafbab4da895e0e1eba943a57f63d13a76d38 git-cl: Run using vpython (ehmaldonado@chromium.org)
recipe_engine:
  https://crrev.com/f84207a8e5eb80f11bb414e98b4177471d69419e Make tandrii@ top level recipe engine OWNER. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia02e9a420119dfe1f6c227ffc215eaa1867a92f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247067
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-10-08 18:51:17 +00:00
recipe-roller
ed995c50b0 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/352808fa158d6d67645423bc101d3eb3b181a5c5 git-number: Make tests run on Python 3. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7f2d1da406d53806b19dcd29b3514b3aaba7f2ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247061
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-10-08 18:21:31 +00:00
Greg Daniel
e4bf3d162e Track gl format bytes per pixel on format table.
Bug: skia:6718
Change-Id: Id611e0f5c317908cb63f1afdafff28ebf6cf8158
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247049
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-10-08 18:10:53 +00:00
Joe Gregorio
1494a7f1ec Revert "cloud-build: set HOME env variable."
This reverts commit b51a0c9a5b.

Reason for revert: Causes Cloud Build to fail: https://pantheon.corp.google.com/cloud-build/builds/933b93f5-1ceb-48d0-9f13-55e8b01b3e44?organizationId=433637338589&project=skia-public

Original change's description:
> cloud-build: set HOME env variable.
> 
> Bug: 993053
> Change-Id: I6069def4a063dbe7a4f8c6fe9cc5046d014e4f3c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247046
> Reviewed-by: Eric Boren <borenet@google.com>
> Commit-Queue: Joe Gregorio <jcgregorio@google.com>

TBR=borenet@google.com,jcgregorio@google.com

Change-Id: I311fe7240768ef0bf7015bdf0cd5a0e2aabe6c5c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 993053
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247051
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2019-10-08 17:47:42 +00:00
Joe Gregorio
b51a0c9a5b cloud-build: set HOME env variable.
Bug: 993053
Change-Id: I6069def4a063dbe7a4f8c6fe9cc5046d014e4f3c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247046
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2019-10-08 17:00:21 +00:00
recipe-roller
e0b06bedc8 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/1458d572f95002172a9335174cd48a3a67bcd079 recipe_module git: remove non-LUCI mode. (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I84e499c0fc33ba68d5bac6cf81fee922a43dd29f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/246991
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-10-08 16:35:58 +00:00
Herbert Derby
5899485b9a Add tests for SkZip first, data, and consting copy ctor
Change-Id: Ibc8a6a856c448f03c9e3860a3fb7391c407289dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247038
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-08 15:45:30 +00:00
Brian Osman
7edfb69406 Remove SkCurve and SkColorCurve
This was only being used in one effect (and for no good reason). SkSL is
plenty powerful to re-implement something similar if required, at no
real performance cost.

Re-implemented the one effect that used it with simpler math in the
script, updated the copy of that effect in the gallery.

Docs-Preview: https://skia.org/?cl=247040
Change-Id: I68c86d6550dd4f003f6ba5ecd0febab37b86540b
Bug: skia:9513
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247040
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-10-08 15:38:20 +00:00
Greg Daniel
82e1145cd0 Also blacklist path_text benches on vulkan pixel3a.
Bug: skia:9413
Change-Id: I17b7629e1d2f8d24f8f3c7f4ecb4f788b3a41401
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247039
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-10-08 15:33:20 +00:00
Robert Phillips
0fb139607b Black list failing test(s) on internal bot
Bug: skia:9517
Change-Id: Iaf0a44056c6a893a8b64989edc2615fa5d9cdef8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247037
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-10-08 14:54:30 +00:00
Fredrik Söderquist
d1ed56e4be Fix mapping the morphology filter's radius when the CTM is a mirror op
When the CTM contained a "mirroring" operation - for example
scale(-1, 1) or scale(1, -1) - the radius of the morphology filter would
end up negative, essentially disabling the filter.
When mapping the radii, use the magnitude of a vector built from each
component of the radii instead of considering the radii as a plain
vector.

Bug: chromium:595244
Change-Id: Ia249f8962648f0a4e69b6d0becf87ee1ba6be9a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/246996
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-10-08 14:34:57 +00:00
Greg Daniel
7efb1a6dbc Move vulkan BytesPerPixel to format table.
Bug: skia:6718
Change-Id: I1d540042d8b69393d1676d0f0cedca7f37ac88d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/246852
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-10-08 14:03:27 +00:00