platform/upstream/libSkiaSharp.git
7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 21:11:17 +0000 (14:11 -0700)]
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.
build:
  https://crrev.com/6423755bf44f611b0bef88c573b83701ec61ffc2 chromite: Recipe helper. (dgarrett@google.com)
  https://crrev.com/435c46700222fc7cf44380b15c877ee8f928e81d [ios] convert recipes and module to new context module (iannucci@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I4e8cd508d7c4f2bd8cb3d21342d3be1984a921f9
Reviewed-on: https://skia-review.googlesource.com/16824
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 20:40:57 +0000 (13:40 -0700)]
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.
build:
  https://crrev.com/0a06a7bb858fc1a4e521c6b26a9f8d7679385e6e Opt-in Foundations team members to Kitchen. (dnj@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6ac6c03ded63a5b4236d40ca4a4fd5b6dd1d746b
Reviewed-on: https://skia-review.googlesource.com/16823
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 20:10:39 +0000 (13:10 -0700)]
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.
build:
  https://crrev.com/53ae1cc975a30a8daae67c5471b0e8fe66554cbc Opt-in Foundations team members to Kitchen. (dnj@chromium.org)
  https://crrev.com/9f7d7ed44c3a4622b6b09013bb6e8a322c942071 Revert "Opt-in Foundations team members to Kitchen." (dnj@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I148df40d3a5915fd49d1a1305eaffca0e4e431f9
Reviewed-on: https://skia-review.googlesource.com/16822
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 19:21:46 +0000 (12:21 -0700)]
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.
build:
  https://crrev.com/e0f67109eb83c34776076b1ef5072c4cb94a39b3 remote_run: Enable Kitchen for experimental. (dnj@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic9684914c1e46c63298cfdd3eb10fde204bbc4e5
Reviewed-on: https://skia-review.googlesource.com/16800
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoSwitch ImageStorageAccess over to GrTextureProxies
Robert Phillips [Fri, 12 May 2017 18:49:16 +0000 (14:49 -0400)]
Switch ImageStorageAccess over to GrTextureProxies

Split out of: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler))

Change-Id: I341de6ae121620d30e50bff21450878a18bdf4f2
Reviewed-on: https://skia-review.googlesource.com/16714
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoInclude non-legacy GrMeshDrawOps in GLPrograms test.
Brian Salomon [Fri, 12 May 2017 18:09:46 +0000 (14:09 -0400)]
Include non-legacy GrMeshDrawOps in GLPrograms test.

Bug: skia:
Change-Id: Ifa0c3ffb5643c84ccdcb339fae75ea5d03a8451c
Reviewed-on: https://skia-review.googlesource.com/16580
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 18:00:22 +0000 (11:00 -0700)]
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.
build:
  https://crrev.com/0bc499288c07b62fbfd66ef96b2fa1803694d2d2 [remote_run] Update canary recipe engine to 6eaacf24833ebd2565177157d368da33780fced9 (iannucci@chromium.org)
  https://crrev.com/fc3f1c8e4f94ecba499a4a77518b56b76e1fa001 [gyp] convert recipes and module to new context module (iannucci@chromium.org)
  https://crrev.com/f92dab0066ebe0bdcc2136ae0c8e95257ae45e85 [nacl+wasm] convert recipes and module to new context module (iannucci@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I307c5e87c192ca03b3deb5d3cecb78672d5f75d1
Reviewed-on: https://skia-review.googlesource.com/16715
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoDelete legacy image generator flag from bzl
Matt Sarett [Fri, 12 May 2017 18:24:21 +0000 (14:24 -0400)]
Delete legacy image generator flag from bzl

NOTRY=TRUE

Bug: skia:
Change-Id: Icad74e486d957d10cb3e1091525991cd910626b7
Reviewed-on: https://skia-review.googlesource.com/16717
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 17:31:25 +0000 (10:31 -0700)]
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.
build:
  https://crrev.com/5e0869d351775d40442e89122c6d3854c447ac4b chromiumos.chromium: Remove x86-generic-telemetry (dnj@chromium.org)
  https://crrev.com/44274fe45b77822f5be5fc611e74eab995415d5a Use the new PGO trybot slaves. (sebmarchand@chromium.org)
  https://crrev.com/83123ff7625749c6d3dd5128523847a4ee158d01 [perf_try] convert recipes and module to new context module. (iannucci@chromium.org)
  https://crrev.com/d55b510d1af93ca2e5cdb9d23607ac65e5767bd2 [crashpad] convert recipes and module to new context module (iannucci@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I385d2d7326d2d0a496833eed788fb98eb475cdfe
Reviewed-on: https://skia-review.googlesource.com/16712
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoimplement 4f for composeshader
Mike Reed [Fri, 12 May 2017 17:07:46 +0000 (13:07 -0400)]
implement 4f for composeshader

Bug: skia:
Change-Id: I7ad0077345f7589528c89cd84d252539a1df6614
Reviewed-on: https://skia-review.googlesource.com/16703
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>

7 years agofix SkJumperHSL blend modes
Mike Klein [Fri, 12 May 2017 16:59:24 +0000 (12:59 -0400)]
fix SkJumperHSL blend modes

I took a new, unprincipled approach here, which is to just mimic the
legacy code path exactly (e.g. hue_modeproc in SkXfermode.cpp).

This fixes how we handle alpha in these blend modes, and ought to be
faster by avoiding the unpremul.

BUG=skia:6621

Change-Id: I21635290985ff42d9421d2718f7a88cf44a85d7f
Reviewed-on: https://skia-review.googlesource.com/16711
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 16:31:32 +0000 (09:31 -0700)]
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.
build:
  https://crrev.com/871fd518d2177cc9252ad935255fb63d3dc11302 Roll "vpython" version on BuildBot. (dnj@chromium.org)
recipe_engine:
  https://crrev.com/60cc7f3f49737e8cf852e396b4436c2b6bd3f56d Add vpython support to Python recipe module. (dnj@chromium.org)
  https://crrev.com/c6560f3627af81c9004024079525ef63a223d33a Add "url" recipe module to base. (dnj@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic0b9db5bd0e2718a7d365466faad5214e1026d4a
Reviewed-on: https://skia-review.googlesource.com/16710
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agofix legacy/SkRasterPipeline SkHighContrastFilter
Mike Klein [Fri, 12 May 2017 16:24:04 +0000 (12:24 -0400)]
fix legacy/SkRasterPipeline SkHighContrastFilter

Change-Id: I395be972abf571af79ccf6ed5917bf463fd2166d
Reviewed-on: https://skia-review.googlesource.com/16709
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoModify SkEventTracer::SetInstance to fail rather than assert if a tracer has already...
Brian Salomon [Fri, 12 May 2017 16:02:50 +0000 (12:02 -0400)]
Modify SkEventTracer::SetInstance to fail rather than assert if a tracer has already been installed.

Chromium usually calls SetInstance once per process. However, when run in single process more renderer threads will try to set the instance after the browser process already has done so. This allows them to fail gracefully without asserting.

Bug: skia:6603
Change-Id: Ic8a35422d787335aa67eefc07d0658f0fbe73db4
Reviewed-on: https://skia-review.googlesource.com/16664
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoAdd new SkImageGenerator::getPixels() API, deprecate the old
Matt Sarett [Fri, 12 May 2017 15:41:27 +0000 (11:41 -0400)]
Add new SkImageGenerator::getPixels() API, deprecate the old

This is fairly aggressive in that it will break any client
that is currently using SkImageGenerator with kIndex8.
I'm guessing that we don't have any clients doing that.

Bug: skia:6620
Change-Id: Ifd16f5232bb3a9f759c225315c57492d917ed9ca
Reviewed-on: https://skia-review.googlesource.com/16601
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoMake GrRenderTarget[(Proxy)|(Context)]? advertise a "full scene aa type".
Brian Salomon [Fri, 12 May 2017 15:36:10 +0000 (11:36 -0400)]
Make GrRenderTarget[(Proxy)|(Context)]? advertise a "full scene aa type".

Bug: skia:
Change-Id: I24549604e8305028e34e0022bfef992a8e8c33f7
Reviewed-on: https://skia-review.googlesource.com/16230
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoRevert "Add filled occluders to shadow_utils GM"
Jim Van Verth [Fri, 12 May 2017 16:00:31 +0000 (16:00 +0000)]
Revert "Add filled occluders to shadow_utils GM"

This reverts commit 737169965fa97e4c71f2a625315b732969d00264.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Add filled occluders to shadow_utils GM
>
> Change-Id: I70a927261b6530d2352d8d5a713b309aa518e6b0
> Reviewed-on: https://skia-review.googlesource.com/16545
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

TBR=jvanverth@google.com,bsalomon@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: If1d71118c781cdc4065187ed4953f42a1acad0f3
Reviewed-on: https://skia-review.googlesource.com/16706
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoAdd filled occluders to shadow_utils GM
Jim Van Verth [Fri, 12 May 2017 14:38:38 +0000 (10:38 -0400)]
Add filled occluders to shadow_utils GM

Change-Id: I70a927261b6530d2352d8d5a713b309aa518e6b0
Reviewed-on: https://skia-review.googlesource.com/16545
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agofold matrices together for tricolor
Mike Reed [Fri, 12 May 2017 13:28:01 +0000 (09:28 -0400)]
fold matrices together for tricolor

Bug: skia:
Change-Id: Ic4ef679c6b5514f0fc7f895d71b5feeb812da53e
Reviewed-on: https://skia-review.googlesource.com/16606
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoCleanup SkImageGenerator, add missing fns to GrBackendTextureImageGenerator
Brian Osman [Fri, 12 May 2017 13:46:56 +0000 (09:46 -0400)]
Cleanup SkImageGenerator, add missing fns to GrBackendTextureImageGenerator

No "real" API changes.
TBR=reed@google.com

Bug: skia:
Change-Id: I08c29f76806388394938f204f2a50b2fd6ea8942
Reviewed-on: https://skia-review.googlesource.com/16662
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoSkEncoder base class needs SK_API
Matt Sarett [Fri, 12 May 2017 12:54:13 +0000 (08:54 -0400)]
SkEncoder base class needs SK_API

Bug: skia:
Change-Id: I244da1f5f091eaa30d3f65946e11a2fc642b63ea
Reviewed-on: https://skia-review.googlesource.com/16661
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoPass alphaType to append_gamut_transform() to inform the clamp
Matt Sarett [Fri, 12 May 2017 12:38:02 +0000 (08:38 -0400)]
Pass alphaType to append_gamut_transform() to inform the clamp

BUG=skia:

Change-Id: I1a8aef36043d4091bffae95b0275fa7fa8a35c97
Reviewed-on: https://skia-review.googlesource.com/9441
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoSplit up opLists (take 3)
Robert Phillips [Thu, 11 May 2017 20:29:14 +0000 (16:29 -0400)]
Split up opLists (take 3)

Reland of: https://skia-review.googlesource.com/c/11581/ (Split up opLists)

https://skia-review.googlesource.com/c/13860/ (Make InstancedRendering more opList-splitting friendly) has landed so this should be good for another attempt.

TBR=egdaniel@google.com
Change-Id: I2a09729342bb035af3a16807c1895adbae432ade
Reviewed-on: https://skia-review.googlesource.com/14186
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agorefactor gradient stage names
Mike Klein [Thu, 11 May 2017 14:59:22 +0000 (10:59 -0400)]
refactor gradient stage names

This is just a name refactor and I'm happy to delay it until we're done
with the current wave of gradient CLs.  The main ideas:

  - we use the "linear_gradient" stages for all gradients,
    so cut the "linear" and just call them "gradient";

  - remind ourselves that the 2-stop stage requires even spacing, i.e.
    stops at 0 and 1.  This name should harmonize with Herb's new
    general evenly spaced gradient stage, currently
    "evenly_spaced_linear_gradient", and after it lands and I rebase,
    "evenly_spaced_gradient"

  - remind ourselves which polar coordinate xy_to_polar_unit returns,
    the angle.

Change-Id: I0fd0c8bd4c1ead7d2d0fff45a199d318b71f34ac
Reviewed-on: https://skia-review.googlesource.com/16500
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "Evenly space gradient stage."
Mike Klein [Fri, 12 May 2017 10:28:23 +0000 (10:28 +0000)]
Revert "Evenly space gradient stage."

This reverts commit 892501d09bc8608704362235c73a59bb23a386b3.

Reason for revert:
https://bugs.chromium.org/p/chromium/issues/detail?id=721682
:(

Original change's description:
> Evenly space gradient stage.
>
> This seems like an experiment at this point because I don't know how to do
> this kind of thing on arm.
>
>
> Numbers from Skylake...
> Before:
> ./out/Release/nanobench --config srgb \
> --match gradient_linear_clamp_3color gradient_linear_clamp_hicolor -q                                                                        19:48:13
> Timer overhead: 36.7ns
> ! -> high variance, ? -> moderate variance
>     micros      bench
>     439.92 ?    gradient_linear_clamp_3color    srgb
>    2697.60      gradient_linear_clamp_hicolor   srgb
>     437.28      gradient_linear_clamp_3color_4f srgb
>    2700.50      gradient_linear_clamp_hicolor_4f        srgb
>
>
> After:
>    micros      bench
>     382.35      gradient_linear_clamp_3color    srgb
>     593.49      gradient_linear_clamp_hicolor   srgb
>     382.36      gradient_linear_clamp_3color_4f srgb
>     565.60      gradient_linear_clamp_hicolor_4f        srgb
>
>
> Numbers on my Mac Trashcan are about even; there is no
> speedup or slowdown between master and this change.
>
> Change-Id: I04402452e23c0888512362fd1d6d5436cea61719
> Reviewed-on: https://skia-review.googlesource.com/15960
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,fmalita@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ic6a064c66686b6f238ca1417ba1abd9ce25de1b4
Reviewed-on: https://skia-review.googlesource.com/16660
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 09:46:11 +0000 (02:46 -0700)]
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.
build:
  https://crrev.com/4a09f3ac6e9f77d658391ef453268e60bb1eb7e8 [blink] convert recipes and module to new context module (iannucci@chromium.org)
  https://crrev.com/1139918caaae11841321d01831603fad3342e3fc [libvpx] convert recipes and module to new context module (iannucci@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8e8e7dac4453c4efdd1c87e7ab3a5135ef3631d6
Reviewed-on: https://skia-review.googlesource.com/16618
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 09:16:21 +0000 (02:16 -0700)]
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.
build:
  https://crrev.com/d0f7d38dcd39fe6572a1bd537cb25c2a3e9db99e [goma] convert recipes and module to new context module (iannucci@chromium.org)
  https://crrev.com/593bde85c8c149ef21e534eafe0262ebebe51e94 [webrtc] convert recipes and module to new context module. (iannucci@chromium.org)
  https://crrev.com/bbec7414daccae917fe324507fa8da37f0bce0cb [art] convert recipes and module to new context module (iannucci@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If32cd5275ba0a156b4571b33572f31b8459af788
Reviewed-on: https://skia-review.googlesource.com/16617
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 08:51:27 +0000 (01:51 -0700)]
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.
build:
  https://crrev.com/6f2b5e64048fafd0068322630faaf5d4260047b5 [v8] convert recipes and module to new context module. (iannucci@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie41a730163b97fea48e0426635ad074c474c36c8
Reviewed-on: https://skia-review.googlesource.com/16615
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 07:51:47 +0000 (00:51 -0700)]
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.
build:
  https://crrev.com/0e4aca1b687f97b725e8123c8c9708aa3b0aba48 Removes unnecessary steps from the chromium codesearch recipe (emso@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I65c5d2724e3a76fd979b9b3b0209472e7249d668
Reviewed-on: https://skia-review.googlesource.com/16614
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 07:01:26 +0000 (00:01 -0700)]
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.
build:
  https://crrev.com/bdd12ab5df9a829df417e4b769094367ea998d68 Revert "Temporarily disable LocalOutputCache on Win." (shinyak@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I749992923ade4ee40d733759d4ed9feeb708c750
Reviewed-on: https://skia-review.googlesource.com/16613
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Fri, 12 May 2017 01:01:41 +0000 (18:01 -0700)]
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.
build:
  https://crrev.com/0a78b954c6399edf1b28629b70daaf6e6c112005 CrOS: Update Chromite pin. (vadimsh@chromium.org)
recipe_engine:
  https://crrev.com/b7c18e0258998652eeb302c83680f6a2b1aee398 Revert of include Package proto into Result proto (patchset #3 id:40001 of https://codereview.chromium.org/2802693003/ ) (iannucci@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib0a2effefd7ea6d2078655753157056a4e635d90
Reviewed-on: https://skia-review.googlesource.com/16612
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 23:02:22 +0000 (16:02 -0700)]
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.
build:
  https://crrev.com/ea19db587abdde3ec807a1aa2ceb3192adc0f7ab Fix typo in boringssl.py. (davidben@chromium.org)
recipe_engine:
  https://crrev.com/c7d91ef9861b04e41c6a2381382efd58d111fe19 include Package proto into Result proto (nodir@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7608cb4a54f723b518d9337ae1e7baf99cfa7fdd
Reviewed-on: https://skia-review.googlesource.com/16610
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 22:31:24 +0000 (15:31 -0700)]
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/6eaacf24833ebd2565177157d368da33780fced9 Fix repeated test 'mkdir' failure. (dnj@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8e4b3713fcb28ea0f6a7daf9e5d340fa75d04df2
Reviewed-on: https://skia-review.googlesource.com/16608
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoFix Ubuntu-Clang-x86_64-Release-Mini
Matt Sarett [Thu, 11 May 2017 21:39:04 +0000 (17:39 -0400)]
Fix Ubuntu-Clang-x86_64-Release-Mini

Bug: skia:
Change-Id: Iab3dbb007ae67b5d82a727cb1fd5ced6b10b325a
Reviewed-on: https://skia-review.googlesource.com/16605
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 21:30:42 +0000 (14:30 -0700)]
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.
build:
  https://crrev.com/209fcf66599d43c99e30accc1a0fe68beae2b8bd Add builders using Intel SDE. (davidben@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I22d48b1c5e1219eb5066c4ebead30a1aa1de3db8
Reviewed-on: https://skia-review.googlesource.com/16604
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoClassify spot shadows for general shapes
Jim Van Verth [Thu, 11 May 2017 21:05:28 +0000 (17:05 -0400)]
Classify spot shadows for general shapes

Add some simple checks so we can tell whether a shadow's umbra is
completely covered by the occluder, partially covered, or less than
halfway covered.

Change-Id: I092281c4933bd0380946eb0fdd458ce04b0d713c
Reviewed-on: https://skia-review.googlesource.com/16603
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 21:01:48 +0000 (14:01 -0700)]
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.
build:
  https://crrev.com/b4752f890fef774c4d475bae30a1122507546251 Add a Win x64 PGO trybot. (sebmarchand@chromium.org)
  https://crrev.com/f0ba992bb8257ead236458f48f99f09119da7bda Use cronet-sheriff mailing list for Cronet bots in gatekeeper.json (xunjieli@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ifdbd0cf3c2f0cc8fede1073e97955b37cb40c4cb
Reviewed-on: https://skia-review.googlesource.com/16602
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoEvenly space gradient stage.
herb [Thu, 11 May 2017 20:54:23 +0000 (16:54 -0400)]
Evenly space gradient stage.

This seems like an experiment at this point because I don't know how to do
this kind of thing on arm.

Numbers from Skylake...
Before:
./out/Release/nanobench --config srgb \
--match gradient_linear_clamp_3color gradient_linear_clamp_hicolor -q                                                                        19:48:13
Timer overhead: 36.7ns
! -> high variance, ? -> moderate variance
    micros      bench
    439.92 ?    gradient_linear_clamp_3color    srgb
   2697.60      gradient_linear_clamp_hicolor   srgb
    437.28      gradient_linear_clamp_3color_4f srgb
   2700.50      gradient_linear_clamp_hicolor_4f        srgb

After:
   micros      bench
    382.35      gradient_linear_clamp_3color    srgb
    593.49      gradient_linear_clamp_hicolor   srgb
    382.36      gradient_linear_clamp_3color_4f srgb
    565.60      gradient_linear_clamp_hicolor_4f        srgb

Numbers on my Mac Trashcan are about even; there is no
speedup or slowdown between master and this change.

Change-Id: I04402452e23c0888512362fd1d6d5436cea61719
Reviewed-on: https://skia-review.googlesource.com/15960
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 19:40:38 +0000 (12:40 -0700)]
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.
build:
  https://crrev.com/a4b6b3066ce93c6ea56e95cde90b4c538645362c [chromedriver] update to new context module (iannucci@chromium.org)
  https://crrev.com/692e5e81777e69875d2c6c35d7bf6edd2b03b0ce chromium_tests: make it possible to use custom servers for isolate and swarming (phajdan.jr@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iec8428e2e1a2dbdf543f39ff2744d45665c6b595
Reviewed-on: https://skia-review.googlesource.com/16549
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoproposed: inclusive gradients, exclusive images
Mike Klein [Thu, 11 May 2017 19:29:31 +0000 (15:29 -0400)]
proposed: inclusive gradients, exclusive images

Change-Id: I5821f823a4c0df54d4388a2f455767f58ae646b8
Reviewed-on: https://skia-review.googlesource.com/16547
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agospin off: always clamp linear gradients
Mike Klein [Thu, 11 May 2017 15:29:29 +0000 (11:29 -0400)]
spin off: always clamp linear gradients

While we're refactoring how gradients work it's going to be easier
to centralized how and when we tile.

  - PS2 changed linear and radial in place to alwys clamp.
  - PS3 moved tiling to the base class, where it's even harder to
    screw up.  Sweeps don't need but don't mind tiling.
  - PS4 clamps when iff evenly spaced

PS4 has image diffs for only a few GMs that I'm not familiar with.
If its logic reads as correct to you, they may be bug fixes?

Change-Id: I5e37d6e88aaea898356d4c57db0cd5bf414c0295
Reviewed-on: https://skia-review.googlesource.com/16501
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoSetup for another attempt to split up opLists
Robert Phillips [Thu, 11 May 2017 18:14:30 +0000 (14:14 -0400)]
Setup for another attempt to split up opLists

Split out of: https://skia-review.googlesource.com/c/14186 (Split up opLists (take 3))

Change-Id: Ifa600c88fb9185991d3197c7776c820f54c9bf0f
Reviewed-on: https://skia-review.googlesource.com/16540
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 19:10:17 +0000 (12:10 -0700)]
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.
build:
  https://crrev.com/4fb562908a79e7ffd80152304ceaf70b3b3aad08 V8: Skip slow test mode on a few slow bots (machenbach@chromium.org)
  https://crrev.com/31bcd09ad7e790b7a339c811b1870e5a9ab52ec0 V8: Bump shards on slowest bots (machenbach@chromium.org)
  https://crrev.com/6731730aedbdd78bb93f01a7b327eee913896a60 Fix the BoringSSL fuzzer bots. (davidben@chromium.org)
  https://crrev.com/e2c2fd8876b47c4828c4c78dbdf143c35e55059b [filter] update to new context module (iannucci@chromium.org)
  https://crrev.com/46433a6f5a05b8686a5b82ceb01ac2e0feb75dae convert chromium modules to new context module. (iannucci@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ibf8fdab42f5e00151c85ea38b5e93e24ab7c6058
Reviewed-on: https://skia-review.googlesource.com/16546
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 18:36:35 +0000 (11:36 -0700)]
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.
build:
  https://crrev.com/7661011f3f84b5c647de52c322d5f47071e3fa30 [auto_bisect] convert auto_bisect module to use new context module. (iannucci@chromium.org)
  https://crrev.com/9480ca2c028a15c8a76ba87f1d3bfd14c411f50f xvfb: Remove TMPDIR influence. (dnj@chromium.org)
  https://crrev.com/e4397427d1a9aac38c34fc0ccb129740f6814bfb Export "vpython" root in CIPD bootstrap. (dnj@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia0a138b5f484dc3f032b8eb1c14fa590d9d71a17
Reviewed-on: https://skia-review.googlesource.com/16543
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoFix GPU text colors when color spaces are involved
Brian Osman [Thu, 11 May 2017 14:57:37 +0000 (10:57 -0400)]
Fix GPU text colors when color spaces are involved

1) Only store GrColors in GrTextUtils::Paint. We still store
   premul and unpremul versions, but this is slightly clearer.
2) GrTextUtils::Paint also needs info from the render target
   context to linearize and transform the color to dst space.

Bug: skia:6605
Change-Id: I6e12c55eafaecd2a090c82b4f56827401305bf3a
Reviewed-on: https://skia-review.googlesource.com/16486
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoIsolate CIPD assets for RPI tasks
Kevin Lubick [Thu, 11 May 2017 17:35:23 +0000 (13:35 -0400)]
Isolate CIPD assets for RPI tasks

To verify the assets all end up in the right spot, I wiped all the assets off the phone and then ran
https://chromium-swarm.appspot.com/task?id=36114ccaa41bd810&refresh=10

Overhead comparisons:
Control: 103s https://chromium-swarm.appspot.com/task?id=360e10170744db10

Cold cache: 105s https://chromium-swarm.appspot.com/task?id=36113c4aec720910
Warm cache: 8s https://chromium-swarm.appspot.com/task?id=361143954c1b1c10

Bug:701930
Bug:skia:5213

Change-Id: I1dc052203ed404b63d0a1974ccbe882d26ff9e48
Reviewed-on: https://skia-review.googlesource.com/16490
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoRemove SkCrossContextImageData and all support code
Brian Osman [Wed, 10 May 2017 16:06:26 +0000 (12:06 -0400)]
Remove SkCrossContextImageData and all support code

Bug: skia:
Change-Id: I8eb8cef5456c05a8e314d8404698893c7af82d13
Reviewed-on: https://skia-review.googlesource.com/16368
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agohone down the SK_FORCE_RASTER_PIPELINE_BLITTER test bot
Mike Klein [Thu, 11 May 2017 17:12:48 +0000 (13:12 -0400)]
hone down the SK_FORCE_RASTER_PIPELINE_BLITTER test bot

We only are really interested in 8888 GMs for this bot.
Unit tests and other configs don't need to run.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_FORCE_RASTER_PIPELINE_BLITTER

Change-Id: Iec4e5566cc27e82fea0d5832c514a5141ff80cfa
Reviewed-on: https://skia-review.googlesource.com/16499
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoMove SK_API from namespace to function
Matt Sarett [Thu, 11 May 2017 17:10:06 +0000 (13:10 -0400)]
Move SK_API from namespace to function

Bug: skia:
Change-Id: Ib538b77c28e323bbcc40634b0f3cd87d88d898e8
Reviewed-on: https://skia-review.googlesource.com/16496
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 17:07:13 +0000 (10:07 -0700)]
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.
build:
  https://crrev.com/e096fcfd77f8e45fb52190c716ecb39821b89ac6 Add a linux FYI bot for running perf tests with the new network service. (yzshen@chromium.org)
depot_tools:
  https://crrev.com/1a91c6080a92423c8816208ed0931bdcbdf05f2d Nit fix for git_footers. (tandrii@chromium.org)
  https://crrev.com/5702f0baefc0c1321374d838f8fc27c18d79a2ae [recipes] convert all recipe_modules to use new context module. (iannucci@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2c4571b8ff45addf398d452a7889b24fb59c22d5
Reviewed-on: https://skia-review.googlesource.com/16498
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoremove TODO in SkGradientShader.cpp
Mike Klein [Thu, 11 May 2017 16:47:22 +0000 (12:47 -0400)]
remove TODO in SkGradientShader.cpp

As we have factored things, we _do_ need to map y.  This matrix maps us
back from dst to src space now, but not all the way to t.
We let the subclass inject its own logic for x,y -> t.

(Linear gradients do actually still do this by modifying the first
matrix rather than appending another matrix for x,y -> t.  But in
general we cannot not map y here anymore.)

Change-Id: I2f9a87c7b510269a8b218a0247cbff416fe8d6c9
Reviewed-on: https://skia-review.googlesource.com/16495
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoWorkaround for Intel 6xxx clear to opaque black bug
Brian Salomon [Thu, 11 May 2017 15:39:08 +0000 (11:39 -0400)]
Workaround for Intel 6xxx clear to opaque black bug

Bug: skia:
Change-Id: Id5e29b483c2b6f698219abfc5bbb2d858c4fc117
Reviewed-on: https://skia-review.googlesource.com/16427
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoEnable debug output on iOS
Stephan Altmueller [Thu, 11 May 2017 14:18:59 +0000 (10:18 -0400)]
Enable debug output on iOS

Enables debug output on iOS. Everything will work the
same except there will be more output for dm and nanobench.
This should help us flush out remaining flakiness and
will be removed once it's not necessary anymore.

Bug: skia:
Change-Id: Idfdc7cf829e93b905fdb0ac2bbab1e78250b7ae0
Reviewed-on: https://skia-review.googlesource.com/16491
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>

7 years agoFix transparent ambient shadows
Jim Van Verth [Thu, 11 May 2017 14:43:35 +0000 (10:43 -0400)]
Fix transparent ambient shadows

Add a clamp value to indicate the percentage of the blurWidth to apply.

Change-Id: I962dc57ed786fa67ed1606b1148f1b2c568025e5
Reviewed-on: https://skia-review.googlesource.com/16424
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoFix transparent ambient for perspective shadows
Jim Van Verth [Thu, 11 May 2017 14:23:53 +0000 (10:23 -0400)]
Fix transparent ambient for perspective shadows

When splitting the long edges for the ambient code, I wasn't adding
the corresponding triangle for the new point into the center region
for transparent occluders.

Change-Id: Ie2d1dcffbd701c0750d5da95e9d673b700a0e85a
Reviewed-on: https://skia-review.googlesource.com/16492
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoAdd SkJpegEncoder and SkWebpEncoder to public API
Matt Sarett [Thu, 11 May 2017 13:32:59 +0000 (09:32 -0400)]
Add SkJpegEncoder and SkWebpEncoder to public API

Bug: 713862
Change-Id: I05d8b3a506f817d63b0bc3ab3f9233e24bbe3be0
Reviewed-on: https://skia-review.googlesource.com/16233
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 13:55:23 +0000 (06:55 -0700)]
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.
build:
  https://crrev.com/39b918105825f2b0007b6589aa39946b8dba0c68 Add Fuchsia to recipe_modules/chromium_tests/chromium_fyi.py (scottmg@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I63451367f9bf348a120f4648a4cb4f1a80aa63b1
Reviewed-on: https://skia-review.googlesource.com/16488
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agofix SkASSERT for Visual Studio
Cary Clark [Thu, 11 May 2017 13:12:57 +0000 (09:12 -0400)]
fix SkASSERT for Visual Studio

Changing colons to parens permits
the error to be recognized, so that
clicking on it goes to the source
line with the assert.

R=reed@google.com

Change-Id: Ifec7fc0633e8ecf0f670418fefaf8ca87ee3d498
Reviewed-on: https://skia-review.googlesource.com/16485
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>

7 years agoAdd a way to force raster pipeline blitter.
Mike Klein [Wed, 10 May 2017 20:13:35 +0000 (16:13 -0400)]
Add a way to force raster pipeline blitter.

    And add some Test/Perf bots to try it out!

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_FORCE_RASTER_PIPELINE_BLITTER

Change-Id: I56ea2285f9fec2e468fae89673a545a717ab0f49
Reviewed-on: https://skia-review.googlesource.com/16423
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoAdd some swizzle checks to vulkan backend
Greg Daniel [Thu, 11 May 2017 13:20:59 +0000 (09:20 -0400)]
Add some swizzle checks to vulkan backend

Bug: skia:
Change-Id: I9f5a5c1fda9cf26fc6479e1cd6d0e981e6991c8e
Reviewed-on: https://skia-review.googlesource.com/16426
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoA8 fast path for raster clip masks
Florin Malita [Wed, 10 May 2017 19:26:44 +0000 (15:26 -0400)]
A8 fast path for raster clip masks

When the clip mask is already A8, we don't need to convert explicitly.

Before:

  792.72  clipmask_a8 8888

After:

  560.06  clipmask_a8 8888

BUG=skia:6005

Change-Id: I9a319df9a82edfc9b412787a36f037bbe82c2825
Reviewed-on: https://skia-review.googlesource.com/16420
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 12:36:01 +0000 (05:36 -0700)]
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.
build:
  https://crrev.com/af437b4736641bc6845330b16aab3252647a6ad9 WebRTC: Add mail notification if the autoroller fails. (kjellander@chromium.org)
depot_tools:
  https://crrev.com/04b51d6de0c1eb267f2446126a682fc747620439 Reland of Relax git_footers parsing to match that of Gerrit (JGit). (tandrii@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8a957a5eb90e483290b26766eddd04209f80aab1
Reviewed-on: https://skia-review.googlesource.com/16482
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 11:27:01 +0000 (04:27 -0700)]
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.
build:
  https://crrev.com/4ed4219bd19960b21e8bc17f61f775ce2a973562 Move Win8 and Win10 bots over to swarming. (ehmaldonado@chromium.org)
  https://crrev.com/6c0332b76eb3496620601ed2b974bece89dbcd0f Add ios_compile, ios64_compile, and linux_fuzz BoringSSL builders. (davidben@chromium.org)
  https://crrev.com/a75ef95539f72ced4d30ad85ea35b6664a2ffa3c [codesearah] Refactor chromium_codesearch.py to use run_mb (shenghuazhang@google.com)
  https://crrev.com/c7749c05c3deff6d34c05b3135b98e3f12e22866 Add LIBFUZZER_FROM_DEPS to fuzzer bots. (davidben@chromium.org)
  https://crrev.com/6054a101391edc7c0feff76ae027bd5c0fd8052d Add Fuchsia slave to FYI master (scottmg@chromium.org)
  https://crrev.com/f741f2de5b2345031078dea917bdd466313a8a85 Enable PubSub streaming for tryserver.client.catapult (hinoka@google.com)
  https://crrev.com/65dbbe481846b68665ea12e737fde04d3f3b2dc6 chromite recipe_module: Remove build_type and variant support. (dgarrett@google.com)
  https://crrev.com/a922a0f7d8d1aecffb96c70fcabb4cf6aed8b5ca Manually roll depot_tools 57a8692:beec006 (phajdan.jr@chromium.org)
  https://crrev.com/5f90cd4ff7fa665e5dcd93016ead17b60a9c315b V8: Bump shards on slowest bots (machenbach@chromium.org)
  https://crrev.com/bdb9d6cb87b77bf04acc1165cfe581a508e1d40e Adjusting run_tool.py command line to account for recent changes (emso@chromium.org)
  https://crrev.com/2d2c1a2cce4ecd784375fe0b78aa2273f45df3b3 WebRTC: Tests for Android Studio project creation (kjellander@chromium.org)
  https://crrev.com/26a68cd1302d673f1ca924b22340f52a125bf315 Revert "WebRTC: Tests for Android Studio project creation" (kjellander@chromium.org)
  https://crrev.com/6d2e75af8686a56cbd4fbd9adcf808d916fdfc96 Add emso to the OWNERS (emso@chromium.org)
  https://crrev.com/bdf87b9ebf0a1534c96982344d6dcefab79c51ea Reland "WebRTC: Tests for Android Studio project creation"" (kjellander@chromium.org)
  https://crrev.com/590e609111eaaa9c7fd94d919b090e36c1fa9151 Adds more slaves to the codesearch master (emso@chromium.org)
  https://crrev.com/0903c31179747b6479b608eb5240eccca600084c chromium_checkout: do not run gclient validate if patch failed to apply (phajdan.jr@chromium.org)
depot_tools:
  https://crrev.com/1e250cdeb344f096cbff4d515e333077b3b108a8 git cl creds-check: understand '~' in path to .gitcookies. (tandrii@chromium.org)
  https://crrev.com/8e4576f38535ad6eb407f6c63fa4a4d5afe1f1cb git cl upload: fix confusing warning. (tandrii@chromium.org)
  https://crrev.com/28a5d5defd13c382af94cd8368b16641752fee88 Relax git_footers parsing to match that of Gerrit (JGit). (tandrii@chromium.org)
  https://crrev.com/fa16a83dd2f3100f996e0834ef16f1277c4070fa vpython: proper shebang :) (dnj@chromium.org)
  https://crrev.com/beec006697a11600e254ac6c69e98f76d555306b gclient validate: add schema checking (phajdan.jr@chromium.org)
  https://crrev.com/43ec62ec712c3f199f85c8abec6db77a9e5e81e1 Revert "Relax git_footers parsing to match that of Gerrit (JGit)." (tandrii@chromium.org)
recipe_engine:
  https://crrev.com/23230785ddaec6e199d3ede6d496131ec178c183 config: fix config.Dict with no value type (nodir@chromium.org)
  https://crrev.com/c594d93e17bd0e32f02620808deed9b1833bd81f [autoroll] Remove support for 'config section' in doc/recipes.py (iannucci@chromium.org)
  https://crrev.com/275cbaae0e81a737ff1be9c73049b2cd124388ad [context] Add user-facing context module. (iannucci@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic18db3dfdfead37acdbf66da6b81182f87ec736a
Reviewed-on: https://skia-review.googlesource.com/16481
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (nontrivial).
recipe-roller [Wed, 10 May 2017 11:50:19 +0000 (04:50 -0700)]
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.
build:
  https://crrev.com/92c859f50299571b9ed2c2d30e5ef9b3c17f9cca remote_run: Roll fixed Kitchen. (dnj@chromium.org)
depot_tools:
  https://crrev.com/6dadfbfcf77356b3cf4b972de93c0ba1f9472fe4 git-cl-upload: Set all reviewers and ccs in a single batch api call (agable@chromium.org)
recipe_engine:
  https://crrev.com/c93ed98c3c3e6c9be82e88496e55cb1f3dd13372 [recipe_modules/step] do not set cwd if it is start_dir. (iannucci@chromium.org)

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I921e626b028d77044de0539d653d8cf7bd3c2f7b
Reviewed-on: https://skia-review.googlesource.com/16362
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoremove SK_SUPPORT_DEPRECATED_CLIPOPS from g3
Mike Reed [Thu, 11 May 2017 01:48:54 +0000 (21:48 -0400)]
remove SK_SUPPORT_DEPRECATED_CLIPOPS from g3

Bug: skia:
Change-Id: Ibcdb026a235620135153caabf888ca47317d0515
Reviewed-on: https://skia-review.googlesource.com/16429
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRemove comments referencing locked pixels
Leon Scroggins III [Tue, 9 May 2017 13:18:03 +0000 (09:18 -0400)]
Remove comments referencing locked pixels

Pixels no longer need to be locked.

TBR=reed@google.com

Bug: skia: 6481
Change-Id: I4b49f710add9134205d1520755b44bee308bd502
Reviewed-on: https://skia-review.googlesource.com/16113
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>

7 years agoMake SkCreateRasterPipelineBlitter() not fail.
Mike Klein [Wed, 10 May 2017 16:29:38 +0000 (12:29 -0400)]
Make SkCreateRasterPipelineBlitter() not fail.

Mostly this is about extending the fallback in SkShader::appendStages()
to cover more cases, and making sure subclasses call appendStages() so
they can get the fallback, not onAppendStages() directly.

We still need to watch for SkShader::makeContext() failing in the
fallback itself, so sadly SkShader::appendStages() may still fail.

Change-Id: I2314b234a24bdcecac401a385ce050d7fdf0a83e
Reviewed-on: https://skia-review.googlesource.com/16369
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agosksl support for static ifs & switches
Ethan Nicholas [Wed, 10 May 2017 19:06:17 +0000 (15:06 -0400)]
sksl support for static ifs & switches

Bug: skia:
Change-Id: Ic9e01a3a18efddb19bab26e92bfb473cad294fc1
Reviewed-on: https://skia-review.googlesource.com/16144
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoUnify ShadowUtils interface
Jim Van Verth [Wed, 10 May 2017 18:13:24 +0000 (14:13 -0400)]
Unify ShadowUtils interface

Bug: skia:
Change-Id: I116bec82783d297e91ef061217b5e61f7ff16a76
Reviewed-on: https://skia-review.googlesource.com/16371
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agouse SkColorSpaceXformer in SkShader appendStages() fallback
Mike Klein [Wed, 10 May 2017 18:04:04 +0000 (14:04 -0400)]
use SkColorSpaceXformer in SkShader appendStages() fallback

We've been transforming the gamut after running the legacy shader,
but now that we have SkColorSpaceXformer, we can transform the
legacy shader into the dst color space instead.

This should be both more correct and faster.

Change-Id: If017048874e6cce46837d3ecbd88dfde503fd03a
Reviewed-on: https://skia-review.googlesource.com/16373
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoclean up SkShader friends
Mike Klein [Wed, 10 May 2017 16:35:51 +0000 (12:35 -0400)]
clean up SkShader friends

Many SkShader subclasses are only friends to use makeColorSpace().

Our usual solution to this is to add a method on SkColorSpaceXformer
that calls makeColorSpace() for us, so that only SkColorSpaceXformer
needs to be a friend.

Just a refactor.  No image diffs.

Change-Id: Icf952b739edf45f2fb8c0c35e353ef2866f4c5cc
Reviewed-on: https://skia-review.googlesource.com/16370
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoadd flag to hide deprecated clipops
Mike Reed [Wed, 10 May 2017 18:13:20 +0000 (14:13 -0400)]
add flag to hide deprecated clipops

needs this to land first
https://codereview.chromium.org/2877493002/#

Bug: skia:3191
Change-Id: Iff5271064877c4e96353d3564464f513eaad0bb5
Reviewed-on: https://skia-review.googlesource.com/16365
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoFix alpha coverage for lerp_565 stage.
bungeman [Wed, 10 May 2017 17:50:12 +0000 (13:50 -0400)]
Fix alpha coverage for lerp_565 stage.

Like three gray with alpha blends and taking the max alpha.

Change-Id: I104c84f784979030744127f8f66905ad9d1bdf0e
Reviewed-on: https://skia-review.googlesource.com/15898
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoExperimental Go bindings for Skia
Stephan Altmueller [Tue, 9 May 2017 19:56:06 +0000 (15:56 -0400)]
Experimental Go bindings for Skia

This CL implements Go bindings for a subset of the functions in the C API.
It implements a Go version of the C demo program in
experimental/c-api-example/skia-c-example.c and the output is identical.
(Checked by hand).

The main purpose is to establish a pattern of calling the Skia C API that
is memory safe and provides a idiomatic Go interface to Skia.

Follow up CLs will cover the entire C API, add documentation and establish
a pattern to distribute the bindings more easily.

BUG=
Change-Id: I96ff7c3715164c533202ce300ab0312b1b07f884

Change-Id: I96ff7c3715164c533202ce300ab0312b1b07f884
Reviewed-on: https://skia-review.googlesource.com/10032
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Stephan Altmueller <stephana@google.com>

7 years agoClean up shadow assert.
Jim Van Verth [Wed, 10 May 2017 14:04:17 +0000 (10:04 -0400)]
Clean up shadow assert.

When drawing an analytic rrect shadow, the mask filter could pass
the devRect into the drawOp. If we have a small scale that could
make the radii less than SK_ScalarNearlyZero. We might also have
a rect that we outset by a value less than SK_ScalarNearlyZero to
the penumbra border. So the best we can check is that the the two
radii are equal.

Bug: skia:6608
Change-Id: I8bdafe089b302fbc5c9042ff30798d3688e9e781
Reviewed-on: https://skia-review.googlesource.com/16364
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoMove all non-AA fill rect ops off of GrLegacyMeshDrawOp.
Brian Salomon [Mon, 8 May 2017 14:43:33 +0000 (10:43 -0400)]
Move all non-AA fill rect ops off of GrLegacyMeshDrawOp.

This adds perspective to GrNewNonAAFillRectOp, renames it to GrNonAAFillRectOp, and deletes the previous version of that namespace.

Change-Id: I20f35bf019f9c9105e6ec83dda11328451138109
Reviewed-on: https://skia-review.googlesource.com/15634
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoadd parameter names
Cary Clark [Wed, 10 May 2017 13:07:42 +0000 (09:07 -0400)]
add parameter names

Functions in SkPaint and SkCanvas are easier to write
about when all of their parameters are named.

Also, move GlyphCacheProc to private since the only
interface that returns it is already in private.

R=reed@google.com

Change-Id: Iaea46213d5614d564c1c3de99e6f96c5efaec4b1
Reviewed-on: https://skia-review.googlesource.com/16175
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>

7 years agoallow inf/nan in GrRect isect utility functions.
Brian Salomon [Tue, 9 May 2017 22:09:28 +0000 (18:09 -0400)]
allow inf/nan in GrRect isect utility functions.

Separately we may want to determine why we get NaNs here in flutter.

Bug: skia:6607
Change-Id: Id90fff1ccf487794d55dc011b1a2d176cedb931a
Reviewed-on: https://skia-review.googlesource.com/16342
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 10 May 2017 11:20:21 +0000 (04:20 -0700)]
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.
build:
  https://crrev.com/248dfae5042b4c64da3aceeda4cd86b6a26718ff Enforce strict coverage for math_utils recipe module (phajdan.jr@chromium.org)
  https://crrev.com/f61b8f4f27b631705aa4a42ed11cfbda1689f2a0 [pinpoint] Enable swarming on Pinpoint builder and change parent_buildername. (dtu@chromium.org)
  https://crrev.com/70c70024b138c06c7e76bc099bc9793bcb66be53 Enable Kitchen on all "chromium.fyi". (dnj@chromium.org)
  https://crrev.com/363c91e87561385daf733cd30aa1a4391dd249ee remote_run: Bump canary Kitchen version. (dnj@chromium.org)
recipe_engine:
  https://crrev.com/9f2573a386ee07450095cbeb3562df94a644962f bootstrap: show a better missing CIPD error (dnj@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I9a1478f3359ae342acfed3c17ebe56a6034eb749
Reviewed-on: https://skia-review.googlesource.com/16361
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (nontrivial).
recipe-roller [Tue, 9 May 2017 20:32:59 +0000 (13:32 -0700)]
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.
build:
  https://crrev.com/d1cc05b08eb5bd2fe0b71fde4fcc5f5d1d65b5d6 swarming api: fix legacy way to specify isolated (maruel@chromium.org)

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0cbbff8ee1124ebaf40a20fbb0f780a6dca6537e
Reviewed-on: https://skia-review.googlesource.com/16320
Reviewed-by: Marc-Antoine Ruel <maruel@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agook, fix typo: struct -> static
Mike Klein [Tue, 9 May 2017 22:04:04 +0000 (18:04 -0400)]
ok, fix typo: struct -> static

Change-Id: I2b26ccd017d9e66ced41a1af04929e2d83a5a2d5
Reviewed-on: https://skia-review.googlesource.com/16343
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agook, add timer via
Mike Klein [Tue, 9 May 2017 20:03:07 +0000 (16:03 -0400)]
ok, add timer via

Change-Id: I3d25a2aa9ae6dacb52779142cea062c7d9df40f5
Reviewed-on: https://skia-review.googlesource.com/16238
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoPre-clamp path tolerance
Brian Osman [Tue, 9 May 2017 20:36:41 +0000 (16:36 -0400)]
Pre-clamp path tolerance

GrDefaultPathRenderer was using GrPathUtils::worstCasePointCount, which
clamped the tolerance. Then it built geometry with the unclamped value,
leading to vertex overflow (found by canvas fuzzer). The new rule is if
you use GrPathUtils, your tolerance must come from scaleToleranceToSrc.

Bug: skia:6569
Change-Id: I851519db8e569e570c717033d697f3d4d3d787fb
Reviewed-on: https://skia-review.googlesource.com/16234
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agovoid SkColorFilter::onAppendStages(...)
Mike Klein [Tue, 9 May 2017 18:57:58 +0000 (14:57 -0400)]
void SkColorFilter::onAppendStages(...)

SkColorFilter::onAppendStages() can't actually fail today.
Let's enforce that.  This means the fallback is now used
only for color filters that have not implemented onAppendStages().

Change-Id: Ica3939685694f6186727766b54914b9ba05ca68c
Reviewed-on: https://skia-review.googlesource.com/16231
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agofix 565
Mike Klein [Tue, 9 May 2017 19:10:21 +0000 (15:10 -0400)]
fix 565

Change-Id: Ibde5242dc4f66b720cb8be1e2d771ba88b12b496
Reviewed-on: https://skia-review.googlesource.com/16241
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoAdd encode to bzl include paths
Matt Sarett [Tue, 9 May 2017 19:28:32 +0000 (15:28 -0400)]
Add encode to bzl include paths

NOTRY=true

Bug: skia:
Change-Id: Ib37b9a0a5b3c07b0b78b389bd3003c350b49b53f
Reviewed-on: https://skia-review.googlesource.com/16232
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoCreate geometry shader modules in vulkan when using geom shaders
Greg Daniel [Mon, 8 May 2017 16:10:12 +0000 (12:10 -0400)]
Create geometry shader modules in vulkan when using geom shaders

Looks like this was left off the original vulkan Geo shader change.
Bug: skia:
Change-Id: Iec1c09d6d7b347147e4237bad3e6b3eb4684154e
Reviewed-on: https://skia-review.googlesource.com/15813
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
7 years agoFixed distance field interpolation for gamma correct rendering
Brian Osman [Wed, 19 Apr 2017 20:08:30 +0000 (16:08 -0400)]
Fixed distance field interpolation for gamma correct rendering

Bug: skia:
Change-Id: I9037decfeb9b2ab673434bb3c4b7f55aca186d68
Reviewed-on: https://skia-review.googlesource.com/13872
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoAdded SkImage::MakeCrossContextFromEncoded
Brian Osman [Tue, 9 May 2017 17:19:50 +0000 (13:19 -0400)]
Added SkImage::MakeCrossContextFromEncoded

Designed for Flutter's threading architecture, with
an eye to being useful to other clients. Under the
hood, uses a new image generator class to lazily wrap
a texture for multiple GrContexts.

Re-land of https://skia-review.googlesource.com/c/14180/

Bug: skia:
Change-Id: I3dd382640629b79b3058f18fee68d043566e43e5
Reviewed-on: https://skia-review.googlesource.com/15895
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoManually roll recipes.
Robert Iannucci [Tue, 9 May 2017 18:06:48 +0000 (11:06 -0700)]
Manually roll recipes.

Include new --package option for recipes.py.

build:
  https://crrev.com/380216596a663dc45d6562b29bce3719e2620ac0 Bump bot environment "vpython". (dnj@chromium.org)
  https://crrev.com/226d6eadceee58fe6832679e39a040a46d5df989 Bump Kitchen canary, clear PYTHONPATH. (dnj@chromium.org)
  https://crrev.com/45f9beb12883c6b509c699c1dd1694be218c4740 Write uploaded log url to file in goma module (tikuta@google.com)
  https://crrev.com/5c6b5807ee3de9277b8c6e3182f621e4216e2eea WebRTC: Rename tools-webrtc -> tools_webrtc (kjellander@chromium.org)
  https://crrev.com/3090e9f2c42f7254fc9b42b21ed792e19d77e667 Manually roll depot_tools 69a239e:e2f9fee (phajdan.jr@chromium.org)
  https://crrev.com/e845e79d0cd39af876b4fff648c68bd023633c8a chromium_checkout: add non-fatal gclient validate step (phajdan.jr@chromium.org)
  https://crrev.com/3bed2fc03bc435464880411740b20031f80ed41c Remove old GYP compatibility targets from chromium_tests. (RELAND) (jbudorick@chromium.org)
  https://crrev.com/9b44962a1bfb8134ffac7f5606a11cb8ff8489e8 Flutter: Rev Android build tools to 23.0.3 (mit@google.com)
  https://crrev.com/6fa4d503d7ef77a951b446ca01b5b18a3c9fb79c remote_run: promote Kitchen canary to stable. (dnj@chromium.org)

depot_tools:
  https://crrev.com/4ebaaf9d9c1e24548f3c9f9f748e8631d091ecd0 Bump "vpython" version. (dnj@chromium.org)
  https://crrev.com/0bbd1c28d5827379f363f2a9170eeda27fd7b758 git-cl: upload to merge-base with master, not tip of origin/master (agable@chromium.org)
  https://crrev.com/e2f9feecaf4326cef699624d5f52b9f31ecbc104 Add validate command to gclient (phajdan.jr@chromium.org)

recipe_engine:
  https://crrev.com/66338449f4d727da096422c1df1b6654224d6512 [bootstrap] don't change directories when bootstrapping. (iannucci@chromium.org)
  https://crrev.com/487e5e371bf8140b0467c6366f94042581f5c63c [recipes.py] refactor PackageContext to remove unused --deps-path arg. (iannucci@chromium.org)
  https://crrev.com/92c5b73ff81fb30c80a33bab91be51551d5e67b7 Bump "vpython" bootstrap version. (dnj@chromium.org)
  https://crrev.com/d6c4a597be2da8be7971b4d5f66e3d95e8fc325c [recipes.py] refactor PackageContext to remove --no-fetch logic. (iannucci@chromium.org)
  https://crrev.com/cfeeb53051e02856a35395a69b09f822ad35e2e5 [doc/recipes.py] Improve copypasta bootstrap script. (iannucci@chromium.org)
  https://crrev.com/e90c11af854574dd68edd0e7c7a5e04ceb49ffd0 [recipes.cfg] remove support for api_version 1. (iannucci@chromium.org)
  https://crrev.com/497f5b7f92cea8e5273d56cc3cba876fb18b42d9 [doc/recipes.py] fix issue when running recipes.py from . (iannucci@chromium.org)
  https://crrev.com/e7bbbf6cfac944157d80cc92fd78837165e69d3f Fix a race crash when recipe expectations directory exists (phajdan.jr@chromium.org)
  https://crrev.com/bf2ff828987549b946135919bd1bffd6e42fd8fd [doc/recipes.py] Add option to recipes.py to allow it to work without .git (iannucci@chromium.org)

R=borenet@google.com

Bug: skia:
Change-Id: Ic7c20a7beb6165ea79194053016759722fea6a51
Reviewed-on: https://skia-review.googlesource.com/16201
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoAdd downsampling option to SkJpegEncoder
Matt Sarett [Tue, 9 May 2017 18:02:10 +0000 (14:02 -0400)]
Add downsampling option to SkJpegEncoder

Bug: 713862
Change-Id: Ibad6ecf836ccfd355499e1bace7bcd4ba772a97a
Reviewed-on: https://skia-review.googlesource.com/15891
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoupdate dox for dithering
Mike Reed [Tue, 9 May 2017 16:20:02 +0000 (12:20 -0400)]
update dox for dithering

Bug: skia:6604
Change-Id: I21b505c54c1d43abf62b7c577e7dd88e53ed30fd
Reviewed-on: https://skia-review.googlesource.com/16156
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agomove set-text-matrix into private
Mike Reed [Tue, 9 May 2017 16:16:04 +0000 (12:16 -0400)]
move set-text-matrix into private

Had no external callers, and was poorly named.

Bug: skia:
Change-Id: I5bed6853e9aa3b31fa106a436a73297bf55f0503
Reviewed-on: https://skia-review.googlesource.com/16155
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoAdd jpeg encoder alpha handling option
Matt Sarett [Tue, 9 May 2017 16:46:50 +0000 (12:46 -0400)]
Add jpeg encoder alpha handling option

This instructs us on how to encode jpegs when the src
image has alpha.  The original behavior is to ignore
the alpha channel.  This CL adds the option to blend
the pixels onto opaque black.

Note that kBlendOnBlack and kIgnore are identical
unless the input alpha type is kUnpremul.

Bug: 713862
Bug: skia:1501
Change-Id: I4891c70bb0ccd83f7974c359bd40a2143b5c49ac
Reviewed-on: https://skia-review.googlesource.com/15817
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agomake append_gamut_tranform() never fail
Mike Klein [Tue, 9 May 2017 01:56:55 +0000 (21:56 -0400)]
make append_gamut_tranform() never fail

The only way it could ostensibly fail is if we get non-XYZ color
spaces, which should just not happen.  Assert that doesn't happen
and safely do nothing instead of failing.

This is one of the leaf nodes to getting SkCreateRasterPipelineBlitter
to never fail.  Next come SkColorFilter:: and SkShader::appendStages().

Change-Id: I5c7a8c63d0a9837e2e55208e1674796d86f45307
Reviewed-on: https://skia-review.googlesource.com/16002
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoAdd support for using texel buffers in Vulkan backend.
Greg Daniel [Mon, 8 May 2017 14:30:59 +0000 (10:30 -0400)]
Add support for using texel buffers in Vulkan backend.

Bug: skia:
Change-Id: I5cc7b18263dbe28d5d8d89301111ef240109704a
Reviewed-on: https://skia-review.googlesource.com/15770
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoTune down libpng in DM.
Mike Klein [Mon, 8 May 2017 23:49:22 +0000 (19:49 -0400)]
Tune down libpng in DM.

Timing `out/dm --src gm --config srgb -w foo` on my desktop,
   - wall time drops from 3.72 -> 2.17 seconds; and
   - CPU time drops from 64.9 -> 27.9 seconds.

So again, close to 2x speedup.
(In exchange, the .pngs of our GMs grow from 57M to 73M.)

Change-Id: I6e2e8c8bda6371e857c8db41ca3119402a9056ae
Reviewed-on: https://skia-review.googlesource.com/16000
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoMove SkPngEncoder into public API
Matt Sarett [Mon, 8 May 2017 21:31:00 +0000 (17:31 -0400)]
Move SkPngEncoder into public API

Bug: 713862
Change-Id: I45068ed39affe41ffe0f29bf42c5ea1d9b0247ba
Reviewed-on: https://skia-review.googlesource.com/15897
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoMake SkColorFilter::appendStages() not fail.
Mike Klein [Tue, 9 May 2017 15:52:35 +0000 (11:52 -0400)]
Make SkColorFilter::appendStages() not fail.

This makes SkColorFilter::appendStages() first try onAppendStages(),
and if it's unimplemented or fails, fall back to filterSpan4f().

This also makes onAppendStages() private to try to ensure that
appendStages() is now its only caller, ensuring everyone goes
through this fallback path.

The fallback uses the color filter transformed into the dst colorspace
using our new SkColorSpaceXformer... that seem ok Matt?

Change-Id: I4751a6859596fa4f7e844e69ef0d986f005b52c7
Reviewed-on: https://skia-review.googlesource.com/16031
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoAvoid assertion in MSAA rendering buffer about indexed draw with zero index count
Brian Salomon [Tue, 9 May 2017 13:57:19 +0000 (09:57 -0400)]
Avoid assertion in MSAA rendering buffer about indexed draw with zero index count

Also add some GrMesh::validate() calls earlier to make future debugging easier. Previously this only asserted when the draws executed, now it asserts as soon as the draw is prepared in the op subclass.

Bug: skia:
Change-Id: Ibdd4488b9a9263f0ed337a2c8c6066bc36297001
Reviewed-on: https://skia-review.googlesource.com/16029
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>