platform/upstream/libSkiaSharp.git
7 years agoUse brackets for explicit GPU config params in tools
bsalomon [Wed, 28 Sep 2016 19:40:22 +0000 (12:40 -0700)]
Use brackets for explicit GPU config params in tools
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2378163003

Review-Url: https://codereview.chromium.org/2378163003

7 years agomonobench: usability tweaks
Mike Klein [Wed, 28 Sep 2016 18:00:51 +0000 (14:00 -0400)]
monobench: usability tweaks

 - Allow an second argument to limit the number of samples.
 - If no benchmarks match, warn and exit instead of infinitely looping.

The default limit of 2147483647 10ms samples will run for 9 months, which I think is long enough to not need any special infinity logic.
BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2747

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

7 years agoRoll buildtools adb8bf4e8fc..5fd66957f08bb7
Ben Wagner [Wed, 28 Sep 2016 18:05:39 +0000 (14:05 -0400)]
Roll buildtools adb8bf4e8fc..5fd66957f08bb7

https://chromium.googlesource.com/chromium/buildtools/+log/adb8bf4e8fc..5fd66957f08bb7

Primarily to pick up
https://chromium.googlesource.com/chromium/src/+/d51d3527da33

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2749

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

7 years agoGradients are serialized (and can be constructed) as SkColor4f + SkColorSpace
brianosman [Wed, 28 Sep 2016 18:27:28 +0000 (11:27 -0700)]
Gradients are serialized (and can be constructed) as SkColor4f + SkColorSpace

Added gradient shader factories that take SkColor4f + SkColorSpace.
Modified Descriptor to only store SkColor4f + SkColorSpace.
Existing factories make use of helper code to convert SkColor and
forward to the new factories.

Bumped SKP version to handle new gradient serialization format.
I was toying with using half-float when serializing SkColor4f,
despite my aggressive packing of flags, this format is significantly
bigger.

Also added GM to use 4f factories. This GM should (and does)
look identical to the existing gradients GM.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2370063002

Review-Url: https://codereview.chromium.org/2370063002

7 years agodocumentation: update PDF design doc
halcanary [Wed, 28 Sep 2016 18:19:52 +0000 (11:19 -0700)]
documentation: update PDF design doc

NOTRY=true

Review-Url: https://codereview.chromium.org/2295373002

7 years agoMove toXYZD50() to SkColorSpace_Base
msarett [Wed, 28 Sep 2016 18:15:27 +0000 (11:15 -0700)]
Move toXYZD50() to SkColorSpace_Base

SkColorSpace needs to become more versatile, in order to support
profiles that cannot specified with just a "to XYZ D50" matrix.

This a just first step to clean up the public API.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2381553002

Review-Url: https://codereview.chromium.org/2381553002

7 years agoSkRasterPipeline: fuse clamp_01 into stores.
Mike Klein [Wed, 28 Sep 2016 15:54:46 +0000 (11:54 -0400)]
SkRasterPipeline: fuse clamp_01 into stores.

This is a less generally applicable trick than I have previously hoped.  The need to thread through contexts into each stage really means you can only include one context-dependent stage in each fused batch.

We can still manually fuse these, of course, as you can see in SkRasterPipelineBench.  It's just that we can't really write a generic compile-time template to do it except for context-free stages.  And since we can't write a generic version, and I have only this one specific use case right now, I've kept it quite specific to that use case.

This does work pretty well for this use case, though.  Here's the fused clamp-then-store-565:
+0x00 pushq               %rbp
+0x01 movq                %rsp, %rbp
+0x04 movq                8(%rdi), %rax
+0x08 xorps               %xmm4, %xmm4
+0x0b maxps               %xmm4, %xmm3
+0x0e maxps               %xmm4, %xmm0
+0x11 maxps               %xmm4, %xmm1
+0x14 maxps               %xmm4, %xmm2
+0x17 minps               4262818(%rip), %xmm3
+0x1e minps               %xmm3, %xmm0
+0x21 minps               %xmm3, %xmm1
+0x24 minps               %xmm3, %xmm2
+0x27 movaps              4965378(%rip), %xmm3
+0x2e mulps               %xmm3, %xmm0
+0x31 cvtps2dq            %xmm0, %xmm0
+0x35 pslld               $11, %xmm0
+0x3a mulps               4965375(%rip), %xmm1
+0x41 cvtps2dq            %xmm1, %xmm1
+0x45 pslld               $5, %xmm1
+0x4a mulps               %xmm3, %xmm2
+0x4d cvtps2dq            %xmm2, %xmm2
+0x51 orpd                %xmm0, %xmm2
+0x55 orpd                %xmm1, %xmm2
+0x59 pshufb              4474510(%rip), %xmm2
+0x62 movq                %xmm2, (%rax,%rsi,2)
+0x67 popq                %rbp
+0x68 retq

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2745

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

7 years agoSkPDF: use SkImage::isAImage
Hal Canary [Wed, 28 Sep 2016 15:53:33 +0000 (11:53 -0400)]
SkPDF: use SkImage::isAImage

output size savings = ~0.4% with effected gms and skps.

BUG=568816
BUG=skia:5592

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2760

Change-Id: Ifead46ea5789e18aa3ddea9ca3986717296a6391
Reviewed-on: https://skia-review.googlesource.com/2760
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agofix cubic linear test
caryclark [Wed, 28 Sep 2016 16:22:17 +0000 (09:22 -0700)]
fix cubic linear test

Check to see if the line between end points is
degenerate before measuring control points.

Also, add test case for a bug to see if it
shows up on any platform.

TBR=reed@google.com
BUG=skia:5169, skia:5240
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2375053002

Review-Url: https://codereview.chromium.org/2375053002

7 years agoMake GPU configs use kRGBA color type not kN32.
bsalomon [Wed, 28 Sep 2016 15:49:53 +0000 (08:49 -0700)]
Make GPU configs use kRGBA color type not kN32.

This makes ES msaa contexts testable on systems where kN32 is compiled as kBGRA due to the fact that render buffers are not always supported for GL_BGRA with GL_EXT_texture_format_BGRA8888.

BUG=skia:5804
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2378713002

Review-Url: https://codereview.chromium.org/2378713002

7 years agoRearrange SkRasterPipeline scanline tail handling.
Mike Klein [Wed, 28 Sep 2016 14:43:53 +0000 (10:43 -0400)]
Rearrange SkRasterPipeline scanline tail handling.

We used to step at a 4-pixel stride as long as possible, then run up to 3 times, one pixel at a time.  Now replace those 1-at-a-time runs with a single tail stamp if there are 1-3 remaining pixels.

This style is simply more efficient: e.g. we'll blend and lerp once for 3 pixels instead of 3 times.  This should make short blits significantly more efficient.  It's also more future-oriented... AVX+ on Intel and SVE on ARM support masked loads and stores, so we can do the entire tail in one direct step.

This also makes it possible to re-arrange the code a bit to encapsulate each stage better.  I think generally this code reads more clearly than the old code, but YMMV.  I've arranged things so you write one function, but it's compiled into two specializations, one for tail=0 (Body) and one for tail>0 (Tail).  It's pretty tidy.

For now I've just burned a register to pass around tail.  It's 2 bits now, maybe soon 3 with AVX, and capped at 4 for even the craziest new toys, so there are plenty of places we can pack it if we want to get clever.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2717

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

7 years agoRevert of Tag checkerboard bitmaps as sRGB (patchset #1 id:1 of https://codereview...
brianosman [Wed, 28 Sep 2016 15:17:20 +0000 (08:17 -0700)]
Revert of Tag checkerboard bitmaps as sRGB (patchset #1 id:1 of https://codereview.chromium.org/2368933003/ )

Reason for revert:
Regression on displacement GM when sRGB support is lacking.

Original issue's description:
> Tag checkerboard bitmaps as sRGB
>
> Significantly reduces the diff between legacy and sRGB/F16 on about 25
> GMs. This is just the biggest piece of low-hanging fruit. Many GMs create
> N32 raster surfaces to procedurally generate source textures, and I'd like
> to fix all of them. It's much easier to reason about the GMs (is sRGB
> doing the right thing) when everything is tagged like this - the only
> expected differences are due to filtering and blending.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368933003
>
> Committed: https://skia.googlesource.com/skia/+/fe843cea499ba163d53281425af210b1887d28e7

TBR=mtklein@google.com,reed@google.com,robertphillips@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review-Url: https://codereview.chromium.org/2375063002

7 years agoHide monobench target on debug builds.
Mike Klein [Tue, 27 Sep 2016 20:46:29 +0000 (16:46 -0400)]
Hide monobench target on debug builds.

Unlike nanobench this tool has no purpose when built in Debug mode.
Just don't let it happen.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2718

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

7 years agoMake SkPMColor BGRA on Fuchsia.
Mike Klein [Tue, 27 Sep 2016 01:37:09 +0000 (21:37 -0400)]
Make SkPMColor BGRA on Fuchsia.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2700

Change-Id: I59b8463adcf3d49af524fec379e3b563dcbcbf6b
Reviewed-on: https://skia-review.googlesource.com/2700
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>

7 years agoAdded kSRGBLinear_Named color space, along with tests
brianosman [Tue, 27 Sep 2016 22:11:47 +0000 (15:11 -0700)]
Added kSRGBLinear_Named color space, along with tests

Gradients (and other shaders) are going to end up serializing this
particular color space very frequently, so we want a shorthand way of
writing it out. I think it's also helpful to have a clearer way of
creating it (vs. NewNamed(kSRGB_Named)->makeLinearGamma()).

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2377763002

Review-Url: https://codereview.chromium.org/2377763002

7 years agoAdd SK_SUPPORT_LEGACY_ARITHMETICMODE flag to public.bzl.
benjaminwagner [Tue, 27 Sep 2016 19:28:20 +0000 (12:28 -0700)]
Add SK_SUPPORT_LEGACY_ARITHMETICMODE flag to public.bzl.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2372703007

Review-Url: https://codereview.chromium.org/2372703007

7 years agoAdd command buffer submits before copy calls in vulkan.
egdaniel [Tue, 27 Sep 2016 19:13:05 +0000 (12:13 -0700)]
Add command buffer submits before copy calls in vulkan.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2363773006

Committed: https://skia.googlesource.com/skia/+/25661bac7722860b7589c5b01ec404531d941456
Review-Url: https://codereview.chromium.org/2363773006

7 years agoSkRasterPipeline: add last() and docs.
Mike Klein [Tue, 27 Sep 2016 16:08:10 +0000 (12:08 -0400)]
SkRasterPipeline: add last() and docs.

Today if you use the simple SK_RASTER_STAGE interface to build a pipeline, each stage you add calls into a next stage.  The last stage you add calls into a special backstop stage JustReturn that, well, just returns, ending the pipeline.

This adds last(), which cuts that last stage off the pipeline.  Instead, the stage you add using last() returns directly, ending the pipeline itself without jumping into JustReturn.

This reduces the overhead of using the pipelined version of SkRasterPipelineBench from ~25% to ~20% on my desktop.

Also, add docs.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2713

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

7 years agoTurn on -Wgnu-anonymous-struct and -Wnested-anonymous-types.
Mike Klein [Tue, 27 Sep 2016 16:45:26 +0000 (12:45 -0400)]
Turn on -Wgnu-anonymous-struct and -Wnested-anonymous-types.

I'm not seeing any problems with these locally.  Perhaps the bots have something to say.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2709

Change-Id: I6f0c7045c8f270efcd71d837f22a40e9f9d3e9b7
Reviewed-on: https://skia-review.googlesource.com/2709
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
7 years agoRevert of Add command buffer submits before copy calls in vulkan. (patchset #5 id...
egdaniel [Tue, 27 Sep 2016 17:14:44 +0000 (10:14 -0700)]
Revert of Add command buffer submits before copy calls in vulkan. (patchset #5 id:80001 of https://codereview.chromium.org/2363773006/ )

Reason for revert:
breaking things since apparently nvidia != windows always...

Original issue's description:
> Add command buffer submits before copy calls in vulkan.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2363773006
>
> Committed: https://skia.googlesource.com/skia/+/25661bac7722860b7589c5b01ec404531d941456

TBR=jvanverth@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2373503004

7 years agoGN: match shell behavior for cc and cxx in is_clang.py
csmartdalton [Tue, 27 Sep 2016 16:29:24 +0000 (09:29 -0700)]
GN: match shell behavior for cc and cxx in is_clang.py

Interprets cc/cxx as part of the shell command rather than literal
arguments. This matches the behavior of shell invocations from ninja.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2375573002

Review-Url: https://codereview.chromium.org/2375573002

7 years agoOverAlignedTest: use sk_ malloc and free.
Mike Klein [Tue, 27 Sep 2016 15:26:50 +0000 (11:26 -0400)]
OverAlignedTest: use sk_ malloc and free.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2712

Change-Id: I73b2b45ba6a1303b957aa03953eef305f8be9144
Reviewed-on: https://skia-review.googlesource.com/2712
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoUpdate vulkan varying locations to correctly handle arrays
egdaniel [Tue, 27 Sep 2016 16:09:44 +0000 (09:09 -0700)]
Update vulkan varying locations to correctly handle arrays

BUG=skia:5797
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369013006

Review-Url: https://codereview.chromium.org/2369013006

7 years agoAdd command buffer submits before copy calls in vulkan.
egdaniel [Tue, 27 Sep 2016 16:03:05 +0000 (09:03 -0700)]
Add command buffer submits before copy calls in vulkan.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2363773006

Review-Url: https://codereview.chromium.org/2363773006

7 years agoFix dm/nanobench uploads for Gerrit-based trybots
Eric Boren [Tue, 27 Sep 2016 15:30:48 +0000 (11:30 -0400)]
Fix dm/nanobench uploads for Gerrit-based trybots

BUG=skia:5719

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2710

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

7 years agoTurn on -Wnewline-eof.
Mike Klein [Tue, 27 Sep 2016 15:21:15 +0000 (11:21 -0400)]
Turn on -Wnewline-eof.

I don't know _why_ Clang would like these .inc files to have a newline at the end of the file, but it seems a harmless way to silence the warning.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2711

Change-Id: I6c530ee5096c48c91ddf322aca916e70a0dd770b
Reviewed-on: https://skia-review.googlesource.com/2711
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
7 years agoanother attempt to fix nonrectangular
caryclark [Tue, 27 Sep 2016 15:41:33 +0000 (08:41 -0700)]
another attempt to fix nonrectangular

For hairlines extended by the end cap,
set the first point to the first curve
following a move, which has had its
position adjusted.

R=fmalita@chromium.org
BUG=617658
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2371143002

Review-Url: https://codereview.chromium.org/2371143002

7 years agoneed to apply CTM to clip rect in arithmetic imagefilter
Mike Reed [Tue, 27 Sep 2016 15:07:11 +0000 (11:07 -0400)]
need to apply CTM to clip rect in arithmetic imagefilter

BUG=skia:5800

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2708

NOTRY=True
upload steps are failing, but the tests themselves passed

Change-Id: I0210d0095b4ffdd376f18fad895655d39714bf38
Reviewed-on: https://skia-review.googlesource.com/2708
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years ago[task scheduler] Add uploads to tasks.json
borenet [Tue, 27 Sep 2016 15:22:03 +0000 (08:22 -0700)]
[task scheduler] Add uploads to tasks.json

BUG=skia:5719
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2376713002

Review-Url: https://codereview.chromium.org/2376713002

7 years agoRemove gen_bench_expectations_from_codereview
borenet [Tue, 27 Sep 2016 15:21:44 +0000 (08:21 -0700)]
Remove gen_bench_expectations_from_codereview

It hasn't been used in a long time.

BUG=skia:2969
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2373803002

Review-Url: https://codereview.chromium.org/2373803002

7 years agoremove more stray semicolons from Vulkan code
Mike Klein [Tue, 27 Sep 2016 14:52:35 +0000 (10:52 -0400)]
remove more stray semicolons from Vulkan code

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2707

Change-Id: Idc00efeda2f9901a6f33c987202be2a781b24269
Reviewed-on: https://skia-review.googlesource.com/2707
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoAdd GrVkCopyPipeline to handle vulkan copies as draws
egdaniel [Tue, 27 Sep 2016 15:00:53 +0000 (08:00 -0700)]
Add GrVkCopyPipeline to handle vulkan copies as draws

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2274663005

Review-Url: https://codereview.chromium.org/2274663005

7 years agoDelete unused upload_*_results.py
borenet [Tue, 27 Sep 2016 14:51:15 +0000 (07:51 -0700)]
Delete unused upload_*_results.py

BUG=skia:5719
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2371883004

Review-Url: https://codereview.chromium.org/2371883004

7 years agoAdd mips dsp arch variants to gyp_to_android.py.
branimir.vasic [Tue, 27 Sep 2016 14:37:20 +0000 (07:37 -0700)]
Add mips dsp arch variants to gyp_to_android.py.

Fixes Android  build for variants mips32r2dsp-fp and mips32r2dspr2-fp by
enabling correct Android.mk file generation.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2359793002

Review-Url: https://codereview.chromium.org/2359793002

7 years agoWe really shouldn't pass SkFontStyle to printf as %d.
Mike Klein [Tue, 27 Sep 2016 13:10:15 +0000 (09:10 -0400)]
We really shouldn't pass SkFontStyle to printf as %d.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2721

Change-Id: I362063bea3909b2581d8e9b7860d4ac321082808
Reviewed-on: https://skia-review.googlesource.com/2721
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
7 years agoRemove stray semicolons.
Mike Klein [Tue, 27 Sep 2016 13:34:10 +0000 (09:34 -0400)]
Remove stray semicolons.

Turns out function declarations don't end in semicolons...

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2720

No public API changes.
TBR=reed@google.com

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

7 years agoAdd swarming task for upload_dm_results
borenet [Tue, 27 Sep 2016 13:52:26 +0000 (06:52 -0700)]
Add swarming task for upload_dm_results

BUG=skia:5719
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2360203004

Review-Url: https://codereview.chromium.org/2360203004

7 years agoFocus -Wno-over-aligned to just 32-bit x86 Android. (2)
Mike Klein [Tue, 27 Sep 2016 11:41:45 +0000 (07:41 -0400)]
Focus -Wno-over-aligned to just 32-bit x86 Android. (2)

I've even found the code that's making this happen, just don't know why.
I've added a test to assert that it's safe to assume malloc() is 8-byte aligned.

Test should compile this time.

CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-NexusPlayer-CPU-Moorefield-x86-Release-GN_Android-Trybot

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

7 years agoRevert "Focus -Wno-over-aligned to just 32-bit x86 Android."
Mike Reed [Tue, 27 Sep 2016 10:42:47 +0000 (10:42 +0000)]
Revert "Focus -Wno-over-aligned to just 32-bit x86 Android."

This reverts commit If8a2898ab3a77571622eb125c97f676e029b902c.

Reason for revert:

../../../../../work/skia/tests/OverAlignedTest.cpp: In function 'void test_OverAligned(skiatest::Reporter*, sk_gpu_test::GrContextFactory*)':
../../../../../work/skia/tests/OverAlignedTest.cpp:19:33: error: invalid operands of types 'void*' and 'int' to binary 'operator&'
         REPORTER_ASSERT(r, SkIsAlign8(p));
                                 ^
ninja: build stopped: subcommand failed.

Original issue's description:
> Focus -Wno-over-aligned to just 32-bit x86 Android.
>
> I've even found the code that's making this happen, just don't know why.
> I've added a test to assert that it's safe to assume malloc() is 8-byte aligned.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2662
>
> CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-NexusPlayer-CPU-Moorefield-x86-Release-GN_Android-Trybot
>

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

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

7 years agoRemove outdated comments about pre-sk_sp semantics
brianosman [Tue, 27 Sep 2016 10:33:12 +0000 (03:33 -0700)]
Remove outdated comments about pre-sk_sp semantics

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2371603003

Review-Url: https://codereview.chromium.org/2371603003

7 years agoClamp Vulkan caps to INT_MAX
jvanverth [Tue, 27 Sep 2016 10:33:05 +0000 (03:33 -0700)]
Clamp Vulkan caps to INT_MAX

AMD sets some Vulkan caps values to 0xffffffff as a uint32_t, which
overflows our int values and causes merry havok.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2371923002

Review-Url: https://codereview.chromium.org/2371923002

7 years agoRevert "Revert "replace Arithmetic xfermode with imagefilter""
Mike Reed [Mon, 26 Sep 2016 22:51:24 +0000 (18:51 -0400)]
Revert "Revert "replace Arithmetic xfermode with imagefilter""

This reverts commit 10ff5bfa789b6b602464e8511fdf676c6f5b1bd4.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2680
TBR=
Change-Id: Iac2f4d48d227ff426ccf02b7eae280f382ad3580
Reviewed-on: https://skia-review.googlesource.com/2680
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoFocus -Wno-over-aligned to just 32-bit x86 Android.
Mike Klein [Mon, 26 Sep 2016 20:51:59 +0000 (16:51 -0400)]
Focus -Wno-over-aligned to just 32-bit x86 Android.

I've even found the code that's making this happen, just don't know why.
I've added a test to assert that it's safe to assume malloc() is 8-byte aligned.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2662

CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-NexusPlayer-CPU-Moorefield-x86-Release-GN_Android-Trybot

Change-Id: If8a2898ab3a77571622eb125c97f676e029b902c
Reviewed-on: https://skia-review.googlesource.com/2662
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
7 years agoRevert of My take on SkAlign changes. (patchset #3 id:40001 of https://codereview...
mtklein [Tue, 27 Sep 2016 01:20:57 +0000 (18:20 -0700)]
Revert of My take on SkAlign changes. (patchset #3 id:40001 of https://codereview.chromium.org/2368293002/ )

Reason for revert:
Let's see if reverting this helps the roll.

Original issue's description:
> My take on SkAlign changes.
>
> Like the other change, it makes SkAlignN(x) macros work for pointers, and makes the macros themselves just syntax sugar for SkAlign<N>(x).  We can still decide if we want to sed away the macros independently.
>
> This just does it in a somewhat less repetitive way, and adds some tests.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368293002
>
> No public API changes.
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/e1a5f4e292384046678edc5c1e360b3e13dc118c

TBR=cblume@chromium.org,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2372083002

7 years agoRevert "replace Arithmetic xfermode with imagefilter"
Mike Reed [Mon, 26 Sep 2016 20:40:57 +0000 (20:40 +0000)]
Revert "replace Arithmetic xfermode with imagefilter"

This reverts commit Ia3f3b721854c516f3b7f8c44f71f40a8a2eeb9b4.

Reason for revert: need to guard the no-gpu codepath

Original issue's description:
> replace Arithmetic xfermode with imagefilter
>
> chrome pre-cl: https://codereview.chromium.org/2369023002/
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2595
>
> Change-Id: Ia3f3b721854c516f3b7f8c44f71f40a8a2eeb9b4
> Reviewed-on: https://skia-review.googlesource.com/2595
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
>

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

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

7 years agoRevert of Turned on SkSL->GLSL compiler (patchset #37 id:800001 of https://codereview...
ethannicholas [Mon, 26 Sep 2016 20:43:47 +0000 (13:43 -0700)]
Revert of Turned on SkSL->GLSL compiler (patchset #37 id:800001 of https://codereview.chromium.org/2288033003/ )

Reason for revert:
Gold image breakage

Original issue's description:
> Turned on SkSL->GLSL compiler
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288033003
>
> Committed: https://skia.googlesource.com/skia/+/9b0fe3d125f237d9884732a48414fa85fc71b4e3
> Committed: https://skia.googlesource.com/skia/+/b12b3c6908c62c908b3680be01e3b5bfd30de310

TBR=benjaminwagner@google.com,bsalomon@google.com,egdaniel@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2372773002

7 years agoMove undefined-func-template to wont-fix warnings.
Mike Klein [Mon, 26 Sep 2016 19:49:04 +0000 (15:49 -0400)]
Move undefined-func-template to wont-fix warnings.

The warning looks to helpfully pre-warn about possible link failures, but it's warning exclusively in places where we're doing things right.

The worst that happens ignoring this warning is a missing-symbol linker error.

I've taken the opportunity to batch in a few other de-escalations:
  - Wconditional-uninitialized is done better by MSAN
  - It'll take some work to dig Wformat-literal out of our shader compiler, but nothing looks unsafe
  - Most of Wshift-sign-overflow is 0xff << 24.  Don't want to ban that.
  - Wdeprecated is mostly warning about features C++11 technically deprecated that might be removed in later releases.  Punt!
  - Wcovered-switch-default is pretty much the opposite of what we want.
  - Wshadow is triggering too often to fix quickly.  Probably mostly false positives.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2620

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

7 years agoreplace Arithmetic xfermode with imagefilter
Mike Reed [Mon, 26 Sep 2016 19:33:00 +0000 (15:33 -0400)]
replace Arithmetic xfermode with imagefilter

chrome pre-cl: https://codereview.chromium.org/2369023002/

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2595

Change-Id: Ia3f3b721854c516f3b7f8c44f71f40a8a2eeb9b4
Reviewed-on: https://skia-review.googlesource.com/2595
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoFix typo
liyuqian [Mon, 26 Sep 2016 19:49:06 +0000 (12:49 -0700)]
Fix typo

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2370003002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2370003002

Review-Url: https://codereview.chromium.org/2370003002

7 years agoRevert of Fix bufferIndex check in VulkanWindowContext (patchset #1 id:1 of https...
egdaniel [Mon, 26 Sep 2016 19:30:46 +0000 (12:30 -0700)]
Revert of Fix bufferIndex check in VulkanWindowContext (patchset #1 id:1 of https://codereview.chromium.org/2363353003/ )

Reason for revert:
Fix not correct.

Original issue's description:
> Fix bufferIndex check in VulkanWindowContext
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2363353003
>
> Committed: https://skia.googlesource.com/skia/+/e6bd20e62b827a1f26fa491fc628f015d208350f

TBR=jvanverth@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2370953002

7 years agoFix bufferIndex check in VulkanWindowContext
egdaniel [Mon, 26 Sep 2016 19:20:56 +0000 (12:20 -0700)]
Fix bufferIndex check in VulkanWindowContext

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2363353003

Review-Url: https://codereview.chromium.org/2363353003

7 years agoTurned on SkSL->GLSL compiler
ethannicholas [Mon, 26 Sep 2016 18:58:52 +0000 (11:58 -0700)]
Turned on SkSL->GLSL compiler
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288033003

Committed: https://skia.googlesource.com/skia/+/9b0fe3d125f237d9884732a48414fa85fc71b4e3
Review-Url: https://codereview.chromium.org/2288033003

7 years agoMinor clean up of GrAAConvexTessellator
Robert Phillips [Mon, 26 Sep 2016 18:07:48 +0000 (14:07 -0400)]
Minor clean up of GrAAConvexTessellator

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2604

Change-Id: Ie94361256675cded9ca241ddad6443e695a596e9
Reviewed-on: https://skia-review.googlesource.com/2604
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoRoll recipes
borenet [Mon, 26 Sep 2016 18:13:11 +0000 (11:13 -0700)]
Roll recipes

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2366323002

Review-Url: https://codereview.chromium.org/2366323002

7 years agoallow conic chop to fail
caryclark [Mon, 26 Sep 2016 18:03:54 +0000 (11:03 -0700)]
allow conic chop to fail

Fuzzy values may cause the conic chop to fail.

Check to see if the values are all finite, and
require the caller to do the same.

R=reed@google.com
BUG=650178
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368993002

Review-Url: https://codereview.chromium.org/2368993002

7 years agoTurn on -Wundefined-reinterpret-cast.
Mike Klein [Mon, 26 Sep 2016 17:19:12 +0000 (13:19 -0400)]
Turn on -Wundefined-reinterpret-cast.

It was not a fan of this (blatant) aliasing.
I suspect this best_non_simd_srcover_srgb_srgb() function has several
other aliasing issues that use undefined behavior, but this is all it's
complaining about for now.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2606

Change-Id: I25a8800e810bccf5068c8a10e9c8c8f565e57304
Reviewed-on: https://skia-review.googlesource.com/2606
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoTag checkerboard bitmaps as sRGB
brianosman [Mon, 26 Sep 2016 17:43:21 +0000 (10:43 -0700)]
Tag checkerboard bitmaps as sRGB

Significantly reduces the diff between legacy and sRGB/F16 on about 25
GMs. This is just the biggest piece of low-hanging fruit. Many GMs create
N32 raster surfaces to procedurally generate source textures, and I'd like
to fix all of them. It's much easier to reason about the GMs (is sRGB
doing the right thing) when everything is tagged like this - the only
expected differences are due to filtering and blending.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368933003

Review-Url: https://codereview.chromium.org/2368933003

7 years ago-Wcomma may be good to go now.
Mike Klein [Mon, 26 Sep 2016 17:02:35 +0000 (13:02 -0400)]
-Wcomma may be good to go now.

This cleans up 3 remaining sites using , that probably meant ;

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2605

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

7 years agoMy take on SkAlign changes.
mtklein [Mon, 26 Sep 2016 17:31:12 +0000 (10:31 -0700)]
My take on SkAlign changes.

Like the other change, it makes SkAlignN(x) macros work for pointers, and makes the macros themselves just syntax sugar for SkAlign<N>(x).  We can still decide if we want to sed away the macros independently.

This just does it in a somewhat less repetitive way, and adds some tests.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368293002

No public API changes.
TBR=reed@google.com

Review-Url: https://codereview.chromium.org/2368293002

7 years agobin/coverage: a GN version of the coverage script
halcanary [Mon, 26 Sep 2016 17:30:39 +0000 (10:30 -0700)]
bin/coverage: a GN version of the coverage script

intended to replace tools/coverage when GYP is gone.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2343243002

Review-Url: https://codereview.chromium.org/2343243002

7 years agoInclude timestamp in nanobench JSON file name
borenet [Mon, 26 Sep 2016 17:25:32 +0000 (10:25 -0700)]
Include timestamp in nanobench JSON file name

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2366623003
TBR=jcgregorio

Review-Url: https://codereview.chromium.org/2366623003

7 years agoadd tiger tests
caryclark [Mon, 26 Sep 2016 17:25:26 +0000 (10:25 -0700)]
add tiger tests

Add the tiger test suite.

In extended mode (-x) this
adds 700K new pathop tests.

Normally, it adds about 3500
tests.

TBR=reed@google.com
BUG=skia:5131
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2373533002

Review-Url: https://codereview.chromium.org/2373533002

7 years agoTypo?
mtklein [Mon, 26 Sep 2016 15:44:47 +0000 (08:44 -0700)]
Typo?

This can't be what you intended...

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368273002

NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2368273002

7 years agoGN: detect is_clang, use it to switch Clang to warning blacklist.
mtklein [Mon, 26 Sep 2016 15:40:12 +0000 (08:40 -0700)]
GN: detect is_clang, use it to switch Clang to warning blacklist.

Same as the last CL, now with -Wno-over-aligned.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-Clang-x86-Debug-GN_Android-Trybot

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369033002

TBR=bungeman@google.com

NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2369033002

7 years agoQuiet a -Wcomma warning.
mtklein [Mon, 26 Sep 2016 15:39:43 +0000 (08:39 -0700)]
Quiet a -Wcomma warning.

Clang's got a warning -Wcomma that warns about possible unintentional uses of
the comma operator, usually where a semicolon looks itended.

I don't think there's a bug here, but a semicolon does work just as well
and reads a bit more conventionally.  Though, I'm not actually sure how this
parses, as fp = ...; glslFP = ...; or fp = (..., glsl = ...).  The second
would most definitely be a bug.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2365403002

NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2365403002

7 years agobeziers: I missed an unsequenced moveTo() pair.
mtklein [Mon, 26 Sep 2016 15:18:43 +0000 (08:18 -0700)]
beziers: I missed an unsequenced moveTo() pair.

TBR=brianosman@google.com
BUG=skia:
NOTREECHECKS=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369933002

Review-Url: https://codereview.chromium.org/2369933002

7 years agoFix some fuzzer complaints
Robert Phillips [Mon, 26 Sep 2016 13:00:36 +0000 (09:00 -0400)]
Fix some fuzzer complaints

In one case the fuzzer was switching the picture's op code to an invalid value

In the other two the fuzzer was maxing out the number of points passed to drawPoints and the number of characters passed to drawTextRSXform. In these cases the validation would fail but still return a pointer into the data stream.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2593

Change-Id: Id6d4e6b7bcbae38ace7ad1d92ffcfa5c02f9fb61
Reviewed-on: https://skia-review.googlesource.com/2593
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "GN: detect is_clang, use it to switch Clang to warning blacklist."
Mike Klein [Mon, 26 Sep 2016 14:34:14 +0000 (14:34 +0000)]
Revert "GN: detect is_clang, use it to switch Clang to warning blacklist."

This reverts commit I09c3487adfeb26a6fb07e1939cb927c5d7de3107.

Reason for revert: -Wover-aligned on x86 Android bots

Original issue's description:
> GN: detect is_clang, use it to switch Clang to warning blacklist.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2599
>
> Change-Id: I09c3487adfeb26a6fb07e1939cb927c5d7de3107
> Reviewed-on: https://skia-review.googlesource.com/2599
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

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

Change-Id: Ic07bf7896a305be6c377f14a573cb10836f1a6f8
Reviewed-on: https://skia-review.googlesource.com/2601
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>

7 years agoDocumentation: fix links
halcanary [Mon, 26 Sep 2016 14:27:04 +0000 (07:27 -0700)]
Documentation: fix links

TBR=
NOTRY=true

Review-Url: https://codereview.chromium.org/2366403002

7 years agoGN: detect is_clang, use it to switch Clang to warning blacklist.
Mike Klein [Mon, 26 Sep 2016 13:14:59 +0000 (09:14 -0400)]
GN: detect is_clang, use it to switch Clang to warning blacklist.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2599

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

7 years agoStop aggregating texture/buffer access objects in GrFragmentProcessor parents.
bsalomon [Mon, 26 Sep 2016 13:55:02 +0000 (06:55 -0700)]
Stop aggregating texture/buffer access objects in GrFragmentProcessor parents.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2349243002

Review-Url: https://codereview.chromium.org/2365943003

7 years agoIn makeLinearGamma, return the original CS if it's already linear
Brian Osman [Fri, 23 Sep 2016 15:41:14 +0000 (11:41 -0400)]
In makeLinearGamma, return the original CS if it's already linear

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2589

Change-Id: I51d8f8f64bc5f73a0b7cbf5f01f3d23b56c1895e
Reviewed-on: https://skia-review.googlesource.com/2589
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoThese calls to SkRandom are not sequenced.
mtklein [Mon, 26 Sep 2016 13:29:18 +0000 (06:29 -0700)]
These calls to SkRandom are not sequenced.

This is why we see two versions of this GM: some compilers evaluate the
rand.nextRangeScalar() calls left to right, others right to left.

Remember this bug?
BUG=skia:3241
(https://codereview.chromium.org/1157943006 fixed hittestpath last year.)

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368263002

Review-Url: https://codereview.chromium.org/2368263002

7 years agofix tiger b
caryclark [Mon, 26 Sep 2016 12:36:58 +0000 (05:36 -0700)]
fix tiger b

The tiger tests have uncovered numerous bugs.
This CL fixes the last of them.

If a pair of curves do not intersect, but
have one or both ends very close to the opposite
curve, consider that an intersection.

TBR=reed@google.com
BUG=skia:5131
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356363003

Review-Url: https://codereview.chromium.org/2356363003

7 years agoDash to use SkIsAlign2
cblume [Mon, 26 Sep 2016 11:22:59 +0000 (04:22 -0700)]
Dash to use SkIsAlign2

Dash checks for alignment by actively aligning.
It should really just check for alignment.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2366283002

Review-Url: https://codereview.chromium.org/2366283002

7 years agoAdd SkColor4f serialization
brianosman [Sun, 25 Sep 2016 20:15:58 +0000 (13:15 -0700)]
Add SkColor4f serialization

Adjusted usage in color shader, and will also be using this
in gradients, soon.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2334123003

Review-Url: https://codereview.chromium.org/2334123003

7 years agoUpdate SKP version
update-skps [Sun, 25 Sep 2016 09:15:17 +0000 (02:15 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368053002

Review-Url: https://codereview.chromium.org/2368053002

7 years agoDisable msaa on iHD530 bot.
benjaminwagner [Sat, 24 Sep 2016 00:45:45 +0000 (17:45 -0700)]
Disable msaa on iHD530 bot.

BUG=skia:5792
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356213005

Review-Url: https://codereview.chromium.org/2356213005

7 years agoGN: ANGLE
mtklein [Fri, 23 Sep 2016 20:18:41 +0000 (13:18 -0700)]
GN: ANGLE

Angle's existing GN files only work in Chrome, so I've written a new one.

This won't work on Windows, but our GN build doesn't work on Windows anyway.  So this CL is an attempt to get a ahead of that curve on ANGLE.  It looks large but fairly straightforward.

Now working on Linux:
  $ gn gen angle --args=skia_use_angle=true
  $ ninja -C angle
  $ angle/dm --config angle-gl --src gm -w dm-out

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2361983002

Review-Url: https://codereview.chromium.org/2361983002

7 years agoChange SkSpecialImage::makeSurface and makeTightSurface to take output
brianosman [Fri, 23 Sep 2016 20:04:05 +0000 (13:04 -0700)]
Change SkSpecialImage::makeSurface and makeTightSurface to take output
properties (color space), bounds, and (optional) alphaType.

We were being pretty inconsistent before. Raster was honoring all
components of the info. GPU was using the supplied color type, but
propagating the source's color space. All call sites were saying N32.

What we want to do is propagate the original device's color space, and
pick a good format from that. Rather than force all the clients to
jump through hoops constructing an SkImageInfo that meets our criteria,
just have them supply the few bits we care about, and do everything else
internally.

This also lets us always use RGBA on GPU, but N32 on raster.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2349373004

Committed: https://skia.googlesource.com/skia/+/53c38087949252d27cde668368a3eeb59cc2eb00
Review-Url: https://codereview.chromium.org/2349373004

7 years agoAdd validation of RRects to SkValidatingReadBuffer
Robert Phillips [Fri, 23 Sep 2016 18:23:22 +0000 (14:23 -0400)]
Add validation of RRects to SkValidatingReadBuffer

This comes from the Skia fuzzer where it is inverting the RRect's rect which causes trouble down the line.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2591

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

7 years agoDon't compute path keys for volatile paths in GrShape.
bsalomon [Fri, 23 Sep 2016 19:09:16 +0000 (12:09 -0700)]
Don't compute path keys for volatile paths in GrShape.

Otherwise, we will compute cache keys for internally transformed paths that don't repeat (e.g. clip paths transformed into device space with a changing view matrix).

BUG=chromium:649562
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369513002

Review-Url: https://codereview.chromium.org/2369513002

7 years agoAdd Pixel C knobs to skpbench
csmartdalton [Fri, 23 Sep 2016 18:36:11 +0000 (11:36 -0700)]
Add Pixel C knobs to skpbench

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369533002

Review-Url: https://codereview.chromium.org/2369533002

7 years agoSome Vulkan memory fixes and cleanup
jvanverth [Fri, 23 Sep 2016 17:30:04 +0000 (10:30 -0700)]
Some Vulkan memory fixes and cleanup

* Switch back to not setting transfer_dst on all buffers
* Add some missing unit tests
* Add tracking of heap usage for debugging purposes
* Fall back to non-device-local memory if device-local allocation fails

BUG=skia:5031
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356343003

Committed: https://skia.googlesource.com/skia/+/c5850e9fdb62cc4ae5ed2b6af51aea92cac07455
Review-Url: https://codereview.chromium.org/2356343003

7 years agochange SkXfermodeImageFilter to carry no impl information
Mike Reed [Fri, 23 Sep 2016 15:43:54 +0000 (11:43 -0400)]
change SkXfermodeImageFilter to carry no impl information

BUG=skia:

NOTREECHECKS=True

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2584

Change-Id: Ibf2dfa7722348ae71a99f1c895de0d2996350e58
Reviewed-on: https://skia-review.googlesource.com/2584
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agofix msan bug in pathops
caryclark [Fri, 23 Sep 2016 16:32:26 +0000 (09:32 -0700)]
fix msan bug in pathops

Msan and Valgrind found an uninitialized memory mistake in
pathops. This also fixes similar bugs where not all parts
of the geometry were covered in the loop iteration.

R=borenet@google.com
NOTREECHECKS=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2366893003

Review-Url: https://codereview.chromium.org/2366893003

7 years agoInclude GLTestContext_command_buffer.cpp in G3 build.
Mike Klein [Fri, 23 Sep 2016 15:10:08 +0000 (11:10 -0400)]
Include GLTestContext_command_buffer.cpp in G3 build.

This is now required to build our GPU testing tools.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2587
NOTREECHECKS=true

Change-Id: I219665fbe50e9bbea9abb88a6d63c34b76ca92e6
Reviewed-on: https://skia-review.googlesource.com/2587
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoRevert of Create special surfaces according to original device (not always in N32...
brianosman [Fri, 23 Sep 2016 15:49:50 +0000 (08:49 -0700)]
Revert of Create special surfaces according to original device (not always in N32) (patchset #9 id:160001 of https://codereview.chromium.org/2349373004/ )

Reason for revert:
DM crash and/or TSAN failure

Original issue's description:
> Change SkSpecialImage::makeSurface and makeTightSurface to take output
> properties (color space), bounds, and (optional) alphaType.
>
> We were being pretty inconsistent before. Raster was honoring all
> components of the info. GPU was using the supplied color type, but
> propagating the source's color space. All call sites were saying N32.
>
> What we want to do is propagate the original device's color space, and
> pick a good format from that. Rather than force all the clients to
> jump through hoops constructing an SkImageInfo that meets our criteria,
> just have them supply the few bits we care about, and do everything else
> internally.
>
> This also lets us always use RGBA on GPU, but N32 on raster.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2349373004
>
> Committed: https://skia.googlesource.com/skia/+/53c38087949252d27cde668368a3eeb59cc2eb00

TBR=robertphillips@google.com,reed@google.com,bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2366723004

7 years agouse SkCanvas::ClipOp
Mike Reed [Fri, 23 Sep 2016 14:05:05 +0000 (10:05 -0400)]
use SkCanvas::ClipOp

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2583

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

7 years agoJson ide script for gn to output cmake.
bungeman [Fri, 23 Sep 2016 15:16:04 +0000 (08:16 -0700)]
Json ide script for gn to output cmake.

Can be run like

gn gen out/debug --ide=json --json-ide-script=../../gn/gn_to_cmake.py

or

gn gen out/debug --ide=json
python gn/gn_to_cmake.py out/debug/project.json

This first pass creates CMakeLists.txt with just enough information for an
ide. Each target is just a static library with sources, include
directories, and defines.

NOTRY=true
This isn't automatically tested.

Review-Url: https://codereview.chromium.org/2363873002

7 years agoChange SkSpecialImage::makeSurface and makeTightSurface to take output
brianosman [Fri, 23 Sep 2016 15:11:55 +0000 (08:11 -0700)]
Change SkSpecialImage::makeSurface and makeTightSurface to take output
properties (color space), bounds, and (optional) alphaType.

We were being pretty inconsistent before. Raster was honoring all
components of the info. GPU was using the supplied color type, but
propagating the source's color space. All call sites were saying N32.

What we want to do is propagate the original device's color space, and
pick a good format from that. Rather than force all the clients to
jump through hoops constructing an SkImageInfo that meets our criteria,
just have them supply the few bits we care about, and do everything else
internally.

This also lets us always use RGBA on GPU, but N32 on raster.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2349373004

Review-Url: https://codereview.chromium.org/2349373004

7 years agoMake GrRenderableConfigForColorSpace argument const
brianosman [Fri, 23 Sep 2016 14:11:34 +0000 (07:11 -0700)]
Make GrRenderableConfigForColorSpace argument const

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2367813002

Review-Url: https://codereview.chromium.org/2367813002

7 years agoAdd swarming task for nanobench upload
borenet [Fri, 23 Sep 2016 13:37:57 +0000 (06:37 -0700)]
Add swarming task for nanobench upload

BUG=skia:5719
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2364693003

Review-Url: https://codereview.chromium.org/2364693003

7 years agosplit tight quads and conics
caryclark [Fri, 23 Sep 2016 12:47:20 +0000 (05:47 -0700)]
split tight quads and conics

Tight quads and conics may nearly fold over on themselves, confusing
coincidence against other curves. Split them at their max curvature
early on to avoid complicating later logic.

TBR=reed@google.com
BUG=skia:5131
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357353002

Review-Url: https://codereview.chromium.org/2357353002

7 years agosRGB cleanup in image filters. Ensure we configure paints correctly.
brianosman [Thu, 22 Sep 2016 21:50:58 +0000 (14:50 -0700)]
sRGB cleanup in image filters. Ensure we configure paints correctly.

Net effect of the two calls is (basically) the same, but given that we're
propagating from isGammaCorrect on the DC, I figured it makes sense to use
the same-named API.

More importantly, a couple places had slipped through, so those draws would
ignore sRGB-ness of inputs entirely.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357413004

Review-Url: https://codereview.chromium.org/2357413004

7 years agoIt is possible to try and draw to an unsupported format. Let this go.
brianosman [Thu, 22 Sep 2016 21:27:34 +0000 (14:27 -0700)]
It is possible to try and draw to an unsupported format. Let this go.

Squelches assert firing in gradient code on low-end Android bots.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2365703002

Review-Url: https://codereview.chromium.org/2365703002

7 years agoSkPDF: do not assert when openStream return nullptr
halcanary [Thu, 22 Sep 2016 21:13:16 +0000 (14:13 -0700)]
SkPDF: do not assert when openStream return nullptr

BUG=163892
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2332813002

Review-Url: https://codereview.chromium.org/2332813002

7 years agodocument.close from bool to void
reed [Thu, 22 Sep 2016 21:12:46 +0000 (14:12 -0700)]
document.close from bool to void

Nothing meaningful is returned, it is inconsistent with the bulk of the rest of skia's api. The C api is waiting on this change as well.

Required chrome CL: https://codereview.chromium.org/2355343003/

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2354403002

Review-Url: https://codereview.chromium.org/2354403002

7 years agoRevert of Some Vulkan memory fixes and cleanup (patchset #2 id:20001 of https://coder...
jvanverth [Thu, 22 Sep 2016 20:45:24 +0000 (13:45 -0700)]
Revert of Some Vulkan memory fixes and cleanup (patchset #2 id:20001 of https://codereview.chromium.org/2356343003/ )

Reason for revert:
fHeapIndex is not used in release, need to hide behind SK_DEBUG. Failing on Perf-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Release-GN_Android_Vulkan.

Original issue's description:
> Some Vulkan memory fixes and cleanup
>
> * Switch back to not setting transfer_dst on all buffers
> * Add some missing unit tests
> * Add tracking of heap usage for debugging purposes
> * Fall back to non-device-local memory if device-local allocation fails
>
> BUG=skia:5031
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356343003
>
> Committed: https://skia.googlesource.com/skia/+/c5850e9fdb62cc4ae5ed2b6af51aea92cac07455

TBR=egdaniel@google.com,brianosman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:5031

Review-Url: https://codereview.chromium.org/2358123004

7 years agoG instead of R, thanks Gold
msarett [Thu, 22 Sep 2016 20:23:56 +0000 (13:23 -0700)]
G instead of R, thanks Gold

NOTRY=true
TBR=mtklein@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2362863002

Review-Url: https://codereview.chromium.org/2362863002