platform/upstream/libSkiaSharp.git
7 years agoGrTessellator: refactor Line out of Edge.
senorblanco [Fri, 7 Oct 2016 15:36:56 +0000 (08:36 -0700)]
GrTessellator: refactor Line out of Edge.

There are cases where we need only a line equation, and not a full
Edge. Create a Line struct for this, and refactor Edge to use it.

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

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

7 years agoWhitespace change to kick build.
Ben Wagner [Fri, 7 Oct 2016 14:30:01 +0000 (10:30 -0400)]
Whitespace change to kick build.

7 years agoReduce geometry size for circles to help fill rate.
jvanverth [Fri, 7 Oct 2016 13:57:32 +0000 (06:57 -0700)]
Reduce geometry size for circles to help fill rate.

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

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

7 years agoDisable svgs on nanobench when running on Valgrind
stephana [Fri, 7 Oct 2016 13:36:16 +0000 (06:36 -0700)]
Disable svgs on nanobench when running on Valgrind

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

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

7 years agoRevert "SkRasterPipeline: 8x pipelines"
Mike Klein [Fri, 7 Oct 2016 13:16:35 +0000 (13:16 +0000)]
Revert "SkRasterPipeline: 8x pipelines"

This reverts commit I1c82e5755d8e44cc0b9c6673d04b117f85d71a3a.

Reason for revert: lots of failing bots.

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

Change-Id: I653bed3905187f43196504f19424985fa2a765b5
Reviewed-on: https://skia-review.googlesource.com/3063
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoDisable antialiasing on interior of filled RRects that need distance vectors
Robert Phillips [Thu, 6 Oct 2016 21:38:46 +0000 (17:38 -0400)]
Disable antialiasing on interior of filled RRects that need distance vectors

The interior antialiasing was causing a small transparent rectangle in the middle of filled rects

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

Change-Id: If0bf26b96c8969af6d81f3a3d6fee59e8c1d747e
Reviewed-on: https://skia-review.googlesource.com/3062
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoSkRasterPipeline: 8x pipelines
Mike Klein [Thu, 6 Oct 2016 19:06:38 +0000 (15:06 -0400)]
SkRasterPipeline: 8x pipelines

Bench runtime changes:
sRGB: 7194 -> 3735  = 1.93x faster
F16:  6531 -> 2559  = 2.55x faster

Instead of building 4x and 1-3x pipelines and then maybe 8x and 1-7x, instead build either the short ones or the long ones, but not both.  If we just take care to use a compatible run_pipeline(), there's some cross-module type disagreement but everything works out in the end.

Oddly, a few places that looked like they'd be faster using SkNx_fma() or Sk4f_round()/Sk8f_round() are actually faster the long way, e.g. multiply, add 0.5, truncate.  Curious!  In all the other places you see here that I've used SkNx_fma(), it's been a significant speedup.

This folds in a couple refactors and cleanups that I've been meaning to do.  Hope you don't mind... if find the new code considerably easier to read than the old code.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2990
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

7 years agoAssorted Android fixes
fmalita [Thu, 6 Oct 2016 21:37:23 +0000 (14:37 -0700)]
Assorted Android fixes

Ran into these while trying to follow https://skia.org/user/quick/android.

R=reed@google.com,djsollen@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2395273002

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

7 years agoAuto re-gen for gn cmake generator.
Ben Wagner [Wed, 5 Oct 2016 21:18:38 +0000 (17:18 -0400)]
Auto re-gen for gn cmake generator.

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

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

7 years agoAdd distance values to interior of filled RRects
Robert Phillips [Thu, 6 Oct 2016 19:03:34 +0000 (15:03 -0400)]
Add distance values to interior of filled RRects

This doesn't compute the correct distance vector but it suffices for gaussian edges.

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

Change-Id: I8bd9e37b0f3788c30d85c95a3c0845d093f22554
Reviewed-on: https://skia-review.googlesource.com/2986
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoHarden SkPicturePlayback::handleOp() skips
fmalita [Thu, 6 Oct 2016 19:09:50 +0000 (12:09 -0700)]
Harden SkPicturePlayback::handleOp() skips

SkValidatingReadBuffer::skip() may return null - tread more carefully
around it.

BUG=skia:5828
R=reed@google.com,mtklein@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2399043002

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

7 years agoFix Vulkan orientation during screne rotations
Greg Daniel [Thu, 6 Oct 2016 17:57:57 +0000 (13:57 -0400)]
Fix Vulkan orientation during screne rotations

This will fix the Vulkan orientation when the screen is rotated by having
the compositor do the corrections for us. However, it is suggested in the
Android Vulkan docs that for power reasons it may be better for the app
to get the needed rotation off of the VkAndroidSurface and then manually
adjust for this rotation in the rendering without the compositor doing any
corrections. This is something we can look into a later date as it would
require sending some info back from the VulkanWindowContext back to Skia
about what Matrix should be applied.

BUG=skia:

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

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

7 years agoFix SkDeferredCanvas for use on android.
Herb Derby [Thu, 6 Oct 2016 18:33:43 +0000 (14:33 -0400)]
Fix SkDeferredCanvas for use on android.

BUG=skia:

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

Change-Id: Ie55023257736a12360a233d01096462ba2eb3e74
Reviewed-on: https://skia-review.googlesource.com/3030
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoremove sprintf
caryclark [Thu, 6 Oct 2016 18:46:25 +0000 (11:46 -0700)]
remove sprintf

Most uses of sprintf are
in pathops testing.

Replace them with
SkString::appendf

and replace the remaining
with snprintf

R=scroggo@google.com
BUG=skia:2716
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2391133005

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

7 years agoMake load4 and store4 part of SkNx properly.
Mike Klein [Thu, 6 Oct 2016 15:09:27 +0000 (11:09 -0400)]
Make load4 and store4 part of SkNx properly.

Every type now nominally has Load4() and Store4() methods.
The ones that we use are implemented.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3046
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

7 years agofuzzer fix
Cary Clark [Thu, 6 Oct 2016 16:04:16 +0000 (12:04 -0400)]
fuzzer fix

Error out when fuzzing
conditions are met.

Also, make degenerate
input line ends consistent.

TBR=reed@google.com
BUG=653452, 626164, skia:5829

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

Change-Id: I23a01adde9dec07b54d66ab2418b3ea0b96e4456
Reviewed-on: https://skia-review.googlesource.com/3048
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agofix other printf warning for SkBlendMode
reed [Thu, 6 Oct 2016 14:14:39 +0000 (07:14 -0700)]
fix other printf warning for SkBlendMode

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

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

7 years agofix mac all build
caryclark [Thu, 6 Oct 2016 14:06:00 +0000 (07:06 -0700)]
fix mac all build

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

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

7 years agoFix SkPath::arcTo when sweepAngle is tiny and radius is big
xidachen [Thu, 6 Oct 2016 12:42:23 +0000 (05:42 -0700)]
Fix SkPath::arcTo when sweepAngle is tiny and radius is big

In this function, it first check whether this arc is a lone point
or not. If not, it converts angles to unit vectors. The problem
here is that when the radius is huge and the sweepAngle is small,
the function angles_to_unit_vectors() could return a startV ==stopV.
When that happens, it will draw a dot at the point that corresponding
to the startAngle. This CL adds a special branch for this case, and
draw a connecting line between the points at startAngle and endAngle.

BUG=640031, skia:5807
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2388833002

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

7 years agofix printf warning in dumpcanvas
Mike Reed [Thu, 6 Oct 2016 02:17:34 +0000 (22:17 -0400)]
fix printf warning in dumpcanvas

BUG=skia:

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

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

7 years agoRevert[8] "replace SkXfermode obj with SkBlendMode enum in paints"
reed [Thu, 6 Oct 2016 00:33:02 +0000 (17:33 -0700)]
Revert[8] "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit c245574ba3d0e2ade6c94b2812de3baa383bf4c4.

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

TBR=

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

7 years agotight bounds optimization
caryclark [Wed, 5 Oct 2016 20:23:00 +0000 (13:23 -0700)]
tight bounds optimization

Add support for tight bounds to detect and return moveTo
followed by close or zero-length lineTo.

Also short circuit so that hard work is avoided when
the path bounds is also the tight bounds.

Avoid doing work if the bounds can be trivially computed.
Include naked moveTo coordinates in the tight bounds.

R=fmalita@chromium.org
BUG=skia:5555, skia:5553
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2394443004

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

7 years agoRevert[7] "replace SkXfermode obj with SkBlendMode enum in paints"
Mike Reed [Wed, 5 Oct 2016 19:59:51 +0000 (19:59 +0000)]
Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit Ib4a154cdd5f5d1dcac921ef50d53b79a2d6a1be8.

Reason for revert: new assert from 100K bot

Original change's description:
> Revert[6] "replace SkXfermode obj with SkBlendMode enum in paints"
>
> - perform version check in CreateProc for XfermodeImageFilter and ArithmeticImageFilter
> This reverts commit 3ed485f4249e17abb4b11f5018d03175fd1afb44.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2992
>
> Change-Id: Ib4a154cdd5f5d1dcac921ef50d53b79a2d6a1be8
> Reviewed-on: https://skia-review.googlesource.com/2992
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

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

Change-Id: I848e5a69c5cd67f2c14889f4f0a346652578c4ff
Reviewed-on: https://skia-review.googlesource.com/3023
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "add cast for printf"
Mike Reed [Wed, 5 Oct 2016 20:18:24 +0000 (20:18 +0000)]
Revert "add cast for printf"

This reverts commit Ib9277facab87747b3cf9b71585e63067b4be9a58.

Reason for revert: reverted related CL

Original change's description:
> add cast for printf
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3020
>
> Change-Id: Ib9277facab87747b3cf9b71585e63067b4be9a58
> Reviewed-on: https://skia-review.googlesource.com/3020
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

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

Change-Id: I1621d4ea42e9a9403ce78db147c62e8a458b4e00
Reviewed-on: https://skia-review.googlesource.com/3024
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoadd cast for printf
Mike Reed [Wed, 5 Oct 2016 19:20:35 +0000 (15:20 -0400)]
add cast for printf

BUG=skia:

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

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

7 years agoupdate deferred
Mike Reed [Wed, 5 Oct 2016 18:52:50 +0000 (14:52 -0400)]
update deferred

BUG=skia:

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

Change-Id: I49e029d5825e84ba36331586bfcfbf0fe34f7c2c
Reviewed-on: https://skia-review.googlesource.com/2994
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agovalidate using nx to match bounds
caryclark [Wed, 5 Oct 2016 19:16:52 +0000 (12:16 -0700)]
validate using nx to match bounds

Check the path against the bounds
using Nx instead of straight scalars,

R=mtklein@google.com
BUG=skia:5541
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2388903006

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

7 years agoUse calendar.timegm instead of time.mktime in recipes
borenet [Wed, 5 Oct 2016 18:43:41 +0000 (11:43 -0700)]
Use calendar.timegm instead of time.mktime in recipes

Timezones are hard.

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

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

7 years agoRevert[6] "replace SkXfermode obj with SkBlendMode enum in paints"
Mike Reed [Wed, 5 Oct 2016 18:03:43 +0000 (14:03 -0400)]
Revert[6] "replace SkXfermode obj with SkBlendMode enum in paints"

- perform version check in CreateProc for XfermodeImageFilter and ArithmeticImageFilter
This reverts commit 3ed485f4249e17abb4b11f5018d03175fd1afb44.

BUG=skia:

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

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

7 years agoFix public API msg in PRESUBMIT.py
Ravi Mistry [Wed, 5 Oct 2016 16:47:44 +0000 (12:47 -0400)]
Fix public API msg in PRESUBMIT.py

BUG=skia:5825

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

Change-Id: Ia074ab00ccd1500bee10a5b313636581e8265461
Reviewed-on: https://skia-review.googlesource.com/2989
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoMake test lower-level, make const_cast more visible.
Mike Klein [Wed, 5 Oct 2016 14:36:38 +0000 (10:36 -0400)]
Make test lower-level, make const_cast more visible.

I can only think there's something funky going on with the hidden
const_cast inside SkRasterPipeline.cpp, or with the Sk4h -> Sk4f
conversion.  So make the const_cast visible and write the test
directly in halfs instead of floats.

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release-GN-Trybot

BUG=skia:

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

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

7 years agoPresubmit recipe: call presubmit_support.py directly
borenet [Wed, 5 Oct 2016 16:52:41 +0000 (09:52 -0700)]
Presubmit recipe: call presubmit_support.py directly

For some reason, presubmit_support.py can't find PRESUBMIT.py
unless it has a diff. Calling this script directly allows us
to specify a fake upstream to force it to find a diff and
therefore be able to find PRESUBMIT.py.

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

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

7 years agoMake local coords be highp in default geometry processor
Brian Salomon [Wed, 5 Oct 2016 16:09:26 +0000 (12:09 -0400)]
Make local coords be highp in default geometry processor

This fixes some regressions on the Nexus 10 that were introduced when the device coordinate feature was removed from GrCoordTransform.

BUG=skia:

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

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

7 years agoupdate defer-canvas for lattice and regions
Mike Reed [Wed, 5 Oct 2016 15:52:51 +0000 (11:52 -0400)]
update defer-canvas for lattice and regions

BUG=skia:

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

Change-Id: I9106841d1cc246064d0a963b0a1e9feae109589d
Reviewed-on: https://skia-review.googlesource.com/2985
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoPRESUBMIT.py improvements
Ravi Mistry [Wed, 5 Oct 2016 12:41:12 +0000 (08:41 -0400)]
PRESUBMIT.py improvements

* Updated code to check for owners in reviewers for Gerrit issues instead for in the TBR= line.
* The previous TBR parsing code was not accounting for adding comments. Eg: "TBR=rmistry (Testing only)".

BUG=skia:5825

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

Change-Id: I910a3ae71a9f57c14f80c0b0404041cbe451a77c
Reviewed-on: https://skia-review.googlesource.com/2981
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoHarden degenerate gradient context handling
fmalita [Wed, 5 Oct 2016 16:28:42 +0000 (09:28 -0700)]
Harden degenerate gradient context handling

Certain inputs produce degenerate values at context creation time only.

Detect such cases after context creation, and abort drawing by returning
a null shader context instead.

BUG=skia:5821
R=reed@google.com,brianosman@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2397473003

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

7 years agoskpbench: add option for gpu timing
csmartdalton [Wed, 5 Oct 2016 15:42:03 +0000 (08:42 -0700)]
skpbench: add option for gpu timing

Adds a gpu timing option with a GL implementation.

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

Committed: https://skia.googlesource.com/skia/+/c06720d06faab3b01eba1b8693e0ac791f06dc96
Review-Url: https://codereview.chromium.org/2388433003

7 years agowebpages_playback: use new skia-skps bucket
borenet [Wed, 5 Oct 2016 15:23:04 +0000 (08:23 -0700)]
webpages_playback: use new skia-skps bucket

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

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

7 years agofix fuzz
Cary Clark [Wed, 5 Oct 2016 14:40:07 +0000 (10:40 -0400)]
fix fuzz

This fix is slightly interesting; if the final
close of the contour degenerates into a zero-length
line, remove the previous line from the generated
contour.

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

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

Change-Id: Id668d13ccf6aad9bc81d78588fc77437527a0b7b
Reviewed-on: https://skia-review.googlesource.com/3004
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agoFixes for presubmit recipe
borenet [Wed, 5 Oct 2016 14:29:06 +0000 (07:29 -0700)]
Fixes for presubmit recipe

- Add depot_tools to PATH
- Run on a branch
- Use max verbosity

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

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

7 years agoFix bmp bug exposed by fuzzer
msarett [Wed, 5 Oct 2016 14:19:27 +0000 (07:19 -0700)]
Fix bmp bug exposed by fuzzer

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

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

7 years agoAdd action_foreach, copy, and proper target naming.
Ben Wagner [Tue, 4 Oct 2016 20:44:44 +0000 (16:44 -0400)]
Add action_foreach, copy, and proper target naming.

Also properly handles dependencies across OBJECT libraries.

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

Change-Id: I4aa48c896caf262772fe9769e742b54f6e265ab0
Reviewed-on: https://skia-review.googlesource.com/2939
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agolooks like red and blue start wrong (more unit test debugging)
Mike Klein [Wed, 5 Oct 2016 13:36:26 +0000 (09:36 -0400)]
looks like red and blue start wrong (more unit test debugging)

BUG=skia:

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release-GN-Trybot

Change-Id: I8d26b5484a2bf67d5d5891475640970046e470d8
Reviewed-on: https://skia-review.googlesource.com/3001
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoinitialize result in SkRasterPipelineTest... more debugging
Mike Klein [Wed, 5 Oct 2016 12:45:57 +0000 (08:45 -0400)]
initialize result in SkRasterPipelineTest... more debugging

BUG=skia:

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

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

7 years agoAdd swarm_presubmit recipe
borenet [Wed, 5 Oct 2016 13:00:26 +0000 (06:00 -0700)]
Add swarm_presubmit recipe

This allows us to add a Housekeeper-PerCommit-Presubmit bot/trybot

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

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

7 years agoremove dead code
Cary Clark [Wed, 5 Oct 2016 12:51:39 +0000 (08:51 -0400)]
remove dead code

Use code coverage and a new '-c' flag to find
and remove unneeded code.

TBR=reed@google.com

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

patch from issue 2397593002 at patchset 1 (http://crrev.com/2397593002#ps1)

Change-Id: I741a82de9191146c10457d4c0b9cb9605dff2069
Reviewed-on: https://skia-review.googlesource.com/2983
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agomore debugging for this test.
Mike Klein [Tue, 4 Oct 2016 23:41:56 +0000 (19:41 -0400)]
more debugging for this test.

BUG=skia:

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

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

7 years agoMac: Remove use of deprecated font APIs
ccameron [Tue, 4 Oct 2016 22:02:02 +0000 (15:02 -0700)]
Mac: Remove use of deprecated font APIs

Remove use of CGContextSelectFont CGContextShowTextAtPoint APIs.
Verified that the new calls create the same pixel value for the
smoothing test as before.

Also remove workarounds for 10.6, because it is not supported anymore.

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

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

7 years agoFold extra_*_flags into GN as a config.
Mike Klein [Tue, 4 Oct 2016 21:09:13 +0000 (17:09 -0400)]
Fold extra_*_flags into GN as a config.

This should make them visible to things like gn_to_cmake.py.
I'm not exactly sure what this implies about ordering and overriding.

BUG=skia:

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

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

7 years agoRevert "Debug Mac test failure."
Mike Klein [Tue, 4 Oct 2016 21:40:56 +0000 (21:40 +0000)]
Revert "Debug Mac test failure."

This reverts commit I0ed569b585f4962a90a0b6993acc484a74055177.

Reason for revert: Mac bots look okay now.  I am puzzled.

Original change's description:
> Debug Mac test failure.
>
> CQ_EXTRA_TRYBOTS=master.client.skia:Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release-GN-Trybot
> TBR=
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2933
>
> Change-Id: I0ed569b585f4962a90a0b6993acc484a74055177
> Reviewed-on: https://skia-review.googlesource.com/2933
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

7 years agoRevert[5] "replace SkXfermode obj with SkBlendMode enum in paints"
Mike Reed [Tue, 4 Oct 2016 21:35:32 +0000 (21:35 +0000)]
Revert[5] "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit I0fa5c58af428f3da8565465d1219a34ef8417d9a.

Reason for revert: failing to deserialize some of the 100K

Original change's description:
> Revert[4] "replace SkXfermode obj with SkBlendMode enum in paints"
>
> This reverts commit 2cbcd12281ee807214df094964c584c78932e10b.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2924
>
> Change-Id: I0fa5c58af428f3da8565465d1219a34ef8417d9a
> Reviewed-on: https://skia-review.googlesource.com/2924
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

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

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

7 years agoRemove SK_SUPPORT_LEGACY_TEXTBLOB_BUILDER from public.bzl
Ben Wagner [Tue, 4 Oct 2016 20:54:04 +0000 (16:54 -0400)]
Remove SK_SUPPORT_LEGACY_TEXTBLOB_BUILDER from public.bzl

BUG=skia:

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

Change-Id: I945782a5aaf416b630181bf65f517f89bae95d9f
Reviewed-on: https://skia-review.googlesource.com/2960
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoUse uint64_t for PlatformFence
csmartdalton [Tue, 4 Oct 2016 21:24:23 +0000 (14:24 -0700)]
Use uint64_t for PlatformFence

VkFence is 64 bit even on 32-bit platforms.

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

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

7 years agoMake the housekeeper upload doxygen to a newer bucket
borenet [Tue, 4 Oct 2016 20:23:57 +0000 (13:23 -0700)]
Make the housekeeper upload doxygen to a newer bucket

BUG=skia:2969
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2370153003
DOCS_PREVIEW= https://skia.org/?cl=2370153003

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

7 years agoMake global use-analytic-AA bit threadsafe.
Mike Klein [Tue, 4 Oct 2016 19:45:56 +0000 (15:45 -0400)]
Make global use-analytic-AA bit threadsafe.

I also had to cut it down to just a global atomic bool... as a field in a global singleton accessed through instance(), it's very hard to make threadsafe.

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot

BUG=skia:

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

Change-Id: If80be987906dd521fbe644d1d0d577009f06d0e3
Reviewed-on: https://skia-review.googlesource.com/2937
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRevert[4] "replace SkXfermode obj with SkBlendMode enum in paints"
Mike Reed [Tue, 4 Oct 2016 14:06:20 +0000 (10:06 -0400)]
Revert[4] "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit 2cbcd12281ee807214df094964c584c78932e10b.

BUG=skia:

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

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

7 years agodisallow -4 pointer
caryclark [Tue, 4 Oct 2016 20:06:17 +0000 (13:06 -0700)]
disallow -4 pointer

A user's homegrown unsigned integer overflow tool
complains if a nullptr is decremented.
The conicWeight pointer likes to predecrement
before walking, but this is unnecessary if
its value is nullptr.

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

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

7 years agoRevert of skpbench: add option for gpu timing (patchset #7 id:120001 of https://coder...
mtklein [Tue, 4 Oct 2016 19:49:45 +0000 (12:49 -0700)]
Revert of skpbench: add option for gpu timing (patchset #7 id:120001 of https://codereview.chromium.org/2388433003/ )

Reason for revert:
many bots failing

Original issue's description:
> skpbench: add option for gpu timing
>
> Adds a gpu timing option with a GL implementation.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2388433003
>
> Committed: https://skia.googlesource.com/skia/+/c06720d06faab3b01eba1b8693e0ac791f06dc96

TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@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/2390383002

7 years agoAdd --test to gen_tasks.go, add presubmit check
borenet [Tue, 4 Oct 2016 19:45:41 +0000 (12:45 -0700)]
Add --test to gen_tasks.go, add presubmit check

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

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

7 years agoskpbench: add option for gpu timing
csmartdalton [Tue, 4 Oct 2016 19:33:44 +0000 (12:33 -0700)]
skpbench: add option for gpu timing

Adds a gpu timing option with a GL implementation.

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

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

7 years agoensure we always set the pictinfo.fVersion
Mike Reed [Tue, 4 Oct 2016 19:12:01 +0000 (15:12 -0400)]
ensure we always set the pictinfo.fVersion

BUG=skia:

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

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

7 years agoMake binary size analysis upload to skia-perf bucket
borenet [Tue, 4 Oct 2016 19:32:04 +0000 (12:32 -0700)]
Make binary size analysis upload to skia-perf bucket

It's currently pointed at chromium-skia-gm, but Perf results are now
uploaded to skia-perf.

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

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

7 years agorun dean4 test everywhere
Cary Clark [Tue, 4 Oct 2016 19:25:29 +0000 (15:25 -0400)]
run dean4 test everywhere

This test got different results when run with a
GCC compiler generating FMA instructions. The
support for those have been dropped, so the
test should no longer fail.

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

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

Change-Id: I318ec8ae12c9eb489f6f89bd59b202453943d31e
Reviewed-on: https://skia-review.googlesource.com/2935
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agoDebug Mac test failure.
Mike Klein [Tue, 4 Oct 2016 19:00:57 +0000 (15:00 -0400)]
Debug Mac test failure.

CQ_EXTRA_TRYBOTS=master.client.skia:Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release-GN-Trybot
TBR=

BUG=skia:

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

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

7 years agoRemove SkFontConfigInterface_direct_google3.
Ben Wagner [Tue, 4 Oct 2016 17:49:42 +0000 (13:49 -0400)]
Remove SkFontConfigInterface_direct_google3.

BUG=skia:

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

Change-Id: I4aa4e94453601e566e30d61ad286f58786477cfb
Reviewed-on: https://skia-review.googlesource.com/2931
Reviewed-by: Ben Wagner <bungeman@google.com>
7 years agofix fuzz with null check
Cary Clark [Tue, 4 Oct 2016 14:53:31 +0000 (10:53 -0400)]
fix fuzz with null check

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

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

Change-Id: I1957d3f8f5c78bed41bb7fe413ae870df24f7c50
Reviewed-on: https://skia-review.googlesource.com/2925
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agoMake all SkRasterPipeline stages stock stages in SkOpts.
Mike Klein [Tue, 4 Oct 2016 18:03:27 +0000 (14:03 -0400)]
Make all SkRasterPipeline stages stock stages in SkOpts.

If we want to support VEX-encoded instructions (AVX, F16C, etc.) without a ridiculous slowdown, we need to make sure we're running either all VEX-encoded instructions or all non-VEX-encoded instructions.  That means we cannot mix arbitrary user-defined SkRasterPipeline::Fn (never VEX) with those living in SkOpts (maybe VEX)... it's SkOpts or bust.

This ports the existing user-defined SkRasterPipeline::Fn use cases over to use stock stages from SkOpts.  I rewrote the unit test to use stock stages, and moved the SkXfermode implementations to SkOpts.  The code deleted for SkArithmeticMode_scalar should already be dead.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2940
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I94dbe766b2d65bfec6e544d260f71d721f0f5cb0
Reviewed-on: https://skia-review.googlesource.com/2940
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoResubmit issue 2221103002 to fix the iOS build by declaring the flag in
liyuqian [Tue, 4 Oct 2016 18:23:22 +0000 (11:23 -0700)]
Resubmit issue 2221103002 to fix the iOS build by declaring the flag in
SkCommonFlags.h

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

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

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

7 years agoMove GPU fences into sk_gpu_test
csmartdalton [Tue, 4 Oct 2016 18:08:45 +0000 (11:08 -0700)]
Move GPU fences into sk_gpu_test

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

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

7 years agoRevert of Analytic AntiAlias for Convex Shapes (patchset #14 id:260001 of https:...
stephana [Tue, 4 Oct 2016 16:56:08 +0000 (09:56 -0700)]
Revert of Analytic AntiAlias for Convex Shapes (patchset #14 id:260001 of https://codereview.chromium.org/2221103002/ )

Reason for revert:
Breaks iOS build.

Original issue's description:
> Implement AnalyticAA for convex shapes.
>
> Design doc: go/analyticAA
>
> A performance test can be found here: https://docs.google.com/a/google.com/spreadsheets/d/1n9LSjFzrQzx0hovFddWey0GSMXNRjl1oFuSypMlHWZk/edit?usp=sharing
>
> Our best case is filling big triangles, which according to our experiment has ~2.9x speedup. Our worst case is filling small ovals/circles, which has a ~1.06x slowdown.
>
> To see how our new algorithm changes the DM images, see: https://x20web.corp.google.com/~liyuqian/dmdiff/index.html
> The most significant changes are in convexpaths and analytic_antialias_convex
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221103002
>
> Committed: https://skia.googlesource.com/skia/+/7795822807478143120c33228b68d2ab3918af2c

TBR=reed@google.com,caryclark@google.com,liyuqian@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/2388213003

7 years agoImplement AnalyticAA for convex shapes.
liyuqian [Tue, 4 Oct 2016 16:29:51 +0000 (09:29 -0700)]
Implement AnalyticAA for convex shapes.

Design doc: go/analyticAA

A performance test can be found here: https://docs.google.com/a/google.com/spreadsheets/d/1n9LSjFzrQzx0hovFddWey0GSMXNRjl1oFuSypMlHWZk/edit?usp=sharing

Our best case is filling big triangles, which according to our experiment has ~2.9x speedup. Our worst case is filling small ovals/circles, which has a ~1.06x slowdown.

To see how our new algorithm changes the DM images, see: https://x20web.corp.google.com/~liyuqian/dmdiff/index.html
The most significant changes are in convexpaths and analytic_antialias_convex

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

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

7 years agoSkLiteDL: much simpler to eliminate bitmaps in recorder.
Mike Klein [Mon, 3 Oct 2016 15:02:53 +0000 (11:02 -0400)]
SkLiteDL: much simpler to eliminate bitmaps in recorder.

This shouldn't be any significant change in behavior or performance,
but it leaves the code in SkLiteDL a bit simpler.

BUG=skia:

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

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

7 years agofix initialization order
Cary Clark [Tue, 4 Oct 2016 14:59:29 +0000 (10:59 -0400)]
fix initialization order

Broke the linux build
with incorrectly ordered
construction initialization.

TBR=reed@google.com
BUG=skia:

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

Change-Id: I2555616b945021cf119122811db0cfaf999834a0
Reviewed-on: https://skia-review.googlesource.com/2926
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agosk_linear_from_srgb_math
Mike Klein [Tue, 4 Oct 2016 13:29:32 +0000 (09:29 -0400)]
sk_linear_from_srgb_math

Looks great (imperceptibly different) but ~10% slower on both ARMv8 and x86-64.  Probably need to hide the table-or-math logic behind Sk4f/Sk8f unless we find faster math.

I do like the new look of the pipeline stages though.  A lot clearer.

BUG=skia:

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I44952237d56ba167445b07d4830eb8959c4d47b7
Reviewed-on: https://skia-review.googlesource.com/2880
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agocoin debugging runs all tests in extended
Cary Clark [Tue, 4 Oct 2016 14:01:04 +0000 (10:01 -0400)]
coin debugging runs all tests in extended

This extends path ops concidence debugging
to find unused algorithms and determine the extent
of loops.

This verifies that all 140M tests run without error
in release and debug.

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

patch from issue 2391733002 at patchset 1 (http://crrev.com/2391733002#ps1)

Change-Id: I02ca29764405c5ac3e7ca3b2621fba28dbaaffc2
Reviewed-on: https://skia-review.googlesource.com/2923
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agoAdd retries to upload_dm_results
borenet [Tue, 4 Oct 2016 13:32:54 +0000 (06:32 -0700)]
Add retries to upload_dm_results

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

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

7 years agoRevert of Make GrResourceCache dynamically change between LRU and random replacement...
robertphillips [Tue, 4 Oct 2016 12:30:20 +0000 (05:30 -0700)]
Revert of Make GrResourceCache dynamically change between LRU and random replacement strategies. (patchset #8 id:140001 of https://codereview.chromium.org/2321563006/ )

Reason for revert:
Causing problems on Mac & Windows bots.

Original issue's description:
> Make GrResourceCache dynamically change between LRU and random replacement strategies.
>
> Random performs significantly better when each frame exceeds the budget by a small margin whereas LRU has worst case behavior.
>
> The decision of which to use is made based on the history from a few frames of the ratio of total unique key cache misses to unique key cache misses of resources purged in the last 2 frames.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2321563006
>
> Committed: https://skia.googlesource.com/skia/+/0f147ac2ae575bbad3515a526f13700bc5c8e9d7

TBR=bsalomon@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/2386993004

7 years agoRemove option to make GrCoordTransforms apply to device positions.
Brian Salomon [Mon, 3 Oct 2016 21:15:28 +0000 (17:15 -0400)]
Remove option to make GrCoordTransforms apply to device positions.

Adds a device space texture decal effect to use for clipping.

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

Change-Id: Ifcc7617ea87f5a86e301995cba9dfc30a4b0e2c5
Reviewed-on: https://skia-review.googlesource.com/2870
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoRevert "Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints"""
Mike Reed [Mon, 3 Oct 2016 21:34:16 +0000 (21:34 +0000)]
Revert "Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints"""

This reverts commit I86875511a13497112827cbaed1dbd7639e9e3d10.

legacy (100K) skp failure

Original change's description:
> Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints""
>
> This reverts commit ce02e7175872abde3721df9e5d3ec0ab8384cd8e.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2878
>
> Change-Id: I86875511a13497112827cbaed1dbd7639e9e3d10
> Reviewed-on: https://skia-review.googlesource.com/2878
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=msarett@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

7 years agoRevert of add cast for tostring (patchset #1 id:1 of https://codereview.chromium...
reed [Mon, 3 Oct 2016 21:33:48 +0000 (14:33 -0700)]
Revert of add cast for tostring (patchset #1 id:1 of https://codereview.chromium.org/2385353002/ )

Reason for revert:
base CL has legacy skp bug, so have to revert it

Original issue's description:
> add cast for tostring to fix google3
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2385353002
>
> TBR=True
> NOTRY=True
>
> Committed: https://skia.googlesource.com/skia/+/4cfd5af26e5fab1699cfa2ab40d49c24cededd72

TBR=
# 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/2384303002

7 years agoadd cast for tostring to fix google3
reed [Mon, 3 Oct 2016 21:20:40 +0000 (14:20 -0700)]
add cast for tostring to fix google3

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

TBR=True
NOTRY=True

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

7 years agoMake GrResourceCache dynamically change between LRU and random replacement strategies.
bsalomon [Mon, 3 Oct 2016 21:07:01 +0000 (14:07 -0700)]
Make GrResourceCache dynamically change between LRU and random replacement strategies.

Random performs significantly better when each frame exceeds the budget by a small margin whereas LRU has worst case behavior.

The decision of which to use is made based on the history from a few frames of the ratio of total unique key cache misses to unique key cache misses of resources purged in the last 2 frames.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2321563006

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

7 years agoAdd GMs for Analytic Anti-Aliasing
liyuqian [Mon, 3 Oct 2016 20:49:37 +0000 (13:49 -0700)]
Add GMs for Analytic Anti-Aliasing

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

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

7 years agoAvoid unneeded paint copies in SkDraw::drawBitmap
fmalita [Mon, 3 Oct 2016 20:46:58 +0000 (13:46 -0700)]
Avoid unneeded paint copies in SkDraw::drawBitmap

Use SkTCopyOnFirstWrite to only copy when needed.

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

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

7 years agoRemove unused resolve parameters for vulkan render passes
Greg Daniel [Mon, 3 Oct 2016 19:06:07 +0000 (15:06 -0400)]
Remove unused resolve parameters for vulkan render passes

BUG=skia:

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

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

7 years agoSupply random dst color space to asFP in unit tests
Brian Osman [Mon, 3 Oct 2016 19:24:44 +0000 (15:24 -0400)]
Supply random dst color space to asFP in unit tests

TBR=bsalomon@google.com (Testing-only API change)

BUG=skia:

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

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

7 years agoRevert "Revert "replace SkXfermode obj with SkBlendMode enum in paints""
Mike Reed [Mon, 3 Oct 2016 19:44:23 +0000 (15:44 -0400)]
Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints""

This reverts commit ce02e7175872abde3721df9e5d3ec0ab8384cd8e.

BUG=skia:

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

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

7 years agoJust add the F16 bench from https://skia-review.googlesource.com/c/2860/
Mike Klein [Mon, 3 Oct 2016 19:14:04 +0000 (15:14 -0400)]
Just add the F16 bench from https://skia-review.googlesource.com/c/2860/

BUG=skia:
TBR=msarett@google.com

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

Change-Id: I615d7aead07196f5c14b22be6f96e7d555a495a8
Reviewed-on: https://skia-review.googlesource.com/2875
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoMove clip CTM application to SkRasterClip and SkClipStack
Brian Salomon [Mon, 3 Oct 2016 15:36:16 +0000 (11:36 -0400)]
Move clip CTM application to SkRasterClip and SkClipStack

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

Change-Id: I914a57d6ba128acc457e12586c99ba6766eb940c
Reviewed-on: https://skia-review.googlesource.com/2866
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoAdd fuzz executable to GN
kjlubick [Mon, 3 Oct 2016 18:49:45 +0000 (11:49 -0700)]
Add fuzz executable to GN

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

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

7 years agoStart supplying random color space xforms to FP tests
Brian Osman [Mon, 3 Oct 2016 18:23:50 +0000 (14:23 -0400)]
Start supplying random color space xforms to FP tests

Added helper to create random GrColorSpaceXforms in unit tests, and
hooked it up for the FPs that currently accept one.

BUG=skia:

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

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

7 years agoDisable the SVG tests on Valgrind bots
fmalita [Mon, 3 Oct 2016 18:07:36 +0000 (11:07 -0700)]
Disable the SVG tests on Valgrind bots

Timeouts:
https://build.chromium.org/p/client.skia/builders/Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind

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

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

7 years agoRevert "replace SkXfermode obj with SkBlendMode enum in paints"
Mike Reed [Mon, 3 Oct 2016 18:02:50 +0000 (18:02 +0000)]
Revert "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit I4fb489ba6b3f77b458f7e4a99f79c7ad10859135.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> replace SkXfermode obj with SkBlendMode enum in paints
>
> BUG=skia:5814
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2714
>
> Change-Id: I4fb489ba6b3f77b458f7e4a99f79c7ad10859135
> Reviewed-on: https://skia-review.googlesource.com/2714
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

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

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

7 years agoAdd color space xform to GrAlphaThresholdFragmentProcessor
Brian Osman [Mon, 3 Oct 2016 17:15:12 +0000 (13:15 -0400)]
Add color space xform to GrAlphaThresholdFragmentProcessor

Fix imagealphathreshold_surface GM to test gamut conversion.

BUG=skia:

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

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

7 years agoRemove exec bit from source file.
Ben Wagner [Mon, 3 Oct 2016 17:15:58 +0000 (13:15 -0400)]
Remove exec bit from source file.

Exec bit added in https://skia.googlesource.com/skia/+/40ff5fe59b77b0b3e34467cc2f8666e4e88356f9

BUG=skia:

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

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

7 years agoremove quickreject for drawables
reed [Mon, 3 Oct 2016 17:35:37 +0000 (10:35 -0700)]
remove quickreject for drawables

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

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

7 years agoreplace SkXfermode obj with SkBlendMode enum in paints
Mike Reed [Mon, 3 Oct 2016 16:57:32 +0000 (12:57 -0400)]
replace SkXfermode obj with SkBlendMode enum in paints

BUG=skia:5814

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

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

7 years agoAvoid unnecessary GrShape->SkPath conversion in GrStencilAndCoverPathRenderer
bsalomon [Mon, 3 Oct 2016 16:48:22 +0000 (09:48 -0700)]
Avoid unnecessary GrShape->SkPath conversion in GrStencilAndCoverPathRenderer

Also remove redundant param to the path batch constructor.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2348543002

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

7 years agoFix alpha threshold GM to test with and without crop rect
Brian Osman [Mon, 3 Oct 2016 15:06:45 +0000 (11:06 -0400)]
Fix alpha threshold GM to test with and without crop rect

BUG=skia:

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

Change-Id: I09f24303b2a693a384fb7399c2287ab476f16319
Reviewed-on: https://skia-review.googlesource.com/2864
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoFix precision issues in SkRRectsGaussianEdgeShader.cpp
robertphillips [Mon, 3 Oct 2016 15:41:04 +0000 (08:41 -0700)]
Fix precision issues in SkRRectsGaussianEdgeShader.cpp

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

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