platform/upstream/libSkiaSharp.git
7 years agoadd a new hsl GM
Mike Klein [Fri, 5 May 2017 17:49:00 +0000 (13:49 -0400)]
add a new hsl GM

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

7 years agoSkTypeface: remove old virtual onGetAdvancedMetrics, since https://crrev.com/2860293003
Hal Canary [Fri, 5 May 2017 18:08:25 +0000 (14:08 -0400)]
SkTypeface: remove old virtual onGetAdvancedMetrics, since https://crrev.com/2860293003

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

7 years agotweak the gaussian quartic
Mike Reed [Fri, 5 May 2017 18:34:56 +0000 (14:34 -0400)]
tweak the gaussian quartic

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

7 years agoSkEncoder: Rename files, change webp API, for consistency
Matt Sarett [Fri, 5 May 2017 18:02:13 +0000 (14:02 -0400)]
SkEncoder: Rename files, change webp API, for consistency

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

7 years agoFix clang compiler error in SkSLFileOutputStream
Matt Sarett [Fri, 5 May 2017 17:21:52 +0000 (13:21 -0400)]
Fix clang compiler error in SkSLFileOutputStream

Bug: skia:
Change-Id: Ic3b62ea82c12c9cc5ee8b56b05573e1d06342c0b
Reviewed-on: https://skia-review.googlesource.com/15626
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoPresubmit: ensure empty line between CL title and description
Eric Boren [Fri, 5 May 2017 17:15:00 +0000 (13:15 -0400)]
Presubmit: ensure empty line between CL title and description

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

7 years agoRevert "GL: track enabled vertex arrays as a count rather than a mask"
Chris Dalton [Fri, 5 May 2017 17:19:45 +0000 (17:19 +0000)]
Revert "GL: track enabled vertex arrays as a count rather than a mask"

This reverts commit 288d041c64322fafc77cfaf23907180ebad933a1.

Reason for revert: GL errors.

Original change's description:
> GL: track enabled vertex arrays as a count rather than a mask
>
> Bug: skia:
> Change-Id: I46ba29cb32960a415ee1993a7b957ec49c0c56d3
> Reviewed-on: https://skia-review.googlesource.com/15520
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I63b0fd3c6f36326a13bf853d13ce8d28869a32cf
Reviewed-on: https://skia-review.googlesource.com/15625
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>

7 years agospeed-up 4f version of modecolorfilter and modulate
Mike Reed [Fri, 5 May 2017 16:38:00 +0000 (12:38 -0400)]
speed-up 4f version of modecolorfilter and modulate

~20% faster

1. Don't call color4f::premul on every invocation
2. Inline modulate as its own special case (used by shadows)

Bug: skia:
Change-Id: I49ca565f589b9a7caac88e95468da7f8c395804a
Reviewed-on: https://skia-review.googlesource.com/15613
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoAdd support for row-by-row png encodes
Matt Sarett [Fri, 5 May 2017 15:13:26 +0000 (11:13 -0400)]
Add support for row-by-row png encodes

Also adds a SkEncoder base class.

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

7 years agoRemove unnecessary non-UTF8 character
Leon Scroggins III [Fri, 5 May 2017 15:55:12 +0000 (11:55 -0400)]
Remove unnecessary non-UTF8 character

Google3 roll is complaining about this character, so remove it. (It
does not look to be intentional.) The roll is affected because this
file is changed (though this line is not).

TBR=bsalomon@google.com, benjaminwagner@google.com

Change-Id: I639a04c424ea11e1a5e7df10c9d6c7233031bf2b
Reviewed-on: https://skia-review.googlesource.com/15612
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>

7 years agoAdd postFlush call to GrOnFlushCallbackObject
Chris Dalton [Fri, 5 May 2017 15:26:15 +0000 (11:26 -0400)]
Add postFlush call to GrOnFlushCallbackObject

Adds a new postFlush method and renames the class to
GrOnFlushCallbackObject. Also removes the ref counting in favor of
making the callback object a purely virtual interface. ref/unref on the
callback interface would conflict with existing ref/unref methods on the
subclass. It is now the caller’s responsibility to ensure the lifetime
of the callback is tied to that of the context.

Bug: skia:
Change-Id: I2fc1f98c700032e296a36f3a9a09c0753ab47aea
Reviewed-on: https://skia-review.googlesource.com/15463
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoAvoid interpolating color lut with less than 2 points
Matt Sarett [Fri, 5 May 2017 14:38:01 +0000 (10:38 -0400)]
Avoid interpolating color lut with less than 2 points

Bug: 717935
Change-Id: Ibf15b815891eef5a0239bc408bcbfe7c8b1507c5
Reviewed-on: https://skia-review.googlesource.com/15301
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoSkDiscardableMemoryPool: always have a mutex for testing
Hal Canary [Tue, 25 Apr 2017 12:58:57 +0000 (08:58 -0400)]
SkDiscardableMemoryPool: always have a mutex for testing

Change-Id: I898058f1125f62832f2b2b661c661efb0f84da6d
Reviewed-on: https://skia-review.googlesource.com/14274
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoSplit tracking of TexelBuffers from normal samplers
Greg Daniel [Fri, 5 May 2017 14:28:42 +0000 (10:28 -0400)]
Split tracking of TexelBuffers from normal samplers

This is precursor CL to add support for texel buffers in Vulkan.

This change as includes fixes to the ordering of assigning
locations and texture units so that they match in
GrGLProgramDataManager and GrGLProgram.

Bug: skia:
Change-Id: I30c9578fb7dcb187256f744e07651e8564f93a6b
Reviewed-on: https://skia-review.googlesource.com/15225
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoGL: track enabled vertex arrays as a count rather than a mask
Chris Dalton [Fri, 5 May 2017 13:46:29 +0000 (09:46 -0400)]
GL: track enabled vertex arrays as a count rather than a mask

Bug: skia:
Change-Id: I46ba29cb32960a415ee1993a7b957ec49c0c56d3
Reviewed-on: https://skia-review.googlesource.com/15520
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agosksl optimizer fixes
Ethan Nicholas [Fri, 5 May 2017 14:04:06 +0000 (10:04 -0400)]
sksl optimizer fixes

The main issue was a use-after-free due to removing (and thus destroying)
the binary expression prior to re-adding part of it. Also cleaned up the
way dead assignments are handled and added the test that originally
identified these problems.

Bug: skia:
Change-Id: Icda93d69a66c4e57850ecdc88fc4a4f634e1aac2
Reviewed-on: https://skia-review.googlesource.com/15383
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agooptimize gaussian with herbs quartic
Mike Reed [Fri, 5 May 2017 13:25:08 +0000 (09:25 -0400)]
optimize gaussian with herbs quartic

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

7 years agoheader cleanup
Hal Canary [Thu, 4 May 2017 18:15:40 +0000 (14:15 -0400)]
header cleanup

Change-Id: I9d93add4e7998d8a1aa37cba9e7829fcbda867d5
Reviewed-on: https://skia-review.googlesource.com/15318
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoRevert "Revert "SkTypeface::getAdvancedMetrics(): cleanup""
Hal Canary [Thu, 4 May 2017 18:23:55 +0000 (14:23 -0400)]
Revert "Revert "SkTypeface::getAdvancedMetrics(): cleanup""

This reverts commit 59ad782b2b05b07aa6eb961aa4d62e934093cbd1.

   - SkAdvancedTypefaceMetrics is a struct not a class
   - SkTypeface::PerGlyphInfo is gone
   - s/getAdvancedTypefaceMetrics/getAdvancedMetrics/g
   - s/onGetAdvancedTypefaceMetrics/onGetAdvancedMetrics/g
   - [on]getAdvancedMetrics now return unique_ptr rather than bare ptr.
   - [on]getAdvancedMetrics no longer has parameters. (Only caller always
     used same arguments.)
   - SkAdvancedTypefaceMetrics uses C++11 in-class member initializers.
   - SkAdvancedTypefaceMetrics no longer inherits from SkRefCnt

Change-Id: I91b56e60f7d9de7d46c426c6bd34ce124e0cf00e
Reviewed-on: https://skia-review.googlesource.com/15360
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoadd -Wno-error=attributes for G3 Android builds
Mike Klein [Fri, 5 May 2017 13:16:00 +0000 (09:16 -0400)]
add -Wno-error=attributes for G3 Android builds

This warning is triggering spuriously on 32-bit Android opt builds.

This CL turns it off for {32,64}x{fastbuild,opt}, but I don't mind.
We can rely on our local builds' much more up to date toolchains.

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

7 years agoLocal matrix support for RP gradients
Florin Malita [Thu, 4 May 2017 21:24:45 +0000 (17:24 -0400)]
Local matrix support for RP gradients

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

7 years agoRetry "Factor out common code from sweep and linear."
Mike Klein [Thu, 4 May 2017 23:38:48 +0000 (19:38 -0400)]
Retry "Factor out common code from sweep and linear."

We weren't handing failure correctly, sending radials and two point
conics and any other unsupported cases back too far out, instead of
the default SkShader::onAppendStages().

This reverts commit 02ab8cc2909d99377e4200cd426a02c0b482a040.

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

7 years agoRevert "Factor out common code from sweep and linear."
Mike Klein [Thu, 4 May 2017 22:41:05 +0000 (22:41 +0000)]
Revert "Factor out common code from sweep and linear."

This reverts commit b7a330ff0048875e178b2d9a68cd5605d83baf8d.

Reason for revert: Oof, I hate to do this, but we didn't expect this to change any drawing did we?  This draws a bunch of GMs differently in both 565 and sRGB mode, some very noticeably.

Original change's description:
> Factor out common code from sweep and linear.
>
> And, some file cleanup.
>
> Change-Id: I804db924bce3b5834f6cda481315dd2da38df5ca
> Reviewed-on: https://skia-review.googlesource.com/15226
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
>

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

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

7 years agoCRC32 no longer restricted to ARM64
Amaury Le Leyzour [Thu, 4 May 2017 21:32:22 +0000 (14:32 -0700)]
CRC32 no longer restricted to ARM64

On a simple benchmark the CRC32 version is about 3x faster on
ARM Cortex A57 (Aarch32) than the Murmur3 scalar version.

BUG=skia:

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

7 years agoFix comma in vulkan
Greg Daniel [Thu, 4 May 2017 21:29:09 +0000 (17:29 -0400)]
Fix comma in vulkan

Fixes bug where comma was suppose to be a semi colon.

Bug: skia:
Change-Id: I4bbd890fdef46775a1dd687cca06293114ad8a1c
Reviewed-on: https://skia-review.googlesource.com/15460
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoAdd support for Geom shaders in Vulkan backend.
Greg Daniel [Thu, 4 May 2017 19:09:03 +0000 (15:09 -0400)]
Add support for Geom shaders in Vulkan backend.

Still requires SkSL support before it will work.

The main changes here involve support for uniforms in the geometry shader.
We use the same buffer for vertex and geometry shader stages. These
uniforms are not expected to be updated as often as frag data so we keep them
separate to avoid larger buffer uploads to the gpu.

BUG=skia:

Change-Id: I10b631c24071b6ffa258907a02a009ec6c8accd0
Reviewed-on: https://skia-review.googlesource.com/8413
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
7 years agoFactor out common code from sweep and linear.
Herb Derby [Thu, 4 May 2017 18:37:13 +0000 (14:37 -0400)]
Factor out common code from sweep and linear.

And, some file cleanup.

Change-Id: I804db924bce3b5834f6cda481315dd2da38df5ca
Reviewed-on: https://skia-review.googlesource.com/15226
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoAdd ShadowUtils sample.
Jim Van Verth [Thu, 4 May 2017 18:00:59 +0000 (14:00 -0400)]
Add ShadowUtils sample.

Also enables mouse support in Viewer.

Change-Id: Iaed08d42a64f591f0cd9b24684b3aee43404ed94
Reviewed-on: https://skia-review.googlesource.com/15313
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoMarker for Windows NVIDIA driver update.
Ben Wagner [Thu, 4 May 2017 18:33:34 +0000 (14:33 -0400)]
Marker for Windows NVIDIA driver update.

No-Try: true
Change-Id: Ib275307c858e0a1c9a37881700aeeb2a9e8b83ac
Reviewed-on: https://skia-review.googlesource.com/15381
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoRevert "SkTypeface::getAdvancedMetrics(): cleanup"
Hal Canary [Thu, 4 May 2017 18:20:35 +0000 (18:20 +0000)]
Revert "SkTypeface::getAdvancedMetrics(): cleanup"

This reverts commit cef018896e5cad8eb46a536b60cdf79ebe2b0191.

Reason for revert: broke chromium roll (windows).

Original change's description:
> SkTypeface::getAdvancedMetrics(): cleanup
>
>   - SkAdvancedTypefaceMetrics is a struct not a class
>   - SkTypeface::PerGlyphInfo is gone
>   - s/getAdvancedTypefaceMetrics/getAdvancedMetrics/g
>   - s/onGetAdvancedTypefaceMetrics/onGetAdvancedMetrics/g
>   - [on]getAdvancedMetrics now return unique_ptr rather than bare ptr.
>   - [on]getAdvancedMetrics no longer has parameters. (Only caller always
>     used same arguments.)
>   - SkAdvancedTypefaceMetrics uses C++11 in-class member initializers.
>   - SkAdvancedTypefaceMetrics no longer inherits from SkRefCnt
>
> Change-Id: I37571ebcc383ba9eb21bc20c60c734e3ca317582
> Reviewed-on: https://skia-review.googlesource.com/15311
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>
>

TBR=halcanary@google.com,bungeman@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I84c7d53df566aaf83427e3368edaa02b7b5a9cb8
Reviewed-on: https://skia-review.googlesource.com/15319
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoMake GrSimpleMeshDrawOpHelper consider blend barriers/dst textures for batching.
Brian Salomon [Thu, 4 May 2017 16:39:56 +0000 (12:39 -0400)]
Make GrSimpleMeshDrawOpHelper consider blend barriers/dst textures for batching.

Change-Id: Idc6f924e39a08da9fb4b441a72c4d9caa76b0fe0
Reviewed-on: https://skia-review.googlesource.com/15312
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoSkTypeface::getAdvancedMetrics(): cleanup
Hal Canary [Thu, 4 May 2017 14:10:05 +0000 (10:10 -0400)]
SkTypeface::getAdvancedMetrics(): cleanup

  - SkAdvancedTypefaceMetrics is a struct not a class
  - SkTypeface::PerGlyphInfo is gone
  - s/getAdvancedTypefaceMetrics/getAdvancedMetrics/g
  - s/onGetAdvancedTypefaceMetrics/onGetAdvancedMetrics/g
  - [on]getAdvancedMetrics now return unique_ptr rather than bare ptr.
  - [on]getAdvancedMetrics no longer has parameters. (Only caller always
    used same arguments.)
  - SkAdvancedTypefaceMetrics uses C++11 in-class member initializers.
  - SkAdvancedTypefaceMetrics no longer inherits from SkRefCnt

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

7 years agotry re-enabling test_diagonal on 565
Mike Klein [Thu, 4 May 2017 15:38:05 +0000 (11:38 -0400)]
try re-enabling test_diagonal on 565

I just landed a CL that changed dithering enough that it's worth seeing
if this test passes again.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Release-Android,Test-Android-Clang-Nexus10-CPU-Exynos5250-arm-Release-Android

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

7 years agoupdate Windows build docs
Mike Klein [Thu, 4 May 2017 15:16:57 +0000 (11:16 -0400)]
update Windows build docs

   - mention 2017
   - describe 32-bit builds a bit more

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

7 years agoforce all colorfilters to implement 4f
Mike Reed [Thu, 4 May 2017 14:57:40 +0000 (10:57 -0400)]
force all colorfilters to implement 4f

high-contrast gms differ at most by 1 bit

Bug: skia:
Change-Id: I1308bd105020ea3cd5a30fd3dd322ed134fb5ed5
Reviewed-on: https://skia-review.googlesource.com/15249
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoadd virtual to support CTFontRef
Mike Reed [Wed, 3 May 2017 19:48:22 +0000 (15:48 -0400)]
add virtual to support CTFontRef

Bug: skia:6583
Change-Id: I8525e63d3f43467289360d4b15c0153d2a43539e
Reviewed-on: https://skia-review.googlesource.com/15194
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoCombine the ambient and spot alphas into the base color
Jim Van Verth [Thu, 4 May 2017 13:58:17 +0000 (09:58 -0400)]
Combine the ambient and spot alphas into the base color
for geometric shadows.

This matches the analytic shadow approach better, and
is color space invariant.
Also includes cleanup in SampleAndroidShadows.

Bug: skia:6546
Change-Id: I7a7cd060420dae741f967334c8b19542a14f0bcf
Reviewed-on: https://skia-review.googlesource.com/15228
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agomove dither after the transfer function
Mike Klein [Wed, 3 May 2017 21:57:48 +0000 (17:57 -0400)]
move dither after the transfer function

There's no single dither rate that we can use in linear space if we're
using a non-linear transfer function... if it's too high (like today)
we'll dither too much around zero (e.g. 0 -> 5), and if it's too low we
won't dither near one.

We were thinking it'd be a good idea to move the dither later in the
pipeline anyway.  This has to be the right spot!

Now that we're moving dither from operating in linear space to operating
in bit-space (after transfer function, aware of bit-depth of
destination) we have to start clamping [0,1] instead of [0,a]...

But, I think I've rewritten things to make sure we don't need to clamp
at all.  The main idea is to make sure 0-dither and 1+dither round to 0
and 1 respectively.  We can do this by making the dither span exclusive,
switching from [-0.5,+0.5] to (-0.5,+0.5).  In practice I'm doing that
as [-0.4921875,+0.4921875], a maximum dither of 63/128 of a bit.

Similarly, I don't think it makes sense to fold in the multiply by alpha
anymore if we're after the transfer function.

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

7 years agoFix spot shadow inset.
Jim Van Verth [Thu, 4 May 2017 13:51:29 +0000 (09:51 -0400)]
Fix spot shadow inset.

This handles negative values in the spot translation, and produces
a tight fit for rrects and circles.

Change-Id: Id2536347dca98f06f57b31518390037b86fd8a9e
Reviewed-on: https://skia-review.googlesource.com/15248
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoTurn on verbose logging for Valgrind_PreAbandonGpuContext bot.
Ben Wagner [Fri, 28 Apr 2017 19:55:35 +0000 (15:55 -0400)]
Turn on verbose logging for Valgrind_PreAbandonGpuContext bot.

Bug: skia:6575
Change-Id: I0e7d355ff8eea5af78585ef0eef78d509e52d580
Reviewed-on: https://skia-review.googlesource.com/14652
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoRemove Nexus5 experimental tryjob.
Ben Wagner [Sun, 30 Apr 2017 01:15:00 +0000 (21:15 -0400)]
Remove Nexus5 experimental tryjob.

Replaced with GalaxyS6 in https://skia-review.googlesource.com/c/13982/

Bug: skia:
Change-Id: I57922c23857d934dc7176d5cc5aa4d96b552bf8d
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/14754
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoAdd GrGpuTextureProxyRef
Robert Phillips [Thu, 4 May 2017 12:52:22 +0000 (08:52 -0400)]
Add GrGpuTextureProxyRef

Basically a GrTextureProxified clone of GrGpuResourceRef

Change-Id: I8772550bb867ef2cf2d53efef0a0346bb7c90eb6
Reviewed-on: https://skia-review.googlesource.com/15221
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoReland "Add SkImage::makeColorSpace() with correct transfer fn behavior"
Matt Sarett [Thu, 4 May 2017 12:53:32 +0000 (08:53 -0400)]
Reland "Add SkImage::makeColorSpace() with correct transfer fn behavior"

Completes implementation for lazy and raster images.  gpu is
still a TODO.

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

7 years agoRevert "Revert "Revert "eliminated GrGLSLExpr"""
Ethan Nicholas [Thu, 4 May 2017 13:10:59 +0000 (13:10 +0000)]
Revert "Revert "Revert "eliminated GrGLSLExpr"""

This reverts commit 796001c82eca5651bc6a221204f6186918781daf.

Reason for revert: looks to be causing problems in Chrome (https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty__dbg_/1553/layout-test-results/results.html)

Original change's description:
> Revert "Revert "eliminated GrGLSLExpr""
>
> This reverts commit 5e550ab57e0204bfadd2cb69c47d2a85e38d6a4c.
>
> Bug: skia:
> Change-Id: I4705e47dbd209aa8f43db3d28c856bd3aa9e49ab
> Reviewed-on: https://skia-review.googlesource.com/15187
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
>

TBR=ethannicholas@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I6455a4f16b2dc0d6d1265541f7117e0cfb8dd91c
Reviewed-on: https://skia-review.googlesource.com/15309
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agosrc/pdf: code cleanup
Hal Canary [Mon, 17 Apr 2017 20:30:06 +0000 (16:30 -0400)]
src/pdf: code cleanup

  * SkPDFCanon: remove unnecessary abstraction
  * Make use of SkTHashMap<K, sk_sp<T>>.
  * Remove unncessary struct constructors.
  * More factory fns return sk_sp<T>
  * SkPDFUtility::GetCachedT<T> factored out.

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

7 years agoFinish removal of SkImageInfo from SkPixelRef
Matt Sarett [Tue, 2 May 2017 15:41:30 +0000 (11:41 -0400)]
Finish removal of SkImageInfo from SkPixelRef

All of the clients are updated.  We don't need this anymore.

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

7 years agoRevert "Add SkImage::makeColorSpace() with correct transfer fn behavior"
Matt Sarett [Thu, 4 May 2017 12:40:30 +0000 (12:40 +0000)]
Revert "Add SkImage::makeColorSpace() with correct transfer fn behavior"

This reverts commit 9ad0531a18f854e5a2c8034880140dd6cd3ea3c1.

Reason for revert: Does not handle transfer fn behavior.

Original change's description:
> Add SkImage::makeColorSpace() with correct transfer fn behavior
>
> Completes implementation for lazy and raster images.  gpu is
> still a TODO.
>
> Bug: skia:6553
> Change-Id: I04eea5c4fb53c50c0406c2e6b6778b0e21fd85f8
> Reviewed-on: https://skia-review.googlesource.com/14403
> Commit-Queue: Matt Sarett <msarett@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>

TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

7 years agoGrTessellator: fix for vertex coincident with enclosing edge.
Stephen White [Wed, 3 May 2017 20:00:38 +0000 (16:00 -0400)]
GrTessellator: fix for vertex coincident with enclosing edge.

If a previously-enclosing edge coincides exactly with the current
vertex, there are no two adjacent edges which enclose the vertex.
Since find_enclosing_edges() ensures that the left enclosing edge
is to the left of the vertex, the fix is to split the right
enclosing edge on the current vertex and restart intersection
tests.

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

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 4 May 2017 00:21:30 +0000 (17: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/6996dc9baee654d53db4f2072c76e120f619470e Roll recipes. (iannucci@chromium.org)
depot_tools:
  https://crrev.com/2e664bfa92754ad40c14aa9cfa84296653b1591f Handle extra metrics xml files in git cl format. (holte@google.com)
  https://crrev.com/a297b40f8ad5acb1832ea136440017cc84f8693e [cipd.bat] Switch cipd.bat to use -Command. (iannucci@chromium.org)
  https://crrev.com/1123fea23588f0eace0791b37369d74a644820df [git_bootstrap.py] Remove unused options, use cipd in %PATH%. (iannucci@chromium.org)

TBR=borenet@google.com

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

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 3 May 2017 23:51:46 +0000 (16: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/04cd4debec25fc4e66d22df265d6a848283bb616 Reland "Fix update scripts revision logic" (martiniss@chromium.org)

TBR=borenet@google.com

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

7 years agoAdd SkImage::makeColorSpace() with correct transfer fn behavior
Matt Sarett [Wed, 3 May 2017 23:09:46 +0000 (19:09 -0400)]
Add SkImage::makeColorSpace() with correct transfer fn behavior

Completes implementation for lazy and raster images.  gpu is
still a TODO.

Bug: skia:6553
Change-Id: I04eea5c4fb53c50c0406c2e6b6778b0e21fd85f8
Reviewed-on: https://skia-review.googlesource.com/14403
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "treat SkPMColor as sRGB in SkPM4f::FromPMColor()"
Mike Klein [Wed, 3 May 2017 22:47:38 +0000 (22:47 +0000)]
Revert "treat SkPMColor as sRGB in SkPM4f::FromPMColor()"

This reverts commit a4f3e14d896708376aa50b2a8804796e6e1ee644.

Reason for revert: affecting 565 in ways I didn't expect

Original change's description:
> treat SkPMColor as sRGB in SkPM4f::FromPMColor()
>
> We made the wrong call in SkPM4f::FromPMColor().  SkPM4f::FromPMColor()
> is only used by the color correct drawing pipeline, not legacy.  That
> means it makes a lot more sense to treat SkPMColors as premul sRGB than
> premul linear.
>
> You can see the effect very clearly in any code path using the fallback
> SkShader::Context::shadeSpan4f().  We shade legacy 8888, then
> "linearize" to float by calling SkPM4f::FromPMColor().  At head we're
> not really linearizing, which means everything ends up too bright in the
> end.  Things get double sRGB-encoded, etc.
>
> It is expected that this CL will make many color correct images look
> darker and a lot more like legacy mode.  It may be jarring... we've
> gotten used to seeing this bug and thinking brighter == fixed.
>
> The only GM that changes in actual legacy 8888 is gamut, which
> explicitly creates non-legacy 8888 images... the diff there is expected.
>
> Change-Id: I77ac6cfe8f7ffb15e90f4aad798dbe8f9d3aafbd
> Reviewed-on: https://skia-review.googlesource.com/15227
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Herb Derby <herb@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>

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

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

7 years agoRevert "Revert "Add a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp.""
Brian Salomon [Wed, 3 May 2017 21:06:09 +0000 (17:06 -0400)]
Revert "Revert "Add a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp.""

This reverts commit 0f353327968530506dd3dd15fca79ef59fe013f1.

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

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 3 May 2017 21:00:24 +0000 (14: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/7f1967a10defc60c719bb24cd27f9631d3d71849 Revert "Fix update scripts revision logic" (martiniss@chromium.org)

TBR=borenet@google.com

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

7 years agotreat SkPMColor as sRGB in SkPM4f::FromPMColor()
Mike Klein [Wed, 3 May 2017 19:04:23 +0000 (15:04 -0400)]
treat SkPMColor as sRGB in SkPM4f::FromPMColor()

We made the wrong call in SkPM4f::FromPMColor().  SkPM4f::FromPMColor()
is only used by the color correct drawing pipeline, not legacy.  That
means it makes a lot more sense to treat SkPMColors as premul sRGB than
premul linear.

You can see the effect very clearly in any code path using the fallback
SkShader::Context::shadeSpan4f().  We shade legacy 8888, then
"linearize" to float by calling SkPM4f::FromPMColor().  At head we're
not really linearizing, which means everything ends up too bright in the
end.  Things get double sRGB-encoded, etc.

It is expected that this CL will make many color correct images look
darker and a lot more like legacy mode.  It may be jarring... we've
gotten used to seeing this bug and thinking brighter == fixed.

The only GM that changes in actual legacy 8888 is gamut, which
explicitly creates non-legacy 8888 images... the diff there is expected.

Change-Id: I77ac6cfe8f7ffb15e90f4aad798dbe8f9d3aafbd
Reviewed-on: https://skia-review.googlesource.com/15227
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "Add a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp."
Brian Salomon [Wed, 3 May 2017 20:58:59 +0000 (20:58 +0000)]
Revert "Add a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp."

This reverts commit ff574e0eb79b83c2e797dec8f1661378876202d8.

Reason for revert: needs a merge

Original change's description:
> Add a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp.
>
> This uses a new helper class, GrSimpleMeshDrawOpHelper, which it uses to fullfill the GrMeshDrawOp contract and to construct its GrPipline when flushed. The helper is intended to be used such that the op only stores a GrProcessorSet if it is constructed with a "nontrivial" GrPaint. "Trivial" currently means no fragment processors and src-over blending. The helper allows the op subclass to specify whether it supports stenciling via a template parameter. The helper class is initially intended to be used for ops that don't have per-vertex colors and construct a single GrPipeline at flush time, though perhaps this can be relaxed in future changes.
>
> On the microbenchmark "rotated_rects_bw_same_transparent_srcover" this produces a 18-20% reduction in time on my Z840 running Linux and 33% on my 2010 MacPro.
>
> Bug: skia:
> Change-Id: I9f655827a70bee585b0b0e1255371ffd995a0b80
> Reviewed-on: https://skia-review.googlesource.com/14604
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I2893d6ff7c183a18f7d0ba82818701b80b681eb0
Reviewed-on: https://skia-review.googlesource.com/15280
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 3 May 2017 20:31:43 +0000 (13: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/0491824b7c2712d3b5450be15153a23a61cd6ec9 Fix update scripts revision logic (martiniss@chromium.org)

TBR=borenet@google.com

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

7 years agoAdd a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp.
Brian Salomon [Wed, 3 May 2017 18:00:51 +0000 (14:00 -0400)]
Add a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp.

This uses a new helper class, GrSimpleMeshDrawOpHelper, which it uses to fullfill the GrMeshDrawOp contract and to construct its GrPipline when flushed. The helper is intended to be used such that the op only stores a GrProcessorSet if it is constructed with a "nontrivial" GrPaint. "Trivial" currently means no fragment processors and src-over blending. The helper allows the op subclass to specify whether it supports stenciling via a template parameter. The helper class is initially intended to be used for ops that don't have per-vertex colors and construct a single GrPipeline at flush time, though perhaps this can be relaxed in future changes.

On the microbenchmark "rotated_rects_bw_same_transparent_srcover" this produces a 18-20% reduction in time on my Z840 running Linux and 33% on my 2010 MacPro.

Bug: skia:
Change-Id: I9f655827a70bee585b0b0e1255371ffd995a0b80
Reviewed-on: https://skia-review.googlesource.com/14604
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agofix G3 opt android_arm build?
Mike Klein [Wed, 3 May 2017 19:55:10 +0000 (15:55 -0400)]
fix G3 opt android_arm build?

We suspect that having SkTDPQueue inherit from SkNoncopyable is
what's causing this error:

third_party/skia/HEAD/src/gpu/GrResourceCache.h:44:7: error: 'GrResourceCache' declared with greater visibility than the type of its field 'GrResourceCache::fPurgeableQueue' [-Werror=attributes]
 class GrResourceCache {
       ^

Change-Id: Idc737aa64f5cb159edbe59e8baf70d711f7e07d9
Reviewed-on: https://skia-review.googlesource.com/15243
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agodisable test_diagonal on 565
Mike Klein [Wed, 3 May 2017 20:16:41 +0000 (16:16 -0400)]
disable test_diagonal on 565

We're no longer necessarily going to get exact results as we go along.
Lots of little things like dither, FMA, whether we're using the full
precision pipeline or the old paths, etc.

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

7 years agoValidate SkSpecialSurface raster info
Florin Malita [Wed, 3 May 2017 19:23:21 +0000 (15:23 -0400)]
Validate SkSpecialSurface raster info

BUG=chromium:716311

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

7 years agoheaders: fix
Hal Canary [Wed, 5 Apr 2017 16:55:32 +0000 (12:55 -0400)]
headers: fix

Change-Id: I0cd10f735c25686e41831ad1d0c99981c9d22d9a
Reviewed-on: https://skia-review.googlesource.com/11383
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
7 years agoAdd a GM to exercise some complex gradient constructs
Florin Malita [Wed, 3 May 2017 17:07:28 +0000 (13:07 -0400)]
Add a GM to exercise some complex gradient constructs

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

7 years agoRevert "Revert "Reland: Remove SkLights include from SkCanvas.h""
Florin Malita [Wed, 3 May 2017 19:16:58 +0000 (19:16 +0000)]
Revert "Revert "Reland: Remove SkLights include from SkCanvas.h""

This reverts commit 9d5f66d9c21eda7d3e2ed47654180c0c4b6e38b1.

Reason for revert: Leon landed Android fixes.

Original change's description:
> Revert "Reland: Remove SkLights include from SkCanvas.h"
>
> This reverts commit fed00319c9bafa41c8df658708030c072b301a41.
>
> Reason for revert: breaking the Android roll.
>
> Original change's description:
> > Reland: Remove SkLights include from SkCanvas.h
> >
> > SkLights.h pulls in a bunch of other headers and is not needed (fwdecl
> > works fine).
> >
> > Change-Id: I3ed97cd7861e51dcb7cfa7950a97b420dbc6fbfb
> > TBR=reed@google.com
> > Reviewed-on: https://skia-review.googlesource.com/15143
> > Commit-Queue: Florin Malita <fmalita@chromium.org>
> > Reviewed-by: Florin Malita <fmalita@chromium.org>
> >
>
> TBR=fmalita@chromium.org,reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I3b0e69f1d04d160f16a5567b09982d35cc9ca84e
> Reviewed-on: https://skia-review.googlesource.com/15195
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@chromium.org>
>

TBR=msarett@google.com,reviews@skia.org,fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I0a1c2f9df61f16987ab72dfb4f3a205fbcc37667
Reviewed-on: https://skia-review.googlesource.com/15229
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 3 May 2017 18:41:47 +0000 (11:41 -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/f956104a4ef19f1d93cf51de2fb66f858e2f62be Reland: zip_build.py: Exclude secondary toolchain obj and gen, as well as .ninja (agrieve@chromium.org)

TBR=borenet@google.com

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

7 years agoConvert GrMesh to a struct
Chris Dalton [Wed, 3 May 2017 18:36:54 +0000 (14:36 -0400)]
Convert GrMesh to a struct

Converts GrMesh to a struct and changes the names/semantics of its
fields to be more inline with their GL counterparts. Also renames the
"instancing" feature to "pattern", to avoid ambiguity with hardware
instancing.

Bug: skia:
Change-Id: Ia0999d4f9c83b5dd31f81b9bf4f36ed9abd26286
Reviewed-on: https://skia-review.googlesource.com/15157
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoDelete SkBitmap::copyTo()
Matt Sarett [Wed, 3 May 2017 17:20:33 +0000 (13:20 -0400)]
Delete SkBitmap::copyTo()

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

7 years agosksl SPIR-V sampledBuffer support
Ethan Nicholas [Wed, 3 May 2017 15:03:44 +0000 (11:03 -0400)]
sksl SPIR-V sampledBuffer support

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

7 years agodither stage
Mike Klein [Wed, 3 May 2017 17:05:13 +0000 (13:05 -0400)]
dither stage

I think we can dither generically as a pipeline stage.

I'm not married to where the dither happens, or the implementation,
which is mostly cribbed from
https://en.wikipedia.org/wiki/Ordered_dithering.

BUG=skia:3302,skia:6224

Change-Id: If7f6b22a523ca0b34cb03c0aa97b6734c34e0133
Reviewed-on: https://skia-review.googlesource.com/15161
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoUpgrade Windows 10 to v1703.
Ben Wagner [Tue, 2 May 2017 17:13:13 +0000 (13:13 -0400)]
Upgrade Windows 10 to v1703.

No-Try: true
Change-Id: Ifb8528d889233fa14320b9f665ddcaf2f5fae6fb
Reviewed-on: https://skia-review.googlesource.com/15141
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoAllow TextureSamplers to have null GrTexture pointer
Robert Phillips [Mon, 1 May 2017 17:12:20 +0000 (13:12 -0400)]
Allow TextureSamplers to have null GrTexture pointer

Bug: 715488

Change-Id: I69775cbb50d334d81872e236e59368fe65e698ff
Reviewed-on: https://skia-review.googlesource.com/14605
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoAdd sweep gradient to SkRasterPipeline
Herb Derby [Tue, 2 May 2017 23:04:39 +0000 (19:04 -0400)]
Add sweep gradient to SkRasterPipeline

This is a prototype. I have remove the tiling,
but maybe I should add it back in.

I thinking about factoring out the common code with
linear gradient in its own CL.

I think radial gradient will be very close to this.

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

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 3 May 2017 16:11:20 +0000 (09: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/6b56eb2b7989ff5e9dbc2bc9fd1ff3e03742c7f5 Use new sanitizer coverage flags on builders. (ochang@chromium.org)

TBR=borenet@google.com

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

7 years agodrawfilter is legacy-guarded, no need for deprecated
Mike Reed [Wed, 3 May 2017 14:52:00 +0000 (10:52 -0400)]
drawfilter is legacy-guarded, no need for deprecated

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

7 years agoRevert "Reland: Remove SkLights include from SkCanvas.h"
Florin Malita [Wed, 3 May 2017 15:41:00 +0000 (15:41 +0000)]
Revert "Reland: Remove SkLights include from SkCanvas.h"

This reverts commit fed00319c9bafa41c8df658708030c072b301a41.

Reason for revert: breaking the Android roll.

Original change's description:
> Reland: Remove SkLights include from SkCanvas.h
>
> SkLights.h pulls in a bunch of other headers and is not needed (fwdecl
> works fine).
>
> Change-Id: I3ed97cd7861e51dcb7cfa7950a97b420dbc6fbfb
> TBR=reed@google.com
> Reviewed-on: https://skia-review.googlesource.com/15143
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
>

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

Change-Id: I3b0e69f1d04d160f16a5567b09982d35cc9ca84e
Reviewed-on: https://skia-review.googlesource.com/15195
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 3 May 2017 14:40:32 +0000 (07: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/5d0485f2f56fbc83b7405e2120295d935ff835bc WebRTC: Make win_asan build ASan instead of Syzyasan. (ehmaldonado@chromium.org)

TBR=borenet@google.com

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

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 3 May 2017 14:10:42 +0000 (07: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/1819fe2afd36da781454626345ea87dedae14643 Revert "zip_build.py: Exclude secondary toolchain obj and gen, as well as .ninja" (machenbach@chromium.org)

TBR=borenet@google.com

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

7 years agoRevert "Revert "eliminated GrGLSLExpr""
Ethan Nicholas [Wed, 3 May 2017 13:49:07 +0000 (09:49 -0400)]
Revert "Revert "eliminated GrGLSLExpr""

This reverts commit 5e550ab57e0204bfadd2cb69c47d2a85e38d6a4c.

Bug: skia:
Change-Id: I4705e47dbd209aa8f43db3d28c856bd3aa9e49ab
Reviewed-on: https://skia-review.googlesource.com/15187
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 3 May 2017 13:30:33 +0000 (06: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/1c881be4fb63733820a29955a7e0772f1898921e zip_build.py: Exclude secondary toolchain obj and gen, as well as .ninja (agrieve@chromium.org)

TBR=borenet@google.com

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

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 3 May 2017 13:00:35 +0000 (06: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/fb4b3222dc1a951b98720c877f8b622c71857481 Disable kitchen on Site Isolation Linux for now. (dpranke@chromium.org)
  https://crrev.com/251a99c260bc8bf457e435aceab6b69758b4db81 Bisect - Support perf try with specified revisions. (simonhatch@chromium.org)
  https://crrev.com/d3c3fb83f87b375365639f05cef8786596003e96 Add a smoke test for run_slave.py. (dsansome@chromium.org)
  https://crrev.com/8565f13839c6d768f429e20e6b36c21943677718 cleanup: Remove redundant TEST_TMPDIR (shinyak@google.com)
  https://crrev.com/df328b84fe2f17ac3c5042df5ae833cdb63ccfa4 Rename hammerhead -> angler and update angler device. (ngeoffray@google.com)
  https://crrev.com/bee6a1dbe093a8ad8c47af591a7ffcb0974f8b62 Bisect - Remove whitespace from results label. (simonhatch@chromium.org)
  https://crrev.com/eea5d3819da5c97b58089a73d2eee042b0a5b61b Includes logdog cipd packages for Android webrtc gtests. (hzl@google.com)
  https://crrev.com/912cb7c67f116ecf350908f4b450dd300a4b883c Revert "Includes logdog cipd packages for Android webrtc gtests." (kjellander@chromium.org)
  https://crrev.com/d734dc32b3c4c59f9e451b7ce0c18bb92ff8735c Add tests for chromium_tests recipe module (patch #4) (phajdan.jr@chromium.org)
  https://crrev.com/cd5b7d84f3c4028f147ae1d1d29fc8a5c9ca7774 Add ownership to goma team for goma client canary bots config (tikuta@google.com)
  https://crrev.com/b1e329c76e57736f34b11b5833e02c8bdfb7fc1f Temporarily disable LocalOutputCache on Win. (shinyak@google.com)
  https://crrev.com/d11b6353c4becd46396035eac7a30ed855d4fd88 V8: Bump branch bot timeouts on swarming and lower the prio (machenbach@chromium.org)
  https://crrev.com/daaf3a43b88868ca3dbbfd381b9348aceeac33fe V8: Bump shards on slowest bots (machenbach@chromium.org)
  https://crrev.com/4c45afbaad648695ef641847a54a8336b31acd8f Prepare for switching chromium's got_revision_mapping (machenbach@chromium.org)
  https://crrev.com/4fb14838b986da533701aad16fe72c85408c234c V8: Bump shards on slowest bot (machenbach@chromium.org)
  https://crrev.com/d5753bebd45ad4b460d981ee7c6c362fc3f1609f WebRTC: Add WebRtcMediaRecorderTest to our bare-metal bots. (kjellander@chromium.org)
  https://crrev.com/0b77199dcdc11c58c6ef4d3995a71605ef8a5db8 Dart: Shorten build directory name on Dartium builders (whesse@chromium.org)
  https://crrev.com/582bcc0da0968ec10566af5de08013cbc0e4a531 Add tests for chromium_tests recipe module (patch #5) (phajdan.jr@chromium.org)
  https://crrev.com/145292610fb7806f9aff430a237c95d433817a60 (Reland) Includes logdog cipd packages for Android webrtc gtests. (hzl@google.com)
  https://crrev.com/a0485b1c8e457ba6dd1a0a3e809885f3b49fe446 Expose run_mb()'s mb_config_path arg in more callers. (mmoss@google.com)
  https://crrev.com/ff03caced30e039dd5e90ee265f8a8cd4490018d Remove gtests from the webkit waterfall. (danakj@chromium.org)
  https://crrev.com/fb1e08cef6a97967689f7d3dc4f4525120e92de6 Add generation support to LogDog prefixes. (dnj@chromium.org)
  https://crrev.com/13a85ae09b27268d7e7231fb8ee3c0bca33a2d36 Add a Linux bot to run servicification related tests. (jam@chromium.org)
  https://crrev.com/9b8071a40447ec753bb28afbdeb815834b3c08b4 Deploy build71-m1 as "Mac Experimental Release (Intel)". (kbr@chromium.org)
  https://crrev.com/ffa0c5817c8d2574308cb2bceb2e1fa145a27274 V8: Set swarming default dimension for cores. (machenbach@chromium.org)
  https://crrev.com/9d72bb9279af4091921a00ca0e6cb59452f0c639 WebRTC: Add jingle_unittests to desktop bots. (kjellander@chromium.org)
  https://crrev.com/7e9590a51289827d249a9794913e6918df4d76fc Bisect - Switch Nexus5X to 32bit builder. (simonhatch@chromium.org)
  https://crrev.com/572574d3c7e25264b45377c873d07ae78c56de08 Bisect - Switch Nexus5X download path to 32 bit as well. (simonhatch@chromium.org)
  https://crrev.com/e8aa654ab538c1e53f180af8647af58cf795a848 Add func to list unblacklisted devices in chromium_android recipe module (bpastene@google.com)
  https://crrev.com/1afc3517609286df3f4b3fce730ddad3e1eefedc master.chromium.infra.cron: add 3p package builders (nodir@google.com)
  https://crrev.com/eee167b93de7b16b804bd212a6080d02c571c149 Switch nexus 5x to 32 bit build (martiniss@chromium.org)
  https://crrev.com/4981f692ed3c710e8270a481153e64273629d2f8 Add git log links to update scripts step (martiniss@chromium.org)
  https://crrev.com/3a99c2ed795b1f46d38e744d46f1eb6f5e290b40 Add --exclude filters for android builder archives (agrieve@chromium.org)
  https://crrev.com/b7712e04694d0e3da2609b7395f1dfd0293e3195 Don't force PGO builds to use VS 2015 (brucedawson@chromium.org)
  https://crrev.com/051e1d5fb424e2fcd985f87ef83a17781bdff369 Remove svn_url and TryJobSubversion from masters that use it. (dsansome@chromium.org)
  https://crrev.com/8acca5a336e00eab761363dfdaa081b7cdce3883 V8: Skip auto-rolling gtest depedency (machenbach@chromium.org)
depot_tools:
  https://crrev.com/80cae42d7f0f00ab29a8bd05f223f36e2589fa62 Fix git_footers to recognize footers with empty value. (tandrii@chromium.org)
  https://crrev.com/c06db440c9ed7876a401efe0b8d88f671aa61c36 Make git_footers.add_footer more flexible (agable@chromium.org)
  https://crrev.com/ff294c3001d02dcad1de1c8965bcdb00b31963f9 cpplint: Update Google Style Guide's URL (alexilin@chromium.org)
  https://crrev.com/c7e84d041306082117c5760c10bf19891a35e88e git-drover: TBR appropriate reviewers (agable@chromium.org)
  https://crrev.com/801d955c43e29ed711f0ad3566112cd1d8c8fdbd Reverse chromium's got_revision_mapping (machenbach@chromium.org)
  https://crrev.com/6fee2673e9c7356cff80bd32c196289c7d9cd79c Add vpython to depot_tools for linux and mac (sergeyberezin@google.com)
  https://crrev.com/b584c4f0d1709ca5302c38c68c6a8febf3273d17 Make CQ_INCLUDE_TRYBOTS support review-specific (agable@chromium.org)
  https://crrev.com/e0a1afbf4b0d41b10d9eb1463835647024eb25bc Fix bot_update parsing of gerrit footers with empty values. (tandrii@chromium.org)
  https://crrev.com/ff51bcd1f846053625c3428432020a6623abb419 [bot_update] fix Property default to be actual JSON. (iannucci@chromium.org)
recipe_engine:
  https://crrev.com/d84fead2a2eb7e0fe72c928fca0086df619509d9 Fix recipes.py test train when on-disk expectation files are invalid (phajdan.jr@chromium.org)
  https://crrev.com/68d2ac243180dbd51a1c3a672874d072235f961a [third_party] vendor argparse. (iannucci@chromium.org)
  https://crrev.com/ffe0201f64d5cd7b2cd6a458f8f1414a012a7daa [recipes.py] Move fetch, lint and bundle parsers to separate modules. (iannucci@chromium.org)
  https://crrev.com/0fa4d3588d8cb91e8da2247418b68a228a090891 [recipes.py] move depgraph arg parsing to its module (iannucci@chromium.org)
  https://crrev.com/a8d7f3279c321895575723d7e56e5798fd34b9bb Use "vpython" to bootstrap the recipe engine. (dnj@chromium.org)
  https://crrev.com/3cc22baad1f5cad990a9b0f7428ccf3627063e5f [recipes.py] move autoroll arg parsing to its module (iannucci@chromium.org)
  https://crrev.com/0b1247f8506739b0c6d6adc1f8145cb4d0d3cda8 [recipes.py] move remote arg parsing to its module (iannucci@chromium.org)
  https://crrev.com/bcf9286338730769356d98e274b71e1b6418f487 [recipes.py] move refs arg parsing to its module (iannucci@chromium.org)
  https://crrev.com/b6829668a6408ae319f98651864da96c59a8762c [recipes.py] move doc arg parsing to its module (iannucci@chromium.org)
  https://crrev.com/db10da8f2f560285dcb5f3d7638fcf69011e2326 [recipes.py] move test arg parsing to its module (iannucci@chromium.org)
  https://crrev.com/19f9db6216068ce8f6af43e95f80bd8954b256bd [recipes.py] move run arg parsing to its module. (iannucci@chromium.org)
  https://crrev.com/088cc7b5423bcf53a6545ac3483ed2a891ae723f [recipes.py] add missing helpstrings, merge test subcommands into main parser. (iannucci@chromium.org)
  https://crrev.com/73d1232b112d420c35023b2c8536f7f473cc61d0 [recipes.py] move common arg parsing to separate module. (iannucci@chromium.org)
  https://crrev.com/aa45f3d6a7daaf1d32c1efeda9645e2f134fc959 [autoroll] add tests for autoroll subcommand parsing. (iannucci@chromium.org)
  https://crrev.com/b88c9ec7e384c253a3d7839e00281c981f0eb87b [fetch] add tests for fetch subcommand parsing. (iannucci@chromium.org)
  https://crrev.com/67155798c0f28a983602c6c4760cacb82620b9be [test] add tests for test subcommand parsing. (iannucci@chromium.org)
  https://crrev.com/974abeac59bf52bfc6e3e9cee01fa729156154f4 [recipes.py] use argparse to set command automatically. (iannucci@chromium.org)
  https://crrev.com/11737a0978310326dcf0607c7532ade24f696c3d [lint] Fix lint to not raise an exception at the end. (iannucci@chromium.org)
  https://crrev.com/6816f322872665a9646feef369819f9c010b6ba1 vpython: Add pyOpenSSL, pull in Windows bugfix. (dnj@google.com)
  https://crrev.com/991fdf7d421a863eff087df095d0fd76b1cf3104 [fetch] capture stderr to reduce extraneous noise. (iannucci@chromium.org)
  https://crrev.com/af7abb5d24a477ca062c054034fe6b5cd44f17c5 [doc] Initial markdown doc generation. (iannucci@chromium.org)
  https://crrev.com/a582c6db898c82dec83aeb353431fc51d62591e6 [doc] fix doc to work in all known repos. (iannucci@chromium.org)

TBR=borenet@google.com

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

7 years agoReland: Remove SkLights include from SkCanvas.h
Florin Malita [Tue, 2 May 2017 19:33:01 +0000 (15:33 -0400)]
Reland: Remove SkLights include from SkCanvas.h

SkLights.h pulls in a bunch of other headers and is not needed (fwdecl
works fine).

Change-Id: I3ed97cd7861e51dcb7cfa7950a97b420dbc6fbfb
TBR=reed@google.com
Reviewed-on: https://skia-review.googlesource.com/15143
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoRoll recipe dependencies (nontrivial).
recipe-roller [Wed, 3 May 2017 12:32:29 +0000 (05: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/5aeaa309400b74958fe31ae1c6bcb02b5c234ef1 Bisect - Macbook air/pro builders got mixed up. (simonhatch@chromium.org)
  https://crrev.com/f39ac3f107a8aad2852c5d9f6130aaad6320999a Remove remove_system_webview and disable_system_chrome args. (mikecase@google.com)
  https://crrev.com/ea628f4f2f2aee5d2c12d23f778aa7e83fb3ebe5 OWNERS for libfuzzer stuff: remove aizatsky@, add mmoroz@. (mmoroz@chromium.org)
  https://crrev.com/3c24183bd79cd763ee7c93d62e3cb6920a05b2ad Add "luci-go-web-packager" builder. (dnj@chromium.org)
  https://crrev.com/1ba91448466d5d6bbc75497a11e828dead54be08 Add tests for chromium_tests recipe module (patch #2) (phajdan.jr@chromium.org)
  https://crrev.com/4ec89ab8b30ff37cf12aad7c4cd1be609a98157c Support ranges of hostnames in builders.pyl. (dpranke@chromium.org)
  https://crrev.com/d0902ccf0320ae6a7ecd153439d366c0a5297adf Remove chromite config recipe configuration values that are no longer needed. (dgarrett@google.com)
  https://crrev.com/97c081d4dab9da4dcf36458d405928127f64c453 Add host poisoning and host valgrind. (ngeoffray@google.com)
  https://crrev.com/6090db20c4bc86d175ecc78e2b2cee649ffe06cf WebRTC: Add video quality loopback test to android. Take 6 (oprypin@chromium.org)
  https://crrev.com/b61656b9936b78029aacaac9edc3c3581ec7c350 Fix valgrind bots and adjust number of threads on fugu. (ngeoffray@google.com)
  https://crrev.com/852bdd6b4047712be00b491f51e075af89c31c3d Set the number of threads for valgrind. (ngeoffray@google.com)
  https://crrev.com/902c9df1c55e10db441703cbbaea9e5f72165e0a WebRTC: Skip video_quality_loopback_test on Android K perf bot. (kjellander@chromium.org)
  https://crrev.com/42e4bfb3015ab4ed39433ce882162ff5d5d71834 Add tests for chromium_tests recipe module (patch #3) (phajdan.jr@chromium.org)
depot_tools:
  https://crrev.com/644a1d87e6ff99a19bfa2541ac03ee51deef589f Stop passing deprecated manifest flag to bot_update (machenbach@chromium.org)
  https://crrev.com/78628da995e92c2cc371de65a90142f8a91b62bf [cipd.ps1] catch CommandNotFoundException if git is not available yet (iannucci@chromium.org)
  https://crrev.com/df6e7348b977771d51162cb85bead08c883ca7ad Fix addition of CQ_INCLUDE_TRYBOTS on Gerrit. (kbr@chromium.org)
  https://crrev.com/20d2cbb8f59164f3e44b03600152e981dd0a23bd gerrit_util: Fix name of conn object data member (agable@chromium.org)
recipe_engine:
  https://crrev.com/c0617faf2648170732bec7f4f5139ac706fe1ebd [recipes.py] make `--properties-file -` work correctly again. (iannucci@chromium.org)
  https://crrev.com/77da3ca06f0c46b613b51eea0cf2186c7e8b58c9 [recipes.py] remove get_package_config. (iannucci@chromium.org)
  https://crrev.com/f162918ed7c917f187c8098b88e4fd02b82e06aa [recipes.py] refactor common argument parsing, directly validate --package (iannucci@chromium.org)
  https://crrev.com/ce0d4e67ec52fcf2aa662635e110a5427aaa4a09 [json] add dumps method to test_api. (iannucci@chromium.org)
  https://crrev.com/8b7295c5344ed0cb6ed7843f9df2c6b58a015fe5 [recipes.py] refactor loading for operational_arguments. (iannucci@chromium.org)

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id2483f1a5f46ca1c5f374b327ab4f0d0f96306a2
Reviewed-on: https://skia-review.googlesource.com/15182
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoremove unused etc logic
Mike Reed [Wed, 3 May 2017 12:28:03 +0000 (08:28 -0400)]
remove unused etc logic

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

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 3 May 2017 12:01:52 +0000 (05: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/99164f601e87f07d382889014617f15bca75f20b Revert "WebRTC: Add video quality loopback test to android. Take 5" (oprypin@chromium.org)
depot_tools:
  https://crrev.com/86989d7b0f709d43a4f48b8e7a17a111576c96fc Reland "Remove obsolete bot_update flag" (machenbach@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I3ad013e2122a3cddb98d1d7dda0c60fc4c0249d1
Reviewed-on: https://skia-review.googlesource.com/15180
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, 3 May 2017 11:22:06 +0000 (04:22 -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/44178cbebda775224e182b2fb0185b068dd0f72f WebRTC: Add additional solution for App Engine to Android perf bots. (kjellander@chromium.org)
recipe_engine:
  https://crrev.com/944125e6d1e8c831d09517bde658a38d8f81db37 Sort step presentation properties (machenbach@chromium.org)

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib2118f9d6c3e4a6877071694758b073623f88006
Reviewed-on: https://skia-review.googlesource.com/15159
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 3 May 2017 10:42:16 +0000 (03:42 -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/05849d490d68fc3ca382dffe669e266b911d348b Show ninja stats on buildbots for goma canary (tikuta@google.com)
  https://crrev.com/96931083f84ce2e97e2d113a66b1fa06b58ed45d Remove direct read accesses to got_revision_mapping (machenbach@chromium.org)
  https://crrev.com/322e14b72577780d070d35723d46f7bc3e2fb81f Migrate V8 to use reversed got_revision mapping (machenbach@chromium.org)
  https://crrev.com/96bf6abc2c3cdc7b6b507929856dadf0b10871da V8: Remove obsolete bot_update flag (machenbach@chromium.org)
  https://crrev.com/30f8d6920b96bc43f9cd6cc63a99b95666398cb8 Switch ART recipes to use the CC collector by default. (rpl@google.com)
  https://crrev.com/9d20a223d82b56419650d8fccbc85e05d81ca140 LogDog: Emit build URL as LogDog tag. (dnj@chromium.org)
  https://crrev.com/1e18cf82c804945ff13c0b76fc872064f507f222 Revert "V8: Add link to docu in email." (franzih@chromium.org)
  https://crrev.com/4b06433ab99bee20b6b7fbce757f283ebc3001f5 Use depot_tools/{gitiles,url} modules. (dnj@chromium.org)
  https://crrev.com/379bf75cbf69331d7de1f031dd8bda4f7ccc662c chromium_tests: merge blink-paths subproject tag into blink (phajdan.jr@chromium.org)
  https://crrev.com/a833692a37332eda054a14ca211cfcffb6c0dce0 [Findit] Removing deprecated variable builder (lijeffrey@google.com)
  https://crrev.com/5bd3e7cb3b4567559ee8a3abd02170aaa5ef9eb8 Add Clang Static Analyzer to Trybot master+slave cfgs. (kmarshall@chromium.org)
  https://crrev.com/7f72c322020fed7782b50a3cf6d249d45811818f Add tests for chromium_tests recipe module (patch #1) (phajdan.jr@chromium.org)
  https://crrev.com/0ddf064628fa2bdffb88283de0beb2238e564787 Add build failure notifications for AFL/libFuzzer. (ochang@chromium.org)
  https://crrev.com/499ddadadfc9023a02977bef7bc7a13395520bbd Restrict Clang analysis build to Chrome non-test sources. (kmarshall@chromium.org)
  https://crrev.com/4bdf52d9e622aff6dca23b1d75bb48b160ecb123 Add target chrome for goma client canary bots (tikuta@google.com)
  https://crrev.com/7e47d24e24657520905e8025882c5a86f819c914 Fix LocalOutputCache mac builder name (shinyak@google.com)
  https://crrev.com/28e22583e822093cd3f29ce43437e991bd8b2959 Update master.chromium.mac to include a newly added 10.12 slave. (erikchen@chromium.org)
  https://crrev.com/ddd9bbfb0c1822049db7e27a59854ed81c106dac WebRTC: Add video quality loopback test to android. Take 5 (oprypin@chromium.org)
depot_tools:
  https://crrev.com/c180dc40305d69db346d9e6369dd8dcd87076be8 Remove directly accessing got_revision_mapping (machenbach@chromium.org)
  https://crrev.com/72048266d5cf68dc06c2cd20e173fbcb6f0dcfd2 Remove obsolete bot_update flag (machenbach@chromium.org)
  https://crrev.com/c91686c087704f3aeea594e6b7c82767fa7d753b Revert "Remove obsolete bot_update flag" (machenbach@chromium.org)
recipe_engine:
  https://crrev.com/9715f08144e7d8a8d7d543fa2cb5d266ae289849 Whitelist "hashlib" for import. (dnj@chromium.org)

TBR=borenet@google.com

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

7 years agook, add sRGB support
Mike Klein [Wed, 3 May 2017 01:04:34 +0000 (21:04 -0400)]
ok, add sRGB support

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

7 years agofix tricolor shader
Mike Reed [Tue, 2 May 2017 21:01:08 +0000 (17:01 -0400)]
fix tricolor shader

1. map pixel-centers through inverse (correctness)
2. forward-difference srcXY in loop (perf)

Lots of minor (but correct) changes in GMs

Bug: skia:6578
Change-Id: I2ad2ef939f58373d33212d4056c7d2f63eaafe0e
Reviewed-on: https://skia-review.googlesource.com/15153
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoRemove translateZ and lights from SkCanvas
Jim Van Verth [Tue, 2 May 2017 20:49:24 +0000 (16:49 -0400)]
Remove translateZ and lights from SkCanvas

Bug: skia:6557
Change-Id: I0dbf70c4131ab59e7fc6c674a6587767af98e13a
Reviewed-on: https://skia-review.googlesource.com/15151
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRevert "eliminated GrGLSLExpr"
Brian Salomon [Tue, 2 May 2017 21:07:25 +0000 (21:07 +0000)]
Revert "eliminated GrGLSLExpr"

This reverts commit 93f20f5629e52eed732d2b9d6dbbb351cc30b2cd.

Reason for revert: Mismerge readded deleted files.

Original change's description:
> eliminated GrGLSLExpr
>
> Now that skslc performs all of the optimizations (and then some) that
> GrGLSLExpr is responsible for, it's just extra work for no benefit.
>
> Bug: skia:
> Change-Id: I40b0629e00a33873ed9fc6c0a9f41d8350221f9a
> Reviewed-on: https://skia-review.googlesource.com/14560
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

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

Change-Id: Ia8b723594527afe34489fc78a4b49039081b6390
Reviewed-on: https://skia-review.googlesource.com/15154
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoSupport numerical transfer functions in readPixels()
Matt Sarett [Tue, 2 May 2017 20:19:51 +0000 (16:19 -0400)]
Support numerical transfer functions in readPixels()

Let's do this because:
(1) We can.
(2) Android and Chrome have asked for it.
(3) It will simplify the implementation of SkImage::makeColorSpace().

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

7 years agoAdd support for row-by-row jpeg encoding
Matt Sarett [Tue, 2 May 2017 20:04:56 +0000 (16:04 -0400)]
Add support for row-by-row jpeg encoding

Reland of:
https://skia-review.googlesource.com/c/14641/

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

7 years agoRevert "Revert "Remove copyTo() legacy API flag from bzl""
Matt Sarett [Tue, 2 May 2017 20:36:18 +0000 (20:36 +0000)]
Revert "Revert "Remove copyTo() legacy API flag from bzl""

This reverts commit d271ba268876d3feca13e02d0a92ecaf79b6ddfc.

Reason for revert: Client failures should be fixed.  Will keep an eye on the roller.

Original change's description:
> Revert "Remove copyTo() legacy API flag from bzl"
>
> This reverts commit 65083e444c03cedecf45bc38bb8fea27e91e0a9e.
>
> Reason for revert: Causes build failures.
>
> Original change's description:
> > Remove copyTo() legacy API flag from bzl
> >
> > NOTRY=true
> >
> > Bug: skia:6464
> > Change-Id: Ia3935998960054df9e54cfb2aead66549c629c04
> > Reviewed-on: https://skia-review.googlesource.com/15001
> > Reviewed-by: Matt Sarett <msarett@google.com>
> > Commit-Queue: Matt Sarett <msarett@google.com>
> >
>
> TBR=msarett@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I9d82c7b699e106238981e32553e975c91e42cfb8
> Reviewed-on: https://skia-review.googlesource.com/15021
> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
>

TBR=benjaminwagner@google.com,msarett@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

7 years agoAdd wireframe mode to Viewer.
Jim Van Verth [Tue, 2 May 2017 20:15:53 +0000 (16:15 -0400)]
Add wireframe mode to Viewer.

Change-Id: I0ff11088465a4702acf9841a791d76f286ddbaf1
Reviewed-on: https://skia-review.googlesource.com/15147
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoeliminated GrGLSLExpr
Ethan Nicholas [Tue, 2 May 2017 19:37:57 +0000 (15:37 -0400)]
eliminated GrGLSLExpr

Now that skslc performs all of the optimizations (and then some) that
GrGLSLExpr is responsible for, it's just extra work for no benefit.

Bug: skia:
Change-Id: I40b0629e00a33873ed9fc6c0a9f41d8350221f9a
Reviewed-on: https://skia-review.googlesource.com/14560
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agospeedup exp() in gaussian colorfilter
Mike Reed [Tue, 2 May 2017 19:13:43 +0000 (15:13 -0400)]
speedup exp() in gaussian colorfilter

~20% faster
differs in low 1 from prev impl

Bug: skia:
Change-Id: If7aa7f5523f15a5424ebf5a09313c5e1d43e1a1f
Reviewed-on: https://skia-review.googlesource.com/15105
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
7 years agoManually roll skia recipe deps.
John Budorick [Sat, 29 Apr 2017 01:59:04 +0000 (18:59 -0700)]
Manually roll skia recipe deps.

This includes:
 recipes-py:  https://chromium.googlesource.com/external/github.com/luci/recipes-py/+log/f5e47cfc28b5964701572db12f96c7a5a3f1821a..554e8878ac6395262dc3c90bbb8a100ee844f766
 depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/109907e6a95ae0301b1564c76c4a3e9d15e19366..1e71b8bdf0913b306b28141192272350cf68cdc2
 tools/build: https://chromium.googlesource.com/chromium/tools/build/+log/f7b41106d64b6517c67343f2cfb03f4a9d62afc2..dcca7cbe7ecda2c4d511f38c6f3eab29cad08cf7

The ranges include my generic postprocess/merge change in tools/build
that had been failing to roll over in https://skia-review.googlesource.com/c/13920/
along with a few corresponding fixes.

Change-Id: I7e328bdb3acfc9b4c219e408c226f181f3b05f3d
Reviewed-on: https://skia-review.googlesource.com/14678
Commit-Queue: John Budorick <jbudorick@chromium.org>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoSetup support for UNIFORM_TEXEL_BUFFER descriptor sets in Vulkan
Greg Daniel [Tue, 2 May 2017 18:01:43 +0000 (14:01 -0400)]
Setup support for UNIFORM_TEXEL_BUFFER descriptor sets in Vulkan

This is the first CL to get support for using texel buffers in vulkan.

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

7 years agosksl support for buffer blocks
Ethan Nicholas [Mon, 1 May 2017 20:57:07 +0000 (16:57 -0400)]
sksl support for buffer blocks

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

7 years agoRemove EXPERIMENTAL_SHADOWING, Part 1
Jim Van Verth [Tue, 2 May 2017 14:37:45 +0000 (10:37 -0400)]
Remove EXPERIMENTAL_SHADOWING, Part 1

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