Commit Graph

26127 Commits

Author SHA1 Message Date
Greg Daniel
48f770c43f 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>
2017-01-20 15:21:05 +00:00
Robert Phillips
c949ce9d80 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>
2017-01-20 15:10:18 +00:00
Cary Clark
4c76c41c98 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>
2017-01-20 14:43:57 +00:00
Ben Wagner
eca02909f3 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>
2017-01-20 14:30:51 +00:00
Florin Malita
c86e470c19 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>
2017-01-20 14:22:49 +00:00
Joe Gregorio
c485907f04 Revert "explictly fail to draw unpremul, as this is buggy, incomplete, tricky, and unused"
This reverts commit 1baaacac74.

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>
2017-01-20 14:21:42 +00:00
Mike Reed
1e18aecd0b 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>
2017-01-20 04:07:06 +00:00
Matt Sarett
34c69d6347 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>
2017-01-20 02:21:25 +00:00
Matt Sarett
1da27ef853 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>
2017-01-19 23:07:13 +00:00
Mike Klein
0d7d8de00a 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>
2017-01-19 22:44:13 +00:00
Ethan Nicholas
de4d301881 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>
2017-01-19 22:36:26 +00:00
Matt Sarett
5bee0b6de6 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>
2017-01-19 22:08:52 +00:00
Mike Klein
f720098671 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>
2017-01-19 21:58:27 +00:00
Brian Salomon
0ee6f95fa4 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>
2017-01-19 21:58:06 +00:00
Mike Reed
1790f8ea09 Revert "Revert "move device headers to core""
This reverts commit d4bdee5f2c.

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>
2017-01-19 21:51:29 +00:00
Herb Derby
593cb94d1c 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>
2017-01-19 20:34:36 +00:00
Mike Klein
d8ee67c381 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>
2017-01-19 20:29:59 +00:00
Ethan Nicholas
86a43405fb 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>
2017-01-19 20:11:40 +00:00
Mike Reed
4f364fd951 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>
2017-01-19 20:07:03 +00:00
Mike Reed
1baaacac74 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>
2017-01-19 19:26:21 +00:00
Mike Reed
43ae4b4e6b 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>
2017-01-19 19:08:14 +00:00
Mike Reed
3726a4ac68 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>
2017-01-19 18:31:28 +00:00
Ravi Mistry
fbff329787 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>
2017-01-19 17:36:06 +00:00
Matt Sarett
f38e16fc9a 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>
2017-01-19 17:35:50 +00:00
Brian Salomon
f87e2b95f0 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>
2017-01-19 17:18:58 +00:00
Mike Klein
009d9d1edc 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>
2017-01-19 17:14:21 +00:00
Heather Miller
c5a37f642a 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>
2017-01-19 16:56:11 +00:00
Ethan Nicholas
6415e0d241 Revert "Added constant propagation and better variable liveness tracking to"
This reverts commit f54b07121f.

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>
2017-01-19 16:31:44 +00:00
Ethan Nicholas
f54b07121f 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>
2017-01-19 16:17:36 +00:00
Brian Salomon
189098e709 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>
2017-01-19 15:54:51 +00:00
Robert Phillips
52b346e34d 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>
2017-01-19 14:38:18 +00:00
Leon Scroggins III
b3b24538e0 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>
2017-01-19 14:21:02 +00:00
Mike Reed
2a83603541 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>
2017-01-19 14:16:39 +00:00
Matt Sarett
4897fb898f 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>
2017-01-19 14:04:33 +00:00
Herb Derby
1517224346 Revert "Fix reset and deleting behavior."
This reverts commit 412a86d014.

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>
2017-01-19 03:32:33 +00:00
Herb Derby
412a86d014 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>
2017-01-18 22:47:03 +00:00
Lee Salzman
95acbad4fe 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>
2017-01-18 20:43:59 +00:00
Yuqian Li
ce7e18f548 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>
2017-01-18 20:04:59 +00:00
Matt Sarett
8461506c8b Revert "Disallow readPixels() conversions from untagged srcs to tagged dsts"
This reverts commit ccfd1083a7.

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>
2017-01-18 19:44:19 +00:00
Yuqian Li
874a872586 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>
2017-01-18 18:51:27 +00:00
Robert Phillips
42f3094c90 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>
2017-01-18 18:35:11 +00:00
Matt Sarett
ccfd1083a7 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>
2017-01-18 18:07:37 +00:00
Brian Salomon
0831f1b5f1 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>
2017-01-18 17:19:58 +00:00
Brian Salomon
92ce594685 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>
2017-01-18 16:48:41 +00:00
Kevin Lubick
70a309aa05 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>
2017-01-18 16:29:02 +00:00
Robert Phillips
2c86249465 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>
2017-01-18 16:22:59 +00:00
Matt Sarett
dfff166db5 Revert "Respect full precision for RGB16 PNGs"
This reverts commit 7a090c403d.

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>
2017-01-18 16:13:42 +00:00
Matt Sarett
93a8a64543 Revert "Revert "SkImageInfoValidConversion (part 2)""
This reverts commit 8dadd9e893.

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

Original change's description:
> Revert "SkImageInfoValidConversion (part 2)"
> 
> This reverts commit 94bd50cc55.
> 
> 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>
2017-01-18 16:05:00 +00:00
Matt Sarett
7a090c403d 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>
2017-01-18 15:56:34 +00:00
Yuqian Li
98cf99b3ae 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>
2017-01-18 15:41:48 +00:00