Commit Graph

36430 Commits

Author SHA1 Message Date
Mike Reed
0edad3e46d inline strcmp for faster json parsing
pays off around 5% for skottie files (total load time)

Could be better if we knew the length of either/both arguments... Seems like we can likely know that a lot of the time.

Bug: skia:
Change-Id: I221e41be2f887ec98476479e012f64bb0ea09b54
Reviewed-on: https://skia-review.googlesource.com/147045
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2018-08-14 20:59:49 +00:00
Ben Wagner
aa166bd744 Update FreeType to use isSubpixel and isVertical.
Instead of directly making a long winded test of "fRec.fFlags &
SkScalerContext::kSomething_Flag" use the isSubpixel and isVertical
helpers. This makes the code a bit easier to read.

Change-Id: I868a84776877bb9d632647695188ef4830c687b2
Reviewed-on: https://skia-review.googlesource.com/147109
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-14 19:57:17 +00:00
recipe-roller
cdbb076bf5 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/75244002db7a51d62cabdad873d622b1d8c28434 Add post_process functions for asserting on a step's text and logs. (gbeaty@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib1b2119927bb59845ee04b9621a94eda8c862a68
Reviewed-on: https://skia-review.googlesource.com/147110
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-08-14 19:49:42 +00:00
Bruce Wang
ba6f533c13 Implement SubPixel mode support for FreeType COLR/CPAL
Change-Id: I83746611e8f38186e3af7a33484df4626e39bc18
Reviewed-on: https://skia-review.googlesource.com/147040
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Bruce Wang <brucewang@google.com>
2018-08-14 19:40:50 +00:00
Robert Phillips
e4643cc81c Remove unused parameter from drawPathWithMaskFilter
Change-Id: If2a054c21f11127e61f9f552abb6fb1a395a740c
Reviewed-on: https://skia-review.googlesource.com/147105
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-14 19:00:19 +00:00
Florin Malita
d19fed1e29 [skottie] Eliminate some temp SkString allocations
Use the SkJSON conversion idiom instead of ParseDefault<SkString>.

Change-Id: Ieeadb86891602eaef2ecf5b68a4eb17b4897e8f7
Reviewed-on: https://skia-review.googlesource.com/147103
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-14 17:25:20 +00:00
Mike Klein
e28c791917 pass sprite opacity to color xform when blitting.
This should be a mild optimization, avoiding an unpremul step
when we need to transform color spaces.

I didn't check anything beyond that
  1) we do hit this case
  2) there were no diffs for {8888 srgb gbr-8888 p3-8888 narrow}

Change-Id: I2f726f6ca0225990612a2f6af4a1d94c7c3a4ea8
Reviewed-on: https://skia-review.googlesource.com/147102
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-14 16:44:55 +00:00
swiftshader-skia-autoroll
32c7d4dfcd Roll third_party/externals/swiftshader 378c434627aa..80ab360d2622 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/378c434627aa..80ab360d2622


git log 378c434627aa..80ab360d2622 --date=short --no-merges --format='%ad %ae %s'
2018-08-14 capn@google.com Fix braces warning treated as error.


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

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

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=kjlubick@google.com

Change-Id: I3229649d6acc6aae2a6f06a99c6963b3394c6f8a
Reviewed-on: https://skia-review.googlesource.com/147120
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-14 16:26:54 +00:00
Mike Klein
8f3d36c97d add dstAT param to xform steps
All the existing calls are ported over, and new tests cover
unpremul output. (Opaque output is an impossible request.)

Change-Id: I744d640763cf74c368d3b3aba4a262c8fd9f7a01
Reviewed-on: https://skia-review.googlesource.com/147100
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2018-08-14 16:26:53 +00:00
Mike Reed
d4322a8630 Change cubicmap to eval directly (no table)
- gives us zero setup cost
- perfect accuracy (at least better than our 16-polyline approx)
- slower at runtime, but for skottie seems still way under the radar

Bug: skia:
Change-Id: Ic01f76184c359c65d6af9a3bedeac34a2ad7d3a6
Reviewed-on: https://skia-review.googlesource.com/146961
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2018-08-13 23:23:15 +00:00
Hal Canary
1b95ef9f99 SkRegion: Do not assume good input.
BUG=chromium:873051

Change-Id: I2b84bade333e101fade81994203640ddf724f550
Reviewed-on: https://skia-review.googlesource.com/147041
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2018-08-13 19:57:18 +00:00
swiftshader-skia-autoroll
beac4195cc Roll third_party/externals/swiftshader c47cd435bf6f..378c434627aa (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c47cd435bf6f..378c434627aa


git log c47cd435bf6f..378c434627aa --date=short --no-merges --format='%ad %ae %s'
2018-08-13 capn@google.com Fix attribute layout location linking.


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

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

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=kjlubick@google.com

Change-Id: If9104ffd45f47380cf0391bbf338d8c17b35644d
Reviewed-on: https://skia-review.googlesource.com/146981
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-13 18:04:16 +00:00
Mike Klein
f6c85406bf use legal FirstDirection as kDontCheck sentinel
UBSAN points out that -1 isn't required to be representable
in a FirstDirection, but I think the union of all possible
fields is.

In this case, the union is 3, oring together CW (0), CCW (1)
and Unknown (2).  Since it's not one of the meaningful values
of the enum, it works as a nice sentinel.

Change-Id: Ib428a8f0d7f5edbf492501306604ba57e9d19e38
Reviewed-on: https://skia-review.googlesource.com/147002
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2018-08-13 17:43:26 +00:00
Mike Klein
de5d6ebb0b avoid illegal enum values in PathTest
We're testing here that when isRect() returns false,
the isClosed and direction fields are unchanged.

Instead of using illegal values (which trip up UBSAN)
test all combinations of legal values.

It looks like we were trying to use an illegal -1 bool
to do the same trick as the enum, but I think it was
legal and just always true.

Change-Id: Ia4ab4c3d52f61bf67e888dea67549ab09750902a
Reviewed-on: https://skia-review.googlesource.com/147001
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-08-13 17:01:54 +00:00
Leon Scroggins III
e643a9ef52 SkCodec: Always use 0 for filling
This is a behavior change and a simplification.

When an image is incomplete or subset, we fill the remaining/all rows
with the fill color. A virtual method chose the fill color. Here were
the implementations:
- SkGifCodec:
Use transparent. This was changed previously to match Chromium.
- SkPngCodec/SkBmpStandardCodec:
Use the first color in the color table. This made sense when we had to
support kIndex_8, when we had to use an index from the color table.
Using that color for other types ensured that the image looked the same
in e.g. kN32 as kIndex_8. Removing this arbitrary choice simplifies the
code and moves the behavior toward Chromium's.
- SkCodec (default):
Use black for opaque images and transparent for images with alpha. A
theoretical advantage to this decision was that an incomplete image
would look the same in k565 and kN32. I don't think this is a good
enough reason to behave differently from Chromium.

Consolidate them all to just use 0. This results in transparent where
that is something we can specify. For 565 and Gray, this results in
black.

Only change to include headers is the removal of protected methods.
TBR=hcm@google.com

Change-Id: I9a7224b4e91b5c4988f3a87381653e99e40e10a5
Reviewed-on: https://skia-review.googlesource.com/145378
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-13 16:56:19 +00:00
Chris Dalton
1208e0fc80 Add unit tests for src=dst in SkGeometry
Bug: skia:
Change-Id: Iee0beaa187898f01983f5cb7297d8b515e47103a
Reviewed-on: https://skia-review.googlesource.com/146926
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-08-13 16:26:09 +00:00
angle-skia-autoroll
8d868e5ca9 Roll third_party/externals/angle2 a43d7306d87a..35bc74d6d139 (2 commits)
a43d7306d8..35bc74d6d1


git log a43d7306d87a..35bc74d6d139 --date=short --no-merges --format='%ad %ae %s'
2018-08-13 jiawei.shao@intel.com ES31: Support atomic functions on D3D11 - Part II
2018-08-13 jie.a.chen@intel.com Suppress cast warnings for active textures mask


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

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

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=kjlubick@google.com

Change-Id: I5c7204a85acdea53897553e7999073c2c39dfa19
Reviewed-on: https://skia-review.googlesource.com/146980
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-13 16:02:54 +00:00
Jim Van Verth
b35c655378 Fix viewer assert in onResize
Bug: skia:
Change-Id: I99f938c76aa08a43bdc2e0fa2ad2bb04f103d2fb
Reviewed-on: https://skia-review.googlesource.com/146941
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-08-13 15:52:09 +00:00
angle-skia-autoroll
87a7372928 Roll third_party/externals/angle2 7ae70d8fb360..a43d7306d87a (1 commits)
7ae70d8fb3..a43d7306d8


git log 7ae70d8fb360..a43d7306d87a --date=short --no-merges --format='%ad %ae %s'
2018-08-13 oetuaho@nvidia.com Clean up varying linkage in D3D


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

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

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=kjlubick@google.com

Change-Id: Ib9e82e2bce6dd41ac8b94c1327bee43818ab052c
Reviewed-on: https://skia-review.googlesource.com/146902
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-13 07:15:44 +00:00
skia-recreate-skps
f1a25c06cd Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I3bd90c38359e27f3c97c44cda15380077c99ea09
Reviewed-on: https://skia-review.googlesource.com/146923
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-08-12 08:45:20 +00:00
angle-skia-autoroll
02d174687c Roll third_party/externals/angle2 ea926a362b77..7ae70d8fb360 (1 commits)
ea926a362b..7ae70d8fb3


git log ea926a362b77..7ae70d8fb360 --date=short --no-merges --format='%ad %ae %s'
2018-08-11 jie.a.chen@intel.com ParallelCompile: Parallelize D3D linking


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

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

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=djsollen@google.com

Change-Id: I2a1df19bb909d94b3cc212aa53e6b9ddcfbe2ce1
Reviewed-on: https://skia-review.googlesource.com/146901
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-11 11:39:24 +00:00
angle-skia-autoroll
5fb1b7e0ff Roll third_party/externals/angle2 04c084dd3cf4..ea926a362b77 (4 commits)
04c084dd3c..ea926a362b


git log 04c084dd3cf4..ea926a362b77 --date=short --no-merges --format='%ad %ae %s'
2018-08-10 jmadill@chromium.org Add angle_perftests README file.
2018-08-10 jmadill@chromium.org D3D: Use angle::Result error pattern.
2018-08-10 jmadill@chromium.org Fix AMD detection in angle_end2end_tests.
2018-08-10 theoking@google.com Vulkan: Introduce Command Buffer Perf Test


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

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

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=djsollen@google.com

Change-Id: Idbd5658b340ebb1f76a058d7d3640b74873596b4
Reviewed-on: https://skia-review.googlesource.com/146900
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-11 00:23:56 +00:00
Mike Reed
26f9b10a8a check for overflow in maxedgecount
Bug: 848521
Change-Id: I5d5f28bc2ceef6e7a90b87f5e8c064473c6f67a3
Reviewed-on: https://skia-review.googlesource.com/146880
Auto-Submit: Mike Reed <reed@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-08-11 00:10:04 +00:00
Bruce Wang
f3ca1c6abb Implement FreeType COLR/CPAL support.
FreeType has supported color palette related features and Skia needs to
update its support for these new FreeType APIs.

BUG=skia:8030

Change-Id: Idf7e4477dfeb3481f5f145481c8e33ed219b5b8d
Reviewed-on: https://skia-review.googlesource.com/139763
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Dominik Röttsches <drott@google.com>
Commit-Queue: Bruce Wang <brucewang@google.com>
2018-08-10 22:29:40 +00:00
Timothy Liang
609fbe34de fixed the size in bytes of vec3s to match Metal standard in Metal gpu backend
Bug: skia:
Change-Id: Iba46b7eff46cfd05c3b65ba2d38f10dce16e9481
Reviewed-on: https://skia-review.googlesource.com/146764
Commit-Queue: Timothy Liang <timliang@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-10 20:49:22 +00:00
recipe-roller
46c178bb53 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/6a4e31b4882f85224e08a70af20c7df766eb525d gclient_scm: Add option to specify the branch the patch is based on. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ieaf45d29c421d22676c0413eab762f7902fe5588
Reviewed-on: https://skia-review.googlesource.com/146862
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-08-10 20:31:34 +00:00
Timothy Liang
de0be804d8 only set color index if using dual source blending in Metal gpu backend
also implemented setting blend constants to allow non-dual source blending

Bug: skia:8230
Change-Id: Id342e525f3a0b6a3e676f81058661f5a31e66843
Reviewed-on: https://skia-review.googlesource.com/146762
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-08-10 20:16:57 +00:00
Kevin Lubick
97d6d98402 [PathKit] Add various path effects
API Changes (nothing should be breaking):
 - Exposes conic, although all output formats (SVG, Canvas) need conics
to be approximated with quads. Tests have been added to verify this
happens.
 - Add .dash(), .trim(), .stroke() and examples for them.
 - Expose Stroke enums (StrokeJoin, StrokeCap)

Adds tests for the cubic part and clean up a few spacing things.

There are some changes to the C++ code to simplify the build -
otherwise, I need to appease the linker and add add in a bunch
of files that may or may not get optimized out.  Best make them
not even be compiled, just to make sure.

Bug: skia:8216
Change-Id: I1da3aaab1891f14a5b3dc01bb6523b4fd9a87b04
Reviewed-on: https://skia-review.googlesource.com/146650
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-10 20:07:47 +00:00
Mike Klein
3214f92fe9 clean up SK_LEGACY_CONVERT_PIXELS_IMPL
Change-Id: I991346b1fe7dba8ccceb52dfd95bd5f3897baafd
Reviewed-on: https://skia-review.googlesource.com/146860
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-10 20:04:01 +00:00
Cary Clark
57ca297f0c fix text blob example errors
missed several SkTextBlob::MakeAsDrawText that needed to become
SkTextBlob::MakeFromText.

NOTRY=true
TBR=caryclark@google.com

Docs-Preview: https://skia.org/?cl=146861
Bug: skia:6818
Change-Id: Ief383113823ca7bcd33fa83216e8c452b6a186fe
Reviewed-on: https://skia-review.googlesource.com/146861
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-08-10 19:56:03 +00:00
Cary Clark
87f71c0f7e fix bookmaker check for enum size
upcoming enum size change in public header
exposed missing check in bookmaker

TBR=mtklein@google.com

Bug: skia:6818
Change-Id: Idaf108cb36283805dd0ff8e709646325c78a9d66
Reviewed-on: https://skia-review.googlesource.com/146769
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-08-10 19:07:25 +00:00
Yuqian Li
a9660ec89b Reland "Update ShouldUseAAA with our better complexity estimation"
This is a reland of e847af7e0d

This CL adds the SK_SUPPORT_LEGACY_AA_CHOICE back and it will unblock Google3 and Android.

Original change's description:
> Update ShouldUseAAA with our better complexity estimation
>
> See https://groups.google.com/forum/#!topic/skia-discuss/QrJadRQR5A4 for the issue.
>
> Bug: skia:
> Change-Id: I260d1a57f64ff7a2fc47e6bce00cd8b8dbca81a9
> Reviewed-on: https://skia-review.googlesource.com/144412
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

Bug: skia:
Change-Id: I18bece980b8152e7d423a328c1ebf2c61bf5d2f0
Reviewed-on: https://skia-review.googlesource.com/146220
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Yuqian Li <liyuqian@google.com>
2018-08-10 18:38:24 +00:00
Timothy Liang
b1f02f30bb enabled gms and most unit tests for Metal gpu backend
Bug: skia:
Change-Id: Ib8a15931b217c6cb353e0af2d2752cb08a400f1d
Reviewed-on: https://skia-review.googlesource.com/146645
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-08-10 18:29:50 +00:00
Mike Klein
02046a7e2d switch ubsan to blacklist
We're close enough that it's easier to use "undefined"
to turn on all supported UBSAN sanitizers and then
keep a couple in fyi_sanitizers as a blacklist.

I'm going to try to fix "enum" next too, so hopefully
that won't be in there too long.

I did a little flag cleanup too.  -fno-omit-frame-pointer
was harmlessly in there twice for Android builds.

Change-Id: I8216fb0685423b2ff56db2e2be5bbeb4b48f932f
Reviewed-on: https://skia-review.googlesource.com/146760
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-10 18:19:56 +00:00
Ben Wagner
e5416450b7 Change generateAdvance to never chain.
Now set to bool generateAdvance(SkGlyph*)

Change-Id: I48bda7858d4c5d90edcf7b7af810d0da56ae0dd9
Reviewed-on: https://skia-review.googlesource.com/146537
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Bruce Wang <brucewang@google.com>
2018-08-10 18:12:25 +00:00
Cary Clark
af04551333 refresh generated includes
generate include documentation for the first time
for SkRegion.h and SkTextBlob.h, and refresh a
few others.

TBR=reed@google.com

Bug: skia:6818
Change-Id: Ie8ad53095b3d7c5d8418c6cf2163a749ab6ecb53
Reviewed-on: https://skia-review.googlesource.com/146704
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-08-10 17:55:28 +00:00
Florin Malita
679d05c48a [sksg] Simplify ScopedRenderContext
ScopedRenderContext tries really hard to avoid unnecessary RenderContext
initializations.

This is most likely unneeded because

  a) the structure is quite lightweight

and

  b) all ScopedRenderContext instantiation sites imediately call setters
     which require a writable context (assuming no-op args are uncommon)

Let's get rid of that over-engineered gunk.

Bug: skia:
Change-Id: Ieedc20c63c66b4d43744359e881c20639654040c
Reviewed-on: https://skia-review.googlesource.com/146761
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-10 17:54:29 +00:00
Cary Clark
d2ca79c271 new batch of docs
new batch of docs

Docs-Preview: https://skia.org/?cl=141244
Bug: skia:
Change-Id: I5a285778baaee2734495374adeb7359d524e47e3
Reviewed-on: https://skia-review.googlesource.com/141244
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-08-10 17:44:46 +00:00
Timothy Liang
5422f9aa27 implemented GrMtlGpuCommandBuffer for draws in Metal gpu backend
Bug: skia:
Change-Id: Ifc20a7734a02fe48ef79af201b4ebc882aedefb3
Reviewed-on: https://skia-review.googlesource.com/146382
Commit-Queue: Timothy Liang <timliang@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-10 17:20:05 +00:00
Mike Klein
8da9fbf89c add bounds sanitizer to ASAN/UBSAN bots
Change-Id: Ibe93cd564a4dcc5b9a4f88ff93770935d560e24f
Reviewed-on: https://skia-review.googlesource.com/146705
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-08-10 17:11:45 +00:00
swiftshader-skia-autoroll
c533b335e1 Roll third_party/externals/swiftshader dd662d210afc..c47cd435bf6f (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/dd662d210afc..c47cd435bf6f


git log dd662d210afc..c47cd435bf6f --date=short --no-merges --format='%ad %ae %s'
2018-08-10 sugoi@google.com Non libX11 build fix


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

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

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=djsollen@google.com

Change-Id: I3851fdd8ff7e18d3066f31f327ae03d6741a6cfa
Reviewed-on: https://skia-review.googlesource.com/146664
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-10 16:38:20 +00:00
swiftshader-skia-autoroll
4eac21fee0 Roll third_party/externals/swiftshader d7622ffdd25e..dd662d210afc (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/d7622ffdd25e..dd662d210afc


git log d7622ffdd25e..dd662d210afc --date=short --no-merges --format='%ad %ae %s'
2018-08-10 sugoi@google.com SwiftShader on Fuchsia x64


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

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

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=djsollen@google.com

Change-Id: I44f2a6ed85ad0f101e15a715976eef714f510679
Reviewed-on: https://skia-review.googlesource.com/146663
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-10 15:38:27 +00:00
Ben Wagner
897dfa2530 Subpixel in Viewer from -1 to 1.
Change the Subpixel positioning in Viewer from 0 to 1 to -1 to 1, with
the origin at the center of the drag area. This allows for observing
what happens when rolling over integer boundaries. Since it is no longer
simple to reset to the origin, closing the collapsing header resets the
drag point to the origin.

Change-Id: I88d4fd489c3bfb914fb843fa261d4097fef3671a
Reviewed-on: https://skia-review.googlesource.com/146643
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-10 15:30:12 +00:00
angle-skia-autoroll
7cd011ab44 Roll third_party/externals/angle2 9b6a3f926032..04c084dd3cf4 (1 commits)
9b6a3f9260..04c084dd3c


git log 9b6a3f926032..04c084dd3cf4 --date=short --no-merges --format='%ad %ae %s'
2018-08-10 jmadill@chromium.org Extend MultiviewDrawValidationTest.


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

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

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=djsollen@google.com

Change-Id: I6ea9f108d65f29768553a670be7af31bbd14d0ac
Reviewed-on: https://skia-review.googlesource.com/146662
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-10 15:26:02 +00:00
Herb Derby
c1b482cddb Rename GrTextUtils::Target to GrTextTarget
Change-Id: I29e1c6e117a4cbbde6e43639228b1103966b6358
Reviewed-on: https://skia-review.googlesource.com/146641
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-08-10 15:21:52 +00:00
Timothy Liang
6ed63968a3 implemented GrMtlPipelineState for metal gpu backend
Bug: skia:
Change-Id: I4284b760411d9ec24cccfb89352406dbb696c3c9
Reviewed-on: https://skia-review.googlesource.com/145896
Commit-Queue: Timothy Liang <timliang@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-10 14:47:18 +00:00
Timothy Liang
7b8875dea7 implemented SK_CLOCKWISE_BUILTIN for Metal SkSLC
Bug: skia:
Change-Id: I0b77113868be8e5a719e9a286ecf7f87e5c86367
Reviewed-on: https://skia-review.googlesource.com/146533
Commit-Queue: Timothy Liang <timliang@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2018-08-10 14:23:13 +00:00
Greg Daniel
c27eb726bd Make sure GrResourceCache frees resources waiting on messages during destruction.
Bug: skia:6812
Change-Id: I86c50a9e301ae4846e638c915f94b797d60ee9a1
Reviewed-on: https://skia-review.googlesource.com/146646
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-08-10 14:14:47 +00:00
Mike Klein
93ce79dba4 drop SkTextBlob alignas(void*), align in Builder manually
GCC can't handle SK_API and alignas() next to each other,
tested up through GCC 8.1.

Instead, just align up the area we allocate for the SkTextBlob.

Bug: skia:8239

Change-Id: Ibdccfc09649b79a6eaa50ffd731d4bab012d24df
Reviewed-on: https://skia-review.googlesource.com/146703
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-08-10 13:24:23 +00:00
Robert Phillips
5b5d84cc1f Cache the command buffer objects
Change-Id: I35bc1fab8ed6b72baf75d2e4271a040e0209440d
Reviewed-on: https://skia-review.googlesource.com/145821
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-10 11:22:56 +00:00