platform/upstream/libSkiaSharp.git
7 years agoRemove unused asACustomShader function from SkShader
Greg Daniel [Fri, 20 Jan 2017 14:37:24 +0000 (09:37 -0500)]
Remove unused asACustomShader function from SkShader

I recentely removed the only call site of this so it should be
safe to delete now.

BUG=skia:

Change-Id: Id7fa94b9af5d73c4f7bb5e5a657d6fc6728923b5
Reviewed-on: https://skia-review.googlesource.com/7330
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoReplace some GrSurface:read/writePixels with the GrSurfaceContext equivalent
Robert Phillips [Thu, 19 Jan 2017 21:59:04 +0000 (16:59 -0500)]
Replace some GrSurface:read/writePixels with the GrSurfaceContext equivalent

Change-Id: I7b11a323b0c74ee70f52b1bd8be376fb7188cb19
Reviewed-on: https://skia-review.googlesource.com/7204
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agofix fuzz asserts triggered by old fuzzes
Cary Clark [Fri, 20 Jan 2017 13:14:33 +0000 (08:14 -0500)]
fix fuzz asserts triggered by old fuzzes

fuzz fixes

Fixes from running all pathops fuzz testson ToT.

R=kjlubick@google.com
BUG=skia:

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

7 years agoMarker for IntelIris540 driver change.
Ben Wagner [Fri, 20 Jan 2017 14:28:56 +0000 (09:28 -0500)]
Marker for IntelIris540 driver change.

NOTRY=true
NOTREECHECKS=true
TBR=jcgregorio
BUG=skia:

Change-Id: Id26e5fae667035516df8802e8a328233412de94c
Reviewed-on: https://skia-review.googlesource.com/7328
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoSkRasterPipeline impl for 2-stop linear gradients
Florin Malita [Fri, 20 Jan 2017 13:41:34 +0000 (08:41 -0500)]
SkRasterPipeline impl for 2-stop linear gradients

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: Ia2b630cf9c0826fbfc3342707c005030d0529bbc
Reviewed-on: https://skia-review.googlesource.com/7186
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRevert "explictly fail to draw unpremul, as this is buggy, incomplete, tricky, and...
Joe Gregorio [Fri, 20 Jan 2017 14:21:27 +0000 (14:21 +0000)]
Revert "explictly fail to draw unpremul, as this is buggy, incomplete, tricky, and unused"

This reverts commit 1baaacac74d24604e3dfca9857fbd647df375997.

Reason for revert: Failing the roll: https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/3868/layout-test-results/results.html

Original change's description:
> explictly fail to draw unpremul, as this is buggy, incomplete, tricky, and unused
>
> BUG=skia:
>
> Change-Id: Ie9da6015cc4955c0f27f6db53fc6ae532e0132f4
> Reviewed-on: https://skia-review.googlesource.com/7304
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Matt Sarett <msarett@google.com>
>

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

Change-Id: Ifc808a430b8afe4fef6df3775c2bfdcede1a2dd7
Reviewed-on: https://skia-review.googlesource.com/7329
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
7 years agoremove unused device apis
Mike Reed [Fri, 20 Jan 2017 03:21:16 +0000 (22:21 -0500)]
remove unused device apis

BUG=skia:

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

7 years agoReland "Respect full precision for RGB16 PNGs" (part 3)
Matt Sarett [Thu, 19 Jan 2017 22:42:23 +0000 (17:42 -0500)]
Reland "Respect full precision for RGB16 PNGs" (part 3)

This lands the rest of the original CL.
It fixes some flawed logic in SkSwizzler handling Gray8
images.

Original CL:
https://skia-review.googlesource.com/c/7085/

BUG=skia:

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD,Build-Ubuntu-Clang-x86_64-Release-Fast

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

7 years agoAdd F16 support to SkPNGImageEncoder
Matt Sarett [Thu, 19 Jan 2017 22:14:07 +0000 (17:14 -0500)]
Add F16 support to SkPNGImageEncoder

BUG=skia:

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

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

7 years agoSkSplicer: always initialize fLowp
Mike Klein [Thu, 19 Jan 2017 22:35:32 +0000 (17:35 -0500)]
SkSplicer: always initialize fLowp

UBSAN sees copying non-bool (uninitialized) values into this bool.  Not
really a big deal, as we'll never actually use it in that case, but it's
best to just initialize it to true or false.

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

7 years agoReplaced all calls to fragmentPosition() with sk_FragCoord
Ethan Nicholas [Thu, 19 Jan 2017 21:58:02 +0000 (16:58 -0500)]
Replaced all calls to fragmentPosition() with sk_FragCoord

BUG=skia:

Change-Id: I179576e148ea6caf6e1c40f0a216421898bcb35d
Reviewed-on: https://skia-review.googlesource.com/5941
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoReland "Respect full precision for RGB16 PNGs" (part 2)
Matt Sarett [Thu, 19 Jan 2017 17:04:32 +0000 (12:04 -0500)]
Reland "Respect full precision for RGB16 PNGs" (part 2)

This lands all the new xform hooks but no change to src/codec.
So the new decode features are turned off.

I'm relanding this in pieces to try to bisect a
strange MSAN error.

Original CL:
https://skia-review.googlesource.com/c/7085/

BUG=skia:

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD,Build-Ubuntu-Clang-x86_64-Release-Fast

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

7 years agoSkSplicer: lowp hacking
Mike Klein [Sun, 15 Jan 2017 23:14:07 +0000 (18:14 -0500)]
SkSplicer: lowp hacking

Add lowp variants for most stages in SkSplicer.  These double the number
of pixels handled by representing each channel with 16 bits, ranging from
0x0000 as 0 to 0x8000 as 1.  This format lets us use the Q15 multiply
instructions available in NEON and SSSE3 at full register width, with
a little platform-specific fix up to smooth over the fact that these
aren't quite Q15 values.

When a lowp stage is unavailable, the entire pipeline upgrades to
floats.  So by simply not implementing sRGB, f16, matrix multiplication,
etc, we naturally express that they're best handled with floats.

These lowp stages ended up different enough that I've found it clearer
to have them live in their own files, noting where they differ from the
float stages.  HSW, aarch64, and armv7 are all supported.

I've seen very good things performance-wise on all platforms.

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

7 years agoMake GL_RED workaround only be triggered by osmesa
Brian Salomon [Thu, 19 Jan 2017 20:52:24 +0000 (15:52 -0500)]
Make GL_RED workaround only be triggered by osmesa

BUG=skia:6134

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

7 years agoRevert "Revert "move device headers to core""
Mike Reed [Thu, 19 Jan 2017 21:07:49 +0000 (16:07 -0500)]
Revert "Revert "move device headers to core""

This reverts commit d4bdee5f2c4c2c1387426d287f61645b5af8f8e0.

BUG=skia:

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

7 years agoFix reset and deleting behavior.
Herb Derby [Thu, 19 Jan 2017 19:28:49 +0000 (14:28 -0500)]
Fix reset and deleting behavior.

* Reset the Arena state.
* Call all the dtors before deleting the blocks.

Change-Id: I6d90463966ac7bf9f0a4fda229f67d508c86bebb
Reviewed-on: https://skia-review.googlesource.com/7308
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>

7 years agoAdd -Release ASAN bots.
Mike Klein [Thu, 19 Jan 2017 17:14:50 +0000 (12:14 -0500)]
Add -Release ASAN bots.

These may be better at -fsanitize=object-size.

No need to loop more than once in nanobench for these bots.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Release-ASAN,Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-ASAN,Perf-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Release-ASAN,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-ASAN,Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Release-ASAN

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

7 years agoAdded constant propagation and better variable liveness tracking to skslc.
Ethan Nicholas [Thu, 19 Jan 2017 18:32:00 +0000 (13:32 -0500)]
Added constant propagation and better variable liveness tracking to skslc.

This allows skslc to track the values of variables with constant
values across multiple statements and replace variable references with
constant values where appropriate.

The improved liveness tracking allows skslc to realize that a
variable is no longer alive if all references to it have been
replaced. It is not yet doing much with this information; better
dead code elimination is coming in a followup change.

BUG=skia:

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

7 years agoremove clipstack from lua -- deprecated
Mike Reed [Thu, 19 Jan 2017 19:34:51 +0000 (14:34 -0500)]
remove clipstack from lua -- deprecated

BUG=skia:

Change-Id: I7974b5921aeeabc9c58fdf76731d80b8f0702a70
Reviewed-on: https://skia-review.googlesource.com/7309
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoexplictly fail to draw unpremul, as this is buggy, incomplete, tricky, and unused
Mike Reed [Thu, 19 Jan 2017 18:48:39 +0000 (13:48 -0500)]
explictly fail to draw unpremul, as this is buggy, incomplete, tricky, and unused

BUG=skia:

Change-Id: Ie9da6015cc4955c0f27f6db53fc6ae532e0132f4
Reviewed-on: https://skia-review.googlesource.com/7304
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoremove SK_SUPPORT_LEGACY_CANVAS_GETCLIPSTACK from public.bzl
Mike Reed [Thu, 19 Jan 2017 19:04:53 +0000 (14:04 -0500)]
remove SK_SUPPORT_LEGACY_CANVAS_GETCLIPSTACK from public.bzl

BUG=skia:

Change-Id: I6423fa30eda12576c425d017f328306a31b80d3e
NOTRY=True
Reviewed-on: https://skia-review.googlesource.com/7305
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agonew hacky api to get cliprgn for android
Mike Reed [Thu, 19 Jan 2017 16:36:41 +0000 (11:36 -0500)]
new hacky api to get cliprgn for android

BUG=skia:

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

7 years agoAdd hcm@ to public API owners
Ravi Mistry [Thu, 19 Jan 2017 17:00:08 +0000 (12:00 -0500)]
Add hcm@ to public API owners

BUG=skia:
NOTRY=true

Change-Id: I4d54591db0d50ceca02a87868fd125309bd4531e
Reviewed-on: https://skia-review.googlesource.com/7275
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoReland "Respect full precision for RGB16 PNGs" (part 1)
Matt Sarett [Thu, 19 Jan 2017 16:40:41 +0000 (11:40 -0500)]
Reland "Respect full precision for RGB16 PNGs" (part 1)

This is just the new test images.

I'm relanding this in pieces to try to bisect a
strange MSAN error.

Original CL:
https://skia-review.googlesource.com/c/7085/

BUG=skia:

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD,Build-Ubuntu-Clang-x86_64-Release-Fast,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN

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

7 years agoMove srgb enable flags to GrProcessorSet from pipelinebuilder
Brian Salomon [Thu, 19 Jan 2017 16:31:50 +0000 (11:31 -0500)]
Move srgb enable flags to GrProcessorSet from pipelinebuilder

BUG=skia:

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

7 years agoNo need to fake makeArrayDefault() now that it exists.
Mike Klein [Thu, 19 Jan 2017 14:59:20 +0000 (09:59 -0500)]
No need to fake makeArrayDefault() now that it exists.

Change-Id: I5e3cbac5caa483dfebd17444d9fb98e1adf1fdff
Reviewed-on: https://skia-review.googlesource.com/7267
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoUpdate Skia milestone to 58
Heather Miller [Thu, 19 Jan 2017 16:16:26 +0000 (11:16 -0500)]
Update Skia milestone to 58

BUG=skia:

Change-Id: I01bc472558f8ff77b6de3f42958dafeb78b9b511
Reviewed-on: https://skia-review.googlesource.com/7272
Commit-Queue: Heather Miller <hcm@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
7 years agoRevert "Added constant propagation and better variable liveness tracking to"
Ethan Nicholas [Thu, 19 Jan 2017 16:31:32 +0000 (16:31 +0000)]
Revert "Added constant propagation and better variable liveness tracking to"

This reverts commit f54b07121f81a56145fb118a2e18841fc135717d.

Reason for revert: ASAN failure

Original change's description:
> Added constant propagation and better variable liveness tracking to
> skslc.
>
> This allows skslc to track the values of variables with constant
> values across multiple statements and replace variable references with
> constant values where appropriate.
>
> The improved liveness tracking allows skslc to realize that a
> variable is no longer alive if all references to it have been
> replaced. It is not yet doing much with this information; better
> dead code elimination is coming in a followup change.
>
> BUG=skia:
>
> Change-Id: I6bf267d478b769caf0063ac3597dc16bbe618cb4
> Reviewed-on: https://skia-review.googlesource.com/7033
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
>

TBR=egdaniel@google.com,ethannicholas@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: Id2e26bce96b27df73948f8b32d3dff2e358ae0d6
Reviewed-on: https://skia-review.googlesource.com/7274
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
7 years agoAdded constant propagation and better variable liveness tracking to
Ethan Nicholas [Thu, 19 Jan 2017 15:44:45 +0000 (10:44 -0500)]
Added constant propagation and better variable liveness tracking to
skslc.

This allows skslc to track the values of variables with constant
values across multiple statements and replace variable references with
constant values where appropriate.

The improved liveness tracking allows skslc to realize that a
variable is no longer alive if all references to it have been
replaced. It is not yet doing much with this information; better
dead code elimination is coming in a followup change.

BUG=skia:

Change-Id: I6bf267d478b769caf0063ac3597dc16bbe618cb4
Reviewed-on: https://skia-review.googlesource.com/7033
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoDon't require GrPipelineBuilder to build GrPipeline
Brian Salomon [Thu, 19 Jan 2017 14:55:19 +0000 (09:55 -0500)]
Don't require GrPipelineBuilder to build GrPipeline

Change-Id: Ic978913aa9dd0811eac102755934d77b4853a568
Reviewed-on: https://skia-review.googlesource.com/7207
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoMake savelayer_* GM be 565 friendly
Robert Phillips [Thu, 19 Jan 2017 13:37:31 +0000 (08:37 -0500)]
Make savelayer_* GM be 565 friendly

Change-Id: I0594d9e8d2495643a404bddee61d7f01c7c0103c
Reviewed-on: https://skia-review.googlesource.com/7263
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoUse fixed size buffer for RLE bmps
Leon Scroggins III [Wed, 18 Jan 2017 17:39:07 +0000 (12:39 -0500)]
Use fixed size buffer for RLE bmps

An RLE bmp reports how many bytes it should contain. This number may be
incorrect, or it may be a very large number. Previously, we buffered
all bytes in a single allocation. Instead, use a fixed size buffer and
only read what fits into the buffer. We already have code to refill the
buffer if there is more data, so rely on that to keep reading.

Choose an arbitrary size for the buffer. It is larger than the maximum
possible number of bytes we need to read at once.

Add a test with a test image that reports a very large number for
the number of bytes it should contain. With the old method, we would
allocate 4 gigs of memory to decode this image, which is unnecessary
and may result in OOM.

BUG=b/33251605

Change-Id: I6d66eace626002725f62237617140cab99ce42f3
Reviewed-on: https://skia-review.googlesource.com/7028
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoremove metadata from device
Mike Reed [Thu, 19 Jan 2017 01:10:03 +0000 (20:10 -0500)]
remove metadata from device

BUG=skia:

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

7 years agoImplement sk_tool_utils::copy_to_g8(), used by gms
Matt Sarett [Wed, 18 Jan 2017 16:49:33 +0000 (11:49 -0500)]
Implement sk_tool_utils::copy_to_g8(), used by gms

BUG=skia:

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

7 years agoRevert "Fix reset and deleting behavior."
Herb Derby [Thu, 19 Jan 2017 03:32:23 +0000 (03:32 +0000)]
Revert "Fix reset and deleting behavior."

This reverts commit 412a86d014783be99a7a9a0fae407791b95806e8.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Fix reset and deleting behavior.
>
> * Reset the Arena state.
> * Call all the dtors before deleting the blocks.
>
> TBR=mtklein@google.com
>
> Change-Id: Iac320fec16e572cc9a6184c1f580089ab720f036
> Reviewed-on: https://skia-review.googlesource.com/7221
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
>

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

Change-Id: I4f4d34e0190a60d418f11326a9a9688d7487b8d8
Reviewed-on: https://skia-review.googlesource.com/7261
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>

7 years agoFix reset and deleting behavior.
Herb Derby [Wed, 18 Jan 2017 22:07:48 +0000 (17:07 -0500)]
Fix reset and deleting behavior.

* Reset the Arena state.
* Call all the dtors before deleting the blocks.

TBR=mtklein@google.com

Change-Id: Iac320fec16e572cc9a6184c1f580089ab720f036
Reviewed-on: https://skia-review.googlesource.com/7221
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>

7 years agoensure path bounds after rounding contain path edges when using SK_RASTERIZE_EVEN_ROU...
Lee Salzman [Fri, 13 Jan 2017 18:35:49 +0000 (13:35 -0500)]
ensure path bounds after rounding contain path edges when using SK_RASTERIZE_EVEN_ROUNDING

BUG=skia:

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

7 years agoReject horizontal edges in FDot6 precision
Yuqian Li [Wed, 18 Jan 2017 15:51:26 +0000 (10:51 -0500)]
Reject horizontal edges in FDot6 precision

This simplifies the slope computation because we don't have to check dy
!= 0.

BUG=skia:

Change-Id: I5c09a9217ceed65f81f9d82cb045e33a70218077
Reviewed-on: https://skia-review.googlesource.com/7180
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agoRevert "Disallow readPixels() conversions from untagged srcs to tagged dsts"
Matt Sarett [Wed, 18 Jan 2017 19:44:03 +0000 (19:44 +0000)]
Revert "Disallow readPixels() conversions from untagged srcs to tagged dsts"

This reverts commit ccfd1083a7b9d546735ddd1037f3240635cce72d.

Reason for revert: Roll is failing.

Original change's description:
> Disallow readPixels() conversions from untagged srcs to tagged dsts
>
> This might break the roll into Chrome.  But let's see how.
>
> BUG=skia:6021
>
> Change-Id: I2698b5d6fe72d01bed0dc64703b592a03d441a80
> Reviewed-on: https://skia-review.googlesource.com/7127
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>

TBR=msarett@google.com,brianosman@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6021

Change-Id: I4b62178fd7c23f43cf69ca69fc14526ecd503956
Reviewed-on: https://skia-review.googlesource.com/7205
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoRevert concave AAA
Yuqian Li [Wed, 18 Jan 2017 17:32:29 +0000 (12:32 -0500)]
Revert concave AAA

BUG=skia:6131
TBR=reed@google.com,caryclark@google.com

Change-Id: Ib580a4fb9023f43518a3d89cd70bf2589ad02bb6
Reviewed-on: https://skia-review.googlesource.com/7200
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
7 years agosaveLayer experiments
Robert Phillips [Tue, 17 Jan 2017 15:48:52 +0000 (10:48 -0500)]
saveLayer experiments

Change-Id: Ic4f916cf3483244d5a79e32dc287a01dac41a650
Reviewed-on: https://skia-review.googlesource.com/7106
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoDisallow readPixels() conversions from untagged srcs to tagged dsts
Matt Sarett [Tue, 17 Jan 2017 20:54:24 +0000 (15:54 -0500)]
Disallow readPixels() conversions from untagged srcs to tagged dsts

This might break the roll into Chrome.  But let's see how.

BUG=skia:6021

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

7 years agoRename GrProcOptInfo::addProcessors to analyzeProcessors
Brian Salomon [Wed, 18 Jan 2017 16:08:41 +0000 (11:08 -0500)]
Rename GrProcOptInfo::addProcessors to analyzeProcessors

Change-Id: I49d5fa568d5b9835ee8a76fd8b2b450ece944728
Reviewed-on: https://skia-review.googlesource.com/7182
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoAdd class GrProcessorSet which represents color and coverage FPs and a XPFactory.
Brian Salomon [Wed, 18 Jan 2017 16:01:10 +0000 (11:01 -0500)]
Add class GrProcessorSet which represents color and coverage FPs and a XPFactory.

Eventually ops can use this to hold their ops and create GrPipelines at flush time.

For now it is used by GrPipelineBuilder.

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

7 years agoRoll Recipe DEPS
Kevin Lubick [Wed, 18 Jan 2017 16:28:10 +0000 (11:28 -0500)]
Roll Recipe DEPS

skia-recipes:
f3a0ef9 Make gn use Vulkan SDK on Windows And Linux
        7ab5cc6 Wrap GN args in ""

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Debug-Vulkan,Build-Ubuntu-Clang-x86_64-Release-Vulkan

Change-Id: I48225fde38bf909acff3eea9e5d09f43bff7f8ec
Reviewed-on: https://skia-review.googlesource.com/7176
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoMove read/write-Pixels up to GrSurfaceContext
Robert Phillips [Wed, 18 Jan 2017 15:08:39 +0000 (10:08 -0500)]
Move read/write-Pixels up to GrSurfaceContext

This still needs to be propagated out in several ways:
  replace more instances of GrSurface::read/write-Pixels
  add colorSpace to more instances of the TextureContext

but it establishes a beach-head and is exciting enough as is.

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

7 years agoRevert "Respect full precision for RGB16 PNGs"
Matt Sarett [Wed, 18 Jan 2017 16:13:25 +0000 (16:13 +0000)]
Revert "Respect full precision for RGB16 PNGs"

This reverts commit 7a090c403da1dad6a2e19f2011158bd894a62d91.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Respect full precision for RGB16 PNGs
>
> BUG=skia:
>
> CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
>
> Change-Id: If58d201daae97bce2f8efbc453c2ec452e682493
> Reviewed-on: https://skia-review.googlesource.com/7085
> Commit-Queue: Matt Sarett <msarett@google.com>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>

TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,scroggo@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: Ibd9879bc4f65ca0c2457dd0bfb5eb008d9a8f672
Reviewed-on: https://skia-review.googlesource.com/7183
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoRevert "Revert "SkImageInfoValidConversion (part 2)""
Matt Sarett [Wed, 18 Jan 2017 16:04:50 +0000 (16:04 +0000)]
Revert "Revert "SkImageInfoValidConversion (part 2)""

This reverts commit 8dadd9e8936a1c8f44fccdfde7f883dfe2d89c96.

Reason for revert: Fixed Chrome.  This should roll now.

Original change's description:
> Revert "SkImageInfoValidConversion (part 2)"
>
> This reverts commit 94bd50cc5575b90eb60234399d69905b8651c27e.
>
> Reason for revert: Still breaking roll
>
> Original change's description:
> > SkImageInfoValidConversion (part 2)
> >
> > Disabling non-opaque -> opaque should be fine now that the
> > Chrome unit test has been fixed.
> >
> > BUG=skia:6021
> >
> > Change-Id: I39f087e2695bdefacf793bd137931e3115ec58cb
> > Reviewed-on: https://skia-review.googlesource.com/7121
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Matt Sarett <msarett@google.com>
> >
>
> TBR=msarett@google.com,brianosman@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:6021
>
> Change-Id: I79843ea6cf60ca94822446c548f3386706924ee6
> Reviewed-on: https://skia-review.googlesource.com/7164
> Commit-Queue: Matt Sarett <msarett@google.com>
> Reviewed-by: Matt Sarett <msarett@google.com>
>

TBR=msarett@google.com,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6021

Change-Id: I40a85ac2e407de15916f0893d55163aea44157cb
Reviewed-on: https://skia-review.googlesource.com/7181
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoRespect full precision for RGB16 PNGs
Matt Sarett [Tue, 17 Jan 2017 17:22:48 +0000 (12:22 -0500)]
Respect full precision for RGB16 PNGs

BUG=skia:

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: If58d201daae97bce2f8efbc453c2ec452e682493
Reviewed-on: https://skia-review.googlesource.com/7085
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoTurn on concave analytic AA
Yuqian Li [Tue, 17 Jan 2017 21:15:06 +0000 (16:15 -0500)]
Turn on concave analytic AA

This will allow Skia trybots to exercise analytic AA. But there's still
a guard flag in Chromium that prevents layout tests failure.

Additionally, we
1. fixed nagative shift problem
2. relax the ASSERT when slope is too large: If slope is large, the accuracy of the slope is limited due
to conversion to SkFDot6 and division. Hence we have to relax the constraint.
3. handle the special case where dx != 0 while slope == 0 because of very large dy and limited precision.

BUG=skia:

Change-Id: Ice70164f3f396f0db3896bedc7b96fbd613078dc
Reviewed-on: https://skia-review.googlesource.com/7120
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>

7 years agoRoll Recipe DEPS
Eric Boren [Wed, 18 Jan 2017 14:47:28 +0000 (09:47 -0500)]
Roll Recipe DEPS

build:
9d148ff Dart: update ASAN bots with new GN build environment variables.
32ca07f Dart: Remove "--exclude-suite=pkg" from builder commands
06034fe Adding new Mac Mini 8GB vm to waterfall.
ef69d02 Roll recipe dependencies (trivial).
4145f27 Report ANGLE DLL sizes.
ef3c5b8 Remove some old cruft from file module.
23a7971 Use recipes' own bootstrap instead of build repo's third_party s
8d30f42 Revert "Use recipes' own bootstrap instead of build repo's third
8593c2c Take 2: Use bootstrap if we can't import coverage during recipe_
4f0412a Roll recipe dependencies (trivial).
fe2f60d Roll recipe dependencies (trivial).
de4b06e V8: Reduce variants on slow bot and add shards on another
cb42bda Rename Mac 10.10 bisect bots to Mac 10.12.
0d22ef1 Roll recipe dependencies (trivial).
64e721b chartjson upload: Don't upload with no data
8b9588d Manually set encoding for html page as UTF-8.
f428765 Fix the border color of status cells.
0f43046 perf_dashboard: Use args to pass and output data
74cd943 [Findit] Include step_metadata in Findit recipes' result report.
438f445 Revert "chartjson upload: Don't upload with no data"
626496b Cleanup unneeded files from build archives.
edccd96 Get rid of passing separate api object around in chromium_tests
f543594 Add missing comma to filter_build_files.py.
8e3c7bf Add more names to be excluded in filter_build_files.py.
6e8aadb Revert "Get rid of passing separate api object around in chromiu
6708a01 Get rid of passing separate api object around in chromium_tests
61e29b6 Adds Gold upload support to the pdfium recipe.
c6ff1f3 Fixe small bug in pdfium recipe
a506fb2 Make sure revision value is added when running trybots
b00fc85 Revert "Make sure revision value is added when running trybots"
c93a38c Revert "Fixe small bug in pdfium recipe"
42d1235 TBR=dsansome@chromium.org
76d62a0 Roll recipe dependencies (trivial).
011ee29 Roll recipe dependencies (trivial).
3e194cb Get rid of passing separate api object around in chromium_tests
69437e7 Added flutter.jar to uploaded artifacts for x86.
3bb8075 Bisect - Rework perf_try to use compare_samples to parse values.
c9c9234 Should not set up goma on 32bit Windows and Linux.
4a64172 Add more logging for errors uploading to test-results
b6bb03e Log time of the request to find matching server request
5dfca39 Adjust config level and use datetime module to format current UT
1215a71 v8: add script to compute build dependency statistics
f96c93e V8: Output build dependencies on x64 builder
02359c1 V8: Upload build dependencies to perf dashboard
47ff677 [perf] Fix typo. s/isolate_map/isolated_map.
26b0ef9 swarming: Clean up infrastructure handling logic
b0d760f [Android] Remove blimp_test_apk from the FindAnnotatedTests.
4b21c40 Roll recipe dependencies (trivial).
7808adc Improve recipe_simulation_test.py for bots and devs.
7d494c6 Fix bug in chartjson upload code
ddbb900 Remove build-side references to blimp.
81e709d Remove gnumbd tree closing from gatekeeper config.
bdbdb5a Raise exception when failed to start goma in main waterfall
e818a6f V8: Use better path for uploading build dependency stats

depot_tools:
b56ad33 Respect -t/--title in initial cl uploads to Gerrit
0fd68fa Roll recipe dependencies (trivial).
5ededcb Clear Zone.Identifier to allow depot_tools.zip bootstrap
59f4851 Don't send email to CCs by default on initial upload
6428784 Display Short URLs in Issues
d0c226a Output missing LGTMs notification also on dry-run
54985b6 Improve clang-format error messages when run outside of chromium

recipe_engine:
86fea56 Use basestring as a default type for enum

skia-recipes:
071ac85 Roll Recipe DEPS

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

7 years agoAdd Vulkan SDK for Linux asset
Kevin Lubick [Wed, 18 Jan 2017 14:24:56 +0000 (09:24 -0500)]
Add Vulkan SDK for Linux asset

Also add Vulkan tasks for Linux NUC to use the asset.  Still need to
update the recipes, which will happen in a followup CL.

BUG=skia:6089

Change-Id: Ie215c98a03016c00ee2f2c8da281fd565e8900ce
Reviewed-on: https://skia-review.googlesource.com/7165
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoRevert "SkImageInfoValidConversion (part 2)"
Matt Sarett [Wed, 18 Jan 2017 13:39:39 +0000 (13:39 +0000)]
Revert "SkImageInfoValidConversion (part 2)"

This reverts commit 94bd50cc5575b90eb60234399d69905b8651c27e.

Reason for revert: Still breaking roll

Original change's description:
> SkImageInfoValidConversion (part 2)
>
> Disabling non-opaque -> opaque should be fine now that the
> Chrome unit test has been fixed.
>
> BUG=skia:6021
>
> Change-Id: I39f087e2695bdefacf793bd137931e3115ec58cb
> Reviewed-on: https://skia-review.googlesource.com/7121
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>

TBR=msarett@google.com,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6021

Change-Id: I79843ea6cf60ca94822446c548f3386706924ee6
Reviewed-on: https://skia-review.googlesource.com/7164
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoRevert "move device headers to core"
Mike Reed [Wed, 18 Jan 2017 00:04:52 +0000 (00:04 +0000)]
Revert "move device headers to core"

This reverts commit 98420d0c9b5934d6b08ea994844476ddedd23de0.

Reason for revert: <INSERT REASONING HERE>

blink_headless ImageBufferSurface.cpp

Original change's description:
> move device headers to core
>
> CANNOT LAND until we update lots of call-sites
>
> BUG=skia:
>
> Change-Id: Ibb957dbbf5baf2a2920887e48c03709d1f6c51e1
> Reviewed-on: https://skia-review.googlesource.com/6982
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
>

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

Change-Id: I11f108137ed0a8efd553af6ea6039904cf3a3870
Reviewed-on: https://skia-review.googlesource.com/7161
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoAdd Tasks for Linux + Iris 540
Kevin Lubick [Tue, 17 Jan 2017 20:15:40 +0000 (15:15 -0500)]
Add Tasks for Linux + Iris 540

This does not include Vulkan as it doesn't build yet.

BUG=skia:6089

Change-Id: If44616dbd7b2aaa63232dac04e96d8433da7f157
Reviewed-on: https://skia-review.googlesource.com/7113
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoFix code that relied on readPixels not doing color space conversion
Brian Osman [Tue, 17 Jan 2017 21:10:07 +0000 (16:10 -0500)]
Fix code that relied on readPixels not doing color space conversion

SampleApp doesn't have (can't easily get) an image, so I couldn't use
the new helper function there. It's probably still worth having?

BUG=skia:

Change-Id: I60c208ff958076015a9539359921b9aff68f25c8
Reviewed-on: https://skia-review.googlesource.com/7129
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agomove device headers to core
Mike Reed [Fri, 13 Jan 2017 03:27:57 +0000 (22:27 -0500)]
move device headers to core

CANNOT LAND until we update lots of call-sites

BUG=skia:

Change-Id: Ibb957dbbf5baf2a2920887e48c03709d1f6c51e1
Reviewed-on: https://skia-review.googlesource.com/6982
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoRoll skia-recipes
Eric Boren [Tue, 17 Jan 2017 19:35:06 +0000 (14:35 -0500)]
Roll skia-recipes

6815aa7 Use skia/bin/gn instead of skia/buildtools/$(PLATFORM)/gn
ef0ad89 core: Obtain the primary repo URL from the "repository" property

BUG=skia:

Change-Id: I5cd47dd47747565c141240241b1373b34d69bee5
Reviewed-on: https://skia-review.googlesource.com/7123
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
7 years agoRevert "Continue making Ganesh use absolute texture coordinates"
Joe Gregorio [Tue, 17 Jan 2017 19:20:54 +0000 (19:20 +0000)]
Revert "Continue making Ganesh use absolute texture coordinates"

This reverts commit 4493a9dc9df8cf306a974bde7e0e9c5470ebcdc9.

Reason for revert: Continuing failures https://luci-milo.appspot.com/swarming/task/33c693c3539a1410

Change-Id: Id371d6df6a875a5f6872f4ebd91b08a354d949de
Reviewed-on: https://skia-review.googlesource.com/7125
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
7 years agoSkImageInfoValidConversion (part 2)
Matt Sarett [Tue, 17 Jan 2017 18:57:45 +0000 (13:57 -0500)]
SkImageInfoValidConversion (part 2)

Disabling non-opaque -> opaque should be fine now that the
Chrome unit test has been fixed.

BUG=skia:6021

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

7 years agoSkSplicer: no need for AI. Clang is good at this.
Mike Klein [Tue, 17 Jan 2017 18:14:17 +0000 (13:14 -0500)]
SkSplicer: no need for AI.  Clang is good at this.

Change-Id: I1d5b82c0c2748b4d206d8d104fdd5dc04dc2693b
Reviewed-on: https://skia-review.googlesource.com/7116
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoPass GrAppliedClip to pipeline creation.
Brian Salomon [Tue, 17 Jan 2017 17:39:53 +0000 (12:39 -0500)]
Pass GrAppliedClip to pipeline creation.

This skips adding the clip's coverage processor to the GrPipelineBuilder before creating GrPipeline.

Change-Id: I1282dd8600701ab2b6a049abd8ad571abbbcbbe5
Reviewed-on: https://skia-review.googlesource.com/7020
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoContinue making Ganesh use absolute texture coordinates
Robert Phillips [Tue, 17 Jan 2017 16:52:21 +0000 (11:52 -0500)]
Continue making Ganesh use absolute texture coordinates

The idea here is that the GrCoordTransform will actually hold a GrTextureProxy (rather than a GrTexture) and then, in GrGLSLPrimitiveProcessor::GetTransformMatrix, use the instantiated width & height (when uploading the transform matrix)

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

7 years agoRevert "Revert "Enforce our rules about valid images when making textures""
Brian Osman [Tue, 17 Jan 2017 16:41:03 +0000 (16:41 +0000)]
Revert "Revert "Enforce our rules about valid images when making textures""

This reverts commit 8bbdd49805bd77fec61e6e31f59d31a361e8be30.

Reason for revert: Original change re-landed.

Original change's description:
> Revert "Enforce our rules about valid images when making textures"
>
> This reverts commit 7035f3c466826a4116e2f31deb64d1645ea9441b.
>
> Reason for revert: Need to revert earlier change to fix DEPS roll.
>
> Original change's description:
> > Enforce our rules about valid images when making textures
> >
> > I'm working to make GrUploadPixmapToTexture more robust
> > and easier to follow. This is one step on that journey.
> >
> > BUG=skia:
> >
> > Change-Id: I3ac39057e20ff8249843bb41ceca25f629aff31c
> > Reviewed-on: https://skia-review.googlesource.com/7037
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Reviewed-by: Matt Sarett <msarett@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> >
>
> TBR=bsalomon@google.com,msarett@google.com,robertphillips@google.com,brianosman@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Change-Id: I1d7fef2d3777f0fcabc6c36749908409bd31a0f1
> Reviewed-on: https://skia-review.googlesource.com/7094
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
>

TBR=bsalomon@google.com,msarett@google.com,robertphillips@google.com,brianosman@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
BUG=skia:

Change-Id: I53319ebca4b13175014e6000d7b613932d02612b
Reviewed-on: https://skia-review.googlesource.com/7114
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoRemove (most) usage of MakeTextureFromPixmap
Brian Osman [Tue, 17 Jan 2017 15:06:20 +0000 (10:06 -0500)]
Remove (most) usage of MakeTextureFromPixmap

Planning to remove this API entirely, as it's not really needed. There is
one remaining call-site that requires a bigger change, so I want to land
these first.

BUG=skia:

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

7 years agoReland "Add SkImageInfoValidConversion() and SkImageInfoIsValid"
Matt Sarett [Tue, 17 Jan 2017 15:48:53 +0000 (10:48 -0500)]
Reland "Add SkImageInfoValidConversion() and SkImageInfoIsValid"

The original is at:
https://skia-review.googlesource.com/c/6887/

The only change to the original is to temporarily comment out
a check in SkImageInfoPriv.h until a Chrome unit test can
be fixed.

The idea is share these standards for the following:
SkImage::readPixels()
SkCanvas::readPixels()
SkCanvas::writePixels()
SkBitmap::readPixels()
SkPixmap::readPixels()

On the raster side, SkPixmap::readPixels() is the right
place to check, because all raster calls go through
there eventually.  Then at lower levels (ex: SkPixelInfo),
we can assert.

There's not really a unifying location for gpu calls,
so I've added this in multiple places.  I haven't really
dug into the gpu code to SkASSERT() on invalid cases
that we will have already caught.

Follow-up work:
Similar refactor for SkReadPixelRec::trim().
Code cleanup in SkPixelInfo::CopyPixels()

BUG=skia:6021

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

7 years agoSimplify GrProcOptInfo initialization.
Brian Salomon [Tue, 17 Jan 2017 15:44:34 +0000 (10:44 -0500)]
Simplify GrProcOptInfo initialization.

Removes unused single channel tracking.

Makes it so that only the op/gp can initiate lcd coverage.

Makes GrProcOptInfo fragment processor analysis continuable.

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

7 years agohide getClipStack
Mike Reed [Mon, 16 Jan 2017 01:02:32 +0000 (20:02 -0500)]
hide getClipStack

BUG=skia:6122

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

7 years agoadd and test SkFixed15::to_u8()
Mike Klein [Tue, 17 Jan 2017 15:19:50 +0000 (10:19 -0500)]
add and test SkFixed15::to_u8()

Change-Id: Iedbcd2d938122cdc8f6b235745eb6165e348c237
Reviewed-on: https://skia-review.googlesource.com/7108
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoGrTessellator: fix for disappearing thin path.
Stephen White [Mon, 16 Jan 2017 16:47:21 +0000 (11:47 -0500)]
GrTessellator: fix for disappearing thin path.

simplify_boundary() was incorrectly comparing squared distances
against a non-squared constant. For .25 of a pixel, we need to
compare against 0.25 squared, or 0.0625.

This also includes a fix to get_edge_normal(), We were actually
returning edge "vectors", instead of edge normals. This wasn't
causing problems, since the error cancels itself out, but it's
confusing.

BUG=skia:

Change-Id: I0d50f2d001ed5e41de2900139c396b9ef75d2ddf
Reviewed-on: https://skia-review.googlesource.com/7043
Commit-Queue: Stephan White <senorblanco@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoAdd a bench to exercise legacy-mode SkRasterPipeline behavior.
Mike Klein [Tue, 17 Jan 2017 15:24:15 +0000 (10:24 -0500)]
Add a bench to exercise legacy-mode SkRasterPipeline behavior.

No fancy f16 or sRGB here... just good old legacy 8888.

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

7 years agoSkSplicer: fix a typo in srcover stage.
Mike Klein [Tue, 17 Jan 2017 15:16:06 +0000 (10:16 -0500)]
SkSplicer: fix a typo in srcover stage.

Change-Id: Iafd23c860395587c77cd412a3b522ba851b4570d
Reviewed-on: https://skia-review.googlesource.com/7107
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agodo/while loops in SPIR-V no longer cause an assertion failure
Ethan Nicholas [Fri, 13 Jan 2017 21:40:35 +0000 (16:40 -0500)]
do/while loops in SPIR-V no longer cause an assertion failure

BUG=skia:

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

7 years agoUpdate Buildbot doc for Task Scheduler
Eric Boren [Tue, 17 Jan 2017 12:26:41 +0000 (07:26 -0500)]
Update Buildbot doc for Task Scheduler

BUG=skia:6118

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=7023

Change-Id: I398f4fd98959bb37bcb5499d38e517542e0df90f
Reviewed-on: https://skia-review.googlesource.com/7023
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoTest PG
Ravi Mistry [Tue, 17 Jan 2017 13:42:11 +0000 (08:42 -0500)]
Test PG

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
NOTRY=true
BUG=skia:

Change-Id: Ida204d1c58671c4d79d6fc3d95bf8ddf3cef77b4
Reviewed-on: https://skia-review.googlesource.com/7103
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
7 years agoTemporarily restore FixedAllocTest.cpp
Mike Klein [Tue, 17 Jan 2017 13:18:02 +0000 (08:18 -0500)]
Temporarily restore FixedAllocTest.cpp

This adds it back as an empty file, so that the existing Android DM
build keeps working.  We can remove it once DM's Android build config
is generated with gn_to_bp.py too.

Change-Id: I27b8ff480044a0824d24395c4498bf593cdd9747
Reviewed-on: https://skia-review.googlesource.com/7102
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoMove recipe modules to shared repo
Eric Boren [Fri, 13 Jan 2017 18:37:53 +0000 (13:37 -0500)]
Move recipe modules to shared repo

BUG=skia:6070

Change-Id: I6c487e77ddfddb6164b983981dff5ee8ae870376
Reviewed-on: https://skia-review.googlesource.com/6946
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
7 years agoSplit ShadowMaskFilter into separate ambient and spot mask filters
Jim Van Verth [Mon, 16 Jan 2017 18:03:37 +0000 (13:03 -0500)]
Split ShadowMaskFilter into separate ambient and spot mask filters

This does not change the public API.

BUG=skia:6119

Change-Id: Ibdcd2f8611bc2eec332d8a65e5d51246b89a0a90
Reviewed-on: https://skia-review.googlesource.com/7083
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoRemove SkFallbackAlloc and SkFixedAlloc.
Herb Derby [Fri, 13 Jan 2017 22:34:33 +0000 (17:34 -0500)]
Remove SkFallbackAlloc and SkFixedAlloc.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN;skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN

TBR=reed@google.com

Change-Id: I1000dc9ed8ad65b249798759d9af99f47fc237d2
Reviewed-on: https://skia-review.googlesource.com/6809
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>

7 years agoUpdate SKP version
UpdateSKPs [Sun, 15 Jan 2017 07:00:37 +0000 (07:00 +0000)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

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

7 years agoRevert "Add SkImageInfoValidConversion() and SkImageInfoIsValid"
Brian Osman [Sat, 14 Jan 2017 23:43:24 +0000 (23:43 +0000)]
Revert "Add SkImageInfoValidConversion() and SkImageInfoIsValid"

This reverts commit cf5d6caff7a58f1c7ecc36d9a91ccdada5fc7b78.

Reason for revert: Chrome DEPS roll failing, based on the unit tests, I suspect this is the cause.

Original change's description:
> Add SkImageInfoValidConversion() and SkImageInfoIsValid
>
> The idea is share these standards for the following:
> SkImage::readPixels()
> SkCanvas::readPixels()
> SkCanvas::writePixels()
> SkBitmap::readPixels()
> SkPixmap::readPixels()
>
> On the raster side, SkPixmap::readPixels() is the right
> place to check, because all raster calls go through
> there eventually.  Then at lower levels (ex: SkPixelInfo),
> we can assert.
>
> There's not really a unifying location for gpu calls,
> so I've added this in multiple places.  I haven't really
> dug into the gpu code to SkASSERT() on invalid cases
> that we will have already caught.
>
> Follow-up work:
> Similar refactor for SkReadPixelRec::trim().
> Code cleanup in SkPixelInfo::CopyPixels()
>
> BUG=skia:6021
>
> Change-Id: I91ecce10e46c1a6530f0af24a9eb8226dbecaaa2
> Reviewed-on: https://skia-review.googlesource.com/6887
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>

TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reed@google.com,reviews@skia.org
# Not skipping CQ checks because original CL landed > 1 day ago.
BUG=skia:6021

Change-Id: I63b88e90bdbb3051a14de00ac73a8351ab776d25
Reviewed-on: https://skia-review.googlesource.com/7095
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoRevert "Enforce our rules about valid images when making textures"
Brian Osman [Sat, 14 Jan 2017 23:41:12 +0000 (23:41 +0000)]
Revert "Enforce our rules about valid images when making textures"

This reverts commit 7035f3c466826a4116e2f31deb64d1645ea9441b.

Reason for revert: Need to revert earlier change to fix DEPS roll.

Original change's description:
> Enforce our rules about valid images when making textures
>
> I'm working to make GrUploadPixmapToTexture more robust
> and easier to follow. This is one step on that journey.
>
> BUG=skia:
>
> Change-Id: I3ac39057e20ff8249843bb41ceca25f629aff31c
> Reviewed-on: https://skia-review.googlesource.com/7037
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Matt Sarett <msarett@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

TBR=bsalomon@google.com,msarett@google.com,robertphillips@google.com,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I1d7fef2d3777f0fcabc6c36749908409bd31a0f1
Reviewed-on: https://skia-review.googlesource.com/7094
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoEnforce our rules about valid images when making textures
Brian Osman [Fri, 13 Jan 2017 20:50:18 +0000 (15:50 -0500)]
Enforce our rules about valid images when making textures

I'm working to make GrUploadPixmapToTexture more robust
and easier to follow. This is one step on that journey.

BUG=skia:

Change-Id: I3ac39057e20ff8249843bb41ceca25f629aff31c
Reviewed-on: https://skia-review.googlesource.com/7037
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agosavelayer gm
Mike Reed [Sat, 14 Jan 2017 18:45:02 +0000 (13:45 -0500)]
savelayer gm

BUG=skia:

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

7 years agoRevert "Exercise concave analytic AA"
Mike Reed [Sat, 14 Jan 2017 16:53:13 +0000 (16:53 +0000)]
Revert "Exercise concave analytic AA"

This reverts commit 480a1c6a1643ccbe959fa849fb91df6d86d51ec3.

Reason for revert: <INSERT REASONING HERE>

2.32m done  8888 skp  http___www_yespornplease_com.skp
2.32m start 8888 skp  http___www_freepostcodelottery_com.skp
2.32m done  8888 skp  http___www_pingwest_com.skp
2.32m start 8888 skp  http___www_fbdown_net.skp
../../../../../work/skia/src/core/SkAnalyticEdge.cpp:116: fatal error: "assert(slope == SK_MaxS32 || SkAbs32(fSnappedX + SkFixedMul(slope, newSnappedY - fSnappedY) - newSnappedX) < SK_FixedHalf)"

../../../src/core/SkScan_AAAPath.cpp:746:61: runtime error: left shift of negative value -1
    #0 0x30c120a in blit_aaa_trapezoid_row(AdditiveBlitter*, int, int, int, int, int, int, int, unsigned char, unsigned char*, bool, bool, bool) (/b/swarm_slave/w/irNiQodn/out/Debug/dm+0x30c120a)
    #1 0x30bc557 in aaa_walk_edges(SkAnalyticEdge*, SkAnalyticEdge*, SkPath::FillType, AdditiveBlitter*, int, int, int, int, bool, bool, bool, bool) (/b/swarm_slave/w/irNiQodn/out/Debug/dm+0x30bc557)
    #2 0x30aed31 in aaa_fill_path(SkPath const&, SkIRect const&, AdditiveBlitter*, int, int, bool, bool, bool) (/b/swarm_slave/w/irNiQodn/out/Debug/dm+0x30aed31)
    #3 0x30addc5 in SkScan::AAAFillPath(SkPath const&, SkRegion const&, SkBlitter*, bool) (/b/swarm_slave/w/irNiQodn/out/Debug/dm+0x30addc5)
    #4 0x30af56d in SkScan::AAAFillPath(SkPath const&, SkRasterClip const&, SkBlitter*) (/b/swarm_slave/w/irNiQodn/out/Debug/dm+0x30af56d)
    #5 0x30dc96b in SkScan::AntiFillPath(SkPath const&, SkRasterClip const&, SkBlitter*) (/b/swarm_slave/w/irNiQodn/out/Debug/dm+0x30dc96b)

Original change's description:
> Exercise concave analytic AA
>
> This will allow Skia trybots (e.g., 1M skp) to exercise analytic AA.
> There's still a guard flag in Chromium that prevents layout tests failure.
>
> TBR=reed@google.com,caryclark@google.com
>
> BUG=skia:
>
> Change-Id: Ie893c10d34bf969e013ef047c1bbf4b004d584cc
> Reviewed-on: https://skia-review.googlesource.com/7091
> Reviewed-by: Yuqian Li <liyuqian@google.com>
> Commit-Queue: Yuqian Li <liyuqian@google.com>
>

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

Change-Id: I9b621f2d0cd143b37a2570a10471d2ad8cb149fd
Reviewed-on: https://skia-review.googlesource.com/7092
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoExercise concave analytic AA
Yuqian Li [Sat, 14 Jan 2017 15:00:23 +0000 (10:00 -0500)]
Exercise concave analytic AA

This will allow Skia trybots (e.g., 1M skp) to exercise analytic AA.
There's still a guard flag in Chromium that prevents layout tests failure.

TBR=reed@google.com,caryclark@google.com

BUG=skia:

Change-Id: Ie893c10d34bf969e013ef047c1bbf4b004d584cc
Reviewed-on: https://skia-review.googlesource.com/7091
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>

7 years agoRevert "move SkDevice.h and SkBitmapDevice.h contents in to src headers"
Mike Reed [Fri, 13 Jan 2017 22:43:16 +0000 (22:43 +0000)]
Revert "move SkDevice.h and SkBitmapDevice.h contents in to src headers"

This reverts commit 2f719a6b9214997e4cc24646d4b280038962b836.

Reason for revert: <INSERT REASONING HERE>

swf/transform/jsrunner/swiffy_canvas.h

caller included SkDevice.h, but really wanted SkBitmap and SkColor

Original change's description:
> move SkDevice.h and SkBitmapDevice.h contents in to src headers
>
> BUG=skia:
>
> Change-Id: I3d8d313f0500c13db21cb973fed4064ec3816912
> Reviewed-on: https://skia-review.googlesource.com/7082
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>
>

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

Change-Id: I40f7f1e4ad62685facdd39492da7a0b105178221
Reviewed-on: https://skia-review.googlesource.com/7087
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agomove SkDevice.h and SkBitmapDevice.h contents in to src headers
Mike Reed [Fri, 13 Jan 2017 20:44:27 +0000 (15:44 -0500)]
move SkDevice.h and SkBitmapDevice.h contents in to src headers

BUG=skia:

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

7 years agoFix ASAN
Matt Sarett [Fri, 13 Jan 2017 20:42:45 +0000 (15:42 -0500)]
Fix ASAN

NOTREECHECKS=true

BUG=skia:

Change-Id: I8104112ade6671b06fb5eb83b73f691fee99ea80
Reviewed-on: https://skia-review.googlesource.com/7081
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoFix syntax error for adjusting old stdc++ headers.
Herb Derby [Fri, 13 Jan 2017 20:17:02 +0000 (15:17 -0500)]
Fix syntax error for adjusting old stdc++ headers.

Change-Id: Ibc99ae943b275b770e8767b80400b8e1520e70a5
Reviewed-on: https://skia-review.googlesource.com/7035
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
7 years agoFix Android roll
Mike Klein [Fri, 13 Jan 2017 20:27:45 +0000 (15:27 -0500)]
Fix Android roll

    - only depend on cpu-features when we know we have an NDK
    - disable SkSplicer

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

7 years agoUse GrRenderTargetContext::readPixels in GrTextureToYUVPlanes
Robert Phillips [Fri, 13 Jan 2017 19:55:50 +0000 (14:55 -0500)]
Use GrRenderTargetContext::readPixels in GrTextureToYUVPlanes

This is salvaged from an ancient CL or mine. Thoughts?

Change-Id: I3712ca911d1ab5def3f4dcb080a3f9e226cdd44b
Reviewed-on: https://skia-review.googlesource.com/7031
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoRemove (unused) YUV API from SkPixelRef
Brian Osman [Fri, 13 Jan 2017 19:58:32 +0000 (14:58 -0500)]
Remove (unused) YUV API from SkPixelRef

YUV conversion happens via SkImage now.

BUG=skia:

Change-Id: I6e1fa18effb72cbb00a173a346769b873e372c40
Reviewed-on: https://skia-review.googlesource.com/7034
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoSkSplicer: implement load_tables and matrix_3x4
Mike Klein [Fri, 13 Jan 2017 18:18:44 +0000 (13:18 -0500)]
SkSplicer: implement load_tables and matrix_3x4

These are enough to splice interesting SkColorSpaceXform pipelines.

SkSplicer_stages.cpp is similar to but still intentionally distinct from
SkRasterPipeline_opts.  I hope to unify them next week.

unaligned_load() is nothing tricky... just a little refactor.

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

7 years agoDecode system font weight correctly on Mac.
bungeman [Fri, 13 Jan 2017 16:40:21 +0000 (11:40 -0500)]
Decode system font weight correctly on Mac.

The -1 to 1 weights reported by CTFontDescriptors have different mappings
depending on if the CTFont is native or created from a CGDataProvider.

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

7 years agoRevert "Optimize SkBlend by using NEON intrinsics"
Mike Klein [Fri, 13 Jan 2017 20:10:09 +0000 (20:10 +0000)]
Revert "Optimize SkBlend by using NEON intrinsics"

This reverts commit 7adde145d3913cfd67b90bf83a9ea54386a285a7.

Reason for revert: may be breaking our Android One test bots.

Original change's description:
> Optimize SkBlend by using NEON intrinsics
>
> Use NEON intrinsics to check the alpha channel of the pixels.
>
> In some case, it's about 14 times faster than the original implementation.
>
> $ ./bin/droid out/arm64_release/nanobench  --samples 300 --nompd --match LinearSrcOver -v > neon_opt.log
> $ ./bin/compare neon_opt.log clean.log
>      LinearSrcOver_yellow_rose.pngVSkOptsDefault         1.8ms -> 24.9ms        13.8x
>        LinearSrcOver_iconstrip.pngVSkOptsDefault        5.71ms -> 69.8ms        12.2x
>            LinearSrcOver_plane.pngVSkOptsDefault        1.45ms ->   11ms        7.62x
>         LinearSrcOver_baby_tux.pngVSkOptsDefault        1.88ms -> 9.96ms        5.29x
>     LinearSrcOver_mandrill_512.pngVSkOptsDefault        1.41ms -> 4.62ms        3.29x
>      LinearSrcOver_yellow_rose.pngVSkOptsTrivial        24.9ms -> 24.9ms        1x
>  LinearSrcOver_yellow_rose.pngVSkOptsNonSimdCore        2.17ms -> 2.18ms        1x
>            LinearSrcOver_plane.pngVSkOptsTrivial        11.1ms -> 11.1ms        1x
>        LinearSrcOver_plane.pngVSkOptsNonSimdCore         1.5ms ->  1.5ms        1x
> LinearSrcOver_mandrill_512.pngVSkOptsNonSimdCore        2.39ms -> 2.39ms        1x
>    LinearSrcOver_iconstrip.pngVSkOptsNonSimdCore        6.43ms -> 6.43ms        1x
>      LinearSrcOver_baby_tux.pngVSkOptsBruteForce        22.3ms -> 22.3ms        1x
>   LinearSrcOver_yellow_rose.pngVSkOptsBruteForce        45.5ms -> 45.5ms        1x
>     LinearSrcOver_baby_tux.pngVSkOptsNonSimdCore        2.02ms -> 2.02ms        1x
>        LinearSrcOver_iconstrip.pngVSkOptsTrivial        69.7ms -> 69.7ms        1x
>         LinearSrcOver_baby_tux.pngVSkOptsTrivial        9.96ms -> 9.95ms        1x
>  LinearSrcOver_mandrill_512.pngVSkOptsBruteForce        99.3ms -> 99.2ms        1x
>
> BUG=skia:
>
> CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
>
> Change-Id: Ia576365578d65b771440da65fdf41f090ccf0541
> Reviewed-on: https://skia-review.googlesource.com/6860
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,bsalomon@google.com,joel.liang@arm.com,reviews@skia.org
BUG=skia:
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ie40eb5a7c27807aaf396429a82a1a2dd328c2b5b
Reviewed-on: https://skia-review.googlesource.com/7036
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoMove Android shadow rendering interface to util library.
Jim Van Verth [Fri, 13 Jan 2017 19:37:37 +0000 (14:37 -0500)]
Move Android shadow rendering interface to util library.

BUG=skia:6119

Change-Id: I8318cf2758042ffd0c81c5fa74240acbf7bea61f
Reviewed-on: https://skia-review.googlesource.com/6999
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoRemove most modifiers of processors on GrPipelineBuilder
Brian Salomon [Fri, 13 Jan 2017 17:11:36 +0000 (12:11 -0500)]
Remove most modifiers of processors on GrPipelineBuilder

Change-Id: I2fc12a97d694e5c0d86c9a4e0818a058905c8cf0
Reviewed-on: https://skia-review.googlesource.com/6993
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoFixed another division by zero error in skslc
Ethan Nicholas [Thu, 5 Jan 2017 15:44:25 +0000 (10:44 -0500)]
Fixed another division by zero error in skslc

You'd think by now it would have occurred to me that mod is also a kind
of division.

BUG=skia:6087

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

7 years agoFix out of bounds read in RP::load_tables_u16_be()
Matt Sarett [Fri, 13 Jan 2017 18:58:57 +0000 (13:58 -0500)]
Fix out of bounds read in RP::load_tables_u16_be()

BUG=skia:

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

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