platform/upstream/libSkiaSharp.git
8 years agoFix compile warning on MSVC-vulkan (VkDeviceSize -> size_t)
brianosman [Mon, 15 Aug 2016 21:06:31 +0000 (14:06 -0700)]
Fix compile warning on MSVC-vulkan (VkDeviceSize -> size_t)

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

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

8 years agoRevert of Fix WIC encoder to support kJPEG_Type (patchset #3 id:140001 of https:...
msarett [Mon, 15 Aug 2016 20:52:31 +0000 (13:52 -0700)]
Revert of Fix WIC encoder to support kJPEG_Type (patchset #3 id:140001 of https://codereview.chromium.org/2245453002/ )

Reason for revert:
Broken Windows bot.

Original issue's description:
> Fix WIC encoder to support kJPEG_Type
>
> (1) Add support for kJPEG to WIC
> (2) Add encoding test.
> (3) Turn on WIC jpeg encoder on Windows and CG jpeg
>     encoder on Mac.
>
> A follow-up may make Skia's encoders the default on all
> platforms.  But, in order to do that, I think we need
> to write better encoding unit tests for CG and WIC.
>
> BUG=skia:3969
> BUG=skia:5632
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2245453002
>
> Committed: https://skia.googlesource.com/skia/+/b3a7ef1fc0adc24859d2498aee54d3ec2cbcac3a

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

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

8 years agoPrint error from driver when shader compiler fails
bsalomon [Mon, 15 Aug 2016 20:49:32 +0000 (13:49 -0700)]
Print error from driver when shader compiler fails

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

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

8 years agoFix up infra bot change
fmalita [Mon, 15 Aug 2016 20:38:18 +0000 (13:38 -0700)]
Fix up infra bot change

Follow up to https://codereview.chromium.org/2246943002/.

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

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

8 years agoFix WIC encoder to support kJPEG_Type
msarett [Mon, 15 Aug 2016 20:19:20 +0000 (13:19 -0700)]
Fix WIC encoder to support kJPEG_Type

(1) Add support for kJPEG to WIC
(2) Add encoding test.
(3) Turn on WIC jpeg encoder on Windows and CG jpeg
    encoder on Mac.

A follow-up may make Skia's encoders the default on all
platforms.  But, in order to do that, I think we need
to write better encoding unit tests for CG and WIC.

BUG=skia:3969
BUG=skia:5632
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2245453002

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

8 years agoRevert of add parallel public API for recording SkLiteDL. (patchset #1 id:1 of https...
mtklein [Mon, 15 Aug 2016 19:56:00 +0000 (12:56 -0700)]
Revert of add parallel public API for recording SkLiteDL. (patchset #1 id:1 of https://codereview.chromium.org/2246893002/ )

Reason for revert:
looking like we won't need this

Original issue's description:
> add parallel public API for recording SkLiteDL.
>
> The API is restricted to pretty much just what Derek calls,
> but it's enough that we can switch testing over to use it.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246893002
>
> Committed: https://skia.googlesource.com/skia/+/ced26a3d6b77d3a6744a8ccb8eff23eda45fc867

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

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

8 years ago[SVGDom] Add opacity support
fmalita [Mon, 15 Aug 2016 19:45:11 +0000 (12:45 -0700)]
[SVGDom] Add opacity support

Group opacity support.  Unlike the other presentation attributes we
support thus far, group opacity is not inherited.

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

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

8 years agoUpdate blurred rrect mask filter creation method to also handle caching
robertphillips [Mon, 15 Aug 2016 19:37:00 +0000 (12:37 -0700)]
Update blurred rrect mask filter creation method to also handle caching

The caching of the mask will also be required for the vertex attribute path so I moved that into the helper. The parameters computed by ComputeBlurredRRectParams will be needed to construct the coverage geometry by the vertex attribute path so I moved that out of the helper.

This is split out of https://codereview.chromium.org/2245653002/ (Start using vertex attributes for nine-patch blurred rrect draws)

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

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

8 years agoadd gm that exercises compose shader allocations
caryclark [Mon, 15 Aug 2016 19:03:33 +0000 (12:03 -0700)]
add gm that exercises compose shader allocations

This gm triggers the assert in SkSmallAllocator.h
commented out by this CL.

PDFium constructs shaders that resemble the GM.

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

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

8 years agoSkPDF: unify drawText and drawPosText
halcanary [Mon, 15 Aug 2016 18:45:36 +0000 (11:45 -0700)]
SkPDF: unify drawText and drawPosText

Motivation: a later CL will add drawTextBlob() (after
https://crrev.com/2084533004 lands).  This CL is designed
with that change in mind.  Also fewer redundant lines of
code.

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

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

8 years agojust add SkLiteDL::empty()
mtklein [Mon, 15 Aug 2016 18:43:35 +0000 (11:43 -0700)]
just add SkLiteDL::empty()

TBR=djsollen@google.com

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

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

8 years agoLightingFP now supports multiple directional lights
dvonbeck [Mon, 15 Aug 2016 18:35:55 +0000 (11:35 -0700)]
LightingFP now supports multiple directional lights

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

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

8 years agoConvert GrAppliedClip interface to builder style
csmartdalton [Mon, 15 Aug 2016 18:17:19 +0000 (11:17 -0700)]
Convert GrAppliedClip interface to builder style

GrAppliedClip was about at its limit for how many "make" functions it
could have. Window rectangles would push it over the edge. This change
makes it so GrDrawTarget supplies the original draw bounds to the
constructor, and then GrClip adds the various required clipping
techniques.

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

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

8 years agoFix 4444 on Vulkan devices who don't support RGBA_4444
egdaniel [Mon, 15 Aug 2016 17:59:17 +0000 (10:59 -0700)]
Fix 4444 on Vulkan devices who don't support RGBA_4444

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

Committed: https://skia.googlesource.com/skia/+/637b3bf2b9c10398d823bd015a722842d4f2f971
Review-Url: https://codereview.chromium.org/2238563002

8 years agoIncrease hard and io timeouts for CT builds.
rmistry [Mon, 15 Aug 2016 16:54:56 +0000 (09:54 -0700)]
Increase hard and io timeouts for CT builds.

BUG=skia:5641
TBR=borenet
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2249523004

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

8 years agoAdd regression test
msarett [Mon, 15 Aug 2016 16:41:59 +0000 (09:41 -0700)]
Add regression test

Original bug fix was in:
https://codereview.chromium.org/2230163002

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

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

8 years agoPull handling of blurred circles out of GrRRectBlurEffect::Make
robertphillips [Mon, 15 Aug 2016 16:04:45 +0000 (09:04 -0700)]
Pull handling of blurred circles out of GrRRectBlurEffect::Make

GrRRectBlurEffect is going away so this process can't live there anymore.

Split out of: https://codereview.chromium.org/2245653002/ (Start using vertex attributes for nine-patch blurred rrect draws)

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

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

8 years agoRevert of increase small allocator limit to encompass compose shader (patchset #1...
caryclark [Mon, 15 Aug 2016 15:44:46 +0000 (08:44 -0700)]
Revert of increase small allocator limit to encompass compose shader (patchset #1 id:1 of https://codereview.chromium.org/2234423005/ )

Reason for revert:
Increase in stack broke Google3

Original issue's description:
> increase small allocator limit to encompass compose shader
>
> R=reed@google.com
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234423005
>
> Committed: https://skia.googlesource.com/skia/+/8c200694f8eec5f623b3934b85c31dbb382be12c

TBR=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/2244293002

8 years agoOptimize color xforms when src and dst are matching
msarett [Mon, 15 Aug 2016 15:10:44 +0000 (08:10 -0700)]
Optimize color xforms when src and dst are matching

Useful when:
(1) Client does not realize src and dst match (calls color
    xform anyway).
(2) Client wants half floats, src and dst have matching
    gamuts
(3) Client wants premul (done correctly in linear space),
    src and dst have matching gamuts.

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

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

8 years agoFix copying of data in vulkan testing texture
egdaniel [Mon, 15 Aug 2016 15:06:29 +0000 (08:06 -0700)]
Fix copying of data in vulkan testing texture

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

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

8 years agoadd parallel public API for recording SkLiteDL.
mtklein [Mon, 15 Aug 2016 15:05:39 +0000 (08:05 -0700)]
add parallel public API for recording SkLiteDL.

The API is restricted to pretty much just what Derek calls,
but it's enough that we can switch testing over to use it.

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

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

8 years ago[SVGDom] Deferred SampleApp parsing
fmalita [Mon, 15 Aug 2016 14:48:47 +0000 (07:48 -0700)]
[SVGDom] Deferred SampleApp parsing

Parse SVG files in onOnceBeforeDraw() rather than ctor, to avoid
front-loading a bunch of work when passed a loarge number of SVGs.

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

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

8 years agoSkip CompressCheckerboard unit test on N6.
mtklein [Mon, 15 Aug 2016 14:47:57 +0000 (07:47 -0700)]
Skip CompressCheckerboard unit test on N6.

This is at least one of the failures making the bot red.
The particular signal indicates it's probably an alignment problem.

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

CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-GCC-Nexus6-CPU-NEON-Arm7-Debug-Trybot

TBR=robertphillips@google.com

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

8 years agoAdd specialized code for hard stop gradients on GPU
fmenozzi [Mon, 15 Aug 2016 14:03:47 +0000 (07:03 -0700)]
Add specialized code for hard stop gradients on GPU

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

Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d
Committed: https://skia.googlesource.com/skia/+/99818d69372d29a139935cfe5c379e491432931b
Committed: https://skia.googlesource.com/skia/+/2a4959181fc98d5d7ee862e7cd1c7993b3343be6
Review-Url: https://codereview.chromium.org/2223203003

8 years agoDocumentation: Important things on front page
halcanary [Mon, 15 Aug 2016 13:56:18 +0000 (06:56 -0700)]
Documentation:  Important things on front page

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

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

8 years agoincrease small allocator limit to encompass compose shader
caryclark [Mon, 15 Aug 2016 00:26:28 +0000 (17:26 -0700)]
increase small allocator limit to encompass compose shader

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

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

8 years agoWebp has_alpha is a hint only
msarett [Sun, 14 Aug 2016 22:31:28 +0000 (15:31 -0700)]
Webp has_alpha is a hint only

The has_alpha bit on webps is a hint only.  We are correct to always
assume that the image may have alpha.
https://groups.google.com/a/webmproject.org/forum/#!msg/webp-discuss/2rFPKOzxuSM/uabYhmSNJAAJ

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

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

8 years agoAssert fDeviceClipBounds is always empty when clip is empty
msarett [Sun, 14 Aug 2016 20:51:16 +0000 (13:51 -0700)]
Assert fDeviceClipBounds is always empty when clip is empty

I've fixed a few issues where this assert triggers.  The
nastiest case is when the client sets the clip to a strange
version of an empty rect (Ex: L,T,R,B=0,0,0,10).

I think I've made sufficient fixes so that
fDeviceClipBounds is always empty when clip is empty.

Let's test it though.

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

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

8 years agoPrevent overflows when using gamma_alloc_size
gogil [Sun, 14 Aug 2016 09:12:40 +0000 (02:12 -0700)]
Prevent overflows when using gamma_alloc_size

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

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

8 years agoUpdate SKP version
update-skps [Sun, 14 Aug 2016 08:56:40 +0000 (01:56 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

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

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

8 years agoRemove stencil settings param from stencilPath()
csmartdalton [Fri, 12 Aug 2016 22:11:51 +0000 (15:11 -0700)]
Remove stencil settings param from stencilPath()

stencilPath() picks its own user stencil settings. This argument
should not be there.

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

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

8 years ago[SVGDom] SVGPong sample app
fmalita [Fri, 12 Aug 2016 20:17:11 +0000 (13:17 -0700)]
[SVGDom] SVGPong sample app

Shows off SVG dom-based animations.

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

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

8 years agoRe-adding analytical GeoProc for rectangles
dvonbeck [Fri, 12 Aug 2016 19:50:36 +0000 (12:50 -0700)]
Re-adding analytical GeoProc for rectangles

Adapted old GeoProc because its knowledge of the geometry is helpful for computing the distance vector: https://skia.googlesource.com/skia/+/6006d0f8c4f19d19a12de20826f731f52ac822a7/src/gpu/GrAARectRenderer.cpp

Added distance vector capabilities to this GeoProc.

Modified GrDrawContext to used this GeoProc when drawing anti-aliased vectors with a shader that requires distance vectors.

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

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

8 years agoRevert of Exact Ganesh Gradients for Special Cases (patchset #9 id:160001 of https...
halcanary [Fri, 12 Aug 2016 19:35:51 +0000 (12:35 -0700)]
Revert of Exact Ganesh Gradients for Special Cases (patchset #9 id:160001 of https://codereview.chromium.org/2223203003/ )

Reason for revert:
specualtive revert to fix valgrind bot
Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind

Original issue's description:
> Remove generalized gradient code
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003
>
> Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d
> Committed: https://skia.googlesource.com/skia/+/99818d69372d29a139935cfe5c379e491432931b
> Committed: https://skia.googlesource.com/skia/+/2a4959181fc98d5d7ee862e7cd1c7993b3343be6

TBR=bsalomon@google.com,fmenozzi@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/2245533005

8 years ago[SVGDom] <polygon> & <polyline> support
fmalita [Fri, 12 Aug 2016 19:15:33 +0000 (12:15 -0700)]
[SVGDom] <polygon> & <polyline> support

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

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

8 years agoAllow vulkan to upload data to testing textures with optimal layouts
egdaniel [Fri, 12 Aug 2016 18:58:53 +0000 (11:58 -0700)]
Allow vulkan to upload data to testing textures with optimal layouts

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

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

8 years agoAdded PointLights to SkLights::Light
vjiaoblack [Fri, 12 Aug 2016 18:38:47 +0000 (11:38 -0700)]
Added PointLights to SkLights::Light

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

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

8 years agoAdd Android Shadow sample
jvanverth [Fri, 12 Aug 2016 17:40:38 +0000 (10:40 -0700)]
Add Android Shadow sample

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

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

8 years agoAdd extracting GM comments to the housekeeper bot.
jcgregorio [Fri, 12 Aug 2016 15:50:29 +0000 (08:50 -0700)]
Add extracting GM comments to the housekeeper bot.

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

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

8 years agoOptimized implementation of quickReject()
msarett [Fri, 12 Aug 2016 15:29:08 +0000 (08:29 -0700)]
Optimized implementation of quickReject()

Impl Overview
(1) Keep the device clip bounds up to date.  This
    requires minimal additional work in a few places
    throughout canvas.
(2) Keep track of if the ctm isScaleTranslate.  Yes,
    there's a function that does this, but it's slow
    to call.
(3) Perform the src->device transform in quick reject,
    then check intersection/nan.

Other Notes:
(1) NaN and intersection checks are performed
    simultaneously.
(2) We no longer quick reject infinity.
(3) Affine and perspective are both handled in the slow
    case.
(4) SkRasterClip::isEmpty() is handled by the intersection
    check.

Performance on Nexus 6P:
93.2ms -> 59.8ms

Overall Android Jank Tests Performance Impact:
Should gain us a ms or two on some tests.

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

Committed: https://skia.googlesource.com/skia/+/d22a817ff57986407facd16af36320fc86ce02da
Review-Url: https://codereview.chromium.org/2225393002

8 years agoSkPDF: Subset Type3 (fallback) font
halcanary [Fri, 12 Aug 2016 14:59:38 +0000 (07:59 -0700)]
SkPDF: Subset Type3 (fallback) font

Motivation: significant file-size reduction.

Also: SkPDFFont::subsetFont() returns a sk_sp<SkPDFObject>
rather than a SkPDFFont*.

SkPDFType3Font constructor no longer populates font info;
relies on subsetting.

SkPDFFont::Create is easier to read

Also: SkPDFType3Font are scaled by emSize rather than 1000.

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

Committed: https://skia.googlesource.com/skia/+/88b138da99328b04cae9a8ee19c3882b8847a550
Review-Url: https://codereview.chromium.org/2231483002

8 years agoTurn on SVGs for all Test bots
rmistry [Fri, 12 Aug 2016 14:25:53 +0000 (07:25 -0700)]
Turn on SVGs for all Test bots

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

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

8 years agoRemove generalized gradient code
fmenozzi [Fri, 12 Aug 2016 13:33:52 +0000 (06:33 -0700)]
Remove generalized gradient code

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

Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d
Committed: https://skia.googlesource.com/skia/+/99818d69372d29a139935cfe5c379e491432931b
Review-Url: https://codereview.chromium.org/2223203003

8 years agoCreate gradient fuzzers
kjlubick [Fri, 12 Aug 2016 13:26:03 +0000 (06:26 -0700)]
Create gradient fuzzers

This would have caught the bug patched by https://codereview.chromium.org/2234663002

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

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

8 years agoRevert of Optimized implementation of quickReject() (patchset #12 id:260001 of https...
mtklein [Fri, 12 Aug 2016 09:22:33 +0000 (02:22 -0700)]
Revert of Optimized implementation of quickReject() (patchset #12 id:260001 of https://codereview.chromium.org/2225393002/ )

Reason for revert:
New assert triggering in the Chrome roll,
https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/208750/steps/webkit_unit_tests%20%28with%20patch%29%20on%20Ubuntu-12.04/logs/FrameThrottlingTest.SynchronousLayoutInAnimationFrameCallback

and breaks the SKNX_NO_SIMD bot,
https://codereview.chromium.org/2236363004

Original issue's description:
> Optimized implementation of quickReject()
>
> Impl Overview
> (1) Keep the device clip bounds up to date.  This
>     requires minimal additional work in a few places
>     throughout canvas.
> (2) Keep track of if the ctm isScaleTranslate.  Yes,
>     there's a function that does this, but it's slow
>     to call.
> (3) Perform the src->device transform in quick reject,
>     then check intersection/nan.
>
> Other Notes:
> (1) NaN and intersection checks are performed
>     simultaneously.
> (2) We no longer quick reject infinity.
> (3) Affine and perspective are both handled in the slow
>     case.
> (4) SkRasterClip::isEmpty() is handled by the intersection
>     check.
>
> Performance on Nexus 6P:
> 93.2ms -> 59.8ms
>
> Overall Android Jank Tests Performance Impact:
> Should gain us a ms or two on some tests.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225393002
>
> Committed: https://skia.googlesource.com/skia/+/d22a817ff57986407facd16af36320fc86ce02da

TBR=reed@google.com,herb@google.com,msarett@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/2231393003

8 years agoRevert of Exact Ganesh Gradients for Special Cases (patchset #8 id:140001 of https...
halcanary [Fri, 12 Aug 2016 01:07:37 +0000 (18:07 -0700)]
Revert of Exact Ganesh Gradients for Special Cases (patchset #8 id:140001 of https://codereview.chromium.org/2223203003/ )

Reason for revert:
Chrome iOS build break
https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/50777/steps/compile/logs/stdio
error: unused function 'close_to_one_half'

Original issue's description:
> Remove generalized gradient code
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003
>
> Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d
> Committed: https://skia.googlesource.com/skia/+/99818d69372d29a139935cfe5c379e491432931b

TBR=bsalomon@google.com,fmenozzi@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/2241483003

8 years agoRevert of Fix 4444 on Vulkan devices who don't support RGBA_4444 (patchset #4 id...
egdaniel [Thu, 11 Aug 2016 23:17:39 +0000 (16:17 -0700)]
Revert of Fix 4444 on Vulkan devices who don't support RGBA_4444 (patchset #4 id:60001 of https://codereview.chromium.org/2238563002/ )

Reason for revert:
test failing on some gpus

Original issue's description:
> Fix 4444 on Vulkan devices who don't support RGBA_4444
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2238563002
>
> Committed: https://skia.googlesource.com/skia/+/637b3bf2b9c10398d823bd015a722842d4f2f971

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

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

8 years agoOnly open X Display once for all test GLX contexts
bsalomon [Thu, 11 Aug 2016 21:58:34 +0000 (14:58 -0700)]
Only open X Display once for all test GLX contexts

Saves about 4 seconds of runtime for 'dm --src gm --config gpu' on my system.

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

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

8 years agoOptimized implementation of quickReject()
msarett [Thu, 11 Aug 2016 21:40:03 +0000 (14:40 -0700)]
Optimized implementation of quickReject()

Impl Overview
(1) Keep the device clip bounds up to date.  This
    requires minimal additional work in a few places
    throughout canvas.
(2) Keep track of if the ctm isScaleTranslate.  Yes,
    there's a function that does this, but it's slow
    to call.
(3) Perform the src->device transform in quick reject,
    then check intersection/nan.

Other Notes:
(1) NaN and intersection checks are performed
    simultaneously.
(2) We no longer quick reject infinity.
(3) Affine and perspective are both handled in the slow
    case.
(4) SkRasterClip::isEmpty() is handled by the intersection
    check.

Performance on Nexus 6P:
93.2ms -> 59.8ms

Overall Android Jank Tests Performance Impact:
Should gain us a ms or two on some tests.

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

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

8 years agoLightingShader and NormalSource comment and style fixes
dvonbeck [Thu, 11 Aug 2016 21:17:59 +0000 (14:17 -0700)]
LightingShader and NormalSource comment and style fixes

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

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

8 years agoRevert of SkPDF: Subset Type3 (fallback) font (patchset #8 id:200001 of https://coder...
halcanary [Thu, 11 Aug 2016 20:59:18 +0000 (13:59 -0700)]
Revert of SkPDF: Subset Type3 (fallback) font (patchset #8 id:200001 of https://codereview.chromium.org/2231483002/ )

Reason for revert:
internal failing

Original issue's description:
> SkPDF: Subset Type3 (fallback) font
>
> Motivation: significant file-size reduction.
>
> Also: SkPDFFont::subsetFont() returns a sk_sp<SkPDFObject>
> rather than a SkPDFFont*.
>
> SkPDFType3Font constructor no longer populates font info;
> relies on subsetting.
>
> SkPDFFont::Create is easier to read
>
> Also: SkPDFType3Font are scaled by emSize rather than 1000.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231483002
>
> Committed: https://skia.googlesource.com/skia/+/88b138da99328b04cae9a8ee19c3882b8847a550

TBR=bungeman@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/2232283003

8 years agoFix 4444 on Vulkan devices who don't support RGBA_4444
egdaniel [Thu, 11 Aug 2016 20:44:23 +0000 (13:44 -0700)]
Fix 4444 on Vulkan devices who don't support RGBA_4444

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

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

8 years agoUse SVGs CIPD package and use SVG as a DM source.
rmistry [Thu, 11 Aug 2016 19:36:58 +0000 (12:36 -0700)]
Use SVGs CIPD package and use SVG as a DM source.

Currently only turned on for one bot. May turn it on for more after more conversations.

BUG=skia:5628

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

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

8 years agoRemove generalized gradient code
fmenozzi [Thu, 11 Aug 2016 19:32:10 +0000 (12:32 -0700)]
Remove generalized gradient code

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

Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d
Review-Url: https://codereview.chromium.org/2223203003

8 years agoSkPDF: Subset Type3 (fallback) font
halcanary [Thu, 11 Aug 2016 19:25:09 +0000 (12:25 -0700)]
SkPDF: Subset Type3 (fallback) font

Motivation: significant file-size reduction.

Also: SkPDFFont::subsetFont() returns a sk_sp<SkPDFObject>
rather than a SkPDFFont*.

SkPDFType3Font constructor no longer populates font info;
relies on subsetting.

SkPDFFont::Create is easier to read

Also: SkPDFType3Font are scaled by emSize rather than 1000.

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

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

8 years agoMove GrAtlasTextContext to GrDrawingManager, so we only have one.
brianosman [Thu, 11 Aug 2016 19:17:31 +0000 (12:17 -0700)]
Move GrAtlasTextContext to GrDrawingManager, so we only have one.

Ultimately, avoids wasteful redundant computation and storage of distance
field fake-gamma tables.

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

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

8 years agostart working on tiger again
caryclark [Thu, 11 Aug 2016 18:59:48 +0000 (11:59 -0700)]
start working on tiger again

The tiger tests are a suite under development
that exercise many coincident edge cases.

This fixes the case when a duplicate point is not
ignored when the coincident span references the
primary point.

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

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

8 years agoAvoid creating full screen clear batches when there is already one in the queue.
bsalomon [Thu, 11 Aug 2016 18:25:33 +0000 (11:25 -0700)]
Avoid creating full screen clear batches when there is already one in the queue.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237633003

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

8 years agoDelete quickRejectY()
msarett [Thu, 11 Aug 2016 17:31:49 +0000 (10:31 -0700)]
Delete quickRejectY()

This is the first step in a refactor of quickReject().

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

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

8 years ago[SVGDom] Add more presentation attributes.
fmalita [Thu, 11 Aug 2016 16:16:29 +0000 (09:16 -0700)]
[SVGDom] Add more presentation attributes.

Implement proper presentation attribute inheritance, and add
support for

* fill-opacity
* stroke-linecap
* stroke-linejoin
* stroke-opacity
* stroke-width

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

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

8 years agoImprovements to build_command_buffer.py
bsalomon [Thu, 11 Aug 2016 15:25:41 +0000 (08:25 -0700)]
Improvements to build_command_buffer.py

Allows a shortcut, -t, for --chrome-build-type and clarifies meaning of the value in help.

Removes --fetch. This used to work with gyp builds but since it doesn't run gn it currently fails to build after fetching the src. Also, it wasn't being used.

Adds --no-hooks. Like --no-sync it but also doesn't run gclient runhooks.

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

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

8 years agoAlways give simple circular rrects a shot at being directly blurred on the GPU
robertphillips [Thu, 11 Aug 2016 15:24:41 +0000 (08:24 -0700)]
Always give simple circular rrects a shot at being directly blurred on the GPU

I believe we want to do this but split it out of https://codereview.chromium.org/2201133002/ (Implement GPU occluded blur mask filter) b.c. it has its own perf implications and changes several GMs on its own.

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

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

8 years agoFix crash in viewer on certain android devices
egdaniel [Thu, 11 Aug 2016 15:15:12 +0000 (08:15 -0700)]
Fix crash in viewer on certain android devices

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

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

8 years agoGN: take over some exisiting bots
mtklein [Thu, 11 Aug 2016 14:51:53 +0000 (07:51 -0700)]
GN: take over some exisiting bots

As an experiment, instead of replacing these with -GN twins, take
them over in-place.  This should take over:

  -FAST
  -SKFOO

CQ_INCLUDE_TRYBOTS=master.client.skia:Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot

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

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

8 years agoInline fast path for GrPaint::isConstantBlendedColor when no color FPs and src-over...
bsalomon [Thu, 11 Aug 2016 14:39:33 +0000 (07:39 -0700)]
Inline fast path for GrPaint::isConstantBlendedColor when no color FPs and src-over blend.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2236423002

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

8 years agoSkLiteDL: turn vtable sideways
mtklein [Thu, 11 Aug 2016 14:08:28 +0000 (07:08 -0700)]
SkLiteDL: turn vtable sideways

Instead of using virtuals for polymorphism, store each polymorphic operation
in its own array of function pointers.  This removes an indirection when calling
the function, and lets us use nullptr as a signal to skip the call entirely.

Unfortunately (as the old code is rather simpler) this makes an unambiguous speed improvement.

Before:
curr/maxrss loops min median mean max stddev samples config bench
  21/26  MB 2 44.6µs 46.4µs 48.3µs 274µs 13% 51724 nonrendering desk_nytimes.skp
  23/26  MB 11 11.4µs 11.9µs 12.4µs 75.1µs 15% 36716 nonrendering keymobi_nytimes_com_.skp

After:
  19/26  MB 4 40.4µs 41.6µs 42.5µs 197µs 10% 29379 nonrendering desk_nytimes.skp
  20/26  MB 14 10.5µs 10.7µs 11.2µs 59.5µs 13% 31971 nonrendering keymobi_nytimes_com_.skp

Broader comparison:
               keymobi_linkedin.skp 1.76us -> 1.77us 1x
keymobi_bing_com_search_q_sloth.skp 5.09us -> 5.05us 0.99x
               keymobi_digg_com.skp 17.4us -> 17.3us 0.99x
           keymobi_theverge_com.skp 3.37us -> 3.34us 0.99x
top25desk_mail_google_com_mail_.skp 30.8us -> 30.4us 0.99x
                     tabl_gmail.skp 3.44us -> 3.38us 0.98x
    top25desk_wikipedia__1_tab_.skp  100us -> 97.7us 0.98x
keymobi_cnn_com_2012_10_03_poli.skp 52.9us -> 51.7us 0.98x
                desk_chalkboard.skp  107us ->  104us 0.97x
             desk_css3gradients.skp 17.8us -> 17.3us 0.97x
keymobi_androidpolice_com_2012_.skp 42.3us -> 41.1us 0.97x
                desk_googlehome.skp 1.94us -> 1.88us 0.97x
               keymobi_mlb_com_.skp 5.38us -> 5.18us 0.96x
            top25desk_pinterest.skp 92.1us -> 88.5us 0.96x
keymobi_iphone_capitolvolkswage.skp 15.1us -> 14.5us 0.96x
         keymobi_techcrunch_com.skp 9.45us -> 9.05us 0.96x
                      desk_espn.skp 31.3us ->   30us 0.96x
          keymobi_slashdot_org_.skp 8.72us -> 8.34us 0.96x
                 desk_tiger8svg.skp 30.6us -> 29.2us 0.96x
                keymobi_blogger.skp 4.09us -> 3.91us 0.95x
keymobi_baidu_com_s_wd_barack_o.skp 11.9us -> 11.3us 0.95x
       keymobi_cuteoverload_com.skp 54.2us -> 51.6us 0.95x
        keymobi_deviantart_com_.skp 17.2us -> 16.4us 0.95x
                    desk_mapsvg.skp  163ns ->  155ns 0.95x
              keymobi_pinterest.skp 6.97us -> 6.62us 0.95x
      top25desk_games_yahoo_com.skp 94.1us -> 89.3us 0.95x
 top25desk_google_com_calendar_.skp   18us ->   17us 0.95x
keymobi_google_co_uk_search_hl_.skp 11.4us -> 10.8us 0.95x
                    tabl_pravda.skp 38.5us -> 36.4us 0.94x
               desk_gmailthread.skp   19us -> 17.9us 0.94x
keymobi_reddit_com_r_programmin.skp 76.1us -> 71.7us 0.94x
             top25desk_linkedin.skp   20us -> 18.8us 0.94x
               tabl_gamedeksiam.skp  118us ->  112us 0.94x
         keymobi_boingboing_net.skp 20.4us -> 19.1us 0.93x
top25desk_google_com__hl_en_q_b.skp 17.6us -> 16.4us 0.93x
keymobi_amazon_com_gp_aw_s_ref_.skp 12.5us -> 11.6us 0.93x
            keymobi_sfgate_com_.skp 16.6us -> 15.5us 0.93x
keymobi_booking_com_searchresul.skp 16.2us -> 15.1us 0.93x
                      tabl_digg.skp 28.8us -> 26.8us 0.93x
                   tabl_mozilla.skp 80.4us -> 74.6us 0.93x
                   desk_wowwiki.skp 39.2us -> 36.4us 0.93x
          top25desk_youtube_com.skp   42us -> 38.9us 0.93x
             top25desk_facebook.skp 23.7us ->   22us 0.93x
              top25desk_blogger.skp 38.2us -> 35.4us 0.93x
keymobi_online_wsj_com_home_pag.skp 12.8us -> 11.9us 0.93x
            top25desk_wordpress.skp 28.9us -> 26.8us 0.93x
    top25desk_answers_yahoo_com.skp 37.2us -> 34.4us 0.93x
keymobi_plus_google_com_app_bas.skp 9.56us -> 8.85us 0.93x
              keymobi_wordpress.skp 16.1us -> 14.9us 0.92x
keymobi_mobile_news_sandbox_goo.skp 27.1us -> 24.9us 0.92x
       top25desk_techcrunch_com.skp 31.1us -> 28.6us 0.92x
      keymobi_worldjournal_com_.skp 50.7us -> 46.5us 0.92x
keymobi_theverge_com_2012_10_28.skp 26.2us ->   24us 0.92x
            desk_jsfiddlebigcar.skp 1.73us -> 1.59us 0.92x
          top25desk_weather_com.skp 31.3us -> 28.7us 0.92x
top25desk_google_com_search_q_c.skp 48.2us -> 44.1us 0.92x
              top25desk_twitter.skp 27.8us -> 25.5us 0.92x
              tabl_worldjournal.skp 29.3us -> 26.8us 0.91x
                   desk_nytimes.skp   46us ->   42us 0.91x
top25desk_docs___1_open_documen.skp 6.04us -> 5.51us 0.91x
      keymobi_wikipedia__1_tab_.skp 59.7us -> 54.4us 0.91x
              desk_unicodetable.skp 1.12ms -> 1.02ms 0.91x
             top25desk_ebay_com.skp 17.8us -> 16.2us 0.91x
keymobi_ftw_usatoday_com_2014_0.skp 26.8us -> 24.3us 0.91x
    top25desk_sports_yahoo_com_.skp 49.9us -> 45.3us 0.91x
                keymobi_cnn_com.skp 9.94us -> 9.03us 0.91x
keymobi_m_youtube_com_watch_v_9.skp 13.4us -> 12.2us 0.91x
           top25desk_amazon_com.skp 26.6us -> 24.1us 0.91x
         keymobi_news_yahoo_com.skp 17.5us -> 15.8us 0.9x
keymobi_wowwiki_com_world_of_wa.skp 11.2us -> 10.2us 0.9x
top25desk_plus_google_com_11003.skp 93.5us -> 84.4us 0.9x
                    desk_carsvg.skp 53.5us -> 48.2us 0.9x
       top25desk_news_yahoo_com.skp 44.7us -> 40.3us 0.9x
keymobi_wikipedia__1_tab____del.skp 59.4us -> 53.4us 0.9x
         desk_googlespreadsheet.skp   66us -> 59.2us 0.9x
keymobi_answers_yahoo_com_quest.skp 30.2us ->   27us 0.89x
             desk_ugamsolutions.skp   13us -> 11.6us 0.89x
keymobi_shop_mobileweb_ebay_com.skp 6.96us -> 6.21us 0.89x
           keymobi_nytimes_com_.skp 12.1us -> 10.8us 0.89x
                 keymobi_gsp_ro.skp 5.54us -> 4.92us 0.89x
          top25desk_booking_com.skp 54.9us -> 48.6us 0.89x
                 top25desk_espn.skp   37us -> 32.6us 0.88x
keymobi_facebook_com_barackobam.skp 23.3us -> 20.4us 0.88x

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

Committed: https://skia.googlesource.com/skia/+/ac243914af957a806d842318a43dddaf5f941dc3

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng

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

8 years agoClean up Xlib viewer
jvanverth [Thu, 11 Aug 2016 14:03:04 +0000 (07:03 -0700)]
Clean up Xlib viewer
* Make event handling closer to GLFW's
* Fix Vulkan refreshing

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

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

8 years agofix memory leak, remake Imageshader to use sk_sp
reed [Thu, 11 Aug 2016 13:42:26 +0000 (06:42 -0700)]
fix memory leak, remake Imageshader to use sk_sp

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

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

8 years agoadd legacy flag
reed [Thu, 11 Aug 2016 12:21:41 +0000 (05:21 -0700)]
add legacy flag

needed only so long as legacy picture-ptr-factory is being used

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

TBR=
NOTRY=True

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

8 years agoadd legacy flag for google3
reed [Thu, 11 Aug 2016 12:04:51 +0000 (05:04 -0700)]
add legacy flag for google3

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

TBR=

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

8 years agoRemove a useless call: Calling lineVec.dot(qPts[0])
jcgregorio [Thu, 11 Aug 2016 11:43:39 +0000 (04:43 -0700)]
Remove a useless call: Calling lineVec.dot(qPts[0])

This is from https://github.com/google/skia/pull/9, an external pull
request from https://github.com/sylvestre.

BUG=skia:
R=bsalomon
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234563003

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

8 years agoRevert of SkLiteDL: turn vtable sideways (patchset #7 id:120001 of https://codereview...
reed [Thu, 11 Aug 2016 10:56:12 +0000 (03:56 -0700)]
Revert of SkLiteDL: turn vtable sideways (patchset #7 id:120001 of https://codereview.chromium.org/2231103002/ )

Reason for revert:
speculative revert to fix DEPS roll

Original issue's description:
> SkLiteDL: turn vtable sideways
>
> Instead of using virtuals for polymorphism, store each polymorphic operation
> in its own array of function pointers.  This removes an indirection when calling
> the function, and lets us use nullptr as a signal to skip the call entirely.
>
> Unfortunately (as the old code is rather simpler) this makes an unambiguous speed improvement.
>
> Before:
> curr/maxrss loops min median mean max stddev samples config bench
>   21/26  MB 2 44.6µs 46.4µs 48.3µs 274µs 13% 51724 nonrendering desk_nytimes.skp
>   23/26  MB 11 11.4µs 11.9µs 12.4µs 75.1µs 15% 36716 nonrendering keymobi_nytimes_com_.skp
>
> After:
>   19/26  MB 4 40.4µs 41.6µs 42.5µs 197µs 10% 29379 nonrendering desk_nytimes.skp
>   20/26  MB 14 10.5µs 10.7µs 11.2µs 59.5µs 13% 31971 nonrendering keymobi_nytimes_com_.skp
>
> Broader comparison:
>                keymobi_linkedin.skp 1.76us -> 1.77us 1x
> keymobi_bing_com_search_q_sloth.skp 5.09us -> 5.05us 0.99x
>                keymobi_digg_com.skp 17.4us -> 17.3us 0.99x
>            keymobi_theverge_com.skp 3.37us -> 3.34us 0.99x
> top25desk_mail_google_com_mail_.skp 30.8us -> 30.4us 0.99x
>                      tabl_gmail.skp 3.44us -> 3.38us 0.98x
>     top25desk_wikipedia__1_tab_.skp  100us -> 97.7us 0.98x
> keymobi_cnn_com_2012_10_03_poli.skp 52.9us -> 51.7us 0.98x
>                 desk_chalkboard.skp  107us ->  104us 0.97x
>              desk_css3gradients.skp 17.8us -> 17.3us 0.97x
> keymobi_androidpolice_com_2012_.skp 42.3us -> 41.1us 0.97x
>                 desk_googlehome.skp 1.94us -> 1.88us 0.97x
>                keymobi_mlb_com_.skp 5.38us -> 5.18us 0.96x
>             top25desk_pinterest.skp 92.1us -> 88.5us 0.96x
> keymobi_iphone_capitolvolkswage.skp 15.1us -> 14.5us 0.96x
>          keymobi_techcrunch_com.skp 9.45us -> 9.05us 0.96x
>                       desk_espn.skp 31.3us ->   30us 0.96x
>           keymobi_slashdot_org_.skp 8.72us -> 8.34us 0.96x
>                  desk_tiger8svg.skp 30.6us -> 29.2us 0.96x
>                 keymobi_blogger.skp 4.09us -> 3.91us 0.95x
> keymobi_baidu_com_s_wd_barack_o.skp 11.9us -> 11.3us 0.95x
>        keymobi_cuteoverload_com.skp 54.2us -> 51.6us 0.95x
>         keymobi_deviantart_com_.skp 17.2us -> 16.4us 0.95x
>                     desk_mapsvg.skp  163ns ->  155ns 0.95x
>               keymobi_pinterest.skp 6.97us -> 6.62us 0.95x
>       top25desk_games_yahoo_com.skp 94.1us -> 89.3us 0.95x
>  top25desk_google_com_calendar_.skp   18us ->   17us 0.95x
> keymobi_google_co_uk_search_hl_.skp 11.4us -> 10.8us 0.95x
>                     tabl_pravda.skp 38.5us -> 36.4us 0.94x
>                desk_gmailthread.skp   19us -> 17.9us 0.94x
> keymobi_reddit_com_r_programmin.skp 76.1us -> 71.7us 0.94x
>              top25desk_linkedin.skp   20us -> 18.8us 0.94x
>                tabl_gamedeksiam.skp  118us ->  112us 0.94x
>          keymobi_boingboing_net.skp 20.4us -> 19.1us 0.93x
> top25desk_google_com__hl_en_q_b.skp 17.6us -> 16.4us 0.93x
> keymobi_amazon_com_gp_aw_s_ref_.skp 12.5us -> 11.6us 0.93x
>             keymobi_sfgate_com_.skp 16.6us -> 15.5us 0.93x
> keymobi_booking_com_searchresul.skp 16.2us -> 15.1us 0.93x
>                       tabl_digg.skp 28.8us -> 26.8us 0.93x
>                    tabl_mozilla.skp 80.4us -> 74.6us 0.93x
>                    desk_wowwiki.skp 39.2us -> 36.4us 0.93x
>           top25desk_youtube_com.skp   42us -> 38.9us 0.93x
>              top25desk_facebook.skp 23.7us ->   22us 0.93x
>               top25desk_blogger.skp 38.2us -> 35.4us 0.93x
> keymobi_online_wsj_com_home_pag.skp 12.8us -> 11.9us 0.93x
>             top25desk_wordpress.skp 28.9us -> 26.8us 0.93x
>     top25desk_answers_yahoo_com.skp 37.2us -> 34.4us 0.93x
> keymobi_plus_google_com_app_bas.skp 9.56us -> 8.85us 0.93x
>               keymobi_wordpress.skp 16.1us -> 14.9us 0.92x
> keymobi_mobile_news_sandbox_goo.skp 27.1us -> 24.9us 0.92x
>        top25desk_techcrunch_com.skp 31.1us -> 28.6us 0.92x
>       keymobi_worldjournal_com_.skp 50.7us -> 46.5us 0.92x
> keymobi_theverge_com_2012_10_28.skp 26.2us ->   24us 0.92x
>             desk_jsfiddlebigcar.skp 1.73us -> 1.59us 0.92x
>           top25desk_weather_com.skp 31.3us -> 28.7us 0.92x
> top25desk_google_com_search_q_c.skp 48.2us -> 44.1us 0.92x
>               top25desk_twitter.skp 27.8us -> 25.5us 0.92x
>               tabl_worldjournal.skp 29.3us -> 26.8us 0.91x
>                    desk_nytimes.skp   46us ->   42us 0.91x
> top25desk_docs___1_open_documen.skp 6.04us -> 5.51us 0.91x
>       keymobi_wikipedia__1_tab_.skp 59.7us -> 54.4us 0.91x
>               desk_unicodetable.skp 1.12ms -> 1.02ms 0.91x
>              top25desk_ebay_com.skp 17.8us -> 16.2us 0.91x
> keymobi_ftw_usatoday_com_2014_0.skp 26.8us -> 24.3us 0.91x
>     top25desk_sports_yahoo_com_.skp 49.9us -> 45.3us 0.91x
>                 keymobi_cnn_com.skp 9.94us -> 9.03us 0.91x
> keymobi_m_youtube_com_watch_v_9.skp 13.4us -> 12.2us 0.91x
>            top25desk_amazon_com.skp 26.6us -> 24.1us 0.91x
>          keymobi_news_yahoo_com.skp 17.5us -> 15.8us 0.9x
> keymobi_wowwiki_com_world_of_wa.skp 11.2us -> 10.2us 0.9x
> top25desk_plus_google_com_11003.skp 93.5us -> 84.4us 0.9x
>                     desk_carsvg.skp 53.5us -> 48.2us 0.9x
>        top25desk_news_yahoo_com.skp 44.7us -> 40.3us 0.9x
> keymobi_wikipedia__1_tab____del.skp 59.4us -> 53.4us 0.9x
>          desk_googlespreadsheet.skp   66us -> 59.2us 0.9x
> keymobi_answers_yahoo_com_quest.skp 30.2us ->   27us 0.89x
>              desk_ugamsolutions.skp   13us -> 11.6us 0.89x
> keymobi_shop_mobileweb_ebay_com.skp 6.96us -> 6.21us 0.89x
>            keymobi_nytimes_com_.skp 12.1us -> 10.8us 0.89x
>                  keymobi_gsp_ro.skp 5.54us -> 4.92us 0.89x
>           top25desk_booking_com.skp 54.9us -> 48.6us 0.89x
>                  top25desk_espn.skp   37us -> 32.6us 0.88x
> keymobi_facebook_com_barackobam.skp 23.3us -> 20.4us 0.88x
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231103002
>
> Committed: https://skia.googlesource.com/skia/+/ac243914af957a806d842318a43dddaf5f941dc3

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

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

8 years agoDeserialize pictures with custom image-deserializer
reed [Thu, 11 Aug 2016 10:55:15 +0000 (03:55 -0700)]
Deserialize pictures with custom image-deserializer

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

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

8 years ago[SVGDom] Add rx/ry support for <rect>
fmalita [Thu, 11 Aug 2016 00:11:29 +0000 (17:11 -0700)]
[SVGDom] Add rx/ry support for <rect>

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

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

8 years agoUpdate VERSION of "svg" asset.
rmistry [Wed, 10 Aug 2016 23:36:15 +0000 (16:36 -0700)]
Update VERSION of "svg" asset.

Removing the SVG due to the reason in https://docs.google.com/document/d/1kYRvUxZTnm1tI_0bTU0BX9jqSSTqPUhGXJVcD3Rcg2c/edit?disco=AAAAAqQSPSc

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

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

8 years agoAdd constructor to DashInfo to enable initializer lists
hstern [Wed, 10 Aug 2016 23:36:11 +0000 (16:36 -0700)]
Add constructor to DashInfo to enable initializer lists

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

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

8 years agoAdd better bounds checks for getTime to fix perf debug assert below
hstern [Wed, 10 Aug 2016 23:31:10 +0000 (16:31 -0700)]
Add better bounds checks for getTime to fix perf debug assert below

Due to rounding, we request a length slightly larger than the total
length in MeasureBench. This will be fixed in a following CL and there
will be another CL adding unit tests for bounds checking and other
problems.

Revert "Revert  386ba54 and  4ab47e0 : perf debug assert."

This reverts commit 69aaa5a49a10454d573cbd8c5d980029d78ae459.

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

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

8 years agoAdd a full clear method to GrDrawTarget.
bsalomon [Wed, 10 Aug 2016 23:31:05 +0000 (16:31 -0700)]
Add a full clear method to GrDrawTarget.

This will allow us to avoid ClearBatch creation for successive clears.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233043002

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

8 years agoAdd a SkTLazy copy assignment operator
fmalita [Wed, 10 Aug 2016 23:30:37 +0000 (16:30 -0700)]
Add a SkTLazy copy assignment operator

Also scrub for NULL, etc.

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

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

8 years agoSkLiteDL: turn vtable sideways
mtklein [Wed, 10 Aug 2016 23:30:33 +0000 (16:30 -0700)]
SkLiteDL: turn vtable sideways

Instead of using virtuals for polymorphism, store each polymorphic operation
in its own array of function pointers.  This removes an indirection when calling
the function, and lets us use nullptr as a signal to skip the call entirely.

Unfortunately (as the old code is rather simpler) this makes an unambiguous speed improvement.

Before:
curr/maxrss loops min median mean max stddev samples config bench
  21/26  MB 2 44.6µs 46.4µs 48.3µs 274µs 13% 51724 nonrendering desk_nytimes.skp
  23/26  MB 11 11.4µs 11.9µs 12.4µs 75.1µs 15% 36716 nonrendering keymobi_nytimes_com_.skp

After:
  19/26  MB 4 40.4µs 41.6µs 42.5µs 197µs 10% 29379 nonrendering desk_nytimes.skp
  20/26  MB 14 10.5µs 10.7µs 11.2µs 59.5µs 13% 31971 nonrendering keymobi_nytimes_com_.skp

Broader comparison:
               keymobi_linkedin.skp 1.76us -> 1.77us 1x
keymobi_bing_com_search_q_sloth.skp 5.09us -> 5.05us 0.99x
               keymobi_digg_com.skp 17.4us -> 17.3us 0.99x
           keymobi_theverge_com.skp 3.37us -> 3.34us 0.99x
top25desk_mail_google_com_mail_.skp 30.8us -> 30.4us 0.99x
                     tabl_gmail.skp 3.44us -> 3.38us 0.98x
    top25desk_wikipedia__1_tab_.skp  100us -> 97.7us 0.98x
keymobi_cnn_com_2012_10_03_poli.skp 52.9us -> 51.7us 0.98x
                desk_chalkboard.skp  107us ->  104us 0.97x
             desk_css3gradients.skp 17.8us -> 17.3us 0.97x
keymobi_androidpolice_com_2012_.skp 42.3us -> 41.1us 0.97x
                desk_googlehome.skp 1.94us -> 1.88us 0.97x
               keymobi_mlb_com_.skp 5.38us -> 5.18us 0.96x
            top25desk_pinterest.skp 92.1us -> 88.5us 0.96x
keymobi_iphone_capitolvolkswage.skp 15.1us -> 14.5us 0.96x
         keymobi_techcrunch_com.skp 9.45us -> 9.05us 0.96x
                      desk_espn.skp 31.3us ->   30us 0.96x
          keymobi_slashdot_org_.skp 8.72us -> 8.34us 0.96x
                 desk_tiger8svg.skp 30.6us -> 29.2us 0.96x
                keymobi_blogger.skp 4.09us -> 3.91us 0.95x
keymobi_baidu_com_s_wd_barack_o.skp 11.9us -> 11.3us 0.95x
       keymobi_cuteoverload_com.skp 54.2us -> 51.6us 0.95x
        keymobi_deviantart_com_.skp 17.2us -> 16.4us 0.95x
                    desk_mapsvg.skp  163ns ->  155ns 0.95x
              keymobi_pinterest.skp 6.97us -> 6.62us 0.95x
      top25desk_games_yahoo_com.skp 94.1us -> 89.3us 0.95x
 top25desk_google_com_calendar_.skp   18us ->   17us 0.95x
keymobi_google_co_uk_search_hl_.skp 11.4us -> 10.8us 0.95x
                    tabl_pravda.skp 38.5us -> 36.4us 0.94x
               desk_gmailthread.skp   19us -> 17.9us 0.94x
keymobi_reddit_com_r_programmin.skp 76.1us -> 71.7us 0.94x
             top25desk_linkedin.skp   20us -> 18.8us 0.94x
               tabl_gamedeksiam.skp  118us ->  112us 0.94x
         keymobi_boingboing_net.skp 20.4us -> 19.1us 0.93x
top25desk_google_com__hl_en_q_b.skp 17.6us -> 16.4us 0.93x
keymobi_amazon_com_gp_aw_s_ref_.skp 12.5us -> 11.6us 0.93x
            keymobi_sfgate_com_.skp 16.6us -> 15.5us 0.93x
keymobi_booking_com_searchresul.skp 16.2us -> 15.1us 0.93x
                      tabl_digg.skp 28.8us -> 26.8us 0.93x
                   tabl_mozilla.skp 80.4us -> 74.6us 0.93x
                   desk_wowwiki.skp 39.2us -> 36.4us 0.93x
          top25desk_youtube_com.skp   42us -> 38.9us 0.93x
             top25desk_facebook.skp 23.7us ->   22us 0.93x
              top25desk_blogger.skp 38.2us -> 35.4us 0.93x
keymobi_online_wsj_com_home_pag.skp 12.8us -> 11.9us 0.93x
            top25desk_wordpress.skp 28.9us -> 26.8us 0.93x
    top25desk_answers_yahoo_com.skp 37.2us -> 34.4us 0.93x
keymobi_plus_google_com_app_bas.skp 9.56us -> 8.85us 0.93x
              keymobi_wordpress.skp 16.1us -> 14.9us 0.92x
keymobi_mobile_news_sandbox_goo.skp 27.1us -> 24.9us 0.92x
       top25desk_techcrunch_com.skp 31.1us -> 28.6us 0.92x
      keymobi_worldjournal_com_.skp 50.7us -> 46.5us 0.92x
keymobi_theverge_com_2012_10_28.skp 26.2us ->   24us 0.92x
            desk_jsfiddlebigcar.skp 1.73us -> 1.59us 0.92x
          top25desk_weather_com.skp 31.3us -> 28.7us 0.92x
top25desk_google_com_search_q_c.skp 48.2us -> 44.1us 0.92x
              top25desk_twitter.skp 27.8us -> 25.5us 0.92x
              tabl_worldjournal.skp 29.3us -> 26.8us 0.91x
                   desk_nytimes.skp   46us ->   42us 0.91x
top25desk_docs___1_open_documen.skp 6.04us -> 5.51us 0.91x
      keymobi_wikipedia__1_tab_.skp 59.7us -> 54.4us 0.91x
              desk_unicodetable.skp 1.12ms -> 1.02ms 0.91x
             top25desk_ebay_com.skp 17.8us -> 16.2us 0.91x
keymobi_ftw_usatoday_com_2014_0.skp 26.8us -> 24.3us 0.91x
    top25desk_sports_yahoo_com_.skp 49.9us -> 45.3us 0.91x
                keymobi_cnn_com.skp 9.94us -> 9.03us 0.91x
keymobi_m_youtube_com_watch_v_9.skp 13.4us -> 12.2us 0.91x
           top25desk_amazon_com.skp 26.6us -> 24.1us 0.91x
         keymobi_news_yahoo_com.skp 17.5us -> 15.8us 0.9x
keymobi_wowwiki_com_world_of_wa.skp 11.2us -> 10.2us 0.9x
top25desk_plus_google_com_11003.skp 93.5us -> 84.4us 0.9x
                    desk_carsvg.skp 53.5us -> 48.2us 0.9x
       top25desk_news_yahoo_com.skp 44.7us -> 40.3us 0.9x
keymobi_wikipedia__1_tab____del.skp 59.4us -> 53.4us 0.9x
         desk_googlespreadsheet.skp   66us -> 59.2us 0.9x
keymobi_answers_yahoo_com_quest.skp 30.2us ->   27us 0.89x
             desk_ugamsolutions.skp   13us -> 11.6us 0.89x
keymobi_shop_mobileweb_ebay_com.skp 6.96us -> 6.21us 0.89x
           keymobi_nytimes_com_.skp 12.1us -> 10.8us 0.89x
                 keymobi_gsp_ro.skp 5.54us -> 4.92us 0.89x
          top25desk_booking_com.skp 54.9us -> 48.6us 0.89x
                 top25desk_espn.skp   37us -> 32.6us 0.88x
keymobi_facebook_com_barackobam.skp 23.3us -> 20.4us 0.88x

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

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

8 years ago[SVGDom] Disable verbose parsing messages be default
fmalita [Wed, 10 Aug 2016 23:25:32 +0000 (16:25 -0700)]
[SVGDom] Disable verbose parsing messages be default

Guard with SK_VERBOSE_SVG_PARSING

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

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

8 years agoImplement GPU occluded blur mask filter
robertphillips [Wed, 10 Aug 2016 23:25:25 +0000 (16:25 -0700)]
Implement GPU occluded blur mask filter

Spawned off: https://codereview.chromium.org/2214163003/ (Minor clean up related to blur mask filters)

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

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

8 years agoupdate textblob api to use sk_sp
reed [Wed, 10 Aug 2016 21:16:41 +0000 (14:16 -0700)]
update textblob api to use sk_sp

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

NOTREECHECKS=True

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

8 years agoRevert "Remove generalized gradient code"
fmenozzi [Wed, 10 Aug 2016 20:01:35 +0000 (13:01 -0700)]
Revert "Remove generalized gradient code"

This reverts commit 0c63006b88a16e3418d92852a62771615799839d.

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

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

8 years agoAdd more error printing to know why command buffer lib failed to load.
bsalomon [Wed, 10 Aug 2016 19:26:00 +0000 (12:26 -0700)]
Add more error printing to know why command buffer lib failed to load.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233073002

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

8 years agoIn recording benches, record to and from the same format.
mtklein [Wed, 10 Aug 2016 19:09:34 +0000 (12:09 -0700)]
In recording benches, record to and from the same format.

The recording bench must record some source material into some sort of
display list, and fundamentally cannot separate the timing of the two.

This CL makes it so the source material and display list are of the same type.

So instead of previous:
   --nolite: SkRecord-based picture -> SkRecord-based picture
     --lite: SkRecord-based picture -> threadsafe SkLiteDL

Now this times
   --nolite: SkRecord-based picture -> SkRecord-based picture
     --lite: SkLiteDL -> threadsafe SkLiteDL

This makes it easier to profile SkLiteDL and explore both recording and playback overhead hot spots.

The threadsafety is incidental for the source (and doesn't affect playback speed),
but I think it's handy to keep around on the destination to make a more fair comparison.

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

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

8 years agoCreate blurred RRect mask on GPU (rather than uploading it)
robertphillips [Wed, 10 Aug 2016 19:00:09 +0000 (12:00 -0700)]
Create blurred RRect mask on GPU (rather than uploading it)

This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)

All blurred rrects using the "analytic" path will change slightly with this CL.

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

Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479
Committed: https://skia.googlesource.com/skia/+/94b5c5a41160e0f55e267fc3d830df65736fac50
Review-Url: https://codereview.chromium.org/2222083004

8 years agoRevert 386ba54 and 4ab47e0 : perf debug assert.
halcanary [Wed, 10 Aug 2016 18:40:37 +0000 (11:40 -0700)]
Revert  386ba54 and  4ab47e0 : perf debug assert.

Revert "Refactor SkCurveMeasure to use existing eval code"

This reverts commit 4ab47e087ecfc82f070cbbaef4d9eb562d3fd163.

Revert "Fastpath lines in SkCurveMeasure"

This reverts commit 386ba540612defc7808edc28126b9b8afcf45b89.

TBR=
NOTRY=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233683004

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

8 years agoFastpath lines in SkCurveMeasure
hstern [Wed, 10 Aug 2016 18:12:22 +0000 (11:12 -0700)]
Fastpath lines in SkCurveMeasure

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

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

8 years agoAdd flag for window rectangles to GrRenderTarget
csmartdalton [Wed, 10 Aug 2016 18:09:07 +0000 (11:09 -0700)]
Add flag for window rectangles to GrRenderTarget

Adds a flag to GrRenderTarget that indicates whether it can be used
with window rectangles. Also attempts to clean up some of the mixed
samples API.

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

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

8 years agoRefactor SkCurveMeasure to use existing eval code
hstern [Wed, 10 Aug 2016 17:55:09 +0000 (10:55 -0700)]
Refactor SkCurveMeasure to use existing eval code

- Use quad, cubic, conic eval code from SkGeometry.h
- Implement evaluateDerivativeLength, evaluateDerivative and evaluate switch cases for lines along with the refactor

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

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

8 years agoSkGradientShader.cpp: fix build when SK_SUPPORT_GPU=0
halcanary [Wed, 10 Aug 2016 17:11:35 +0000 (10:11 -0700)]
SkGradientShader.cpp: fix build when SK_SUPPORT_GPU=0

NOTRY=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2235863002

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

8 years agoFix SkDEBUGCODE to accept commas
csmartdalton [Wed, 10 Aug 2016 17:07:57 +0000 (10:07 -0700)]
Fix SkDEBUGCODE to accept commas

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

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

8 years agoRemove no longer existing friend.
bungeman [Wed, 10 Aug 2016 16:23:43 +0000 (09:23 -0700)]
Remove no longer existing friend.

sk_fontmgr_create_default used to exist before SkFontMgr::RefDefault
could do the job better. There are no actual implementations for this
function, so SkFontMgr should no longer be friends with it.

TBR=reed
Removes a deceased friend.

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

8 years agoRemove generalized gradient code
fmenozzi [Wed, 10 Aug 2016 15:57:24 +0000 (08:57 -0700)]
Remove generalized gradient code

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

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

8 years agoPackage Go 1.6.2 in CIPD
jcgregorio [Wed, 10 Aug 2016 15:44:44 +0000 (08:44 -0700)]
Package Go 1.6.2 in CIPD

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

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

8 years agoRevert of Create blurred RRect mask on GPU (rather than uploading it) (patchset ...
robertphillips [Wed, 10 Aug 2016 15:40:35 +0000 (08:40 -0700)]
Revert of Create blurred RRect mask on GPU (rather than uploading it) (patchset #5 id:80001 of https://codereview.chromium.org/2222083004/ )

Reason for revert:
No NoGPU bot on commit queue ?

Original issue's description:
> Create blurred RRect mask on GPU (rather than uploading it)
>
> This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)
>
> All blurred rrects using the "analytic" path will change slightly with this CL.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004
>
> Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479
> Committed: https://skia.googlesource.com/skia/+/94b5c5a41160e0f55e267fc3d830df65736fac50

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

8 years agoconstexpr NaN,+Inf,-Inf
mtklein [Wed, 10 Aug 2016 15:31:42 +0000 (08:31 -0700)]
constexpr NaN,+Inf,-Inf

Reading extern values meant these couldn't be compile-time constants.

math.h has INFINITY, which is macro that is supposed to expand to float +inf.
On MSVC it seems it's natively a double, so we cast just to make sure.

There's nan(const char*) in math.h for NaN too, but I don't trust that
to be compile-time evaluated.  So instead, we keep reinterpreting a bit pattern.

I did try to write

    static constexpr float float_nan() { ... }

and completely failed.  constexpr seems a bit too restrictive in C++11 to make
it work, but Clang kept telling me, you'll be able to do this with C++14.

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

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

8 years agoCheck allignment of sub heap allocation in vulkan
egdaniel [Wed, 10 Aug 2016 15:29:53 +0000 (08:29 -0700)]
Check allignment of sub heap allocation in vulkan

Certain Vulkan devices will return difference alignment requirements for
a given allocation even if using the same heap. Thus we need to check
this alignment as well when deciding which subheap we want to use in our
memory allocation.

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

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

8 years agoAdd time return argument to SkCurveMeasure's getPosTan, rename to getPosTanTime
hstern [Wed, 10 Aug 2016 14:45:31 +0000 (07:45 -0700)]
Add time return argument to SkCurveMeasure's getPosTan, rename to getPosTanTime

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

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