Commit Graph

38845 Commits

Author SHA1 Message Date
Brian Osman
044044f5a2 Update win_toolchain, and refactor how it's built
The old win_toolchain script required a Chromium checkout, and
extracted portions of the win_toolchain from that to build the
Skia asset. Instead, use the depot_tools script that assembles
a toolchain from a locally installed MSVC.

The create script doesn't do that, but relies on the user to
run that script first. Automating everything would be a nice
follow-up.

With the new strategy, the toolchain directory is simpler, and
no longer contains the depot_tools kruft or extra directories.
Adjust the bot scripts accordingly. (Renaming the directory to
win_toolchain from 't' would be a nice touch, too).

Finally, I built the new toolchain with the updated process,
and included the ARM64 compiler and libraries, so we can set
up a bot to build Windows ARM64.

Docs-Preview: https://skia.org/?cl=176968
Bug: skia:8569
Change-Id: I4bdf3cfb29d50f4464853445d0226241e70c33b4
Reviewed-on: https://skia-review.googlesource.com/c/176968
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-12-12 15:50:16 +00:00
Kevin Lubick
d090a706bd [canvaskit] Correctly translate between shadow radius and sigma
Bug: skia:
Change-Id: I7e069407334f8b0238fd6d9f529cdf30e3e269be
Reviewed-on: https://skia-review.googlesource.com/c/176960
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-12-12 15:40:08 +00:00
Kevin Lubick
ddd0a333f4 [canvaskit] Allow users to load their own fonts
Instead of using the test font(s), now ship with a small
(100k) Monospace font. This can be disabled by:
    compile.sh no_font ...

This saves about 350k (164k gzipped) in binary size.

Bug: skia:
Change-Id: I195e3b35bea86d0f096066c1c6a44a4b602571f3
Reviewed-on: https://skia-review.googlesource.com/c/176580
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-12-12 15:40:08 +00:00
Greg Daniel
d00dc21fdb Fix path to vulkan header.
Bug: skia:
Change-Id: I47cb8f67b378a51cefcb82864eda467ff6b48a7e
Reviewed-on: https://skia-review.googlesource.com/c/176969
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-12-12 15:35:03 +00:00
Mike Klein
ad64873750 run clang-tidy on headers too
Without -header-filter='.*' clang-tidy only checks the .cpp file.

Change-Id: Ib49081faa2ddf20222dfeb15841cf2b812c22462
Reviewed-on: https://skia-review.googlesource.com/c/176967
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-12-12 15:26:22 +00:00
Herbert Derby
e855b9decd Use SkFont for bitmap device rendering
Change-Id: Id392a1534e1b04baa3295e79af785e40dfd7cfb6
Reviewed-on: https://skia-review.googlesource.com/c/176227
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-12-12 14:44:14 +00:00
skia-autoroll
c5d5750115 Roll third_party/externals/swiftshader 9fbaf697cd86..50dd2ce4e2e3 (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/9fbaf697cd86..50dd2ce4e2e3


git log 9fbaf697cd86..50dd2ce4e2e3 --date=short --no-merges --format='%ad %ae %s'
2018-12-12 chrisforbes@google.com Fix CMake-based build
2018-12-12 sugoi@google.com vkCmdDraw implementation
2018-12-12 sugoi@google.com RenderPass begin and end
2018-12-12 sugoi@google.com Add missing checks in the GraphicsPipeline constructor
2018-12-12 sugoi@google.com Implement Image clear


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

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=ethannicholas@google.com

Change-Id: I73148f301ca915c9cfc5ba2f7bb634fd2db8deaf
Reviewed-on: https://skia-review.googlesource.com/c/176923
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-12-12 14:40:54 +00:00
Mike Klein
21840ed430 restrict -Werror to runs of clang-tidy.sh
Android runs clang-tidy with a different set of checks
that override our choices in .clang-tidy.

Change-Id: I95d92bb9b61bc5f94fe2bb8bff382edd876d2594
Reviewed-on: https://skia-review.googlesource.com/c/176962
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-12-12 14:29:50 +00:00
Greg Daniel
54200e4025 Move vulkan headers from third_party to include/third_party.
Bug: skia:
Change-Id: I7174c6da075c0fd3d6238a5556439f42d6b97659
Reviewed-on: https://skia-review.googlesource.com/c/176680
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-12-12 14:16:43 +00:00
skia-autoroll
2b0ac1d1cc Roll third_party/externals/swiftshader 09056de49d52..9fbaf697cd86 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/09056de49d52..9fbaf697cd86


git log 09056de49d52..9fbaf697cd86 --date=short --no-merges --format='%ad %ae %s'
2018-12-12 sugoi@google.com VkImageView initial implementation


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

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=ethannicholas@google.com

Change-Id: I84ae1b28a1843a84d513a8681df164e532cb1954
Reviewed-on: https://skia-review.googlesource.com/c/176921
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-12-12 13:45:19 +00:00
skia-autoroll
dd3ad7fe5d Roll third_party/externals/angle2 a48f26fb7a4d..88faa6967431 (1 commits)
a48f26fb7a..88faa69674


git log a48f26fb7a4d..88faa6967431 --date=short --no-merges --format='%ad %ae %s'
2018-12-12 jiajia.qin@intel.com ES31: Add unsized array length support in SSBO


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

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=ethannicholas@google.com

Change-Id: I2e6073c2d0262ec2b7996044f56bc4564c60c185
Reviewed-on: https://skia-review.googlesource.com/c/176900
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-12-12 11:54:24 +00:00
skia-recreate-skps
8a193dc7e2 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I3b66a05b557505e95d18094a03f3410f0542058f
Reviewed-on: https://skia-review.googlesource.com/c/176840
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-12-12 06:02:22 +00:00
skia-autoroll
637ba04dc9 Roll third_party/externals/angle2 be607ad63609..a48f26fb7a4d (3 commits)
be607ad636..a48f26fb7a


git log be607ad63609..a48f26fb7a4d --date=short --no-merges --format='%ad %ae %s'
2018-12-12 jiajia.qin@intel.com ES31: Use deepCopy to make sure that every node being used only once
2018-12-12 jmadill@chromium.org Update ANGLE_multiview validation.
2018-12-11 syoussefi@chromium.org Vulkan: Convert vertex attributes in compute


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

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=ethannicholas@google.com

Change-Id: I88f9f56c3860c94293d3be3a6aaca4ae01453957
Reviewed-on: https://skia-review.googlesource.com/c/176800
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-12-12 03:02:49 +00:00
recipe-roller
b0b5835a17 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/84b31ee25882e7f1b190dbed036fa6c3da0b53fc [isolated] Update default properties (joshuaseaton@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Idb5fbc144ba0a8c694ffb200ddce7b14f3c30ff7
Reviewed-on: https://skia-review.googlesource.com/c/176740
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-12-12 01:32:52 +00:00
Michael Ludwig
7bd58d96f9 Add additional test to blacklist for 405
Bug: skia:7322
Change-Id: If51e9b3cf253bc357ecc102b2e244b589d02ab12
Reviewed-on: https://skia-review.googlesource.com/c/176591
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
2018-12-11 22:22:06 +00:00
Ethan Nicholas
30e6343b35 Perform Vulkan resets in a background thread
Bug: skia:
Change-Id: I90783dc9ac2fcae560cd54e6c8c6df11d7195ac0
Reviewed-on: https://skia-review.googlesource.com/c/168488
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-12-11 21:43:13 +00:00
Leon Scroggins III
b41321b584 Better testing of SkCodec to 565
If getPixels returns an unexpected result, do not create a digest
and compare it to digests for premul and unpremul.

Print a better error message, including the name of the image and
string versions of the SkCodec::Result.

Change-Id: Ie98e350a1ef91c0745fe9de0855192e5793e033c
Reviewed-on: https://skia-review.googlesource.com/c/176582
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Nigel Tao <nigeltao@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-12-11 21:12:42 +00:00
Mike Reed
cfb012032b move intercepts impl into textblob
Bug: skia:
Change-Id: I1d2070546e08c050b7f340f1b447fec922cfb153
Reviewed-on: https://skia-review.googlesource.com/c/176589
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2018-12-11 20:39:51 +00:00
skia-autoroll
5beabfe918 Roll third_party/externals/swiftshader d2791c205bca..09056de49d52 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/d2791c205bca..09056de49d52


git log d2791c205bca..09056de49d52 --date=short --no-merges --format='%ad %ae %s'
2018-12-11 sugoi@google.com Image to Image copy command


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

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=ethannicholas@google.com

Change-Id: I37a6084827ab37efa79a5a21ed82d5551f6659df
Reviewed-on: https://skia-review.googlesource.com/c/176517
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-12-11 19:47:44 +00:00
Michael Ludwig
ea83fcbd18 Update 405 vk blacklist
Bug: skia: 7322
Change-Id: If4dcb5400a9e8bc0a9a98a95b79d79650fd28d20
Reviewed-on: https://skia-review.googlesource.com/c/176586
Reviewed-by: Greg Daniel <egdaniel@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-12-11 19:13:54 +00:00
Brian Salomon
9f7d9a2776 Revert "Move some Gr headers from include/gpu to include/private and src/gpu."
This reverts commit 3bdc3f5f9c.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Move some Gr headers from include/gpu to include/private and src/gpu.
> 
> Bug: skia:
> Change-Id: I341dd3bff63cc99d3be830e21673073645a9cfec
> Reviewed-on: https://skia-review.googlesource.com/c/176220
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: Ia7082f66abb969b20dd5d1f12c3c8d09cd84c241
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/176587
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-12-11 19:01:41 +00:00
skia-autoroll
67393bcba5 Roll third_party/externals/swiftshader a233ceaecd85..d2791c205bca (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/a233ceaecd85..d2791c205bca


git log a233ceaecd85..d2791c205bca --date=short --no-merges --format='%ad %ae %s'
2018-12-11 sugoi@google.com Fixed command buffer reset and added implicit reset


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

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=ethannicholas@google.com

Change-Id: Ic54a1d53786016b0e68f0cb661a8af61566f05a0
Reviewed-on: https://skia-review.googlesource.com/c/176514
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-12-11 18:42:19 +00:00
skia-autoroll
12659a46b9 Roll third_party/externals/angle2 f5c88e7e1c1a..be607ad63609 (1 commits)
f5c88e7e1c..be607ad636


git log f5c88e7e1c1a..be607ad63609 --date=short --no-merges --format='%ad %ae %s'
2018-12-11 geofflang@chromium.org GL: Implement GL_OES_EGL_image_external and GL_OES_EGL_image_external_essl3


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

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=ethannicholas@google.com

Change-Id: Ieab424c6aacc4802e67a938dcb749697054e5bde
Reviewed-on: https://skia-review.googlesource.com/c/176511
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-12-11 18:12:52 +00:00
skia-autoroll
6417060b1c Roll third_party/externals/swiftshader afb8cd307bc5..a233ceaecd85 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/afb8cd307bc5..a233ceaecd85


git log afb8cd307bc5..a233ceaecd85 --date=short --no-merges --format='%ad %ae %s'
2018-12-11 sugoi@google.com Image copy


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

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=ethannicholas@google.com

Change-Id: Ice306429536988da0bcdbf5a43ff46785413b8e0
Reviewed-on: https://skia-review.googlesource.com/c/176507
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-12-11 17:45:49 +00:00
Mike Klein
1688507f83 Try out clang-tidy, starting with bugprone-use-after-move
- add drop-in clang-tidy cxx wrapper
 - get build clean for bugprone-use-after-move

The wrapper can be used by setting

   cxx = "/path/to/skia/tools/clang-tidy.sh"

in GN.

Change-Id: Idbba911e23bd6ef7530b08fd31906b92c1c1b28c
Reviewed-on: https://skia-review.googlesource.com/c/176523
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-12-11 17:28:19 +00:00
Mike Reed
22170b3178 Revert "Treat kWEBP encode with quality=100 as lossless"
This reverts commit e7f165be2e.

Reason for revert: doesn't compile in google3

Original change's description:
> Treat kWEBP encode with quality=100 as lossless
> 
> In SkEncodeImage and friends, treat quality of 100 as a lossless encode
> when using kWEBP. This seems a good fit for the intent - which is
> presumably to save the highest quality image. This also matches
> Chromium's blink::ImageEncoder::ComputeWebpOptions, which treats a
> quality of 1 (on a float scale from 0 to 1) as a lossless encode.
> 
> FWIW, Chromium has had this behavior since
> https://codereview.chromium.org/1937433002, in response to
> crbug.com/523098. The goal is to "maintain sharpness to
> match the JPEG encoder behavior (use WEBP lossless encoding)".
> 
> Add a test to verify the new behavior. This requires making tests
> depend on libwebp to use WebPGetFeatures, since the Skia API does not
> provide a way to determine whether an encoded webp file was encoded
> lossless-ly or lossily.
> 
> Bug: skia:8586
> Change-Id: Ie9e09c2f7414ab701d696c4ad9edf405868a716f
> Reviewed-on: https://skia-review.googlesource.com/c/175823
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

TBR=djsollen@google.com,scroggo@google.com,reed@google.com

Change-Id: I91680f65a2a5e6f0a13b84e97c9541ebe0606b33
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8586
Reviewed-on: https://skia-review.googlesource.com/c/176584
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-11 17:12:49 +00:00
Cary Clark
aa3b291717 bracket SkPath pathRefIsValid with define
Add defines around the places calls
SkPath::pathRefIsValid()

R=fmalita@chromium.org

Bug:913930
Change-Id: Iffaa85cecf127cf8cb405dffe76666f9184de76e
Reviewed-on: https://skia-review.googlesource.com/c/176583
Commit-Queue: Cary Clark <caryclark@skia.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-12-11 17:10:09 +00:00
Mike Reed
dfa432cb06 impl intercepts with fonts
Bug: skia:
Change-Id: Ib3958c61822716846e12647afdfef4ecd979b474
Reviewed-on: https://skia-review.googlesource.com/c/176581
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-11 16:59:19 +00:00
Michael Ludwig
72ab3461b7 Consolidate stroke-rect ops and use GrFillRectOp instead of GrNonAA/AARectOp
Bug: skia:
Change-Id: Iee57bc970a026de2ad5a0758153e9cbb20753fa1
Reviewed-on: https://skia-review.googlesource.com/c/173105
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-12-11 16:33:35 +00:00
skia-autoroll
46f40f4247 Roll third_party/externals/swiftshader 7cfb50cd5f50..afb8cd307bc5 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/7cfb50cd5f50..afb8cd307bc5


git log 7cfb50cd5f50..afb8cd307bc5 --date=short --no-merges --format='%ad %ae %s'
2018-12-11 chrisforbes@google.com Import snapshot of spirv headers


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

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=ethannicholas@google.com

Change-Id: Id438d147dfd77036430c524c4694118e0a6aba34
Reviewed-on: https://skia-review.googlesource.com/c/176504
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-12-11 16:24:35 +00:00
Brian Salomon
3bdc3f5f9c Move some Gr headers from include/gpu to include/private and src/gpu.
Bug: skia:
Change-Id: I341dd3bff63cc99d3be830e21673073645a9cfec
Reviewed-on: https://skia-review.googlesource.com/c/176220
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-12-11 15:23:48 +00:00
skia-autoroll
ea0f8f1c60 Roll third_party/externals/swiftshader 2661e8408331..7cfb50cd5f50 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/2661e8408331..7cfb50cd5f50


git log 2661e8408331..7cfb50cd5f50 --date=short --no-merges --format='%ad %ae %s'
2018-12-11 capn@google.com Fix implicit fallthrough warnings treated as errors


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

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=ethannicholas@google.com

Change-Id: I370694788eea77c7dcbc2821767be093ca44d529
Reviewed-on: https://skia-review.googlesource.com/c/176500
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-12-11 15:18:08 +00:00
Leon Scroggins III
e7f165be2e Treat kWEBP encode with quality=100 as lossless
In SkEncodeImage and friends, treat quality of 100 as a lossless encode
when using kWEBP. This seems a good fit for the intent - which is
presumably to save the highest quality image. This also matches
Chromium's blink::ImageEncoder::ComputeWebpOptions, which treats a
quality of 1 (on a float scale from 0 to 1) as a lossless encode.

FWIW, Chromium has had this behavior since
https://codereview.chromium.org/1937433002, in response to
crbug.com/523098. The goal is to "maintain sharpness to
match the JPEG encoder behavior (use WEBP lossless encoding)".

Add a test to verify the new behavior. This requires making tests
depend on libwebp to use WebPGetFeatures, since the Skia API does not
provide a way to determine whether an encoded webp file was encoded
lossless-ly or lossily.

Bug: skia:8586
Change-Id: Ie9e09c2f7414ab701d696c4ad9edf405868a716f
Reviewed-on: https://skia-review.googlesource.com/c/175823
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-12-11 15:07:48 +00:00
Mike Reed
db80cbe34a change convex scan converter to be defensive
ran convex_path_* nanobench, with no appreciable perf loss
(for the cases tested)

Bug: 899689
Bug: skia:8606
Change-Id: Ida253c5057f38b90cda86a1717a8bb7c4a6155dc
Reviewed-on: https://skia-review.googlesource.com/c/175832
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2018-12-11 13:59:15 +00:00
Cary Clark
4f738832a9 fix bookmaker
Add an entry in SkTextBlob_Reference.bmh for getIntercepts().
Fix spelling for patheffect -> SkPathEffect and
maskfilter -> SkMaskFilter.

TBR=reed@google.com
NOTRY=true

Bug: skia:
Change-Id: I8f03ea24eb1208ac6f4015b03b98470a4169d880
Reviewed-on: https://skia-review.googlesource.com/c/176480
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-12-11 13:47:44 +00:00
recipe-roller
eb39b8108b 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/52411ecf1fa5d12f3ea0a4bb4afa350e92a49b28 Add windows .bat file for gsutil.py. (sortie@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I599007c7dadb2c2cca20cc7fc4ce57f95809f576
Reviewed-on: https://skia-review.googlesource.com/c/176400
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-12-11 12:27:51 +00:00
Kevin Lubick
53eabf6871 [canvaskit] Refactor Canvas2D JS into own files
Rather than one monolithic file, we now have one monolithic
file (canvascontext2d) and several smaller files (one per class,
and some helpers).

This should make the code navigation a little easier.

Bug: skia:
Change-Id: Ia191c2db778591af21d2a6126f053c17c4f677f1
Reviewed-on: https://skia-review.googlesource.com/c/175996
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-12-11 12:02:27 +00:00
skia-bookmaker
9cabb4f98e Update markdown files
Automatic commit by the Housekeeper-Nightly-Bookmaker bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I365c56af7fd227cb5dd9cfd47261284ce9c18bd2
Reviewed-on: https://skia-review.googlesource.com/c/176342
Reviewed-by: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
2018-12-11 06:17:45 +00:00
skia-recreate-skps
264843e307 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I4825167b1e33a08b7a27524187c1c6f3a1f7aaf1
Reviewed-on: https://skia-review.googlesource.com/c/176341
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-12-11 06:14:43 +00:00
Mike Reed
ae0d860ba3 move intercepts call to textblob
Bug: skia:
Change-Id: Ic7cd8ec1b33bd278ed489cbc1ccca35bd4776e27
Reviewed-on: https://skia-review.googlesource.com/c/175833
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-11 03:52:52 +00:00
skia-autoroll
376a7481c1 Roll third_party/externals/angle2 153e0224da45..f5c88e7e1c1a (2 commits)
153e0224da..f5c88e7e1c


git log 153e0224da45..f5c88e7e1c1a --date=short --no-merges --format='%ad %ae %s'
2018-12-11 jmadill@chromium.org Refactor and inline DrawElements validation.
2018-12-10 syoussefi@chromium.org Vulkan: add possibility to build subset of shaders


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

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=ethannicholas@google.com

Change-Id: I3b2e2592549e4703f80273fd0f533309ccb0066b
Reviewed-on: https://skia-review.googlesource.com/c/176249
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-12-11 03:33:11 +00:00
recipe-roller
40bd76027f 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/fed2cb39c320aa37367e009a37813da869f4d529 Fix ucrt source path when packaging the Windows toolchain (brucedawson@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I5a0931e8b0238c6a0a8992e69df20d78776af3e6
Reviewed-on: https://skia-review.googlesource.com/c/176226
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-12-11 02:18:13 +00:00
Cary Clark
a10494c302 remove legacy switch
Chrome tests have been rebased
and legacy define has been removed,
so remove from Skia as well.

R=fmalita@chromium.org

Bug:843966
Change-Id: I3794b8457c581f71d4bd30eb81d6fa4c8a589cad
Reviewed-on: https://skia-review.googlesource.com/c/176224
Auto-Submit: Cary Clark <caryclark@skia.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-12-11 01:01:21 +00:00
Herbert Derby
1564069849 Convert ShoudDrawAsPath to use SkFont
Change-Id: Ied4314f7a9bf1e8dacb4a1a3de1533ea71dc02f3
Reviewed-on: https://skia-review.googlesource.com/c/176200
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-12-10 21:49:21 +00:00
Brian Salomon
89f2ff1931 Use texparameterf[v]
Change-Id: I96191353fd6d75c1024bf452202d3e4e681afcf6
Reviewed-on: https://skia-review.googlesource.com/c/175829
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-12-10 21:46:21 +00:00
recipe-roller
4616f5521d 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/95a3eec6ae5226c402ca15514f2ccc39d5b367c9 [random] Add new "random" module. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I24937c470bcf8e8e0e796dc836d35c8185877f76
Reviewed-on: https://skia-review.googlesource.com/c/176223
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-12-10 21:19:13 +00:00
Mike Reed
a0b54cd589 add test (and fix) for glyphsToUnichars
Bug: skia:
Change-Id: I2defcea7e9a37bdd203acc4ca97fc47a7f57cd43
Reviewed-on: https://skia-review.googlesource.com/c/176221
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-10 21:11:49 +00:00
Mike Reed
d1ca672673 use SkFont for blob TightBounds
Bug: skia:
Change-Id: I77febaf5ab15784f1600f2f885a88dc907ae8284
Reviewed-on: https://skia-review.googlesource.com/c/176180
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-10 20:38:36 +00:00
Brian Salomon
3ccaa88c50 Add SK_API to GrTexture.
Sadly, we still expose this Chrome.

Bug: chromium:911856
Change-Id: Ib266eb1a338db621385cd75dbba6e709dd01587c
Reviewed-on: https://skia-review.googlesource.com/c/175999
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2018-12-10 19:32:08 +00:00
Mike Klein
dbfd7664f2 templatize SkBitmapProcState_matrixProcs
Long standing TODO.

Basically a no-op, except adding an explicit `& 0xffff` to
extract_low_bits_repeat_mirror.  The NEON code does this, and I think it
may help some of the fuzzer bugs we have floating out there.

SkBitmapProcState_matrix_neon.h is a similar setup, up next.

Change-Id: I3109f20a8f1640975901d7e5be10b7d94c490dfb
Reviewed-on: https://skia-review.googlesource.com/c/176060
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-12-10 19:14:44 +00:00