platform/upstream/libSkiaSharp.git
7 years agoUpdate SkAndroidSDKCanvas.
Mike Klein [Tue, 24 Jan 2017 02:41:46 +0000 (21:41 -0500)]
Update SkAndroidSDKCanvas.

Hope that's right... nothing but the Android roll builds this code.

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

7 years agoTemporarily restore colorcube bench and GM files.
Mike Klein [Tue, 24 Jan 2017 02:14:08 +0000 (21:14 -0500)]
Temporarily restore colorcube bench and GM files.

Just the usual... we don't generate .bp for DM or nanobench yet.

See https://skia-review.googlesource.com/c/7363/ and
https://googleplex-android-review.git.corp.google.com/#/c/1819530/-1..1

Change-Id: If0098ed8a71a170d5efa773495d5bbf02a1e13fc
Reviewed-on: https://skia-review.googlesource.com/7427
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoFix comparison that overflows for addresses near uint max.
Herb Derby [Mon, 23 Jan 2017 21:57:09 +0000 (16:57 -0500)]
Fix comparison that overflows for addresses near uint max.
- Fix Assert

TBR=mtklein@google.com
BUG=chromium:683578

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

7 years agomake SkPath::conservativelyContainsRect consume degenerate segments
Lee Salzman [Thu, 12 Jan 2017 18:06:21 +0000 (13:06 -0500)]
make SkPath::conservativelyContainsRect consume degenerate segments

BUG=skia:

Change-Id: I3a39318bceaf6c95a50d84961d93af4ba62550e3
Reviewed-on: https://skia-review.googlesource.com/6900
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agorename virtuals for clipbounds, and deprecate older bool/var-arg pattern
Mike Reed [Mon, 23 Jan 2017 19:09:13 +0000 (14:09 -0500)]
rename virtuals for clipbounds, and deprecate older bool/var-arg pattern

BUG=skia:

Change-Id: I08bcc2d0559e02838772538816b928e0716dd3aa
Reviewed-on: https://skia-review.googlesource.com/7412
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoRevert "Update libwebp to 0.6.0-pre"
Ethan Nicholas [Mon, 23 Jan 2017 20:47:36 +0000 (20:47 +0000)]
Revert "Update libwebp to 0.6.0-pre"

This reverts commit e2f6ffbf49671713356881af70a093e99e80bd31.

Reason for revert:

iOS build failures, see https://luci-milo.appspot.com/swarming/task/33e5e02cf8419d10/steps/build_iOSShell/0/stdout

Original change's description:
> Update libwebp to 0.6.0-pre
>
> Corresponds with Android change
> https://android-review.googlesource.com/#/c/326439/
>
> "this prerelease snapshot includes encoder and performance
> improvements"
>
> Update build file
> * Many files have been renamed from
>     src/<subdir>/<name>.c
>       to
>     src/<subdir>/<name>_<subdir>.c
>
> * Build new files (*_msa.c, *_neon.c, predictor_enc.c)
>
> This should fix issue 5876, which was caused by a compiler bug.
> With the added NEON implementation, we will no longer trigger
> the bug.
>
> BUG=skia:5876
>
> Change-Id: I0fcce4362ee70138547b1d23aa9ef537a4126e73
> Reviewed-on: https://skia-review.googlesource.com/7376
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Leon Scroggins <scroggo@google.com>
>

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

Change-Id: Ib81f63861d9f1c6936bd7f790b5e16a9544a4df0
Reviewed-on: https://skia-review.googlesource.com/7420
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
7 years agoUpdate libwebp to 0.6.0-pre
Leon Scroggins III [Mon, 23 Jan 2017 15:24:19 +0000 (10:24 -0500)]
Update libwebp to 0.6.0-pre

Corresponds with Android change
https://android-review.googlesource.com/#/c/326439/

"this prerelease snapshot includes encoder and performance
improvements"

Update build file
* Many files have been renamed from
    src/<subdir>/<name>.c
      to
    src/<subdir>/<name>_<subdir>.c

* Build new files (*_msa.c, *_neon.c, predictor_enc.c)

This should fix issue 5876, which was caused by a compiler bug.
With the added NEON implementation, we will no longer trigger
the bug.

BUG=skia:5876

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

7 years agoStop tracking whether GrFragmentProcessors read their input
Brian Salomon [Mon, 23 Jan 2017 19:35:25 +0000 (14:35 -0500)]
Stop tracking whether GrFragmentProcessors read their input

Change-Id: Id5338901978b97289798eaef873527597bd8dfd6
Reviewed-on: https://skia-review.googlesource.com/7414
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoMove shader register setup to SkRasterPipelineBlitter.
Mike Klein [Fri, 20 Jan 2017 20:11:54 +0000 (15:11 -0500)]
Move shader register setup to SkRasterPipelineBlitter.

We've been seeding the initial values of our registers to x+0.5,y+0.5,
1,0, 0,0,0,0 (useful values for shaders to start with) in all pipelines.
This CL changes that to do so only when blitting, and only when we have
a shader.

The nicest part of this change is that SkRasterPipeline itself no longer
needs to have a concept of y, or what x means.  It just marches x
through [x,x+n), and the blitter handles y and layers the meaning of
"dst x coordinate" onto x.

This ought to make SkSplicer a little easier to work with too.

dm --src gm --config f16 srgb 565 all draws the same.

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

7 years agoRevert "Fix comparison that overflows for addresses near uint max."
Ethan Nicholas [Mon, 23 Jan 2017 19:59:26 +0000 (19:59 +0000)]
Revert "Fix comparison that overflows for addresses near uint max."

This reverts commit db8b8376b09cec9656b0ab864413b7911d81a84c.

Reason for revert:

Assertion failure, see https://luci-milo.appspot.com/swarming/task/33e5ae4d2bb25210/steps/dm/0/stdout

Original change's description:
> Fix comparison that overflows for addresses near uint max.
>
> BUG=chromium:683578
>
> Change-Id: I3f9b79eeeba3c68cccb72bd6423811c8ff8f2067
> Reviewed-on: https://skia-review.googlesource.com/7410
> Commit-Queue: Herb Derby <herb@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:683578

Change-Id: I198ea4c7209d060d0d15dfa3f6e555fa06e1a632
Reviewed-on: https://skia-review.googlesource.com/7415
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
7 years agoSkRasterPipeline: implement support for SkTableColorFilter
Mike Klein [Mon, 23 Jan 2017 19:06:55 +0000 (14:06 -0500)]
SkRasterPipeline: implement support for SkTableColorFilter

This adds and uses a byte_tables stage that converts to bytes, looks up
in the tables, then converts back to floats.

We treat this as color filter as pure math, not considering anything
colorspace related: no transfer functions, no gamut to change, etc.

Change-Id: If5fefc1bcef61a0fb0ae279002a0dd1547e429ea
Reviewed-on: https://skia-review.googlesource.com/7413
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoGN: add 32-bit and Release iOS builders.
Mike Klein [Mon, 23 Jan 2017 16:58:53 +0000 (11:58 -0500)]
GN: add 32-bit and Release iOS builders.

And roll recipes to the point where they pass target_cpu to GN,
adding x86_64 as an alias for x64.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm64-Debug-GN_iOS,Build-Mac-Clang-arm64-Release-GN_iOS,Build-Mac-Clang-arm-Debug-GN_iOS,Build-Mac-Clang-arm-Release-GN_iOS

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

7 years agoFix comparison that overflows for addresses near uint max.
Herb Derby [Mon, 23 Jan 2017 18:59:05 +0000 (13:59 -0500)]
Fix comparison that overflows for addresses near uint max.

BUG=chromium:683578

Change-Id: I3f9b79eeeba3c68cccb72bd6423811c8ff8f2067
Reviewed-on: https://skia-review.googlesource.com/7410
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoUpdate SkTDict to use SkArenaAlloc.
Herb Derby [Fri, 20 Jan 2017 21:58:06 +0000 (16:58 -0500)]
Update SkTDict to use SkArenaAlloc.

Change-Id: I7ac33faa59bcad25b0580193af965a8525eb18e7
Reviewed-on: https://skia-review.googlesource.com/7360
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoTrack clear counts in vulkan render passes
Greg Daniel [Mon, 23 Jan 2017 16:04:45 +0000 (11:04 -0500)]
Track clear counts in vulkan render passes

Though not required by spec, the validation layers have started spitting
out warnings if the clearValueCount in BeginRenderPass is greater than
the number of attachments actually being cleared. This just adds tracking
of the count to appease the validation layers.

BUG=skia:

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

7 years agoMake SkWEBPImageEncoder use transform_scanline_procs
Matt Sarett [Mon, 23 Jan 2017 17:28:02 +0000 (12:28 -0500)]
Make SkWEBPImageEncoder use transform_scanline_procs

This refactor will make it simple to add F16 and
GammaCorrect support to the webp encoder.

BUG=skia:

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

7 years agoReland "Refactor trimming logic for read/writePixels()"
Matt Sarett [Mon, 23 Jan 2017 17:15:09 +0000 (12:15 -0500)]
Reland "Refactor trimming logic for read/writePixels()"

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

(1) Move trimming logic into Bitmap/Pixmap level for
    raster.  Everything goes through here, so we'll
    only do the work once.
(2) This means it also goes to GPU level.
(3) Always use SkReadPixelsRec rather than inlining
    the logic.
(4) Create an SkWritePixelsRec to encapsulate write
    trimming.
(5) Disabled kIndex8 as a dst - always.

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

BUG=skia:6021

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

7 years agoSupport fCapHeight in SkScalerContext_DW
Koji Ishii [Sat, 21 Jan 2017 17:30:51 +0000 (02:30 +0900)]
Support fCapHeight in SkScalerContext_DW

BUG=chromium:681857

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

7 years agochange clip-bounds getters to always return the rect
Mike Reed [Mon, 23 Jan 2017 16:39:45 +0000 (11:39 -0500)]
change clip-bounds getters to always return the rect
(actually fixes undefined result in getClipBounds)

future CLs
- update all callers to new apis
- move/rename virtuals

BUG=skia:

DOCS_PREVIEW= https://skia.org/?cl=7400

Change-Id: I45b93014e915c0d1c36d97d948c9ac8931f23258
Reviewed-on: https://skia-review.googlesource.com/7400
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoRemove public APIs that use SkDataTable.
Herb Derby [Fri, 20 Jan 2017 21:07:52 +0000 (16:07 -0500)]
Remove public APIs that use SkDataTable.

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

7 years agoFix autoroller instructions
Skia_Android Canary Bot [Mon, 23 Jan 2017 15:44:38 +0000 (10:44 -0500)]
Fix autoroller instructions

BUG=skia:6065

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

Change-Id: Iefd6af3104f4aea2f2ae93c556b6b429e54ebff4
Reviewed-on: https://skia-review.googlesource.com/7377
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoRevert "Refactor trimming logic for read/writePixels()"
Matt Sarett [Mon, 23 Jan 2017 15:51:01 +0000 (15:51 +0000)]
Revert "Refactor trimming logic for read/writePixels()"

This reverts commit 977f64cbfad1ecd7fd4b1231c694c7e828fda1f0.

Reason for revert: Triggering nanobench asserts

Original change's description:
> Refactor trimming logic for read/writePixels()
>
> (1) Move trimming logic into Bitmap/Pixmap level for
>     raster.  Everything goes through here, so we'll
>     only do the work once.
> (2) This means it also goes to GPU level.
> (3) Always use SkReadPixelsRec rather than inlining
>     the logic.
> (4) Create an SkWritePixelsRec to encapsulate write
>     trimming.
> (5) Disabled kIndex8 as a dst - always.
>
> BUG=skia:6021
>
> Change-Id: I748f50c3b726f7c6de5462e2b1ccb54bc387a510
> Reviewed-on: https://skia-review.googlesource.com/7326
> 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: If9aacc6ce8b20e3dfe8a0f22ebca653f28356175
Reviewed-on: https://skia-review.googlesource.com/7379
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoAllow conversion from non-opaque to opaque
Matt Sarett [Mon, 23 Jan 2017 14:41:08 +0000 (09:41 -0500)]
Allow conversion from non-opaque to opaque

BUG:683787

Change-Id: I1b78cc8d1b5d3917a2a952da036b93022e99e053
Reviewed-on: https://skia-review.googlesource.com/7374
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRevert "offset angle check edge in common"
Cary Clark [Mon, 23 Jan 2017 14:38:52 +0000 (14:38 +0000)]
Revert "offset angle check edge in common"

This reverts commit d2eb581ebc8f8009e80cccccd74d5b341ef5bd5b.

Reason for revert: broke Google3 MSAN run of dm

Original change's description:
> offset angle check edge in common
>
> When curves cross, their intersection points may be nearby, but not exactly the same.
> Sort the angles formed by the crossing curves when all angles don't have the same
> origin.
>
> This sets up the framework to solve test case that currently fail (e.g., joel6) but
> does not fix all related test cases (e.g., joel9).
>
> All older existing test cases, including extended tests, pass.
>
> Rework the test framework to better report when tests expected to produce failing
> results now pass.
>
> Add new point and vector operations to support offset angles.
>
> TBR=reed@google.com
> BUG=skia:6041
>
> Change-Id: I67c651ded0a25e99ad93d55d6a35109b3ee3698e
> Reviewed-on: https://skia-review.googlesource.com/6624
> Commit-Queue: Cary Clark <caryclark@google.com>
> Reviewed-by: Cary Clark <caryclark@google.com>
>

TBR=caryclark@google.com,reviews@skia.org
# Not skipping CQ checks because original CL landed > 1 day ago.
BUG=skia:6041

Change-Id: I43db0808522ac44aceeb4f70e296167ea84a3663
Reviewed-on: https://skia-review.googlesource.com/7373
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agoGet rid of level of indirection, noticed by VC++ 2017 bug
Bruce Dawson [Sun, 22 Jan 2017 20:43:53 +0000 (12:43 -0800)]
Get rid of level of indirection, noticed by VC++ 2017 bug

When building Chrome with VC++ 2017 the QuickFDot6Inverse::table pointer
is initialized to zero. This is certainly a bug, and it has been
reported to the VC++ team. But, the table pointer appears to be
unnecessary. Changing the code to reference the array directly should
give identical or perhaps even better code.

The change to the array indexing code is as follows:

- return table[x];
+ gFDot6INVERSE[kInverseTableSize + x];

This looks like a step backwards, but it isn't. 'table' is a pointer.
So, by default the compiler will load this pointer and then load the
value from the array. gFDot6INVERSE is an array, not a pointer. This
means that the adding of kInverseTableSize is trivially done at
compile time, and there is no loading of a pointer - only one data
segment memory access is needed.

The compiler may have realized that this optimization was ready before,
but now it is more trivial. And, this works around the VC++ 2017 bug so
that Chrome with VC++ 2017 will launch.

https://connect.microsoft.com/VisualStudio/feedback/details/3119337
BUG=683729

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

7 years agoRefactor trimming logic for read/writePixels()
Matt Sarett [Fri, 20 Jan 2017 21:59:02 +0000 (16:59 -0500)]
Refactor trimming logic for read/writePixels()

(1) Move trimming logic into Bitmap/Pixmap level for
    raster.  Everything goes through here, so we'll
    only do the work once.
(2) This means it also goes to GPU level.
(3) Always use SkReadPixelsRec rather than inlining
    the logic.
(4) Create an SkWritePixelsRec to encapsulate write
    trimming.
(5) Disabled kIndex8 as a dst - always.

BUG=skia:6021

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

7 years agoFix performance issue and compute intersections more often.
Yuqian Li [Thu, 19 Jan 2017 21:29:02 +0000 (16:29 -0500)]
Fix performance issue and compute intersections more often.

(This CL also turned on Analytic AA for concave paths by removing SK_SUPPORT_LEGACY_AAA flag.)

Performance:
The SK_ALWAYS_INLINE was restored because it could bring 30%-50% speedup
in certain convex cases (e.g., fill_big_triangle). We also have to
reduce the number of branchings in the concave code path to enable such
speedup. (Although the speedup is for convex cases. The assembly code is
so strange...)

Intersection:
Previously, the criterion is too loose and that caused some bad pixels
(mostly unnoticeable by human eyes without magnifying). For example,
pixel (198, 222) of
https://gold.skia.org/detail?test=parsedpaths&digest=979e81de6f7b3f9e7e8dc810e31cad8d

BUG=skia:

Change-Id: I5e8191865c3df625f895cd4588c67c283fcbeaec
Reviewed-on: https://skia-review.googlesource.com/7318
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>

7 years agoLook for GenerateMipMapEXT
Brian Salomon [Fri, 20 Jan 2017 21:34:15 +0000 (16:34 -0500)]
Look for GenerateMipMapEXT

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

7 years agoSkSplicer: favor 1.0f as a constant.
Mike Klein [Sat, 21 Jan 2017 00:16:10 +0000 (19:16 -0500)]
SkSplicer: favor 1.0f as a constant.

1.0f is the most commonly used constant, so we put it first in the
constant struct.  This usually cuts an instruction off loading it.

Change-Id: Ie54a9482aa3e90e9e5d8fcaa40dbd353af0fa1ca
Reviewed-on: https://skia-review.googlesource.com/7367
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRevert "Try /MTd on Debug Windows builds."
Mike Klein [Sat, 21 Jan 2017 15:35:10 +0000 (15:35 +0000)]
Revert "Try /MTd on Debug Windows builds."

This reverts commit 58ce2bc51a318e53e3e6f1ef297c5adc775b0fec.

Reason for revert: warnings / errors when building ANGLE.

Original change's description:
> Try /MTd on Debug Windows builds.
>
> The people clamor for it!  I doubt we'll care in our testing.
>
> BUG=skia:5928
>
> Change-Id: I80d3948fd1f5d0b956c308bc3a6183b8660575ae
> Reviewed-on: https://skia-review.googlesource.com/7364
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>
>

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

Change-Id: Id6ab3de7ebb5394749233429bada2f5244ff2978
Reviewed-on: https://skia-review.googlesource.com/7372
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoSkSplicer: move armv7 ABI settings into build_stages.py.
Mike Klein [Sat, 21 Jan 2017 15:16:15 +0000 (10:16 -0500)]
SkSplicer: move armv7 ABI settings into build_stages.py.

This just tidies up the .cpp files a bit, and makes it easier to make
sure all exported functions use the aapcs-vfp callig convention, which
hard-float implies.

As a small simplification, fold -march=armv7-a into --target.

No generated code changes.

Change-Id: I2694970a6e48bd69c41dd280a44ddd0029e52ae8
Reviewed-on: https://skia-review.googlesource.com/7371
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoTry /MTd on Debug Windows builds.
Mike Klein [Fri, 20 Jan 2017 22:31:17 +0000 (17:31 -0500)]
Try /MTd on Debug Windows builds.

The people clamor for it!  I doubt we'll care in our testing.

BUG=skia:5928

Change-Id: I80d3948fd1f5d0b956c308bc3a6183b8660575ae
Reviewed-on: https://skia-review.googlesource.com/7364
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
7 years agomild tweaks to build_stages.py to run on my desktop
Mike Klein [Sat, 21 Jan 2017 00:24:10 +0000 (19:24 -0500)]
mild tweaks to build_stages.py to run on my desktop

Change-Id: Ie193e5bf576b8d3ddbd4c99d3707e3211557cc01
Reviewed-on: https://skia-review.googlesource.com/7368
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRemove SkColorCubeFilter. It is unused.
Mike Klein [Fri, 20 Jan 2017 22:25:34 +0000 (17:25 -0500)]
Remove SkColorCubeFilter.  It is unused.

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

7 years agominor cleanups in newly privatized device headers
Mike Reed [Sat, 21 Jan 2017 03:54:14 +0000 (22:54 -0500)]
minor cleanups in newly privatized device headers

BUG=skia:

Change-Id: Id6ebd54f404b5f0869d96368b98957ac10a2083f
NOTREECHECKS=True
Reviewed-on: https://skia-review.googlesource.com/7369
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoclipstack is now private
Mike Reed [Fri, 20 Jan 2017 22:11:11 +0000 (17:11 -0500)]
clipstack is now private

BUG=skia:

Change-Id: I91e601d59eb5d46de17c280898ca01fcfab89e5c
NOTREECHECKS=True
Reviewed-on: https://skia-review.googlesource.com/7362
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRemove SkImage::MakeTextureFromPixmap
Brian Osman [Fri, 20 Jan 2017 19:08:04 +0000 (14:08 -0500)]
Remove SkImage::MakeTextureFromPixmap

Another step towards reducing the number of texture upload paths.

BUG=skia:

Change-Id: Ica185e7334f52dc9ebf87e21fe6f60589ef87bb3
Reviewed-on: https://skia-review.googlesource.com/7346
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoReplace raster pipeline nextafter() calls with SkNu nudging
Florin Malita [Fri, 20 Jan 2017 19:53:03 +0000 (14:53 -0500)]
Replace raster pipeline nextafter() calls with SkNu nudging

(courtesy of mtklein@)

  nanobench -m gradient_linear_clamp\$ --config f16 --ms 2000 -q

Before: 753.66
After:  658.69

R=mtklein@google.com,herb@google.com

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

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

7 years agoRevert "Revert "Make it possible to query GrXPFactory for dst texture without GrPipel...
Brian Salomon [Fri, 20 Jan 2017 19:06:29 +0000 (19:06 +0000)]
Revert "Revert "Make it possible to query GrXPFactory for dst texture without GrPipelineAnalysis.""

This reverts commit 3329cceab5feca230df1caee16be045249228dc1.

Reason for revert: Bot failures are unrelated to the original change.

Change-Id: I21b5927dc4384a25930bdefe16e57bcc9276ffa4
Reviewed-on: https://skia-review.googlesource.com/7347
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoForce Index8 to N32 in deferred texture path.
Brian Osman [Fri, 20 Jan 2017 18:21:56 +0000 (13:21 -0500)]
Force Index8 to N32 in deferred texture path.

Ganesh doesn't support Index8, because GPUs don't really
support it. So serializing it in the deferred blob just
meant doing an expansion before upload. This forces that
to happen when we build the blob. It also paves the way
for removing the last usage of MakeTextureFromPixmap,
which I'd like to remove.

BUG=skia:

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

7 years agoRevert "Make it possible to query GrXPFactory for dst texture without GrPipelineAnaly...
Brian Salomon [Fri, 20 Jan 2017 18:22:52 +0000 (18:22 +0000)]
Revert "Make it possible to query GrXPFactory for dst texture without GrPipelineAnalysis."

This reverts commit f833215420847565b4c9945aebdc2e7ae182937f.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Make it possible to query GrXPFactory for dst texture without GrPipelineAnalysis.
>
> Change-Id: I8c140eb4e3e5f2d21ecbf8f8f3c8533dc7f50e7c
> Reviewed-on: https://skia-review.googlesource.com/7316
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I790afb9a01422cb4c2d3a4be4ecd20e8c4466b29
Reviewed-on: https://skia-review.googlesource.com/7342
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoContinue making Ganesh use absolute texture coordinates - take 2
Robert Phillips [Fri, 20 Jan 2017 17:44:06 +0000 (12:44 -0500)]
Continue making Ganesh use absolute texture coordinates - take 2

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)

Relanding of: https://skia-review.googlesource.com/c/6977/

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

7 years agoRemove unused struct.
Herb Derby [Fri, 20 Jan 2017 17:24:25 +0000 (12:24 -0500)]
Remove unused struct.

TBR=mtklein@google.com

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

7 years agoMove from SkChunkAlloc to SkArenaAlloc for SkGlyphCache.
Herb Derby [Fri, 20 Jan 2017 16:59:03 +0000 (11:59 -0500)]
Move from SkChunkAlloc to SkArenaAlloc for SkGlyphCache.

Change-Id: I221dd1c35898fe2703584f90d14192c8b546af40
Reviewed-on: https://skia-review.googlesource.com/7112
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>

7 years agoJust clamp to limit-epsilon.
Mike Klein [Fri, 20 Jan 2017 16:45:01 +0000 (11:45 -0500)]
Just clamp to limit-epsilon.

I think the -0.5f was an implementation detail of Herb's bilerp that we
don't need here.  It happened to also be clamping us to something less
than limit (limit-0.5), so we do need to replace that with a little
nudge to keep us on tile.

Change-Id: I4ebd32e0ad38c724a17dc8bc35d9ea228eeeca32
Reviewed-on: https://skia-review.googlesource.com/7338
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agooffset angle check edge in common
Cary Clark [Wed, 18 Jan 2017 16:00:57 +0000 (11:00 -0500)]
offset angle check edge in common

When curves cross, their intersection points may be nearby, but not exactly the same.
Sort the angles formed by the crossing curves when all angles don't have the same
origin.

This sets up the framework to solve test case that currently fail (e.g., joel6) but
does not fix all related test cases (e.g., joel9).

All older existing test cases, including extended tests, pass.

Rework the test framework to better report when tests expected to produce failing
results now pass.

Add new point and vector operations to support offset angles.

TBR=reed@google.com
BUG=skia:6041

Change-Id: I67c651ded0a25e99ad93d55d6a35109b3ee3698e
Reviewed-on: https://skia-review.googlesource.com/6624
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agoMake it possible to query GrXPFactory for dst texture without GrPipelineAnalysis.
Brian Salomon [Fri, 20 Jan 2017 16:30:37 +0000 (11:30 -0500)]
Make it possible to query GrXPFactory for dst texture without GrPipelineAnalysis.

Change-Id: I8c140eb4e3e5f2d21ecbf8f8f3c8533dc7f50e7c
Reviewed-on: https://skia-review.googlesource.com/7316
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoRemove GrTestTarget
Robert Phillips [Fri, 20 Jan 2017 14:11:37 +0000 (09:11 -0500)]
Remove GrTestTarget

Change-Id: I4d2e1aa54732ff75b44a197255035c0e04548219
Reviewed-on: https://skia-review.googlesource.com/7327
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoFix Vulkan crashes on nexus player
Greg Daniel [Fri, 20 Jan 2017 15:45:49 +0000 (10:45 -0500)]
Fix Vulkan crashes on nexus player

This CL enables Vulkan Test bots on the NexusPlayer

TBR:bsalomon@google.com
BUG=skia:

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

7 years agoStreamline x86 u8 -> fixed15 math.
Mike Klein [Fri, 20 Jan 2017 05:04:58 +0000 (00:04 -0500)]
Streamline x86 u8 -> fixed15 math.

We can use SSE's 16 bit mul-hi to get a very good approximation to the
ideal multiplier.  This lets us trim several instructions.

This removes the need for the constant 0x0001 and instead uses 0x8081.
I've reordered the constants so that 0x8000 comes first, which helps
trim an instruction here and there on ARM.

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

7 years agoRename GrContext::getFontAtlas to getFontAtlas_ForTesting
Robert Phillips [Fri, 20 Jan 2017 15:03:25 +0000 (10:03 -0500)]
Rename GrContext::getFontAtlas to getFontAtlas_ForTesting

A trivial change but it does better indicate the nature of the method

Change-Id: I44a0e77dba28df892f4200496d78797ed5fd37df
Reviewed-on: https://skia-review.googlesource.com/7331
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoSkSplicer stage parity
Mike Klein [Fri, 20 Jan 2017 03:29:09 +0000 (22:29 -0500)]
SkSplicer stage parity

I noticed scale_u8 is implemented in SkSplicer_stages but not _lowp.
That's not for any good reason... scale_u8 makes fine sense in _lowp.

All other stages missing in _lowp are nuts to attempt without floats.

This also renames the to_fixed15 lambdas to from_u8 functions.
Everything in the file converts to or from fixed15; the interesting
question is the other format.  Similarly, from_fixed15 becomes to_u8.

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

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>