Commit Graph

36057 Commits

Author SHA1 Message Date
Cary Clark
f39491272b add json dump to pathops unittest
./out/skia/pathops_unittest -J dump.json
will write all Op tests to a JSON file. Since this
will run single threaded, this can take a while,
and generates a 500M file.
A reasonable subset is
./out/skia/pathops_unittest -J dump.json -m PathOpsOp$
around 275K.

This is in service of pathkit.

R=kjlubick@google.com

Bug: skia:
Change-Id: I7e0771639e29755c00036f335a531403044d9d30
Reviewed-on: https://skia-review.googlesource.com/145737
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-08-08 00:48:07 +00:00
Mike Klein
fcd1654b79 make sksg a component
Change-Id: I81fcbecb6ae002bd1b61918514f5c836660c27cb
Reviewed-on: https://skia-review.googlesource.com/145883
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-08-08 00:43:05 +00:00
Mike Reed
9adff1a89f use VectorValue consistently
Bug: skia:
Change-Id: I148bd0cac3c094b30217b30104ebbc6e080c994f
Reviewed-on: https://skia-review.googlesource.com/145885
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2018-08-08 00:43:04 +00:00
recipe-roller
464d0b2af7 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/333617bc86fef3ec7b4612d35eba8a36f531a86a [cipd] Bump versions of all CIPD packages + add mips(64)le platform support. (vadimsh@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Idead7f1a232fa174dbdc67d4af43a336c98c975b
Reviewed-on: https://skia-review.googlesource.com/145894
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-08-08 00:38:03 +00:00
Herb Derby
0f40756f86 Remove unused TextPathIter
Change-Id: I6f5ff3d73ce68c351a019ca467b0eebc7054921c
Reviewed-on: https://skia-review.googlesource.com/145887
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-08 00:38:02 +00:00
Yuqian Li
e847af7e0d 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>
2018-08-08 00:32:58 +00:00
angle-skia-autoroll
790926ac3a Roll third_party/externals/angle2 1bd4bfb0c2d8..b983a4b28b83 (2 commits)
1bd4bfb0c2..b983a4b28b


git log 1bd4bfb0c2d8..b983a4b28b83 --date=short --no-merges --format='%ad %ae %s'
2018-08-07 jmadill@chromium.org Pass Context to Framebuffer::invalidateCompletenessCache.
2018-08-07 jmadill@chromium.org Remove excess gl:: prefixing in validationES.cpp.


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

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: I80dee51609b3a010574d61e61beafb5e488d41ec
Reviewed-on: https://skia-review.googlesource.com/145980
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-08 00:32:57 +00:00
Mike Klein
c857956fad transform colors with steps + raster pipeline in SkColorSpaceXformer
I hate SkColorSpaceXform,
and we think this is going to be faster, especially for single colors.

Add this mode of operation to our bench from yesterday.
No surprise, it's exactly as fast as pipeA.

This may DO the TODO?

Change-Id: I1b42b42d7647d85b62cd8397bb8d6f39c4829bcf
Reviewed-on: https://skia-review.googlesource.com/145823
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-08-08 00:27:53 +00:00
Ben Wagner
30a4e3da4b Add Win OpenCL Build job.
Bug: skia:8081
Change-Id: Ibcb82389668bd9ea7395e498696417d5701761c0
Reviewed-on: https://skia-review.googlesource.com/140782
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-08 00:27:48 +00:00
Brian Salomon
faeef78372 Exclude compositing_images benchs from Chromecast
They crash, presumably because they use multiple large images.

Change-Id: I277958cd6661820085b4e1a04e0668e3a3e9fddc
Reviewed-on: https://skia-review.googlesource.com/145880
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-08-07 19:19:58 +00:00
Ben Wagner
177742435e Some iwyu for SkShaper_harfbuzz.
This makes it easier to see what ties this module to Skia.

Change-Id: I392ae4f89fb1afe9193bdb2fda95036f4f5623ed
Reviewed-on: https://skia-review.googlesource.com/145882
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-08-07 19:00:58 +00:00
Jim Van Verth
47d9ee455d Revert "Intersection calc cleanup."
This reverts commit 1b016d50b9.

Reason for revert: Breaking polygon inset code.

Original change's description:
> Intersection calc cleanup.
> 
> * Fixes some bugs in compute_intersection
> * Adds an intersection check that doesn't need to compute the exact pt
> * Make some of the variable names consistent
> * General floating point tweaks
> 
> Bug: skia:
> Change-Id: Ib2fb8bee39b5d9c635d62e606fe826b7efe64dfa
> Reviewed-on: https://skia-review.googlesource.com/145532
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

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

Change-Id: I9515e3e8bfea146ebd9c1628f1b963f1557b8a89
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/145900
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-08-07 18:36:53 +00:00
Herb Derby
430424bd74 Update text blob benchmark to reflect reality
w/ mtklein suggestions

Change-Id: Ifd7310ad71020c23514c663a0671400112b04e75
Reviewed-on: https://skia-review.googlesource.com/145824
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Auto-Submit: Herb Derby <herb@google.com>
2018-08-07 18:27:50 +00:00
Ben Wagner
c0c99b3a69 Add context to shaper.
This allows correct shaping across any run breaks.

Change-Id: Ib305bd974ccee2471b1dfe8bd895fb28e475177f
Reviewed-on: https://skia-review.googlesource.com/145726
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-07 18:24:14 +00:00
Timothy Liang
deba212225 fixed check for BGRA -> RGBA in CopySurfaceTest
Bug: skia:
Change-Id: Id49a7d3abad7c3d8b34bc2db9e5fdb69047bf9f0
Reviewed-on: https://skia-review.googlesource.com/145822
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-08-07 17:49:43 +00:00
swiftshader-skia-autoroll
9d29adf01a Roll third_party/externals/swiftshader 48908cb95504..d7622ffdd25e (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/48908cb95504..d7622ffdd25e


git log 48908cb95504..d7622ffdd25e --date=short --no-merges --format='%ad %ae %s'
2018-08-07 capn@google.com Fix platform display retrieval.


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

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: I00dec35feb2eaf3315ae7af1db9c935fb01d6728
Reviewed-on: https://skia-review.googlesource.com/145742
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-07 17:42:13 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
95c86dea56 Roll skia/third_party/skcms 6ad455da9d42..5b1292eaeda5 (1 commits)
https://skia.googlesource.com/skcms.git/+log/6ad455da9d42..5b1292eaeda5

2018-08-07 benjaminwagner@google.com Specify Xcode 9.2 in dimensions.


The AutoRoll server is located here: https://skcms-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=master.tryserver.blink:linux_trusty_blink_rel
TBR=djsollen@google.com

Change-Id: Id26e84e665d218e8764390de3474d5d274bf685f
Reviewed-on: https://skia-review.googlesource.com/145818
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-07 17:39:23 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
f22998a286 Roll skia/third_party/skcms e5dd04f43880..6ad455da9d42 (1 commits)
https://skia.googlesource.com/skcms.git/+log/e5dd04f43880..6ad455da9d42

2018-08-07 mtklein@google.com prepare for NDK r18


The AutoRoll server is located here: https://skcms-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=master.tryserver.blink:linux_trusty_blink_rel
TBR=djsollen@google.com

Change-Id: I81c982680f80845ed699f688521a576d0ece3099
Reviewed-on: https://skia-review.googlesource.com/145810
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-07 17:07:43 +00:00
Jim Van Verth
234e5a2b57 Improve touch support for iOS viewer
Adds pinch-zoom and swipe to change slides.

Bug: skia:
Change-Id: I0860c933208c8cf83027675a9de11b3f782de8e3
Reviewed-on: https://skia-review.googlesource.com/142898
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-08-07 17:04:55 +00:00
Kevin Lubick
5f0e3a158a [PathKit] Made some APIs return null if things failed
This makes our calls to emscripten::val a bit more consistent.

Adds in the macro SkPathOrVal to self-document where it's really
a SkPath we are returning, but C++ doesn't realize SkPath and
emscripten::val::null() can be the same type.  Casting SkPath
via emscripten::val() is basically a no-op, since Emscripten bind
seems to be doing it under the hood anyway.

No functional changes, except when there would be a failure,
methods will return null instead of an empty SkPath.

Bug: skia:8216
Change-Id: I1fff620d5aa50ec4a57f76e706d8d005ea26605f
Reviewed-on: https://skia-review.googlesource.com/145728
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-07 16:41:58 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
89515a5249 Roll skia/third_party/skcms 6f11cd0ed7d0..e5dd04f43880 (2 commits)
https://skia.googlesource.com/skcms.git/+log/6f11cd0ed7d0..e5dd04f43880

2018-08-07 mtklein@google.com fix gcc.avx512 builds
2018-08-07 mtklein@google.com add tricky 5-point profile to test set


The AutoRoll server is located here: https://skcms-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=master.tryserver.blink:linux_trusty_blink_rel
TBR=djsollen@google.com

Change-Id: I2ceb90d6e3e53b79db67242d4bf0b15fc4555eb2
Reviewed-on: https://skia-review.googlesource.com/145803
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-07 16:38:41 +00:00
Jim Van Verth
1b016d50b9 Intersection calc cleanup.
* Fixes some bugs in compute_intersection
* Adds an intersection check that doesn't need to compute the exact pt
* Make some of the variable names consistent
* General floating point tweaks

Bug: skia:
Change-Id: Ib2fb8bee39b5d9c635d62e606fe826b7efe64dfa
Reviewed-on: https://skia-review.googlesource.com/145532
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-07 16:37:49 +00:00
Florin Malita
30f4e96517 [skottie] Use animator scratch storage to avoid vector reallocations
Change-Id: Iab01c84ab83666218aa5ebc88f0d81b330858a74
Reviewed-on: https://skia-review.googlesource.com/145724
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2018-08-07 16:26:44 +00:00
Mike Klein
26ad6da9b6 link with --start-group/--end-group
These flags let symbols cross-link from anything in the group.

This becomes useful if we try to make more parts of Skia
components, letting binaries link .a static libraries that
depend on each other without worrying about the order they're
specified on the link line / in the .rsp file.

Few of our bots should be affected by this, as lld doesn't
really need this workaround.

Change-Id: I75f4cc069a2c82c7898d510a6b8b5cf1b8bdbe50
Reviewed-on: https://skia-review.googlesource.com/145529
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-07 16:18:01 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
bdaccfff22 Roll skia/third_party/skcms 95d1987a561d..6f11cd0ed7d0 (1 commits)
https://skia.googlesource.com/skcms.git/+log/95d1987a561d..6f11cd0ed7d0

2018-08-07 benjaminwagner@google.com Fix skcms Mac build job


The AutoRoll server is located here: https://skcms-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=master.tryserver.blink:linux_trusty_blink_rel
TBR=djsollen@google.com

Change-Id: Id5794805a4a4e51c9f07f9120c38b9bc176b3667
Reviewed-on: https://skia-review.googlesource.com/145802
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-07 16:05:58 +00:00
Florin Malita
36216fb0ac [skottie] Initial Fill layer effect support
Overwrite the layer content color with a color filter.

TBR=
Change-Id: I39f920225affb2641cc11ab1f0c1456d89b47cb7
Reviewed-on: https://skia-review.googlesource.com/145730
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-07 15:34:34 +00:00
Herb Derby
ae64e49812 Simplify blob's appendGlyph interface
Change-Id: I62fcaef94570982d46e678b8e128b02e2514a96a
Reviewed-on: https://skia-review.googlesource.com/145528
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-07 14:56:48 +00:00
swiftshader-skia-autoroll
4f599a952f Roll third_party/externals/swiftshader 02956e4cced0..48908cb95504 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/02956e4cced0..48908cb95504


git log 02956e4cced0..48908cb95504 --date=short --no-merges --format='%ad %ae %s'
2018-08-07 capn@google.com Add EGL 1.5 entry points.


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

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: Ic8f251b87dcf4e3bd274f4bc96f0e94900ca6e29
Reviewed-on: https://skia-review.googlesource.com/145741
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-07 14:53:54 +00:00
Mike Klein
ef118b8628 add Build-Mac-Clang-arm64-Debug-iOS to CQ
This doesn't really add any CQ load.  We're already running
Test-iOS-Clang-iPhone7-GPU-GT7600-arm64-Debug-All which depends on this.
It'll just help make iOS Build failures stand out from Test failures.

Change-Id: I8614dd32d0ff3797357bfa41ea46d2571ec7976d
Reviewed-on: https://skia-review.googlesource.com/145725
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2018-08-07 14:46:49 +00:00
Herb Derby
e504efab60 Remove drawTextBlob from SkBaseDevice
Change-Id: I6f25c438a1d3baf78b83376affcfe4324900e417
Reviewed-on: https://skia-review.googlesource.com/145645
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-07 14:42:29 +00:00
Mike Klein
4ed73e09d3 Add a bench for various single color xforms
PipeA is where we want to be, and probably by filling in something
like the TODO I left in SkColorSpaceXformSteps.h?

    curr/maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
      13/13  MB	49	82.8ns	83.2ns	83.2ns	84.1ns	0%	█▂▅▄▂▁▃▄▃▃	nonrendering	ColorSpaceXformBench_pipeB
      13/13  MB	1259	29.6ns	29.7ns	30.4ns	37.2ns	8%	▁▁▁▁▁▁▁▁▁█	nonrendering	ColorSpaceXformBench_pipeA
      13/13  MB	661	110ns	119ns	119ns	128ns	4%	▅▅▅▅▅▅▅▅█▁	nonrendering	ColorSpaceXformBench_steps
      13/13  MB	26	239ns	247ns	283ns	609ns	40%	▁▁█▁▁▁▁▁▁▁	nonrendering	ColorSpaceXformBench_xform

Change-Id: I98af634ab0a7a1522a5bcfde9ce3fc934d82ecf8
Reviewed-on: https://skia-review.googlesource.com/145643
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-07 14:30:28 +00:00
Ethan Nicholas
929a681e68 SkSL coordTransform argument is now optional
Bug: skia:8225
Change-Id: Iae0cb9c6bd640e9bdc3136d19e730bfe3ff1769f
Reviewed-on: https://skia-review.googlesource.com/145521
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-08-07 14:21:48 +00:00
Brian Salomon
7eae3e04e3 Reland "Move GrGeometryProcessor's textures out of classes and into"
This reverts commit fdf05f4ff4.

Reason for revert: Android fixed after removing multitexture support from TextureOp.

Original change's description:
> Revert "Move GrGeometryProcessor's textures out of classes and into"
> 
> This reverts commit af87483873.
> 
> Revert "GrGeometryProcessor derives from GrNonAtomicRef not GrProgramElement."
> 
> This reverts commit 607be37e3d.
> 
> Revert "Store GrMeshDrawOps' meshes in GrOpFlushState's arena."
> 
> This reverts commit b948572c78.
> 
> Revert "Remove multitexturing support from GrTextureOp."
> 
> This reverts commit 986f64c601.
> 
> Revert "Make result of GrOp::combineIfPossible be an enum."
> 
> This reverts commit 641ac7daa8.
> 
> Bug: b/112244393
> Change-Id: I579491a3f2f2f2093f1e2a6141fa1e4cc7b760a4
> Reviewed-on: https://skia-review.googlesource.com/145646
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com

Change-Id: I1d41c2ecf7862e31fb025a7a00bb07bae9d83a47
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/112244393
Reviewed-on: https://skia-review.googlesource.com/145780
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-08-07 14:02:49 +00:00
angle-skia-autoroll
0d794288d1 Roll third_party/externals/angle2 6ba9754f4a56..1bd4bfb0c2d8 (1 commits)
6ba9754f4a..1bd4bfb0c2


git log 6ba9754f4a56..1bd4bfb0c2d8 --date=short --no-merges --format='%ad %ae %s'
2018-08-07 jmadill@chromium.org Add draw call perf tests that use the driver.


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

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: Ib68264b529fc0ec1731c68ff80b4ea2243acb6cc
Reviewed-on: https://skia-review.googlesource.com/145740
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-07 13:53:42 +00:00
Cary Clark
c0534fa833 minor SkRegion include edits
name or rename parameters

TBR=reed@google.com

Bug: skia:6818
Change-Id: I04637a25869b3512e241e157528cd794a53481a2
Reviewed-on: https://skia-review.googlesource.com/145720
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-08-07 13:34:57 +00:00
Robert Phillips
cb2275bf24 Add shared --disableExplicitAlloc flag to tools
Unfortunately, this seems like the best way to have a local bot that uses the old-style allocation.

Change-Id: I3124d04bdbd2b262867a620fa467de86fec42d8f
Reviewed-on: https://skia-review.googlesource.com/145680
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-07 13:13:22 +00:00
Robert Phillips
e6d0618f67 Add list of dependents to GrOpList class
This is pulled out of: https://skia-review.googlesource.com/c/skia/+/143113 (Reduce arbitrary opList splitting when sorting (take 3)) and is necessary for incremental tological sorting of opLists.

Change-Id: I080cee2c54f5a61dceea67037242f6c6b3e01b8d
Reviewed-on: https://skia-review.googlesource.com/145641
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-07 12:27:17 +00:00
Greg Daniel
01d9a344b5 Update linux vulkan sdk asset.
Bug: skia:
Change-Id: Id6d7a1f7d8ebb12704da4fa54fc8598c187a0102
Reviewed-on: https://skia-review.googlesource.com/145640
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-08-07 02:37:01 +00:00
Brian Salomon
fdf05f4ff4 Revert "Move GrGeometryProcessor's textures out of classes and into"
This reverts commit af87483873.

Revert "GrGeometryProcessor derives from GrNonAtomicRef not GrProgramElement."

This reverts commit 607be37e3d.

Revert "Store GrMeshDrawOps' meshes in GrOpFlushState's arena."

This reverts commit b948572c78.

Revert "Remove multitexturing support from GrTextureOp."

This reverts commit 986f64c601.

Revert "Make result of GrOp::combineIfPossible be an enum."

This reverts commit 641ac7daa8.

Bug: b/112244393
Change-Id: I579491a3f2f2f2093f1e2a6141fa1e4cc7b760a4
Reviewed-on: https://skia-review.googlesource.com/145646
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-08-06 22:27:48 +00:00
Cary Clark
cadc5063c0 fix pathops stitching bug
Tight data generates intersections that are currently
unsortable. Edges that can be sorted are added; simple
connected edges need to be added as well.

Look for output edges with gaps and add simple edges that
continue at the ends to reduce the gap size.

Extended tests with region check (pathops_unittest -V -x)
pass in debug and release.

TBR=reed@google.com

Bug: skia:8223
Change-Id: Ib0f22061ae3676e1a3b94574516a61cbbea2948f
Reviewed-on: https://skia-review.googlesource.com/145644
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-08-06 21:50:43 +00:00
Herb Derby
82c11e024a Remove posText system from GrTextContext
Remove the drawPosText code stack, and all supporting code.

Change-Id: Ie6ee64d012d390911faeb3c486d66cac40497744
Reviewed-on: https://skia-review.googlesource.com/145533
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-06 21:24:31 +00:00
Brian Salomon
641ac7daa8 Make result of GrOp::combineIfPossible be an enum.
This is to prepare for a third value that requests that ops be linked
together so that the first op may do the work for multiple linked ops
without actually merging the GrOp objects.

Change-Id: Ib6e012a89be5edd054aee69d8475bea612331852
Reviewed-on: https://skia-review.googlesource.com/145522
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2018-08-06 20:29:47 +00:00
Brian Salomon
986f64c601 Remove multitexturing support from GrTextureOp.
This turned out to be an optimization mostly for draws with small device
space areas. Moreover, to be an optimization rather than deoptimization
requires complicated per-GPU tuning where even different devices within
the same architecture require different tuning and tuning is different
between GL and VK.

We've decided to go another direction where we *don't* coalesce draws
but rather make it possible to switch textures quickly from within an
op. This should be a GPU-independent optimization that is also
independent of device space area covered.

Replaces the multitexturing benchmarks with a pair of benchmarks.

composting_images* simulates a layered tile-based compositor.

image_cycle draws tiny images N times each such that they can be
batched. This is to catch a particular possible regression in a
planned change to GrTextureOp where it will use "dynamic state" to
batch across textures. We want to catch a slowdown that might result
from putting draws that use the same texture into the same op but no
longer batching the actual GL level draws and instead using the dynamic
state to "switch" textures between draws.

Change-Id: Ib1cc437525b0b0d56969c30dcb66bb1effb42dc5
Reviewed-on: https://skia-review.googlesource.com/145423
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-06 19:59:01 +00:00
Hal Canary
f4abda5877 Revert "Test: New GMs should be nicely named"
This reverts commit 73ec9a09f3.

Reason for revert:
  broke Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts
    ERROR: 'fontmgr_bounds_1_-0.25Win7' is a bad name.
    ERROR: 'fontmgr_bounds_0.75_0Win7' is a bad name.


Original change's description:
> Test: New GMs should be nicely named
> 
> Motivation:
> 
>     An issue came up a while back with SkQP where some the JUnit testing
>     framework dislikes test names that aren't valid Java identifiers.  I am
>     currently replacing invalid characters with underscores before giving
>     them to JUnit, but that leads to some confusion when trying to grep for
>     the name of a failing test.
> 
>     I propose that going forward, all *new* Skia unit tests and GM names be
>     in the form [A-Za-z][A-Za-z0-9_]* to prevent this sort of confusion.  We
>     won't change 63 existing "bad" tests names.
> 
> This Cl encorces that rule with an assertion in DM.
> 
> Change-Id: Icedce023cd3127d499fbcdcaea485f1ec9e9196b
> Reviewed-on: https://skia-review.googlesource.com/145365
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>

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

Change-Id: I28c619ca767dac221a73594c9e7be412ba2c242c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/145560
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-08-06 19:29:55 +00:00
Jim Van Verth
66c5dc5cc8 Fix missing offsets in simple-polygon-offset-v
A previous change led to some offsets dropping out in this GM. It looks
like using a single offset value for reflex vertex checking isn't quite
the right solution.

Change-Id: If0fe41187e5fd48409a7276c542810a76dc1f6f8
Reviewed-on: https://skia-review.googlesource.com/145525
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-08-06 19:23:24 +00:00
Timothy Liang
512875a758 changed SkASSERT -> SkAssertResult in GrMtlPipelineStateBuilder.mm
Bug: skia:
Change-Id: I3f9871cbf602c62e8d0af88a5f4f734262562bc4
Reviewed-on: https://skia-review.googlesource.com/145526
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-08-06 19:22:46 +00:00
Hal Canary
73ec9a09f3 Test: New GMs should be nicely named
Motivation:

    An issue came up a while back with SkQP where some the JUnit testing
    framework dislikes test names that aren't valid Java identifiers.  I am
    currently replacing invalid characters with underscores before giving
    them to JUnit, but that leads to some confusion when trying to grep for
    the name of a failing test.

    I propose that going forward, all *new* Skia unit tests and GM names be
    in the form [A-Za-z][A-Za-z0-9_]* to prevent this sort of confusion.  We
    won't change 63 existing "bad" tests names.

This Cl encorces that rule with an assertion in DM.

Change-Id: Icedce023cd3127d499fbcdcaea485f1ec9e9196b
Reviewed-on: https://skia-review.googlesource.com/145365
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-08-06 19:17:24 +00:00
Kevin Lubick
641bf8745d [PathKit] Add more Path2D functionality and move some methods to be members
Adds arc, arcTo, rect and Path2D names for quadTo, cubicTo, close.

Adds conic verb support (approximated with 2 quads).

Breaking changes:
Some functions have been moved to be member functions:
PathKit.Simplify(path) -> path.simplify()
PathKit.ToCanvas(path, ctx) -> path.toCanvas(ctx)
PathKit.ToSVGString(path) -> path.toSVGString()
PathKit.ToPath2D(path) -> path.toPath2D()
PathKit.ToCmds(path) -> path.toCmds()
PathKit.ResolveBuilder(builder) -> builder.resolve()
PathKit.GetBoundaryPathFromRegion(region) -> region.getBoundaryPath()

Pathkit.ApplyPathOp(pathOne, pathTwo, op) still exists, but there's
now also pathOne.op(pathTwo, op) for cases when that's easier.

As per custom with version 0.x.y projects, I'm bumping the
minor version (in npm) for these breaking changes instead of the
major version (which will happen when we are version >= 1.0.0).

This also has some small improvements to the output code size.
The biggest jump was from enabling the closure compiler on the
helper JS, which trimmed it down by about 40%. Using the closure
compiler requires the JRE on the bots, which prompted the emsdk-base
image change.

Bug: skia:8216
Change-Id: I40902d23380093c34d1679df0255bcb0eaa77b01
Reviewed-on: https://skia-review.googlesource.com/145420
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-06 19:07:12 +00:00
Florin Malita
0c8dca0f44 [skottie] ResourceManager tweaks
* pass the resource path explicitly
 * return SkData instead of a stream

Bug: skia:
Change-Id: I8a92fa34d78d5c996e2a26481fc3087e8737ec8e
Reviewed-on: https://skia-review.googlesource.com/145520
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-08-06 18:50:22 +00:00
Herb Derby
4a823960e1 Remove fPath and fTooLargeForAtlas from GrGlyph
Change-Id: I0e6279d13850ade877a232644ecbc09c4d3e5462
Reviewed-on: https://skia-review.googlesource.com/145260
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-08-06 18:47:52 +00:00