platform/upstream/libSkiaSharp.git
7 years agoSkFontData to use smart pointers.
bungeman [Fri, 16 Sep 2016 13:24:20 +0000 (06:24 -0700)]
SkFontData to use smart pointers.

The SkFontData type is not exposed externally, so any method which uses
it can be updated to use smart pointers without affecting external
users. Updating this first will make updating the public API much
easier.

This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to
std::unique_ptr<SkStreamAsset> SkStream::MakeFromFile(const char*). It
appears that no one outside Skia is currently using SkStream::NewfromFile
so this is a good time to update it as well.

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

Committed: https://skia.googlesource.com/skia/+/d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c
Review-Url: https://codereview.chromium.org/2339273002

7 years agoAdd staging for removal of SkRRectsGaussianEdgeShader::Make (for Android)
robertphillips [Fri, 16 Sep 2016 13:17:45 +0000 (06:17 -0700)]
Add staging for removal of SkRRectsGaussianEdgeShader::Make (for Android)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2347853002
TBR=bsalomon@google.com

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

7 years agoTweak valgrind suppressions for intentional leaks.
mtklein [Fri, 16 Sep 2016 12:47:06 +0000 (05:47 -0700)]
Tweak valgrind suppressions for intentional leaks.

This is a follow up to building the Valgrind bots with GN.

It's not clear why these need to leak, but we might as well
update the suppressions.  The stacks now look like this:

    Memcheck:Leak
    match-leak-kinds: possible
    fun:calloc
    fun:_dl_allocate_tls
    fun:pthread_create@@GLIBC_2.2.5
    fun:_ZN8SkThreadC1EPFvPvES0_
    fun:_Z14nanobench_mainv
    fun:(below main)

We suppress fun:main in that last slot, so just make it ...

TBR=

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

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

7 years agotest/fix/tweak writePicture/readPicture
reed [Thu, 15 Sep 2016 21:24:53 +0000 (14:24 -0700)]
test/fix/tweak writePicture/readPicture

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

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

7 years agoFix key computation for GrPaths
bsalomon [Thu, 15 Sep 2016 20:55:33 +0000 (13:55 -0700)]
Fix key computation for GrPaths

Improve tests to ensure paths are receiving valid keys
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2342873002

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

7 years agoGN: port Valgrind bots.
mtklein [Thu, 15 Sep 2016 20:50:43 +0000 (13:50 -0700)]
GN: port Valgrind bots.

This was suspiciously easy...

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

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

7 years agoAdd GrContextOptions flag to disable distance field path renderer.
bsalomon [Thu, 15 Sep 2016 20:50:26 +0000 (13:50 -0700)]
Add GrContextOptions flag to disable distance field path renderer.

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

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

7 years agoFix color bug in SkRRectsGaussianEdgeShader
robertphillips [Thu, 15 Sep 2016 20:18:15 +0000 (13:18 -0700)]
Fix color bug in SkRRectsGaussianEdgeShader

Due to the code at the end of emitCode this shader was darker than the SkGaussianEdgeShader on Android.

This CL also removes the unused "pad" parameter.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2344963002
NOTREECHECKS=true
TBR=bsalomon@google.com

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

7 years agoRevert of Update version of SVG asset (patchset #1 id:1 of https://codereview.chromiu...
djsollen [Thu, 15 Sep 2016 20:04:41 +0000 (13:04 -0700)]
Revert of Update version of SVG asset (patchset #1 id:1 of https://codereview.chromium.org/2341043003/ )

Reason for revert:
breaking the build

Original issue's description:
> Update version of SVG asset
>
> BUG=skia:5757
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2341043003
>
> Committed: https://skia.googlesource.com/skia/+/ab00f4222c9fff8c08873e1218e79f49845f95a1

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

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

7 years agoGN: support 32-bit x86 builds
mtklein [Thu, 15 Sep 2016 19:07:48 +0000 (12:07 -0700)]
GN: support 32-bit x86 builds

Take over Ubuntu -x86- bots.

Note the change to Build-Win-MSVC-x86-Release-GN.json, which is not incidental.
We'll want target_cpu="x86" there too.

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

Committed: https://skia.googlesource.com/skia/+/1949386ae00485ae92dd5608a2614b9dee417542

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

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

7 years agoUpdate version of SVG asset
rmistry [Thu, 15 Sep 2016 18:31:25 +0000 (11:31 -0700)]
Update version of SVG asset

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

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

7 years agoRevert of GN: support 32-bit x86 builds (patchset #6 id:100001 of https://codereview...
mtklein [Thu, 15 Sep 2016 18:18:55 +0000 (11:18 -0700)]
Revert of GN: support 32-bit x86 builds (patchset #6 id:100001 of https://codereview.chromium.org/2340463008/ )

Reason for revert:
https://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu-Clang-x86-Debug-GN_Android/builds/304

Original issue's description:
> GN: support 32-bit x86 builds
>
> Take over Ubuntu -x86- bots.
>
> Note the change to Build-Win-MSVC-x86-Release-GN.json, which is not incidental.
> We'll want target_cpu="x86" there too.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2340463008
>
> Committed: https://skia.googlesource.com/skia/+/1949386ae00485ae92dd5608a2614b9dee417542

TBR=jcgregorio@google.com,borenet@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/2338173004

7 years agoAdd storage and computation of SkColor4f version of gradient stops.
brianosman [Thu, 15 Sep 2016 18:09:45 +0000 (11:09 -0700)]
Add storage and computation of SkColor4f version of gradient stops.

For now, we still only have the SkColor factory, but the Descriptor can
now carry either an SkColor or SkColor4f specified gradient. Base class
constructor automatically populates both forms of color, so that legacy
raster backend will continue to work, and new backend work can operate
directly from the float4 version.

On the GPU side, we have similar logic, but GrGradientEffect only
keeps one version of colors around: SkColor if the destination is
legacy, and SkColor4f (with an optional gamut xform) if the destination
is gamma correct. The 4f colors are already linear, and we gamut xform
them in setData, so gradients are now fully color-correct in sRGB and
F16 modes...

... unless there are more than three stops. Then we use a texture, and
that code path isn't handled yet. We have a few choices here (do we
use an 8-bit sRGB atlas, or just always use F16 linear atlas so we can
share it among both sRGB and wide-gamut rendering). In any case, I'd
like to defer that to a second CL.

This change does fix the non-texture gradients in the gamut GM.

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

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

7 years agoGN: support 32-bit x86 builds
mtklein [Thu, 15 Sep 2016 18:06:25 +0000 (11:06 -0700)]
GN: support 32-bit x86 builds

Take over Ubuntu -x86- bots.

Note the change to Build-Win-MSVC-x86-Release-GN.json, which is not incidental.
We'll want target_cpu="x86" there too.

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

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

7 years agoBlacklist slsrgb + image decoding.
mtklein [Thu, 15 Sep 2016 18:02:05 +0000 (11:02 -0700)]
Blacklist slsrgb + image decoding.

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

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

7 years agoRevert of SkFontData to use smart pointers. (patchset #3 id:40001 of https://coderevi...
bungeman [Thu, 15 Sep 2016 17:57:38 +0000 (10:57 -0700)]
Revert of SkFontData to use smart pointers. (patchset #3 id:40001 of https://codereview.chromium.org/2339273002/ )

Reason for revert:
Killing Mac

Original issue's description:
> SkFontData to use smart pointers.
>
> The SkFontData type is not exposed externally, so any method which uses
> it can be updated to use smart pointers without affecting external
> users. Updating this first will make updating the public API much
> easier.
>
> This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to
> std::unique_ptr<SkStreamAsset> SkStream::MakeFromFile(const char*). It
> appears that no one outside Skia is currently using SkStream::NewfromFile
> so this is a good time to update it as well.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339273002
>
> Committed: https://skia.googlesource.com/skia/+/d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c

TBR=mtklein@chromium.org,halcanary@google.com,mtklein@google.com,reed@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/2343933002

7 years agoGN: link executables with -rdynamic on Linux.
mtklein [Thu, 15 Sep 2016 17:44:15 +0000 (10:44 -0700)]
GN: link executables with -rdynamic on Linux.

-rdynamic makes sure the executable exposes all its symbols, which allows things like DM's built-in stack trace dumper to show symbols instead of just addresses.  We do this in GYP too.

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

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

7 years agoSkFontData to use smart pointers.
bungeman [Thu, 15 Sep 2016 17:03:27 +0000 (10:03 -0700)]
SkFontData to use smart pointers.

The SkFontData type is not exposed externally, so any method which uses
it can be updated to use smart pointers without affecting external
users. Updating this first will make updating the public API much
easier.

This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to
std::unique_ptr<SkStreamAsset> SkStream::MakeFromFile(const char*). It
appears that no one outside Skia is currently using SkStream::NewfromFile
so this is a good time to update it as well.

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

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

7 years agosimple fix?
mtklein [Thu, 15 Sep 2016 16:56:28 +0000 (09:56 -0700)]
simple fix?

Scope cmdInfo more tightly to where it's not a null reference.

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

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

7 years agoAdd ability to create and upload SVGs from a local dir
rmistry [Thu, 15 Sep 2016 16:33:08 +0000 (09:33 -0700)]
Add ability to create and upload SVGs from a local dir

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

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

7 years agoFix NoGPU bot, which is compiling in GPU support
borenet [Thu, 15 Sep 2016 16:08:48 +0000 (09:08 -0700)]
Fix NoGPU bot, which is compiling in GPU support

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

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

7 years agoRemove the unused 16-bit gradient cache
brianosman [Thu, 15 Sep 2016 15:40:21 +0000 (08:40 -0700)]
Remove the unused 16-bit gradient cache

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

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

7 years agoMore NoGPU compile fixes
brianosman [Thu, 15 Sep 2016 15:33:02 +0000 (08:33 -0700)]
More NoGPU compile fixes

I can now build 'most' with skia_gpu=0 on my machine.

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

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

7 years agoPass rietveld as the default patch_storage.
mtklein [Thu, 15 Sep 2016 15:27:33 +0000 (08:27 -0700)]
Pass rietveld as the default patch_storage.

Passing around empty strings as command line arguments requires
us to be really careful about command line quoting, parsing, etc.

It seems easy enough here to just supply the implied value.

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

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

7 years agoquad and conic do not intersect
caryclark [Thu, 15 Sep 2016 14:48:18 +0000 (07:48 -0700)]
quad and conic do not intersect

If a quad a conic intersect only where the end of one
is contained by the convex hull of the other, and the
curve contained by the hull is nearly a straight line,
treating it as a line may move the end point to the
other side of the curve.

Detect this by checking to see if the end point is in
the hull, and if so, continue to subdivide the curve
rather than treating it as a line.

This fixes several existing tests that were disabled
earlier this year.

A typo in SkDCurve::nearPoint() prevented detecting when
the end of a line was nearly touching a curve.

Also fixed concidence a bit to get the second half of
tiger further along.

All existing tests, including extended testing in
Release and the first half of tiger, work.

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

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

7 years agoRemove "f" suffix from literal in LCD DF text shader.
bsalomon [Thu, 15 Sep 2016 14:29:52 +0000 (07:29 -0700)]
Remove "f" suffix from literal in LCD DF text shader.

Also improve DF GP names
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2340603003

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

7 years agoFix SampleApp compilation with skia_gpu=0
brianosman [Thu, 15 Sep 2016 14:19:53 +0000 (07:19 -0700)]
Fix SampleApp compilation with skia_gpu=0

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

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

7 years agoadd helpers for using SkData with picture serialization
reed [Thu, 15 Sep 2016 14:19:35 +0000 (07:19 -0700)]
add helpers for using SkData with picture serialization

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

TBR=

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

7 years agoBundle common arguments to GrGradientEffect creation
brianosman [Thu, 15 Sep 2016 13:59:15 +0000 (06:59 -0700)]
Bundle common arguments to GrGradientEffect creation

I'm going to be adding more (to deal with color spaces), so trying to fix
this before it gets out of control.

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

Committed: https://skia.googlesource.com/skia/+/f605c16a030d791a37f589e6bddd7158ba5d62cd
Review-Url: https://codereview.chromium.org/2332213007

7 years agoTidy up DM blacklists.
mtklein [Thu, 15 Sep 2016 13:24:03 +0000 (06:24 -0700)]
Tidy up DM blacklists.

No need to blacklist specific instances of configs that won't be run.
There's no bug or anything here... this is entirely about keeping the
command lines as noise-free as possible.

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

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

7 years agoRoll recipe DEPS
rmistry [Thu, 15 Sep 2016 11:52:20 +0000 (04:52 -0700)]
Roll recipe DEPS

BUG=skia:5749
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339443003
NOTREECHECKS=true

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

7 years agoClean up unused SkPictureRecorder::optimizeFor()
mtklein [Thu, 15 Sep 2016 11:43:03 +0000 (04:43 -0700)]
Clean up unused SkPictureRecorder::optimizeFor()

Don't worry about the failing Shield bot... unrelated experiment.  It's failing at head.

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

NOTREECHECKS=true

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

7 years agoRevert of Bundle common arguments to GrGradientEffect creation (patchset #2 id:20001...
djsollen [Thu, 15 Sep 2016 02:57:59 +0000 (19:57 -0700)]
Revert of Bundle common arguments to GrGradientEffect creation (patchset #2 id:20001 of https://codereview.chromium.org/2332213007/ )

Reason for revert:
This seems to be causing the autoroll into Chromium to fail.

https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/builds/69618/steps/compile/logs/stdio

Original issue's description:
> Bundle common arguments to GrGradientEffect creation
>
> I'm going to be adding more (to deal with color spaces), so trying to fix
> this before it gets out of control.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2332213007
>
> Committed: https://skia.googlesource.com/skia/+/f605c16a030d791a37f589e6bddd7158ba5d62cd

TBR=bsalomon@google.com,robertphillips@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:

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

7 years agoFix SkDrawTextBlobCommand null blob crash
fmalita [Wed, 14 Sep 2016 21:55:59 +0000 (14:55 -0700)]
Fix SkDrawTextBlobCommand null blob crash

After https://codereview.chromium.org/2335493005, we're moving the param
into a local field -> we should no longer access it.

TBR=robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2344523003

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

7 years agoUpdate GN droid script
egdaniel [Wed, 14 Sep 2016 21:42:02 +0000 (14:42 -0700)]
Update GN droid script

Splits the pushes into different lines since old adbs cannot handle the one
line command

TBR=mtklein@google.com

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

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

7 years ago[SVGDom] Expose intrinsic size info
fmalita [Wed, 14 Sep 2016 19:04:30 +0000 (12:04 -0700)]
[SVGDom] Expose intrinsic size info

  * expose intrinsic size info on <svg> nodes.

  * tweak the SkSVGDOM constructor to no longer take an container size
    param, but instead default to intrinsic size
  * update clients to call SkSVGDOM::setContainerSize() explicitly, when
    needed

R=robertphillips@google.com,stephana@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2345533002

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

7 years agoDon't let the compiler complain that |a| is uninit
msarett [Wed, 14 Sep 2016 18:53:49 +0000 (11:53 -0700)]
Don't let the compiler complain that |a| is uninit

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

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

7 years agoDisable ignore discard optimization in Vulkan
egdaniel [Wed, 14 Sep 2016 18:26:11 +0000 (11:26 -0700)]
Disable ignore discard optimization in Vulkan

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

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

7 years agoCQ update
mtklein [Wed, 14 Sep 2016 18:20:59 +0000 (11:20 -0700)]
CQ update

  - swap the N5 experiment over to the new GN N5 bot

  - cut down on the Windows build duplication: the other two bots
    cover x86, x86-64, Release, Debug, _and_ Vulkan already.

  - remove the Release-Shared tester: I added this bot to act as a proxy
    for the also Shared-build Android bots, but 1) they're fast enough
    to no longer need a proxy (see N5 above) and 2) they're no longer
    Shared builds.  I intend to completely drop support for dm and
    nanobench in Shared builds, so this bot will not just drop from the
    CQ but completely disappear.

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

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

7 years agoGN: add is_official_build
mtklein [Wed, 14 Sep 2016 18:16:49 +0000 (11:16 -0700)]
GN: add is_official_build

... and use it to control debug symbols and SK_ALLOW_STATIC_GLOBAL_INITIALIZERS.

This will most directly have the effect of disabling GLProgramsTest and a bunch
of similar failing Vk tests on Android.

Hopefully this makes the N7 trybot go green, keeping the N5 trybot green.  Just running the N10 for fun.

(is_official_build is how Chrome terms this sort of ReleaseForReal build.)

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

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

7 years agomerge run and check-rc steps
mtklein [Wed, 14 Sep 2016 18:15:54 +0000 (11:15 -0700)]
merge run and check-rc steps

This'll make the 'dm' or 'nanobench' step go red like you'd hope.

The N5 should pass and the N10 and N7 should fail, showing us both sides.

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

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

7 years agoStore SkColorSpaceXform gamma LUTs in a malloced field
msarett [Wed, 14 Sep 2016 18:02:04 +0000 (11:02 -0700)]
Store SkColorSpaceXform gamma LUTs in a malloced field

In order of likelihood:
(1) Tables are never used, since gamma is recognized and named.
(2) Only use one table, since all three gammas are the same.
(3) Actually need three tables.

No reason to waste a bunch of space for these tables on
SkColorSpaceXform, when it will likely be unused.

This will be more efficient in lots of cases, but is particularly
useful when the client really only wants a gamut xform.

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

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

8 years ago565 is not this important.
mtklein [Wed, 14 Sep 2016 17:33:12 +0000 (10:33 -0700)]
565 is not this important.

Reduce its testing and perfing to just the fast Linux bots,
and remove it from the default set of dm/nanobench configs.

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

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

8 years agoConvert back to 0-255 scale before storing linear bytes
msarett [Wed, 14 Sep 2016 17:23:03 +0000 (10:23 -0700)]
Convert back to 0-255 scale before storing linear bytes

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

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

8 years agoImproved optional command handling in SkParsePath::FromSVGString()
fmalita [Wed, 14 Sep 2016 17:14:08 +0000 (10:14 -0700)]
Improved optional command handling in SkParsePath::FromSVGString()

Repeating command letters are optional in SVG path data strings:
https://www.w3.org/TR/SVG/paths.html#PathData

FromSVGString() already supports this feature, but only checks for
scalars prefixes == (digit | '-' | '+').

A decimal point is also a valid scalar prefix though, so it should be
included in the test.

R=caryclark@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339813003

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

8 years agoBundle common arguments to GrGradientEffect creation
brianosman [Wed, 14 Sep 2016 17:03:46 +0000 (10:03 -0700)]
Bundle common arguments to GrGradientEffect creation

I'm going to be adding more (to deal with color spaces), so trying to fix
this before it gets out of control.

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

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

8 years agoFix SVG flag iOS linking
fmalita [Wed, 14 Sep 2016 16:05:43 +0000 (09:05 -0700)]
Fix SVG flag iOS linking

TBR=mtklein@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2344533002

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

8 years agoNanobench SVG support
fmalita [Wed, 14 Sep 2016 15:05:17 +0000 (08:05 -0700)]
Nanobench SVG support

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

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

8 years agoRewriting path writer
caryclark [Wed, 14 Sep 2016 14:18:20 +0000 (07:18 -0700)]
Rewriting path writer

The path writer takes constructs the output path out of
curves that satisfy the pathop operation.

Curves contain lists of t/point pairs that may not be
comparable to each other. To match up curve ends in the
output path, look for adjacent curves to have a shared
membership rather than comparing point values.

Use path utilities to connect partial curve lists into
closed contours.

Share the angle code that determines if a curve has become
a degenerate line with the path writer.

Clean up some code on the way, and delete some unused
functions.

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

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

8 years agoReduce overhead for linear color xforms
msarett [Wed, 14 Sep 2016 14:06:08 +0000 (07:06 -0700)]
Reduce overhead for linear color xforms

We used to build src and dst transfer fn tables
every time a new xform was created with linear
src and dst.  Now we don't compute them because
we don't need them.

This will make SkColorSpaceXform a far better
option for any xforms with float or half-float
inputs or outputs, particularly on a small number
of pixels.

This CL also moves SkColorSpaceXform closer to
what I anticipate will be the eventual 'API design'.
I think apply() will want to take a SrcColorType enum
(not created yet because it's not necessary yet) and
a DstColorType enum (still using SkColorType because
there's not yet a reason not to).

Performance changes:
toSRGB  341us -> 366us
to2Dot2 404us -> 403us
toF16   318us -> 304us

There's no reason for toSRGB or to2Dot2 to change.
The refactor seems to have caused the compiler to
order the instructions a little differently...
This is something to come back to if we need to
squeeze more performance out of sRGB.  For now,
let's not be held up by something we don't control.

F16 likely improves because we are no longer
(unnecessarily) building the linear tables.

Code size gets a little bigger.  Measuring
SkColorSpaceXform size as a percentage of src/ size,
we go from 0.8% to 1.4%.

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

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

8 years agoSwitch default for SkGaussianBlurShader radius size.
jvanverth [Wed, 14 Sep 2016 14:04:49 +0000 (07:04 -0700)]
Switch default for SkGaussianBlurShader radius size.

One step towards removing the 6.2 radius entirely.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2333403002
TBR=bsalomon@google.com

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

8 years agoGN: Android Vulkan support
mtklein [Wed, 14 Sep 2016 13:12:09 +0000 (06:12 -0700)]
GN: Android Vulkan support

Android's the easiest place to start supporting Vulkan, so it's up first.

ndk_api becomes user-specifiable so that the Vulkan bots can kick it up
to 24, the first release supporting Vulkan.  The defaults remain the same:
18 for 32-bit and 21 for 64-bit, the first release supporting 64-bit.

To test this, I set ndk_api=24 and skia_use_vulkan=true in GN, then
   $ ninja -C out dm; and droid out/dm --config vk --src gm

Seems to work!  Bot scripts to follow.

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

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

8 years agoupdate derive_compile_bot_name() for GN_Android_Vulkan
mtklein [Wed, 14 Sep 2016 12:44:31 +0000 (05:44 -0700)]
update derive_compile_bot_name() for GN_Android_Vulkan

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

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

8 years agoAndroid GN scripts: distingush directories for data and binaries.
mtklein [Wed, 14 Sep 2016 12:33:11 +0000 (05:33 -0700)]
Android GN scripts: distingush directories for data and binaries.

This enables data reuse, e.g. https://luci-milo.appspot.com/swarming/task/313eff129c753d10 or https://luci-milo.appspot.com/swarming/task/313f17a174c6c710

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

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

8 years agochange write-image to use pipeverbs like everyone else, and add test
reed [Wed, 14 Sep 2016 00:25:19 +0000 (17:25 -0700)]
change write-image to use pipeverbs like everyone else, and add test

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

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

8 years agore-add SkDebug_stdio for Fuchsia builds
mikejurka [Tue, 13 Sep 2016 23:15:03 +0000 (16:15 -0700)]
re-add SkDebug_stdio for Fuchsia builds

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

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

8 years agoSimulated fonts aren't TrueType fonts.
bungeman [Tue, 13 Sep 2016 21:03:54 +0000 (14:03 -0700)]
Simulated fonts aren't TrueType fonts.

Some font back-ends provide simulated fonts such as fake bold or fake
oblique. These fonts should not be reported as TrueType, since the font
data isn't what is actually used to draw the glyphs.

BUG=chromium:639198
BUG=chromium:614612
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2333423002

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

8 years ago[SVGDom] Linear gradient 'gradientTransform' support
fmalita [Tue, 13 Sep 2016 20:59:05 +0000 (13:59 -0700)]
[SVGDom] Linear gradient 'gradientTransform' support

R=stephana@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339533002

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

8 years agoUpdate gn_android_flavor for Vulkan.
mtklein [Tue, 13 Sep 2016 20:50:09 +0000 (13:50 -0700)]
Update gn_android_flavor for Vulkan.

C.f. https://codereview.chromium.org/2336343002 for basic GN support.

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

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

8 years agoNo \n in bench names.
jcgregorio [Tue, 13 Sep 2016 20:27:13 +0000 (13:27 -0700)]
No \n in bench names.

BUG=skia:
R=mtklein
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2332153003

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

8 years agoAndroid GN: don't reboot before running
mtklein [Tue, 13 Sep 2016 20:13:54 +0000 (13:13 -0700)]
Android GN: don't reboot before running

We're already rebooting after running, so we should already be ready to go when the task starts.

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

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

8 years ago[SVGDom] Linear gradient 'spreadMethod' support
fmalita [Tue, 13 Sep 2016 19:56:11 +0000 (12:56 -0700)]
[SVGDom] Linear gradient 'spreadMethod' support

R=stephana@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2337203002

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

8 years agoRemove clear /data/local/tmp steps.
mtklein [Tue, 13 Sep 2016 18:17:58 +0000 (11:17 -0700)]
Remove clear /data/local/tmp steps.

These were intended to prevent GN and GYP Android bots from stomping on
each other.  Turns out, they don't, even without this... they're writing
most files to completely separate paths:
  - GYP puts most data under $EXTERNAL_STORAGE, generally /sdcard
    and its binaries (libdm.so, libnanobench.so, libskia.so, skia_launcher)
    in /data/local/tmp;
  - GN puts everything under /data/local/tmp, and its binaries (dm, nanobench)
    don't overlap GYP's.

So clearing /data/local/tmp was essentially just removing GN's data; GYP's
data file caching was never affected and can't conflict with GN's.

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

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

8 years agoAdd ContextOptions field to SkCommandLineConfigGpu
csmartdalton [Tue, 13 Sep 2016 17:41:49 +0000 (10:41 -0700)]
Add ContextOptions field to SkCommandLineConfigGpu

Reduces duplicate code by computing the ContextOptions in one spot.

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

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

8 years agoUse sk_sp text blob APIs
fmalita [Tue, 13 Sep 2016 17:00:23 +0000 (10:00 -0700)]
Use sk_sp text blob APIs

SkTextBlobBuilder::build()      -> make()
SkAutoTUnref<const SkTextBlob>  -> sk_sp<SkTextBlob>
drawTextBlob(const SkTextBlob*) -> drawTextBlob(const sk_sp<SkTextBlob>&)

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

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

8 years agoLots of little cleanup improvements to Vulkan
egdaniel [Tue, 13 Sep 2016 16:54:11 +0000 (09:54 -0700)]
Lots of little cleanup improvements to Vulkan

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

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

8 years agoImplement Fill() for incomplete decodes to RGBA_F16
msarett [Tue, 13 Sep 2016 16:04:11 +0000 (09:04 -0700)]
Implement Fill() for incomplete decodes to RGBA_F16

Before this patch, we would hit an SkASSERT(false).

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

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

8 years agoAdd Nexus5 to CQ as an experiment
kjlubick [Tue, 13 Sep 2016 15:48:27 +0000 (08:48 -0700)]
Add Nexus5 to CQ as an experiment

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

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

8 years agoAdd tests for gamma correction of gradient stops to gamma GM
brianosman [Tue, 13 Sep 2016 15:24:56 +0000 (08:24 -0700)]
Add tests for gamma correction of gradient stops to gamma GM

Includes three different cases to exercise different cases in Ganesh.

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

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

8 years agoadd pipecanvas
reed [Tue, 13 Sep 2016 15:09:45 +0000 (08:09 -0700)]
add pipecanvas

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

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

8 years agoSkPDF: SkTypeface_FreeType ToUnicode table improvement.
halcanary [Tue, 13 Sep 2016 15:08:38 +0000 (08:08 -0700)]
SkPDF: SkTypeface_FreeType ToUnicode table improvement.

Currently the SkTypeface_FreeType::onGetAdvancedTypefaceMetrics
synthesized glyph to Unicode mapping returns the Unicode point
of the last character to map to the glyph. In practice it is
better to guess the first character to map to the glyph instead.

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

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

8 years agoI missed an infra_step, pushing directories.
mtklein [Tue, 13 Sep 2016 14:20:47 +0000 (07:20 -0700)]
I missed an infra_step, pushing directories.

NOTREECHECKS=true

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

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

8 years agoEncode kIndex8 to PNG more efficiently
msarett [Tue, 13 Sep 2016 14:08:15 +0000 (07:08 -0700)]
Encode kIndex8 to PNG more efficiently

Only write non-opaque alpha values to the tRNS chunk.

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

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

8 years agoMark infra steps as infra_step in GN recipe flavors.
mtklein [Tue, 13 Sep 2016 12:49:16 +0000 (05:49 -0700)]
Mark infra steps as infra_step in GN recipe flavors.

NOTREECHECKS=true

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

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

8 years agoFixup SkRRectsGaussianEdgeShader's shaders
robertphillips [Tue, 13 Sep 2016 00:25:50 +0000 (17:25 -0700)]
Fixup SkRRectsGaussianEdgeShader's shaders

This fixes some visual artifacts in the original CL.

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

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

8 years ago[SVGDom] Initial linear gradient support
fmalita [Tue, 13 Sep 2016 00:06:47 +0000 (17:06 -0700)]
[SVGDom] Initial linear gradient support

Kind of a big change, to connect several new bits into something useful:

  * ID tracking & lookup
  * new asPaint() node virtual to support shader (and in the future filter) based paint servers
  * <defs>, <linearGradient> and <stop> element support
  * 'href', 'offset', 'stop-color', 'stop-opacity' attribute support
  * IRI/FuncIRI and rgb(...) parsing

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

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

8 years agoChange shared_sources.gni to use relative path
mikejurka [Mon, 12 Sep 2016 23:51:58 +0000 (16:51 -0700)]
Change shared_sources.gni to use relative path

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

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

8 years agoDisable png encodes from Alpha8, Float16
msarett [Mon, 12 Sep 2016 22:49:37 +0000 (15:49 -0700)]
Disable png encodes from Alpha8, Float16

These don't behave as we would want anyway.  They just copy
to N32, and then encode.

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

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

8 years agoAlternate approach to turn on freetype in Fuchsia.
mtklein [Mon, 12 Sep 2016 22:15:44 +0000 (15:15 -0700)]
Alternate approach to turn on freetype in Fuchsia.

What do you think of this?  It's basically what you wrote, factored differently.

Flipping on skia_use_freetype will enable the SkFontHost_Freetype*.cpp files
via the :typeface_freetype target.

Then we just pull out the SkFontMgr Fuchsia wants to use into its own little
:fontmgr_fuchsia target.  No major difference here, except the availability
of freetype headers, etc, is a bit more tightly scoped to just those that
need them.

We (obviously?) don't have Fuchsia builders, so I've got to rely on you for sanity testing this.

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

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

8 years agoSupport RGBA/BGRA Premul/Unpremul from SkPNGImageEncoder
msarett [Mon, 12 Sep 2016 21:30:03 +0000 (14:30 -0700)]
Support RGBA/BGRA Premul/Unpremul from SkPNGImageEncoder

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

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

8 years agoAdd back the GalaxyS3 and GalaxyS4 entries in recipes
borenet [Mon, 12 Sep 2016 21:02:13 +0000 (14:02 -0700)]
Add back the GalaxyS3 and GalaxyS4 entries in recipes

S3 is needed for some recipe simulation stuff and in general having
these present does not hurt us.

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

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

8 years agoRemove unused GrGLSLGeometryProcessor::emitTransform variation
bsalomon [Mon, 12 Sep 2016 20:42:18 +0000 (13:42 -0700)]
Remove unused GrGLSLGeometryProcessor::emitTransform variation
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2338453002

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

8 years agoRevert of SkLiteRecorder: don't tell SkCanvas about clips (patchset #1 id:1 of https...
liyuqian [Mon, 12 Sep 2016 20:00:50 +0000 (13:00 -0700)]
Revert of SkLiteRecorder: don't tell SkCanvas about clips (patchset #1 id:1 of https://codereview.chromium.org/2227833004/ )

Reason for revert:
This CL breaks Android CTS tests CanvasStateTests#testClipPathReturnValues, CanvasStateTests#testClipRectReturnValues, and CanvasStateTests#testQuickReject.

Reverting it won't significantly affect Android's performance. See the following test result of testInvalidateTree Jank test. (Derek said that this is the only test closely related to this CL.)

**After reverting**
INSTRUMENTATION_STATUS: gfx-max-slow-draw=0.0
INSTRUMENTATION_STATUS: gfx-max-high-input-latency=0.0
INSTRUMENTATION_STATUS: gfx-max-slow-ui-thread=100.0
INSTRUMENTATION_STATUS: gfx-avg-slow-bitmap-uploads=100.0
INSTRUMENTATION_STATUS: gfx-avg-missed-vsync=72.96467105972435
INSTRUMENTATION_STATUS: gfx-avg-high-input-latency=0.0
INSTRUMENTATION_STATUS: gfx-max-slow-bitmap-uploads=100.0
INSTRUMENTATION_STATUS: gfx-max-missed-vsync=73.56181150550796
INSTRUMENTATION_STATUS: gfx-avg-frame-time-90=69.0
INSTRUMENTATION_STATUS: gfx-avg-frame-time-95=69.0
INSTRUMENTATION_STATUS: gfx-avg-frame-time-99=69.0
INSTRUMENTATION_STATUS: gfx-max-jank=100.0
INSTRUMENTATION_STATUS: gfx-avg-slow-draw=0.0
INSTRUMENTATION_STATUS: gfx-avg-slow-ui-thread=100.0
INSTRUMENTATION_STATUS: gfx-max-frame-time-90=69
INSTRUMENTATION_STATUS: gfx-max-frame-time-95=69
INSTRUMENTATION_STATUS: gfx-max-frame-time-99=69
INSTRUMENTATION_STATUS: gfx-avg-jank=100.0
INSTRUMENTATION_STATUS_CODE: -1
.
Test results for InstrumentationTestRunner=.
Time: 77.404

**Before Reverting**
gfx-max-slow-draw=1.1135857461024499
INSTRUMENTATION_STATUS: gfx-max-high-input-latency=0.0
INSTRUMENTATION_STATUS: gfx-max-slow-ui-thread=100.0
INSTRUMENTATION_STATUS: gfx-avg-slow-bitmap-uploads=100.0
INSTRUMENTATION_STATUS: gfx-avg-missed-vsync=70.79687591131983
INSTRUMENTATION_STATUS: gfx-avg-high-input-latency=0.0
INSTRUMENTATION_STATUS: gfx-max-slow-bitmap-uploads=100.0
INSTRUMENTATION_STATUS: gfx-max-missed-vsync=76.94174757281553
INSTRUMENTATION_STATUS: gfx-avg-frame-time-90=67.66666666666667
INSTRUMENTATION_STATUS: gfx-avg-frame-time-95=67.66666666666667
INSTRUMENTATION_STATUS: gfx-avg-frame-time-99=69.0
INSTRUMENTATION_STATUS: gfx-max-jank=100.0
INSTRUMENTATION_STATUS: gfx-avg-slow-draw=0.5317509395832639
INSTRUMENTATION_STATUS: gfx-avg-slow-ui-thread=100.0
INSTRUMENTATION_STATUS: gfx-max-frame-time-90=69
INSTRUMENTATION_STATUS: gfx-max-frame-time-95=69
INSTRUMENTATION_STATUS: gfx-max-frame-time-99=69
INSTRUMENTATION_STATUS: gfx-avg-jank=100.0
INSTRUMENTATION_STATUS_CODE: -1
.
Test results for InstrumentationTestRunner=.
Time: 77.411

OK (1 test)

Original issue's description:
> SkLiteRecorder: don't tell SkCanvas about clips
>
> If no one reads our clip, and we don't expect quickReject() to help,
> we can probably get away without maintaining a proper clip stack.
>
> This puts us at about 0.6-0.7x of previous record cost.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2227833004
>
> Committed: https://skia.googlesource.com/skia/+/8369e32a05543c2619b1d7e740fe6ff6d2f03af3

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

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

8 years agoRemove base class for installed transforms in GrPrimitiveProcessor
bsalomon [Mon, 12 Sep 2016 19:56:58 +0000 (12:56 -0700)]
Remove base class for installed transforms in GrPrimitiveProcessor
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2336723002

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

8 years agoGN: Android perf/tests
mtklein [Mon, 12 Sep 2016 19:24:38 +0000 (12:24 -0700)]
GN: Android perf/tests

Just to take inventory of which old problems still linger and which are now moot, I've gone out of my way to have this stand alone.  All of gn_android_flavor's logic is self contained, without any dependency on the platform_tools scripts.

The tricky bits turn out to be, copying directories containing symlinks---or really any copying involving more than one file---and getting the exit code back from adb shell.  Luckily the ADB I've got on my desktop and my Nexus 5x seems to handle this all without the awkward workarounds you see here, so there's hope that One Day Soon the weird parts (basically, anything with inline python) can go away.  Once we've got these bots landed green, I'll go see whether the fixes are due to ADB updates, Android updates, or perhaps something else like hardware.

The parts marked TEMPORARY are a nod to the fact that the devices are used by gn_android_flavor and android_flavor both today.  It's mostly about not stepping on each other's toes or leaving anything laying around that might confuse each other.  The marked parts can go away when bots are either gn_ or non-gn_ but not both.

I have omitted a few steps that may be important, but which are easy independent follow-ups:
  - running as root
  - locking clocks
  - waiting on battery levels
  - fancier wait-for-ready than adb wait-for-usb-device
It'd be nice to, e.g., reaffirm that locking clocks helps perf stability, and that we're locking to the best policy.  I've tried to keep this CL as trim as possible, leaving any of these vaguely optional steps for later.

As of PS 41 or so, it looks like the trybots are all behaving as expected.
We should expect no new images in Gold.  Can we see trybots in Perf yet?

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

CQ_INCLUDE_TRYBOTS=master.client.skia.android:Perf-Android-Clang-AndroidOne-CPU-MT6582-arm-Debug-GN_Android-Trybot,Perf-Android-Clang-AndroidOne-CPU-MT6582-arm-Release-GN_Android-Trybot,Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Debug-GN_Android-Trybot,Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-GN_Android-Trybot,Test-Android-Clang-AndroidOne-CPU-MT6582-arm-Debug-GN_Android-Trybot,Test-Android-Clang-AndroidOne-CPU-MT6582-arm-Release-GN_Android-Trybot,Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Debug-GN_Android-Trybot,Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-GN_Android-Trybot

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

8 years agoGamut transformation of the paint color in Ganesh
brianosman [Mon, 12 Sep 2016 19:07:25 +0000 (12:07 -0700)]
Gamut transformation of the paint color in Ganesh

Conversion from sRGB to destination gamut is going to be very common,
so I'm caching that xform (if there is one) on the draw context.

Results verified in the gamut GM (two more boxes correct).

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

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

8 years agoMatch Android framework's non-AA point and line offset
bsalomon [Mon, 12 Sep 2016 19:07:17 +0000 (12:07 -0700)]
Match Android framework's non-AA point and line offset

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

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

8 years agoAdd shader-based GaussianEdgeShader for reveal case
robertphillips [Mon, 12 Sep 2016 19:02:16 +0000 (12:02 -0700)]
Add shader-based GaussianEdgeShader for reveal case

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

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

8 years agoRemove GrPrimitiveProcessor::hasTransformedLocalCoords
bsalomon [Mon, 12 Sep 2016 19:02:11 +0000 (12:02 -0700)]
Remove GrPrimitiveProcessor::hasTransformedLocalCoords
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2327613002

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

8 years agochange SkStreams to work with sk_sp<SkData> instead of SkData*
reed [Mon, 12 Sep 2016 19:01:44 +0000 (12:01 -0700)]
change SkStreams to work with sk_sp<SkData> instead of SkData*

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

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

8 years agoFix device cfg for GalaxyS7
borenet [Mon, 12 Sep 2016 18:56:37 +0000 (11:56 -0700)]
Fix device cfg for GalaxyS7

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

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

8 years agoDocumentation: MSKP
halcanary [Mon, 12 Sep 2016 18:56:28 +0000 (11:56 -0700)]
Documentation: MSKP

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

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

8 years agoAdd workaround for Adreno copyImageToBuffer calls on Vulkan
egdaniel [Mon, 12 Sep 2016 18:51:29 +0000 (11:51 -0700)]
Add workaround for Adreno copyImageToBuffer calls on Vulkan

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

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

8 years agoRun recipes.py with --timestamps
borenet [Mon, 12 Sep 2016 18:51:26 +0000 (11:51 -0700)]
Run recipes.py with --timestamps

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

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

8 years agoFix GaussianEdgeShader GLSL code
jvanverth [Mon, 12 Sep 2016 17:09:16 +0000 (10:09 -0700)]
Fix GaussianEdgeShader GLSL code

Implicit conversion of int constants to float is not always
guaranteed

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2328263004
TBR=herbderby@google.com
NOTRY=true
NOTREECHECKS=true

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

8 years agoRemove unneeded GrGLSLTransformedCoordsArray type
bsalomon [Mon, 12 Sep 2016 16:30:36 +0000 (09:30 -0700)]
Remove unneeded GrGLSLTransformedCoordsArray type

Rename GrGLSLFragmentBuilder::ensureFSCoords2D to ensureCoords2D and make it take an arbitrary GrShaderVar.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2324663004

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

8 years agoRevert of Turned on SkSL->GLSL compiler (patchset #12 id:220001 of https://codereview...
ethannicholas [Mon, 12 Sep 2016 16:15:53 +0000 (09:15 -0700)]
Revert of Turned on SkSL->GLSL compiler (patchset #12 id:220001 of https://codereview.chromium.org/2288033003/ )

Reason for revert:
Compilation errors on some bots.

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

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/2337553002

8 years agoRemove unneeded bounds outset in GrDrawContext::drawVertices.
bsalomon [Mon, 12 Sep 2016 16:05:48 +0000 (09:05 -0700)]
Remove unneeded bounds outset in GrDrawContext::drawVertices.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2329403004

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

8 years agoglTexStorage requires sized formats, ensure that we're following that rule
brianosman [Mon, 12 Sep 2016 16:05:14 +0000 (09:05 -0700)]
glTexStorage requires sized formats, ensure that we're following that rule

In some situations (at least ANGLE ES3), we were passing GL_BGRA, rather
than GL_BGRA8.

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

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

8 years agoRemove ability to skip coord transform comparison in pipeline comparison.
bsalomon [Mon, 12 Sep 2016 15:55:38 +0000 (08:55 -0700)]
Remove ability to skip coord transform comparison in pipeline comparison.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2316413003

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