Commit Graph

42308 Commits

Author SHA1 Message Date
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
Robert Phillips
bd1ef686cb Implement color-based backend texture creation for Vulkan
Change-Id: I01db1b81712096069386b2497da97c2bbb0a05d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216610
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-31 17:56:23 +00:00
Jim Van Verth
c8f285a707 Fix DDL_Metal test configs
Bug: skia:8243
Change-Id: I5ffb75db0e213c37d3b2bfa2bd3d0c77d0ba42d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215838
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
2019-05-31 15:44:07 +00:00
Jim Van Verth
8a9a371182 Reland "Added AutoreleasePool for managing pool memory in testing apps."
This is a reland of a36e089065

This is only active when Metal is enabled.

Original change's description:
> Added AutoreleasePool for managing pool memory in testing apps.
>
> This is only active on MacOS and iOS -- on other platforms it
> will do nothing as they have no need for autorelease pools.
>
> Bug: skia:8243
> Change-Id: Ib74968dab6e3455a72e726429832101d0d410076
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217126
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:8243
Change-Id: I743a3dcc93b46387a6a330e855c2e8810b482544
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217379
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-05-31 15:40:01 +00:00
Hal Canary
8a64fa66e7 SkShaderBase::isAPicture()
motivation: will be used by SkPDF backend in later CL.

Bug: chromium:967418
Change-Id: I1002c290f70245cce7ae2cf759d3eaf54cb8cd81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216873
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Auto-Submit: Hal Canary <halcanary@google.com>
2019-05-31 14:30:34 +00:00
Brian Salomon
d6f3f18d51 Color matrix effect rewritten as .fp
Also adds flexibility to unpremul the input, clamp the output, premul the
output or not.

Also fixes SkMatrix44 as a ctype.

The intent is to reuse this for rgb->yuv conversion in async rescale and
read.

Bug: skia:3962
Change-Id: I470d1cfebdbd79d8541b633c1747d510a5549ac4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217128
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-05-31 14:25:05 +00:00
Jim Van Verth
dac1e55862 Use GrCFResource class to manage backend surface MtlTexture resources.
The texture resource in MtlTextureInfo is a CoreFoundation object,
so we have to manage the refcounting ourselves. GrCFResource is a
wrapper class which will automatically take care of this for us on
creation, assignment, and destruction.

Bug: chromium:964498
Change-Id: I9a3768833744d4aaaec2142200283f0e7eaad165
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216351
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Christopher Cameron <ccameron@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2019-05-31 14:00:12 +00:00
Robert Phillips
8043f32f67 Clean update ETC1 data utilities (take 2)
Change-Id: Idb84867cf1a701bd2f0ffff863fd78c3caf0739e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217376
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-31 13:44:32 +00:00
Kevin Lubick
c4fec06e5a Revert "Added AutoreleasePool for managing pool memory in testing apps."
This reverts commit a36e089065.

Reason for revert: Primary suspect in breaking G3

Original change's description:
> Added AutoreleasePool for managing pool memory in testing apps.
> 
> This is only active on MacOS and iOS -- on other platforms it
> will do nothing as they have no need for autorelease pools.
> 
> Bug: skia:8243
> Change-Id: Ib74968dab6e3455a72e726429832101d0d410076
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217126
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

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

Change-Id: I64f6e0baba21a9d35682ab53bdf418180be8579b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8243
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217377
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2019-05-31 12:31:14 +00:00
recipe-roller
da95a75be1 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/a60ff0ed1597c637ca24b898bd1649c7d9b30838 Further refine cmd0 lookup. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If8ce903638301532a9462b54297e1ef835dfe4b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217356
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-05-31 07:02:52 +00:00