platform/upstream/libSkiaSharp.git
7 years agoAdd legacy++ to viewer (sRGB w/nonlinear blending)
Brian Osman [Mon, 6 Mar 2017 16:47:26 +0000 (11:47 -0500)]
Add legacy++ to viewer (sRGB w/nonlinear blending)

BUG=skia:6242

Change-Id: I696de8eac61aebaf5cb07d8874bde3c7bd470277
Reviewed-on: https://skia-review.googlesource.com/9299
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRename PentiumN3700 to IntelHD405.
Ben Wagner [Mon, 6 Mar 2017 16:10:54 +0000 (11:10 -0500)]
Rename PentiumN3700 to IntelHD405.

BUG=skia:6324
NOTRY=true

Change-Id: I64d87d40c85f1e3a1b2c5aee8d5d68fca81192d6
Reviewed-on: https://skia-review.googlesource.com/9301
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoRemove PLS path renderer
Brian Salomon [Mon, 6 Mar 2017 16:29:48 +0000 (11:29 -0500)]
Remove PLS path renderer

Change-Id: Ib727b0749a5a7da95832970e79804417e8b6a247
Reviewed-on: https://skia-review.googlesource.com/9300
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoAdd unit tests for SkImage::colorSpace()
Matt Sarett [Mon, 6 Mar 2017 15:28:24 +0000 (10:28 -0500)]
Add unit tests for SkImage::colorSpace()

BUG=skia:

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

7 years agoFuzzCanvas: fix BUG=skia:6321
Hal Canary [Mon, 6 Mar 2017 13:30:44 +0000 (08:30 -0500)]
FuzzCanvas: fix BUG=skia:6321

Change-Id: I979b85cbe1eadca667d5d622bbbe24749da7b770
Reviewed-on: https://skia-review.googlesource.com/9289
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoRoll Recipe DEPS
Eric Boren [Mon, 6 Mar 2017 15:00:04 +0000 (10:00 -0500)]
Roll Recipe DEPS

Bisect remaining commits...
BUG=skia:

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

7 years agoDocumentation: fix width
Hal Canary [Mon, 6 Mar 2017 15:32:54 +0000 (10:32 -0500)]
Documentation: fix width

NOTRY=true
Change-Id: I60861019cc19537eaff000dec15b4ecbea54e915
Reviewed-on: https://skia-review.googlesource.com/9298
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
7 years agoDocumentation: ASAN, MSAN, and TSAN
Hal Canary [Thu, 2 Mar 2017 20:14:07 +0000 (15:14 -0500)]
Documentation: ASAN, MSAN, and TSAN

NOTRY=true
Change-Id: I7ed212047a60d323e2e98470fc1eed454d333958
Reviewed-on: https://skia-review.googlesource.com/9170
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoFix transfer function epsilon
Matt Sarett [Mon, 6 Mar 2017 14:11:54 +0000 (09:11 -0500)]
Fix transfer function epsilon

This has never worked.
1.0f == 1.0f + FLT_MIN

BUG=skia:

Change-Id: I73c8f321ea0d13497cb74f7bd5965d5910e664d1
Reviewed-on: https://skia-review.googlesource.com/9280
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoSupport Android NDK r14.
Mike Klein [Sat, 4 Mar 2017 10:39:54 +0000 (05:39 -0500)]
Support Android NDK r14.

simpleperf has moved a little since r13.  To support both, remove its
copy step.

Explicitly disable the Clang integrated assembler on MIPS.  It has only
understood the 'usw' (unaligned store) pseudoinstruction for about 4
months, and that won't be part of a Clang release until the upcoming
Clang 4.0.  Must be that -no-integrated-as was the default in r13.

All six platforms build on my laptop with r14 now.
Will follow up with the CL that moves the bots to r14.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm64-Debug-Android,Build-Ubuntu-Clang-arm-Debug-Android,Build-Ubuntu-Clang-arm64-Debug-Android,Build-Ubuntu-Clang-mips64el-Debug-Android,Build-Ubuntu-Clang-mipsel-Debug-Android,Build-Ubuntu-Clang-x64-Debug-Android,Build-Ubuntu-Clang-x86-Debug-Android,Build-Win-Clang-arm64-Release-Android

Change-Id: Ic00981d534613ebab8f6e7646b967493728b91d9
Reviewed-on: https://skia-review.googlesource.com/9237
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
7 years agoRoll Recipe DEPS
Eric Boren [Mon, 6 Mar 2017 14:06:53 +0000 (09:06 -0500)]
Roll Recipe DEPS

Just one commit:
97ab90f Reland "Make Ubuntu-14.04 the default version of Linux used when triggering Swarming tasks"

BUG=skia:

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

7 years agoRoll Recipe DEPS
Eric Boren [Mon, 6 Mar 2017 13:06:16 +0000 (08:06 -0500)]
Roll Recipe DEPS

BUG=skia:

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

7 years agoRemove XP override color.
Brian Salomon [Fri, 3 Mar 2017 19:30:15 +0000 (14:30 -0500)]
Remove XP override color.

The only use case for this was using the blend constant for LCD text. Now instead of overriding the op's color with an alpha we upload the alpha as a uniform.

This also removes two unused parameters from GrXferProcessor::getOptimizations.

Change-Id: I8268da9904a5d26649c6ae81a5705b0930893904
Reviewed-on: https://skia-review.googlesource.com/9221
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoUpdate SKP version
UpdateSKPs [Sun, 5 Mar 2017 06:56:28 +0000 (06:56 +0000)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: Ib8566fa97db3c8659f4396a415bd4cd14b7310ce
Reviewed-on: https://skia-review.googlesource.com/9246
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>

7 years agoDelete yasm config files
Matt Sarett [Sat, 4 Mar 2017 19:49:05 +0000 (14:49 -0500)]
Delete yasm config files

These aren't currently being used.

Our clients typically compile libjpeg-turbo themselves and use their
own yasm to build the .asm files.

For the libjpeg-turbo that we use to test, we don't compile the
.asm optimizations.  Maybe we should do this...  But while we don't
there is no need for the yasm config files.

BUG=skia:

Change-Id: I903a47ce444b6740b32fe8d99472c4d959058f7b
Reviewed-on: https://skia-review.googlesource.com/9238
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoTidy up DEPS
Mike Klein [Fri, 3 Mar 2017 16:59:27 +0000 (11:59 -0500)]
Tidy up DEPS

 - Sort alphabetically and align on ':'.
 - Remove yasm deps.  They're unused since we switched to GN.
 - Remove fetch-gn hook.  git-sync-deps does this now.
 - Remove comments about why DEPS are needed.
   They're all pretty obvious if you grep for the dependency name.

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

7 years agoRevert "Revert "Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable...
Mike Reed [Sat, 4 Mar 2017 21:47:47 +0000 (21:47 +0000)]
Revert "Revert "Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping."""""

This reverts commit 025e2444c1f5a0c3cdc0bf60d1fa59941a0b5db4.

Reason for revert: layouttest failures -- need to rebase these (tiny diffs in gradients)

https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/6018/layout-test-results/results.html

Original change's description:
> Revert "Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""""
>
> This reverts commit baf06bc89a0ee2ac4033281e7310f6c727faab79.
>
> Reason for revert: reland to diagnose possible g3 failure
>
> Original change's description:
> > Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping."""
> >
> > This reverts commit cfaa63237b152ae216f1351207bce3ea9808814c.
> >
> > Reason for revert: speculative revert to fix Google3
> >
> > Original change's description:
> > > Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""
> > >
> > > passes new (augmented) CanvasClipType unittest
> > > fixed rasterclipstack::setnewsize
> > >
> > > This reverts commit ea5e676a7b75600edcde3912886486004ccd7626.
> > >
> > > BUG=skia:
> > >
> > > Change-Id: I004653e0f4d01454662f8516fccab0046486f273
> > > Reviewed-on: https://skia-review.googlesource.com/9185
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > Commit-Queue: Mike Reed <reed@google.com>
> > >
> >
> > TBR=bsalomon@google.com,reed@google.com,reviews@skia.org
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=skia:
> >
> > Change-Id: Ibd7ee6383999f008eb6ee59c1c3f1c06a86044ea
> > Reviewed-on: https://skia-review.googlesource.com/9230
> > Reviewed-by: Cary Clark <caryclark@google.com>
> > Commit-Queue: Cary Clark <caryclark@google.com>
> >
>
> TBR=bsalomon@google.com,reviews@skia.org,caryclark@google.com,reed@google.com,mtklein@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Change-Id: I093fa8788056be39af01191bbf3a9e5de9f73954
> Reviewed-on: https://skia-review.googlesource.com/9244
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=mtklein@chromium.org,bsalomon@google.com,reviews@skia.org,caryclark@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I58f810a8ff241dbaf3133e2fe844548fcd0fa67a
Reviewed-on: https://skia-review.googlesource.com/9245
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoAdd SkImage::colorSpace() and SkImage::refColorSpace()
Matt Sarett [Thu, 2 Mar 2017 17:42:35 +0000 (12:42 -0500)]
Add SkImage::colorSpace() and SkImage::refColorSpace()

BUG=skia:

Change-Id: I31c2a2731cd70e4e5162905de0ad129516dacc6b
Reviewed-on: https://skia-review.googlesource.com/9152
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device...
Mike Reed [Sat, 4 Mar 2017 19:43:23 +0000 (19:43 +0000)]
Revert "Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""""

This reverts commit baf06bc89a0ee2ac4033281e7310f6c727faab79.

Reason for revert: reland to diagnose possible g3 failure

Original change's description:
> Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping."""
>
> This reverts commit cfaa63237b152ae216f1351207bce3ea9808814c.
>
> Reason for revert: speculative revert to fix Google3
>
> Original change's description:
> > Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""
> >
> > passes new (augmented) CanvasClipType unittest
> > fixed rasterclipstack::setnewsize
> >
> > This reverts commit ea5e676a7b75600edcde3912886486004ccd7626.
> >
> > BUG=skia:
> >
> > Change-Id: I004653e0f4d01454662f8516fccab0046486f273
> > Reviewed-on: https://skia-review.googlesource.com/9185
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> >
>
> TBR=bsalomon@google.com,reed@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Change-Id: Ibd7ee6383999f008eb6ee59c1c3f1c06a86044ea
> Reviewed-on: https://skia-review.googlesource.com/9230
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Cary Clark <caryclark@google.com>
>

TBR=bsalomon@google.com,reviews@skia.org,caryclark@google.com,reed@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I093fa8788056be39af01191bbf3a9e5de9f73954
Reviewed-on: https://skia-review.googlesource.com/9244
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoRevert "move some of patheffect internals into private"
Mike Reed [Sat, 4 Mar 2017 19:42:31 +0000 (19:42 +0000)]
Revert "move some of patheffect internals into private"

This reverts commit 7067fc6224833941380729857ad865547bc88430.

Reason for revert: need to update android jni

Original change's description:
> move some of patheffect internals into private
>
> BUG=skia:
>
> Change-Id: I00da9d38f16fb20f31e025dd817c5d430466a1d0
> Reviewed-on: https://skia-review.googlesource.com/9236
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I3a67b5aa9660742ec73563972b57d66c205dc0d5
Reviewed-on: https://skia-review.googlesource.com/9243
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agomove some of patheffect internals into private
Mike Reed [Sat, 4 Mar 2017 02:57:41 +0000 (21:57 -0500)]
move some of patheffect internals into private

BUG=skia:

Change-Id: I00da9d38f16fb20f31e025dd817c5d430466a1d0
Reviewed-on: https://skia-review.googlesource.com/9236
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoRebase and fix chromium
Brian Osman [Sat, 4 Mar 2017 13:12:46 +0000 (08:12 -0500)]
Rebase and fix chromium

Combine texture provider and resource provider

Largely mechanical. Only three places that were calling createApprox
via texture provider (ie without flags), so that was simple.

BUG=skia:

Change-Id: I876367bcdc6a8db736deedab1028de1972015509
Reviewed-on: https://skia-review.googlesource.com/9176
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoRemove unnecessary use of GrGLIRect in GrRenderTargetOpList
Brian Salomon [Fri, 3 Mar 2017 20:07:55 +0000 (15:07 -0500)]
Remove unnecessary use of GrGLIRect in GrRenderTargetOpList

Change-Id: I47f3930a142f8958c03906a46a7245b5af8e80f7
Reviewed-on: https://skia-review.googlesource.com/9227
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoRemove clip to bounds GrContextOption
Brian Salomon [Fri, 3 Mar 2017 19:37:38 +0000 (14:37 -0500)]
Remove clip to bounds GrContextOption

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

7 years agoGrTessellator: Implement a fast path in poly emission.
Stephen White [Fri, 3 Mar 2017 17:24:16 +0000 (12:24 -0500)]
GrTessellator: Implement a fast path in poly emission.

When there's a single triangle remaining in the monotone,
emit early and skip a convexity check.

BUG=skia:

Change-Id: I591acf4b7f567dbbf7681ba72181e578ca4623ec
Reviewed-on: https://skia-review.googlesource.com/8797
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoAdd Braswell bots.
Ben Wagner [Fri, 3 Mar 2017 20:12:25 +0000 (15:12 -0500)]
Add Braswell bots.

BUG=skia:6324
NOTRY=true

Change-Id: I5c8b1572f839efa0a010e1cec8026c34f72cb92a
Reviewed-on: https://skia-review.googlesource.com/9229
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoUse an exponential growth strategy for extra blocks.
Herb Derby [Fri, 3 Mar 2017 20:09:43 +0000 (15:09 -0500)]
Use an exponential growth strategy for extra blocks.

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

7 years agoRevert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric...
Cary Clark [Fri, 3 Mar 2017 20:27:13 +0000 (20:27 +0000)]
Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping."""

This reverts commit cfaa63237b152ae216f1351207bce3ea9808814c.

Reason for revert: speculative revert to fix Google3

Original change's description:
> Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""
>
> passes new (augmented) CanvasClipType unittest
> fixed rasterclipstack::setnewsize
>
> This reverts commit ea5e676a7b75600edcde3912886486004ccd7626.
>
> BUG=skia:
>
> Change-Id: I004653e0f4d01454662f8516fccab0046486f273
> Reviewed-on: https://skia-review.googlesource.com/9185
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=bsalomon@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: Ibd7ee6383999f008eb6ee59c1c3f1c06a86044ea
Reviewed-on: https://skia-review.googlesource.com/9230
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>

7 years agoSkJumper: store_f32
Mike Klein [Fri, 3 Mar 2017 19:05:32 +0000 (14:05 -0500)]
SkJumper: store_f32

Change-Id: I4bc6d1a8787c540fd1a29274650d34392e56651c
Reviewed-on: https://skia-review.googlesource.com/9223
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoUpgrade Go in CIPD to 1.7.5
Joe Gregorio [Fri, 3 Mar 2017 18:57:39 +0000 (13:57 -0500)]
Upgrade Go in CIPD to 1.7.5

BUG=skia:

Change-Id: I70fadfa293387bec03a201ac986b3e1cba053ab6
Reviewed-on: https://skia-review.googlesource.com/9222
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agoRevert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""
Mike Reed [Fri, 3 Mar 2017 18:58:10 +0000 (13:58 -0500)]
Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""

passes new (augmented) CanvasClipType unittest
fixed rasterclipstack::setnewsize

This reverts commit ea5e676a7b75600edcde3912886486004ccd7626.

BUG=skia:

Change-Id: I004653e0f4d01454662f8516fccab0046486f273
Reviewed-on: https://skia-review.googlesource.com/9185
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoRemove extract_comments in housekeeper bot.
Joe Gregorio [Fri, 3 Mar 2017 18:21:26 +0000 (13:21 -0500)]
Remove extract_comments in housekeeper bot.

BUG=skia:

Change-Id: I6bd745a03c9f8c06ed711839a4bda1db0693cf5a
Reviewed-on: https://skia-review.googlesource.com/9220
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>

7 years agoSwitch SkImageGenerator over to generating GrTextureProxies
Robert Phillips [Fri, 3 Mar 2017 16:10:18 +0000 (11:10 -0500)]
Switch SkImageGenerator over to generating GrTextureProxies

It does not seem irrational for generateTexture to always receive a valid GrContext. lockAsBitmap can do as it pleases.

This is split out of: https://skia-review.googlesource.com/c/8823/ (Remove GrFragmentProcessor-derived class' GrTexture-based ctors)

Change-Id: I8aebc813a8a3a7d694b7369c2c9810e2164fe16e
Reviewed-on: https://skia-review.googlesource.com/9191
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoRevert "Upgrade Go in CIPD to 1.7.5"
Cary Clark [Fri, 3 Mar 2017 17:34:15 +0000 (17:34 +0000)]
Revert "Upgrade Go in CIPD to 1.7.5"

This reverts commit 3fb5299febf37456408c81298bbf2092133cb4f3.

Reason for revert: speculative revert to see if it fixes housekeeping bot

Original change's description:
> Upgrade Go in CIPD to 1.7.5
>
> BUG=skia:
>
> Change-Id: I574c704a4c4bee90b26c1d73d17762ae8b8f55f6
> Reviewed-on: https://skia-review.googlesource.com/9192
> Commit-Queue: Joe Gregorio <jcgregorio@google.com>
> Reviewed-by: Ravi Mistry <rmistry@google.com>
>

TBR=rmistry@google.com,jcgregorio@google.com,borenet@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I8fe46a29d4e24d54e769ccfae210bed5d2c4037c
Reviewed-on: https://skia-review.googlesource.com/9198
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>

7 years agoUpgrade Go in CIPD to 1.7.5
Joe Gregorio [Fri, 3 Mar 2017 15:55:10 +0000 (10:55 -0500)]
Upgrade Go in CIPD to 1.7.5

BUG=skia:

Change-Id: I574c704a4c4bee90b26c1d73d17762ae8b8f55f6
Reviewed-on: https://skia-review.googlesource.com/9192
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
7 years agoPut is_skia_standalone back a bit.
Mike Klein [Fri, 3 Mar 2017 15:55:02 +0000 (10:55 -0500)]
Put is_skia_standalone back a bit.

We do still need to know when we're in our GN environment or in another,
like Fuchsia's or Flutter's.

The places where we replaced is_skia_standalone with defined(ndk) still
look right to me as defined(ndk).

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-GCC-x86_64-Release-Flutter_Android

Change-Id: I5455014a8f4a350ac3a939097d042fd8cb4c32fa
Reviewed-on: https://skia-review.googlesource.com/9193
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoStrengthen is_official_build, update docs.
Mike Klein [Fri, 3 Mar 2017 14:21:30 +0000 (09:21 -0500)]
Strengthen is_official_build, update docs.

This makes is_official_build turn off all development targets and
features in Skia, including building third-party dependencies from
source.

This will intentionally break some external users, who will find
themselves no longer able to find third-party headers or link against
third-party libraries.  These users have been building with our testing
third-party dependencies unknowingly.  They'll need to either explicitly
turn back on building each dependency from source
(skia_use_system_foo=false) or disable that dependency entirely
(skia_use_foo=false).

is_skia_standalone is now basically !is_official_build, so I've
propagated that through, removing is_skia_standalone.  In a few places
we were using it as a stand-in for defined(ndk), so I've just written
defined(ndk) there.  Duh.

gn_to_bp:

    is_offical_build's new strength also makes gn_to_bp.py simpler to
    write.  In spirit, Android builds are official Skia builds that also
    build DM and nanobench.

    It seems that SkJumper (src/jumper/*) is (unintentionally) enabled
    on Android.  Switching to an is_official_build would have disabled
    that.  But as that accidental launch seems to have gone fine, I've
    kept it explicitly enabled.

    In the end, no changes to Android.bp or its SkUserConfig.h.

The -Mini builder no longer needs to explicitly disable tools.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Release-Mini

Change-Id: Id06e53268a5caf55c6046ada354a0863c3031c73
Reviewed-on: https://skia-review.googlesource.com/9190
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoUse non-fatal errors for WIC decoding failures
Matt Sarett [Thu, 2 Mar 2017 17:07:46 +0000 (12:07 -0500)]
Use non-fatal errors for WIC decoding failures

This should fix flakiness on the Win 2k8 bots.

BUG=skia:

Change-Id: Ibdd33279a092172f0b154493f59790a8db9f58bd
Reviewed-on: https://skia-review.googlesource.com/9142
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoDocumentation: detailed iOS
Hal Canary [Fri, 3 Mar 2017 13:29:18 +0000 (08:29 -0500)]
Documentation: detailed iOS

NOTRY=true
Change-Id: I24328509fc902f4f41198e249e82e88eda5dd21d
Reviewed-on: https://skia-review.googlesource.com/9189
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoMake GrSurface::MakeDeferred return sk_sp<GrTextureProxy>
Robert Phillips [Thu, 2 Mar 2017 23:18:38 +0000 (18:18 -0500)]
Make GrSurface::MakeDeferred return sk_sp<GrTextureProxy>

This should make upcoming changes less tedious

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

7 years agoupdate cliptype test to exercise clipstack backend
Mike Reed [Fri, 3 Mar 2017 01:07:46 +0000 (20:07 -0500)]
update cliptype test to exercise clipstack backend

BUG=skia:

Change-Id: Iaa54dd8d556db3cead723558e812d927376b08c0
Reviewed-on: https://skia-review.googlesource.com/9186
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoGrTessellator: add a null-check for a clusterfuzz test case.
Stephen White [Thu, 2 Mar 2017 21:16:33 +0000 (16:16 -0500)]
GrTessellator: add a null-check for a clusterfuzz test case.

BUG=695696

Change-Id: I1c001316721b3c042cff115c905ff0d2c2698ac0
Reviewed-on: https://skia-review.googlesource.com/9053
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>

7 years agoRelease resources if SkMallocPixelRef::NewWithProc fails.
Ben Wagner [Thu, 2 Mar 2017 22:33:21 +0000 (17:33 -0500)]
Release resources if SkMallocPixelRef::NewWithProc fails.

Change-Id: I29b96cd9f2d2311b4caae092102f501dbc6a4fe8
Reviewed-on: https://skia-review.googlesource.com/9182
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "Use inline storage for SkEdgeBuilder."
Mike Klein [Thu, 2 Mar 2017 22:04:55 +0000 (22:04 +0000)]
Revert "Use inline storage for SkEdgeBuilder."

This reverts commit be32a432af7aab06ab1457cec35789da85b40bbe.

Reason for revert: Google3 stacks are smaller than you might hope.  "the frame size of 25584 bytes is larger than 16384 bytes; see http://go/big_stack_frame"

Original change's description:
> Use inline storage for SkEdgeBuilder.
>
> Change-Id: I06d9ee759a366d6c2c11341e15e671f5a1f87ae7
> Reviewed-on: https://skia-review.googlesource.com/9164
> Reviewed-by: Yuqian Li <liyuqian@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
>

TBR=herb@google.com,liyuqian@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

7 years agoDon't mark the matrix-type as dirty just be cause we translate it.
Mike Reed [Thu, 2 Mar 2017 20:45:15 +0000 (15:45 -0500)]
Don't mark the matrix-type as dirty just be cause we translate it.

This speeds up simple mods to canvas, e.g.

save()
translate(...)
...
restore()

BUG=skia:

Change-Id: I4b872e7d3102fad21d9c17a275006f5576827d41
Reviewed-on: https://skia-review.googlesource.com/9169
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoRemove SkLiteDL::makeThreadsafe().
Mike Klein [Thu, 2 Mar 2017 20:26:33 +0000 (15:26 -0500)]
Remove SkLiteDL::makeThreadsafe().

It's not used, and removing it cuts a branch in DrawDrawable::draw().

Change-Id: I15d13dda1ec594c525f5d108e208b00286c2d09f
Reviewed-on: https://skia-review.googlesource.com/9174
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoFuzzCanvas: fix drawVertices BUG=skia:6314
Hal Canary [Thu, 2 Mar 2017 20:27:23 +0000 (15:27 -0500)]
FuzzCanvas: fix drawVertices BUG=skia:6314

Change-Id: I5f55a0fc03d4fe780b35529df9eeb385639501f2
Reviewed-on: https://skia-review.googlesource.com/9173
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoadd unittests for clip-state queries
Mike Reed [Thu, 2 Mar 2017 20:21:11 +0000 (15:21 -0500)]
add unittests for clip-state queries

BUG=skia:

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

7 years agoUse GrSemaphore rather than GrFence for external texture data
Brian Osman [Thu, 2 Mar 2017 20:09:20 +0000 (15:09 -0500)]
Use GrSemaphore rather than GrFence for external texture data

BUG=skia:

Change-Id: I0d23eb9dcf5c01c71d3571ef97690af68b900807
Reviewed-on: https://skia-review.googlesource.com/9141
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoUse the auto blitter alloc to build linear pipelines with.
Herb Derby [Thu, 2 Mar 2017 19:39:32 +0000 (14:39 -0500)]
Use the auto blitter alloc to build linear pipelines with.

TBR=mtklein@google.com

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

7 years agoSkJumper: use AVX2 mask loads and stores for U32
Mike Klein [Thu, 2 Mar 2017 19:08:36 +0000 (14:08 -0500)]
SkJumper: use AVX2 mask loads and stores for U32

SkRasterPipeline_f16:  63 -> 58  (8888+f16 loads, f16 store)
SkRasterPipeline_srgb: 96 -> 84  (2x 8888 loads, 8888 store)

PS3 has a simpler way to build the mask, in a uint64_t.
Timing is still roughlt the same.

Change-Id: Ie278611dff02281e5a0f3a57185050bbe852bff0
Reviewed-on: https://skia-review.googlesource.com/9165
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agofixed duplicate interface variable in SPIR-V output
Ethan Nicholas [Thu, 2 Mar 2017 19:33:31 +0000 (14:33 -0500)]
fixed duplicate interface variable in SPIR-V output

BUG=skia:

Change-Id: Iee6b8de83b8ee6ce9de910a12bd86042018d7965
Reviewed-on: https://skia-review.googlesource.com/9167
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agoRevert "Remove SkDraw from device-draw methods, and enable device-centric clipping."
Mike Reed [Thu, 2 Mar 2017 20:22:35 +0000 (20:22 +0000)]
Revert "Remove SkDraw from device-draw methods, and enable device-centric clipping."

This reverts commit c77e33f73d3e86cfabf925d6f2e1166f81022575.

Reason for revert: breaks isClipRect
- this CL inspected the conservative clip for this, which is (by definition) a rect
- probably need to query the device for this info

Original change's description:
> Remove SkDraw from device-draw methods, and enable device-centric clipping.
>
> BUG=skia:6214
>
> Change-Id: I593900724310d09133ae4791ef68d38c43762fc2
> Reviewed-on: https://skia-review.googlesource.com/8806
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=bsalomon@google.com,halcanary@google.com,msarett@google.com,robertphillips@google.com,fmalita@chromium.org,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6214

Change-Id: I9090cbbb9f45b2dd204d9fdc187de2ff714b93f6
Reviewed-on: https://skia-review.googlesource.com/9172
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoRefactor SkLiteDL to no longer extend SkDrawable.
Derek Sollenberger [Wed, 1 Mar 2017 20:33:23 +0000 (15:33 -0500)]
Refactor SkLiteDL to no longer extend SkDrawable.

Change-Id: Ieaa849bceba0e98e4c99491c721fe945a0694e68
Reviewed-on: https://skia-review.googlesource.com/9111
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>

7 years agoTell PDF on Mac when a font is a variation font.
Ben Wagner [Thu, 2 Mar 2017 18:31:16 +0000 (13:31 -0500)]
Tell PDF on Mac when a font is a variation font.

PDF needs to know when a font is a variation font so that it knows
it cannot just embed the typeface.

BUG=chromium:697916

Change-Id: I85091e444a235545f0f63fe131729c107bb664a0
Reviewed-on: https://skia-review.googlesource.com/9158
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoAdd MotoG4 bot.
Ben Wagner [Thu, 2 Mar 2017 17:43:06 +0000 (12:43 -0500)]
Add MotoG4 bot.

BUG=skia:
NOTRY=true

Change-Id: I987b1b1f2c739a8301923ac567f9a57dfb64dc97
Reviewed-on: https://skia-review.googlesource.com/9148
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoUse inline storage for SkEdgeBuilder.
Herb Derby [Thu, 2 Mar 2017 19:00:10 +0000 (14:00 -0500)]
Use inline storage for SkEdgeBuilder.

Change-Id: I06d9ee759a366d6c2c11341e15e671f5a1f87ae7
Reviewed-on: https://skia-review.googlesource.com/9164
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Herb Derby <herb@google.com>

7 years agopass storage directly to allocator for blitters
Mike Reed [Thu, 2 Mar 2017 18:39:25 +0000 (13:39 -0500)]
pass storage directly to allocator for blitters

BUG=skia:

Change-Id: If93df0437b2aba813042241f00eb0c6fba2a3c6f
Reviewed-on: https://skia-review.googlesource.com/9161
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoUse proxy canvas size.
Herb Derby [Thu, 2 Mar 2017 18:36:26 +0000 (13:36 -0500)]
Use proxy canvas size.

The old code just hard coded 1,1 as size. Instead use the size of the
proxy canvas.

Change-Id: Ib1ebc9339c98680ca350f26f8ec514f6782de8a4
Reviewed-on: https://skia-review.googlesource.com/9160
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Herb Derby <herb@google.com>

7 years agoRemove SkDraw from device-draw methods, and enable device-centric clipping.
Mike Reed [Thu, 2 Mar 2017 16:23:46 +0000 (11:23 -0500)]
Remove SkDraw from device-draw methods, and enable device-centric clipping.

BUG=skia:6214

Change-Id: I593900724310d09133ae4791ef68d38c43762fc2
Reviewed-on: https://skia-review.googlesource.com/8806
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoSkJumper: skip null contexts
Mike Klein [Thu, 2 Mar 2017 17:42:14 +0000 (12:42 -0500)]
SkJumper: skip null contexts

This makes stages that don't use a context pointer look a little
cleaner, especially on ARM.  No interesting speed difference on x86.

What do you think?

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

7 years agoSkPDF: empty shader boxes bad
Hal Canary [Thu, 2 Mar 2017 17:42:02 +0000 (12:42 -0500)]
SkPDF: empty shader boxes bad

BUG=skia:6315
Change-Id: I48172b4deb4c55b08310e8e3d68089cfafeaa951
Reviewed-on: https://skia-review.googlesource.com/9156
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoRevert "Revert "Revert "Revert "Move GrTextureProvider to src""""
Brian Osman [Thu, 2 Mar 2017 18:36:27 +0000 (13:36 -0500)]
Revert "Revert "Revert "Revert "Move GrTextureProvider to src""""

This reverts commit 580ffa0fb17bc4e924776eafd941bf1fab397cde.

Reason for revert: Okay, it landed.

Original change's description:
> Revert "Revert "Revert "Move GrTextureProvider to src"""
>
> This reverts commit 2fe8373bb1d56f531f8a2e03a3087b0aa73e199c.
>
> Reason for revert: Google3 fix isn't landing.
>
> Original change's description:
> > Revert "Revert "Move GrTextureProvider to src""
> >
> > This reverts commit 13d7f5d7c2872ed4298330758e173ae605578cb2.
> >
> > Reason for revert: Fixed client code. Re-landing.
> >
> > Original change's description:
> > > Revert "Move GrTextureProvider to src"
> > >
> > > This reverts commit 24429c68c56683252e3fc2a79d9b660eaf96ec0c.
> > >
> > > Reason for revert: Breaking a roll
> > >
> > > Original change's description:
> > > > Move GrTextureProvider to src
> > > >
> > > > With this hidden, we can make further simplification. Just want to test
> > > > this change against our external clients first, to make sure we're okay
> > > > to proceed.
> > > >
> > > > BUG=skia:
> > > >
> > > > Change-Id: I47f8c8f2912201c2890bc2f9a9d68aa92649a2d4
> > > > Reviewed-on: https://skia-review.googlesource.com/9072
> > > > Commit-Queue: Brian Osman <brianosman@google.com>
> > > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > >
> > >
> > > TBR=bsalomon@google.com,brianosman@google.com,benjaminwagner@google.com,reviews@skia.org
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=skia:
> > >
> > > Change-Id: I43cc135731245c29e24bbecf06ee46c562955c03
> > > Reviewed-on: https://skia-review.googlesource.com/9123
> > > Reviewed-by: Brian Osman <brianosman@google.com>
> > > Commit-Queue: Brian Osman <brianosman@google.com>
> > >
> >
> > TBR=bsalomon@google.com,benjaminwagner@google.com,reviews@skia.org,brianosman@google.com
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=skia:
> >
> > Change-Id: Ibcb2ea34654315327c46ea8e4de5bf14376d9bdf
> > Reviewed-on: https://skia-review.googlesource.com/9127
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> >
>
> TBR=bsalomon@google.com,benjaminwagner@google.com,reviews@skia.org,brianosman@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Change-Id: If5c06c7608d76c45438d03fefb21c4edd7da4f36
> Reviewed-on: https://skia-review.googlesource.com/9128
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>

TBR=bsalomon@google.com,benjaminwagner@google.com,reviews@skia.org,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

7 years agoUse fast path for circular shadows.
Jim Van Verth [Thu, 2 Mar 2017 16:28:43 +0000 (11:28 -0500)]
Use fast path for circular shadows.

Also cleans up some of the MaskFilter code to make it
more correct.

BUG=skia:6119

Change-Id: I93016bcdd9c55fcb2d1dc8776428a72eb563d67a
Reviewed-on: https://skia-review.googlesource.com/9116
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoCheck that the FT_Face actually exists in SkTypeface_FreeType::onGetVariationDesignPo...
Ben Wagner [Thu, 2 Mar 2017 16:48:38 +0000 (11:48 -0500)]
Check that the FT_Face actually exists in SkTypeface_FreeType::onGetVariationDesignPosition.

All users of AutoFTAccess check the FT_Face for nullptr in case the
FT_Face cannot actually be created. This check was overlooked in the
recent addition of SkTypeface_FreeType::onGetVariationDesignPosition.

BUG=chromium:697878

Change-Id: I92dfe845f2aecfa00bd4d088ac139f74c019c03d
Reviewed-on: https://skia-review.googlesource.com/9151
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoSkJumper: be more precise by rejecting data sections.
Mike Klein [Thu, 2 Mar 2017 16:16:22 +0000 (11:16 -0500)]
SkJumper: be more precise by rejecting data sections.

This allows %rip addressing as long as it's not going into a data
section.  This lets us use switch tables, avoiding loops and stack.

On HSW,
  SkRasterPipeline_f16:   90 -> 63
  SkRasterPipeline_srgb: 170 -> 97

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

7 years agoGrTessellator (AA): restore rounding in Line::intersect().
Stephen White [Thu, 2 Mar 2017 15:35:56 +0000 (10:35 -0500)]
GrTessellator (AA): restore rounding in Line::intersect().

I removed this in https://skia-review.googlesource.com/8028, but that
was actually just masking a problem properly fixed in
https://skia-review.googlesource.com/8364. Now that it is fixed, we
can restore the rounding, which actually improves performance by
5-10% on Canvas Arcs (when run with the tess verb limit disabled).

NOTE: this change will affect many GMs, including strokes_poly,
addarc, parsedpaths, dashcubics, beziers, nested_aa, etc.

BUG=skia:

Change-Id: Id10f82e35a344247cab27e6d59a0dd2e11c9944d
Reviewed-on: https://skia-review.googlesource.com/9051
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>

7 years agoSkJumper: handle the <kStride tail in AVX+ mode.
Mike Klein [Wed, 1 Mar 2017 18:07:40 +0000 (13:07 -0500)]
SkJumper: handle the <kStride tail in AVX+ mode.

We have plenty general purpose registers to spare on x86-64,
so the cheapest thing to do is use one to hold the usual 'tail'.

Speedups on HSW:
    SkRasterPipeline_srgb: 292 -> 170
    SkRasterPipeline_f16:  122 ->  90

There's plenty more room to improve here, e.g. using mask loads and
stores, but this seems to be enough to get things working reasonably.

BUG=skia:6289

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

7 years agoUse GrTextureProvider's uniqueKey setting method rather than directly setting it
Robert Phillips [Thu, 2 Mar 2017 15:23:52 +0000 (10:23 -0500)]
Use GrTextureProvider's uniqueKey setting method rather than directly setting it

Clients will not be able to directly set the uniqueKey on GrTextureProxies. This CL sets up the choke point for the switch over to having uniqueKeys be managed by a third party (the textureProvider).

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

7 years agoDetermine whether any fp uses local coords in FragmentProcessorAnalysis rather than...
Brian Salomon [Thu, 2 Mar 2017 13:49:19 +0000 (08:49 -0500)]
Determine whether any fp uses local coords in FragmentProcessorAnalysis rather than GrPipeline creation

Change-Id: I3b6253cd2b0081dfece51125082fd78f647e45e1
Reviewed-on: https://skia-review.googlesource.com/9133
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoFix flutter compile bot
Ravi Mistry [Thu, 2 Mar 2017 14:23:47 +0000 (09:23 -0500)]
Fix flutter compile bot

BUG=skia:6310

Change-Id: I540ea1b8a4e4c4faa8fa0f5550f25023763c3fea
Reviewed-on: https://skia-review.googlesource.com/9135
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoSkJumper: allow the compiler to generate FMAs
Mike Klein [Thu, 2 Mar 2017 14:19:25 +0000 (09:19 -0500)]
SkJumper: allow the compiler to generate FMAs

Today we use mad() to get FMAs where possible.
-ffp-contract=fast lets the compiler generate them if it spots an opportunity.

It looks like it's found a mix of FMAs and FMSs.

I will follow up by seeing if we can relax the use of mad().
Quick experiments say no, but less quick experiments may say otherwise.

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

7 years agoUpdate Skia milestone to 59
Heather Miller [Thu, 2 Mar 2017 14:45:02 +0000 (09:45 -0500)]
Update Skia milestone to 59

BUG=skia:

Change-Id: Ifa8fa20a838b2899a1230bf51cea7c4cf28971d8
Reviewed-on: https://skia-review.googlesource.com/9139
Reviewed-by: Heather Miller <hcm@google.com>
7 years agoTest sRGB with non-linear blending using new "srgbnl" sink
Matt Sarett [Thu, 2 Mar 2017 13:53:46 +0000 (08:53 -0500)]
Test sRGB with non-linear blending using new "srgbnl" sink

BUG=skia:

Change-Id: Ief7516c1505f8e447f83121ed4ba75b9fa9ba75b
Reviewed-on: https://skia-review.googlesource.com/8976
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agofix leak in SPIRV code generator
Ethan Nicholas [Wed, 1 Mar 2017 17:07:28 +0000 (12:07 -0500)]
fix leak in SPIRV code generator

BUG=skia:6101

Change-Id: Ic083becfb44e36b029ef9511825f4a681b7495f4
Reviewed-on: https://skia-review.googlesource.com/9103
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agoSymbolize all Ubuntu dm/nanobench runs
Kevin Lubick [Thu, 2 Mar 2017 13:34:47 +0000 (08:34 -0500)]
Symbolize all Ubuntu dm/nanobench runs

BUG=skia:6206

Change-Id: Ic73b04ee832c7c603a032c5726b34ecb3ac3b4ff
Reviewed-on: https://skia-review.googlesource.com/9131
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years agoAdd some thread safety notes.
Mike Klein [Wed, 1 Mar 2017 16:16:17 +0000 (11:16 -0500)]
Add some thread safety notes.

These are the main problems we tend to hit with multithreaded drawing.

Change-Id: I63dc56f38a533eb839d36833e865af5fcc700d3b
Reviewed-on: https://skia-review.googlesource.com/9100
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRemove atlas creation from GrResourceProvider
Robert Phillips [Wed, 1 Mar 2017 19:32:46 +0000 (14:32 -0500)]
Remove atlas creation from GrResourceProvider

This is pulled out of: https://skia-review.googlesource.com/c/6680/ (Make SkImage_Gpu be deferred) and is only tangentially related to the goal of that CL.

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

7 years agoSome small SkJumper refactoring.
Mike Klein [Thu, 2 Mar 2017 02:49:23 +0000 (21:49 -0500)]
Some small SkJumper refactoring.

No generated code changes.

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

7 years agoRevert "Revert "Revert "Move GrTextureProvider to src"""
Brian Osman [Thu, 2 Mar 2017 01:17:01 +0000 (01:17 +0000)]
Revert "Revert "Revert "Move GrTextureProvider to src"""

This reverts commit 2fe8373bb1d56f531f8a2e03a3087b0aa73e199c.

Reason for revert: Google3 fix isn't landing.

Original change's description:
> Revert "Revert "Move GrTextureProvider to src""
>
> This reverts commit 13d7f5d7c2872ed4298330758e173ae605578cb2.
>
> Reason for revert: Fixed client code. Re-landing.
>
> Original change's description:
> > Revert "Move GrTextureProvider to src"
> >
> > This reverts commit 24429c68c56683252e3fc2a79d9b660eaf96ec0c.
> >
> > Reason for revert: Breaking a roll
> >
> > Original change's description:
> > > Move GrTextureProvider to src
> > >
> > > With this hidden, we can make further simplification. Just want to test
> > > this change against our external clients first, to make sure we're okay
> > > to proceed.
> > >
> > > BUG=skia:
> > >
> > > Change-Id: I47f8c8f2912201c2890bc2f9a9d68aa92649a2d4
> > > Reviewed-on: https://skia-review.googlesource.com/9072
> > > Commit-Queue: Brian Osman <brianosman@google.com>
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > >
> >
> > TBR=bsalomon@google.com,brianosman@google.com,benjaminwagner@google.com,reviews@skia.org
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=skia:
> >
> > Change-Id: I43cc135731245c29e24bbecf06ee46c562955c03
> > Reviewed-on: https://skia-review.googlesource.com/9123
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> >
>
> TBR=bsalomon@google.com,benjaminwagner@google.com,reviews@skia.org,brianosman@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Change-Id: Ibcb2ea34654315327c46ea8e4de5bf14376d9bdf
> Reviewed-on: https://skia-review.googlesource.com/9127
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>

TBR=bsalomon@google.com,benjaminwagner@google.com,reviews@skia.org,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: If5c06c7608d76c45438d03fefb21c4edd7da4f36
Reviewed-on: https://skia-review.googlesource.com/9128
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoAdd support for Semaphores (gpu waiting on gpu) in Ganesh
Greg Daniel [Wed, 1 Mar 2017 22:01:09 +0000 (17:01 -0500)]
Add support for Semaphores (gpu waiting on gpu) in Ganesh

BUG=skia:

Change-Id: I4324b65bc50a3dfd90372459899870d5f1952fdc
Reviewed-on: https://skia-review.googlesource.com/9120
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoMake SkTypeface::onGetVariationDesignPosition pure virtual.
Ben Wagner [Wed, 1 Mar 2017 21:55:44 +0000 (16:55 -0500)]
Make SkTypeface::onGetVariationDesignPosition pure virtual.

It was non-pure until it could be implemented everywhere. Now that it
is implemented everywhere, mark it as pure virtual.

Change-Id: I985eda37d52e6d194fb39c27cb6bc0ce641238ec
Reviewed-on: https://skia-review.googlesource.com/9125
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoSkJumper: upgrade to Clang 3.9
Mike Klein [Wed, 1 Mar 2017 21:43:08 +0000 (16:43 -0500)]
SkJumper: upgrade to Clang 3.9

Mostly I think this will help me handle the AVX tails better.
But there are some wins here already, particularly in AVX and ARM code.

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

7 years agoRemove SK_HAS_DWRITE_X defines.
Ben Wagner [Wed, 1 Mar 2017 21:08:00 +0000 (16:08 -0500)]
Remove SK_HAS_DWRITE_X defines.

While developing DirectWrite it was ncessary to support building with
older Windows SDKs which may not have certain headers. Now that the
minimum required Windows SDK is 8.1 (0x0603) we can remove these
difficult to use macros to simplify future development.

Change-Id: Ia780466b7c9b86198116c5974c43363f49a0ebac
Reviewed-on: https://skia-review.googlesource.com/9124
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoCall FT_Set_Default_Properties when available.
Ben Wagner [Wed, 1 Mar 2017 18:00:53 +0000 (13:00 -0500)]
Call FT_Set_Default_Properties when available.

FreeType 2.7.0 added the ability to read some global properties from
environment variables to configure an FT_Library. However, this did
not apply to FT_New_Library. After 2.7.1 FT_Set_Default_Properties was
added so that users of FT_New_Library can also repect these properties.

This also removes SK_FONTHOST_FREETYPE_USE_NORMAL_LCD_FILTER and
associated code since there are no users of this flag, the behavior it
guards is now more or less in upstream FreeType, and the pattern in the
code it guards is now in use for calling FT_Set_Default_Properties.

BUG=skia:6165

Change-Id: I9fca86cc8b1bb9709c0b980330cf974455be3b57
Reviewed-on: https://skia-review.googlesource.com/9109
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoRevert "Revert "Move GrTextureProvider to src""
Brian Osman [Wed, 1 Mar 2017 21:54:04 +0000 (21:54 +0000)]
Revert "Revert "Move GrTextureProvider to src""

This reverts commit 13d7f5d7c2872ed4298330758e173ae605578cb2.

Reason for revert: Fixed client code. Re-landing.

Original change's description:
> Revert "Move GrTextureProvider to src"
>
> This reverts commit 24429c68c56683252e3fc2a79d9b660eaf96ec0c.
>
> Reason for revert: Breaking a roll
>
> Original change's description:
> > Move GrTextureProvider to src
> >
> > With this hidden, we can make further simplification. Just want to test
> > this change against our external clients first, to make sure we're okay
> > to proceed.
> >
> > BUG=skia:
> >
> > Change-Id: I47f8c8f2912201c2890bc2f9a9d68aa92649a2d4
> > Reviewed-on: https://skia-review.googlesource.com/9072
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> >
>
> TBR=bsalomon@google.com,brianosman@google.com,benjaminwagner@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Change-Id: I43cc135731245c29e24bbecf06ee46c562955c03
> Reviewed-on: https://skia-review.googlesource.com/9123
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>

TBR=bsalomon@google.com,benjaminwagner@google.com,reviews@skia.org,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: Ibcb2ea34654315327c46ea8e4de5bf14376d9bdf
Reviewed-on: https://skia-review.googlesource.com/9127
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoFuzzCanvas: fix text generation BUG=skia:6299
Hal Canary [Wed, 1 Mar 2017 20:40:46 +0000 (15:40 -0500)]
FuzzCanvas: fix text generation BUG=skia:6299

Change-Id: Ia87aee1e21bb3429d9f0bab0943190b48e0d76f2
Reviewed-on: https://skia-review.googlesource.com/9122
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoRevert "Move GrTextureProvider to src"
Brian Osman [Wed, 1 Mar 2017 20:56:30 +0000 (20:56 +0000)]
Revert "Move GrTextureProvider to src"

This reverts commit 24429c68c56683252e3fc2a79d9b660eaf96ec0c.

Reason for revert: Breaking a roll

Original change's description:
> Move GrTextureProvider to src
>
> With this hidden, we can make further simplification. Just want to test
> this change against our external clients first, to make sure we're okay
> to proceed.
>
> BUG=skia:
>
> Change-Id: I47f8c8f2912201c2890bc2f9a9d68aa92649a2d4
> Reviewed-on: https://skia-review.googlesource.com/9072
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

TBR=bsalomon@google.com,brianosman@google.com,benjaminwagner@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I43cc135731245c29e24bbecf06ee46c562955c03
Reviewed-on: https://skia-review.googlesource.com/9123
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoAdd Galaxy J5 bots.
Ben Wagner [Wed, 1 Mar 2017 19:13:55 +0000 (14:13 -0500)]
Add Galaxy J5 bots.

BUG=skia:6097
NOTRY=true

Change-Id: I34bd1b10201c4f38b00b80a59e30776414844e05
Reviewed-on: https://skia-review.googlesource.com/9107
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoAdd path renderer options to viewer GUI
Brian Osman [Wed, 1 Mar 2017 19:59:05 +0000 (14:59 -0500)]
Add path renderer options to viewer GUI

BUG=skia:

Change-Id: I248ba081f0229d7fcf2071009076acc88b80b076
Reviewed-on: https://skia-review.googlesource.com/9088
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoRemove stencil related flags from GrInstancedPipelineInfo.
Brian Salomon [Wed, 1 Mar 2017 19:34:41 +0000 (14:34 -0500)]
Remove stencil related flags from GrInstancedPipelineInfo.

Change-Id: Ieeb8ada92b5196473d5cea77350fd994bfff8916
Reviewed-on: https://skia-review.googlesource.com/9086
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoremove unneeded android flag for textdecorations
Mike Reed [Wed, 1 Mar 2017 19:02:05 +0000 (14:02 -0500)]
remove unneeded android flag for textdecorations

BUG=skia:

Change-Id: I8d2d15fca9b009ef87075497f58b14d913e2e6b1
Reviewed-on: https://skia-review.googlesource.com/9119
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agofix fuzzer
Cary Clark [Wed, 1 Mar 2017 19:02:02 +0000 (14:02 -0500)]
fix fuzzer

turn asserts into error returns to fix fuzz

R=kjlubick@google.com
BUG=skia:6162

Change-Id: I7508eb5cb41425dcfc2718aaa9cc1ee8aa00acc9
Reviewed-on: https://skia-review.googlesource.com/9118
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>

7 years agoUnpremul the blend constant in PDLCDXferProcessor.
Brian Salomon [Wed, 1 Mar 2017 18:59:10 +0000 (13:59 -0500)]
Unpremul the blend constant in PDLCDXferProcessor.

This was accidentally dropped in https://skia.googlesource.com/skia.git/+/eec6f7be5461e588210f383b8af18f324a2bdb46

BUG=chromium:695626

Change-Id: If715fdc673fafa4baf6a61545c2b3b9d3ded9232
Reviewed-on: https://skia-review.googlesource.com/9117
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoGrTessellator: minor cleanups and speedups.
Stephen White [Wed, 1 Mar 2017 16:48:27 +0000 (11:48 -0500)]
GrTessellator: minor cleanups and speedups.

Don't null out vertex's fPrev and fNext ptrs during
MonotonePoly::emit(); list_insert() will do it for us.

Don't normalize the tangent returned by get_unit_normal() to unit
length, since we can do the dot product comparison without it.

Copy Lines where possible, rather than recomputing them.

Change-Id: I733b00dd9d9d493313ac9a1c71aac0b708e78201
Reviewed-on: https://skia-review.googlesource.com/9047
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>

7 years agoUse SkArenaAlloc in SkEdgeBuilder.
Herb Derby [Wed, 1 Mar 2017 18:44:39 +0000 (13:44 -0500)]
Use SkArenaAlloc in SkEdgeBuilder.

Change-Id: Ie3557469d018b857dc6fb4543d367fcd8768f0b7
Reviewed-on: https://skia-review.googlesource.com/9115
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Herb Derby <herb@google.com>

7 years agoMove GrTextureProvider to src
Brian Osman [Wed, 1 Mar 2017 18:41:52 +0000 (13:41 -0500)]
Move GrTextureProvider to src

With this hidden, we can make further simplification. Just want to test
this change against our external clients first, to make sure we're okay
to proceed.

BUG=skia:

Change-Id: I47f8c8f2912201c2890bc2f9a9d68aa92649a2d4
Reviewed-on: https://skia-review.googlesource.com/9072
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoSet window dimensions in raster on Unix
Brian Osman [Wed, 1 Mar 2017 18:39:14 +0000 (13:39 -0500)]
Set window dimensions in raster on Unix

These values were left uninitialized, leading to problems with the GUI
in raster configs.

BUG=skia:

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

7 years agoUse GrAAType in instanced rendering.
Brian Salomon [Wed, 1 Mar 2017 16:28:27 +0000 (11:28 -0500)]
Use GrAAType in instanced rendering.

Change-Id: Ifb5a33f908de618d66fcb0dd329f064c1ecfcd63
Reviewed-on: https://skia-review.googlesource.com/9082
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoInitialize XImage struct fully
Brian Osman [Wed, 1 Mar 2017 17:00:06 +0000 (12:00 -0500)]
Initialize XImage struct fully

I was getting sporadic failures from XInitImage (causing the raster
backend to not draw anything).

BUG=skia:

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