Commit Graph

42167 Commits

Author SHA1 Message Date
Michael Ludwig
663afe501a Move GrPathUtils, GrRect, and GrShape into src/gpu/geometry/
Change-Id: I864d3c2452f3affdc744bf8b11ed3b3e37d6d922
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216602
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-04 13:36:05 +00:00
recipe-roller
62fd2c32bb 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/8c2c028496f3b8e47034e45682a41be3405dbaeb Add cpu cost classes to api.step. (iannucci@chromium.org)
  https://crrev.com/c2b6b7ae345169e8f0a09f767467ddd897542a25 Fix fake_kitchen.sh on windows. (iannucci@chromium.org)
  https://crrev.com/b1c18614e63aeb781c75681f5ff393576dc9e8ab Fix logdog client library on windows. (iannucci@chromium.org)
  https://crrev.com/ac2632016e98b767225c2f1328418c1167618efe [step_runner/subproc] Refactor handle closing out of main function. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I313e3cbcf5289938fbb89f6b7bd30b4766cf5868
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218177
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-04 12:21:26 +00:00
Brian Osman
32c526b1d9 Interpreter: Minor cleanup of opcodes
Some were unused, others are only used (and implemented) as scalar.

Change-Id: I0c3127e2b1e98303299517967c513d893a65e1ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217939
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-04 11:45:06 +00:00
Jeremy Roman
89068ce78f Don't mark inline functions in SkString.h as static.
This can generate spurious warnings like:

  In included file: unused function 'SkStrStartsWith'
  ../../third_party/skia/include/core/SkString.h:23:13: note: error occurred here
  [-Wunused-function]

Change-Id: I4bdfc054d1d24dddf2f8ed68b0a8ebd2cb1a746b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217986
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-06-04 11:40:02 +00:00
recipe-roller
74bda381e6 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/3f64ba05d329bb41bc8b651d07b7b7f3c1bf4135 Fix manifest link. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I5d9aac27fe89bce36f72f7ea5a3c47a409ee0bdd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218048
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-04 11:39:56 +00:00
Eric Boren
648a1dce1f [infra] Supply revision as target_branch to bot_update
Change-Id: I5d7f92e2f26ebca6b644d09f2f3ea5d443c1e3d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215421
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Edward Lemur <ehmaldonado@google.com>
2019-06-04 11:34:52 +00:00
skia-autoroll
d9a88a331d Roll third_party/externals/swiftshader bb575d48d5f9..79d4ac9ab695 (6 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/bb575d48d5f9..79d4ac9ab695


git log bb575d48d5f9..79d4ac9ab695 --date=short --no-merges --format='%ad %ae %s'
2019-06-03 sugoi@google.com Add vulkan unit tests to Chromium
2019-06-03 srisser@google.com Reject large arrays in GLSL
2019-06-03 chrisforbes@google.com Fix Android-integrated build
2019-06-03 amaiorano@google.com CMake: download and extract boost to third_party
2019-06-03 amaiorano@google.com Revert "Add minimal boost install for boost::backtrace"
2019-06-03 swiftshader.regress@gmail.com Regres: Update test lists @ bb575d48


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

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

Change-Id: Ifc59fdd7a17b446221f15556ddba5543650c1140
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218096
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-04 11:34:46 +00:00
skia-autoroll
525aa0ca60 Roll ../src f75363e40fb1..ce989eacabd7 (360 commits)
f75363e40f..ce989eacab


Created with:
  gclient setdep -r ../src@ce989eacab

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=jcgregorio@google.com

Change-Id: I29542eff72dce3d654df561e098feafee0b83f9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218156
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-04 11:29:42 +00:00
skia-autoroll
2b03bf85c2 Roll third_party/externals/angle2 98f2167125a8..2dd40a44d1a6 (8 commits)
98f2167125..2dd40a44d1


git log 98f2167125a8..2dd40a44d1a6 --date=short --no-merges --format='%ad %ae %s'
2019-06-03 jonahr@google.com Add eglQueryDisplayAttribANGLE to query workarounds count.
2019-06-03 jmadill@chromium.org Print stack backtrace on critical failure.
2019-06-03 jmadill@chromium.org Vulkan: Use storage buffers for index conversion shader.
2019-06-03 kkinnunen@nvidia.com D3D: Fix heap corruption when copying texture arrays
2019-06-03 aleino@nvidia.com Sharpen GL test skip condition for NVIDIA
2019-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 6d88284607d2..a549bb817523 (2 commits)
2019-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 209ff0ce90ce..699e167d78ee (3 commits)
2019-06-03 jiajia.qin@intel.com Fix needStructMapping


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

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

Change-Id: Ifcb1b26218fe50061e6e14a6763c616632b26ae3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218116
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-04 11:29:36 +00:00
Mike Klein
12818515b5 add a x*y+0 -> x*y peephole
This is mostly to test how easy rebaselining SkVMTest is.

Change-Id: I27ab6f6bb8b7e126327374009783afd86d416f55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218039
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-03 22:25:27 +00:00
Mike Klein
267f50773c streamline SkVM test rebaselining
- keep expectations in resources/
  - overwrite automatically if needed
    so we can see the diff in Git

Change-Id: I2486b127ebcc7f40332fd0462e38b1af04d3e32b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218038
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-03 22:24:50 +00:00
Ben Wagner
30e918d915 Revert "Use DirectWrite for default font."
This reverts commit 375a953239.

Reason for revert: win7-rel bots failing on roll (didn't fail on CL).

Original change's description:
> Use DirectWrite for default font.
> 
> This avoids the problematic use of SystemParametersInfoW.
> 
> Bug: chromium:969107,chromium:963636
> Change-Id: I78662deb5bc90502fd070da75b7f2cfdc7968941
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217857
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>

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

Change-Id: I8cb94a37027dad340fef04751386e6df81945e7c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:969107, chromium:963636
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217943
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-06-03 21:01:06 +00:00
Mike Klein
081bf6667d best guess for -MSRTC bot
Change-Id: I5aa5f789180b9caba70952cc60a2e9bbcf3b5a97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217983
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-03 20:44:29 +00:00
recipe-roller
5270925f94 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/2faacf687c1d66e2100fdb038782e524eb24f296 Move tracking of namespaces and deduplicated step names into the engine. (iannucci@chromium.org)
  https://crrev.com/0624ac77bb1b64cb175809e332b9a6ae4f9b77e3 Switch RecipeEngine._step_stack to be GLS. (iannucci@chromium.org)
  https://crrev.com/bfed55c460d57a5185a6a3a036de835f0a5940ad Make _step_stack never empty. (iannucci@chromium.org)
  https://crrev.com/bd459f5f82d151b4b304a29600a2a671c24b9ce0 Get rid of gevent monkey patching. (iannucci@chromium.org)
  https://crrev.com/94a299a13fceebfccc56e692e46b7daa16903b07 Add userspace access APIs for recipe concurrency. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib2498b668929c1aedb5e3d3d7374601ea0c89290
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217940
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-03 20:39:44 +00:00
Mike Klein
03ce675b5f fix SKVM_ benches
Things were running suspiciously well...

_I32 had a typo that cut out 3/4 of its multiplies...

_I32_SWAR was missing a mask operation needed to drop
the junk low byte of the high half after the multiply.

The bench times now make a bit more sense and are in line
with how much work we're actually doing: F32's the slowest,
I32 a little faster, and I32_SWAR fastest:

    curr/maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
      35/36  MB	58	2.03ns	2.04ns	2.04ns	2.04ns	0%	▂▂▂▂▁▁█▁▂▁	nonrendering	SkVM_4096_I32_SWAR
      35/36  MB	42	3.44ns	3.48ns	3.49ns	3.59ns	1%	▂▆▅█▃▃▁▂▂▄	nonrendering	SkVM_4096_I32
      35/36  MB	30	4.9ns	5.21ns	5.11ns	5.33ns	3%	▆▇█▆▆▁▂▁▁▅	nonrendering	SkVM_4096_F32
      35/36  MB	203	0.696ns	0.697ns	0.705ns	0.758ns	3%	█▂▂▁▁▁▁▁▁▂	nonrendering	SkVM_4096_RP
      35/36  MB	942	0.188ns	0.188ns	0.188ns	0.189ns	0%	▂▁▂▁▃█▂▁▁▁	nonrendering	SkVM_4096_Opts

Change-Id: I2850dc3f9df1828f03499eb278b8231f48eaae63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217982
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-03 20:35:24 +00:00
Robert Phillips
ef032cd9bf Disable RGBA_F32 mipmap testing for all of openGL ES
This bug also appears to occur on Adreno and PowerVR HW.

Bug: skia:9141
Change-Id: I75a6e71ff76ee6fa6f4e1c1ba9307e9fdbb967e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217996
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-03 20:20:54 +00:00
Mike Klein
68c50d015b sketch an skvm
With all the thinking around a stack-based interpreter,
I figured I'd sketch out some ideas for a register VM too.

I kind of have the hunch that this is the direction that
will actually let us replace large amounts of Skia's CPU
backend with an efficient interpreter or JIT.

Change-Id: Ia2b5ba4a3fc27556f5b6ba95cd1ace46d3217403
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216665
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-03 19:53:48 +00:00
recipe-roller
e0244b6d56 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/b81bc5473638f2c9c2a6f567e4fc976c978a247d buildbucket: propagate `cq_experimental` when inheriting buildsets. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id805d8e2047de9cecc8369ca5645c54b24851e21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217919
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-03 19:09:39 +00:00
Kevin Lubick
d6ba725da3 [canvaskit] Save a copy by using SkVertices::Builder
Change-Id: I7a01f97d57c37b7198b7f4fbb966c785ab998861
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217898
Reviewed-by: Mike Reed <reed@google.com>
2019-06-03 18:41:00 +00:00
recipe-roller
6ca7ed2eea 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/e5b7ae69e6b4b747abe479496b783c4c7ac904d9 cq: expose ordered_gerrit_changes as a property. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7fb5a1cdd6fa18f66c144f55ea3a2676c28502d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217916
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-03 18:38:02 +00:00
Michael Ludwig
80f10d2c22 Turn on glClear workaround for nvidia macs
Bug: chromium:969609
Change-Id: I9c3f2a2365e44a5b28687b149848abaf33706e82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217868
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-03 18:10:21 +00:00
Robert Phillips
27eb5252e0 Expand testing of color initialized backend textures to include mip levels
Bug: skia:9141
Change-Id: Ie32bc5db357907ff65045b25d5d06d0ea47b94bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217456
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-03 18:09:51 +00:00
Brian Salomon
900dda8093 Do correct colorspace xform in asyncRescaleAndReadPixels in GPU impl.
When we're rescaling the conversion to the final colorspace happens during
the last rescaling draw. We were configuring the correct color space on
the final GrRenderTargetContext but not inserting a GrColorSpaceXform.

Bug: skia:8962
Change-Id: Iadcc0a8e438109ad4b74e7d2cf073ea157bfe236
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217896
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-03 17:50:26 +00:00
Herb Derby
d249e8c95d One ShouldDrawAsPath to rule them all!
In addition, inline all the small functions from
SkFontPriv.cpp.

Change-Id: I9d642aa194a3fc4d7eb451c89314892f591c5d81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217865
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-03 17:30:18 +00:00
Ben Wagner
375a953239 Use DirectWrite for default font.
This avoids the problematic use of SystemParametersInfoW.

Bug: chromium:969107,chromium:963636
Change-Id: I78662deb5bc90502fd070da75b7f2cfdc7968941
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217857
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-06-03 16:43:21 +00:00
Jim Van Verth
03464f1920 Maybe don't use Metal's instanced methods if not supported.
Fixes exception on iPhone6 bots.

Bug: skia:9117
Change-Id: Iba8bbf6481ef641245c261b545813da722302abc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217498
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-03 16:32:07 +00:00
Kevin Lubick
d7255a716e Make fuzzing use embedded test font
This will make fuzzing more hermetic and less machine-dependent.

Docs-Preview: https://skia.org/?cl=217864
Change-Id: If29d7b86e5290e9f749cb2fdde6f2ff892ffc333
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217864
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-06-03 16:29:21 +00:00
Stephen White
b67b2354cf GrTessellator: always rewind to edge top when splitting.
In some cases, a split edge may go out-of-order with a neighbouring edge
which has already been removed from the active edge list.

The only way to be sure is to always rewind to the edge top.
This may have performance implications for paths with many (hundreds) of
self-intersections. We'll have to watch the bots carefully.

Bug: 966274, 966364.
Change-Id: I5a1b7abe9baa7fc279cbf7d1dfa258dcdaa35f11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217637
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-06-03 16:27:01 +00:00
Ethan Nicholas
40679c3aa5 added SkSL bench
Bug: skia:
Change-Id: I8497ddbc5c5fef4e0fa87f3b9828034ba34284cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217636
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-06-03 16:01:30 +00:00
Kevin Lubick
00587e32b8 Prevent UBSAN from complaining too early about invalid enums
This is making reproducing https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15052
difficult.

Docs-Preview: https://skia.org/?cl=217457
Change-Id: I131e8c1b64f621178696b94b63bd09513ca6c170
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217457
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2019-06-03 15:58:36 +00:00
Joe Gregorio
a718813e2a Don't run SkpBench on the P30 since we don't have root on that device.
Bug: skia:
Change-Id: I586b7e015b71874e3fa162370838d174f797d53e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217862
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2019-06-03 15:50:20 +00:00
Mike Reed
ede7e99465 add simpler addFrame api (helps with threaded producers)
Change-Id: I458dc2fb59aa32e084b0b03945afd74ff5ee42ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217861
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-06-03 15:40:35 +00:00
Mike Klein
fec9b902a6 add unit scaling mode to benchmark/nanobench
This lets you write a suite of benchmarks that
run against different sized workloads and see
numbers that normalized by that workload size,
e.g. nanoseconds / pixel.

C.f. the bench in "sketch an skvm".

Change-Id: I6106c51ceac59cd533449712a77c957bdf86846e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217416
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-03 14:53:29 +00:00
Eric Boren
79e4df82c2 [infra] Stop isolating the Android NDK
It's slow, and I'm not convinced it's saving us anything.

Change-Id: I83adb84a04a9b15703f35754862087ebdfe20b06
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217576
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-06-03 14:24:56 +00:00
Joe Gregorio
c6611c0def Add 'modules' to doxygen generation.
Bug: skia:
Change-Id: Ia64aa8e8e75d0ed3a88dd34e63fc22c65cf9acc9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217816
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2019-06-03 13:33:56 +00:00
recipe-roller
c0b32b3355 Roll recipe dependencies (nontrivial).
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).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/b5922385482112ce31df891af71854c81662d69e Remove jsonResult defaulting to null (martiniss@google.com)
  https://crrev.com/8eb708a2d5545c549ee462a193891ed7e30d430e [archive] Append file permissions stored in extra attributes (smut@google.com)


R=jcgregorio@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2077c009f11e0e2901c24489d04dcbe5633506f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217581
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-06-03 11:25:16 +00:00
skia-autoroll
9e6a3d76fc Roll third_party/externals/angle2 0a56f0e3d22d..98f2167125a8 (8 commits)
0a56f0e3d2..98f2167125


git log 0a56f0e3d22d..98f2167125a8 --date=short --no-merges --format='%ad %ae %s'
2019-06-02 jmadill@chromium.org Vulkan: Refactor index buffer convert functions.
2019-05-31 jmadill@chromium.org Re-enable WGL perf test configs.
2019-05-31 cnorthrop@google.com Revert "Revert "Vulkan: Use atomics in SerialFactory.""
2019-05-31 spang@chromium.org Vulkan: Fix synchronization with current surface
2019-05-31 jmadill@chromium.org Vulkan: Recycle command pools with vkResetCommandPool.
2019-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 625eb25d6e80..6d88284607d2 (1 commits)
2019-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-headers/src 7ac42f80c0e8..903d447d96eb (1 commits)
2019-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src e7866de4b1dc..209ff0ce90ce (1 commits)


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

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

Change-Id: I0da2ebbccf0fd681bc62417befff7bc980fd073a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217777
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-03 05:40:19 +00:00
skia-autoroll
0e179e41fb Roll third_party/externals/swiftshader c0d7ee45d45f..bb575d48d5f9 (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c0d7ee45d45f..bb575d48d5f9


git log c0d7ee45d45f..bb575d48d5f9 --date=short --no-merges --format='%ad %ae %s'
2019-06-02 capn@google.com Address cubemap faces as consecutive layers
2019-05-31 sugoi@google.com BuiltInPointCoord implementation
2019-05-31 sugoi@google.com 32 bit compilation fixes for Visual Studio


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

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

Change-Id: I91bc9087befe7e3774b3989f174d467adc2b8825
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217776
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-03 04:34:25 +00:00
skia-autoroll
b9e82c6689 Roll ../src 8e522297bf91..f75363e40fb1 (402 commits)
8e522297bf..f75363e40f


Created with:
  gclient setdep -r ../src@f75363e40f

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=jcgregorio@google.com

Change-Id: I1775489f8daff98008e379d65f9aa25f4c60db29
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217778
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-03 04:33:29 +00:00
Brian Salomon
eca66b32fd SkVector4 as ctype for half4
Use in GrColorMatrixFragmentProcessor.

Also make GrColorMatrixFragmentProcessor::Make() call
SkMatrix44::set4x4().


9bf803677ea133368178e1eb23e120dd823da151

Bug: skia:8962
Change-Id: I2476f4af03b4e43cc843e6eda28673d1c2454acc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217496
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-02 18:32:45 +00:00
skia-recreate-skps
3c0ad02bc5 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Icec1abc9301154cc88a7c0eb13abc957eedae8f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217736
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-02 08:35:05 +00:00
Ben Wagner
09f5aedf2c Handle all lcd orientations SkScalerContext.
Without this change fake bold text is always horizontal RGB and ignores
the settings.

Change-Id: I1b1cf6121dffdef626929c2fdf16326721a1c63a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217577
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-05-31 21:14:39 +00:00
Florin Malita
1d89b0d7e1 [skottie] Add support for scale and rotation text animators
The interesting bit here is a change in glyph positioning:
AE text animator transforms are to be applied relative to the glyph position.

To support this behavior, update Shaper to externalize glyph positioning
when in fragmented mode.  I.e. instead of baking glyph positions in blobs,
apply them at the scene graph transform level (such that they compose with
animated transforms correctly).

Change-Id: I9aeb5e6f8c1ec1a2c8b5351e8fc2a73d4bdf5cad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217556
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-05-31 20:41:19 +00:00
Herb Derby
6a07591a55 Simplify calculation of the path gap.
Simplify the gap calculation code. Mainly avoid passing
the interval all over the place. Change code from handling
both horizontal and vertical to just horizantal.

Change-Id: Idb364da1e489e6a95d9b6d6dd97c4f6e85900c42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216691
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-05-31 20:17:59 +00:00
Ravi Mistry
3cd435eecf [G3 compile bot] Remove cl link
The file it was reading from is deleted at this point. Removing the
logic for now. If we want to add it in future we can make the script
write to a file and have the recipe read from it.

NoTry: true
Bug: skia:
Change-Id: If68547a0494be2ae1cd3145d6842961dfa61c7b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217537
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-05-31 19:57:29 +00:00
Michael Ludwig
fd4f4df3ea Move GrQuad to src/gpu/geometry folder
Change-Id: I3d1b8e8268c2cd0d1ceec93c847069494b9aa965
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216601
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-31 19:56:59 +00:00
Herb Derby
0464c17f66 max glyph dimension == 0 means don't fallback
Specific case for this fuzz.
Assume that the font size is 0.
If the matrix is perspective then, we draw in paths. Drawing with paths
assumes a font size of 64, so glyphs have size. The glyph in question is
ARGB, so this will be drawn as fallback. The max glyph dimension, which is 13,
is multiplied by the strike-to-source ratio, which is 0 resulting in a
maxSourceGlyphDimension of 0.

Returning immediately from processARGBFallback when maxSourceGlyphDimension
equals 0 is the correct thing to do for all cases because no pixels will change.

BUG=oss-fuzz:15052

Change-Id: I8809a08f011c93a0f7f47422b594c8264a8a9326
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217497
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-05-31 19:51:09 +00:00
Florin Malita
e57546bb78 [skottie] Add support for opacity text animators
Change-Id: I76da8745ccd714cb8457000d9cd208e62f1058ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217536
Auto-Submit: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-05-31 19:50:59 +00:00
Florin Malita
96b95f911c [skottie] Initial animated text properties support
Limitations:

  - no range selectors (applies to the whole text)
  - only position, fill color and stroke color for now

Change-Id: I91e88a6107c5f66687c1c27f27a71be3914bde25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217386
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-05-31 18:41:13 +00:00
Herb Derby
44ba245951 Remove unused enum
Change-Id: I3e9ac782c772986c0b9428573016494019bf6a5c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217458
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-05-31 17:58:13 +00:00