platform/upstream/libSkiaSharp.git
7 years agoadded constant folding & branch elimination to skslc
ethannicholas [Wed, 9 Nov 2016 17:09:26 +0000 (09:09 -0800)]
added constant folding & branch elimination to skslc

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

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

7 years agoremove use of xfermode* in procs
Mike Reed [Wed, 9 Nov 2016 15:38:09 +0000 (10:38 -0500)]
remove use of xfermode* in procs

BUG=skia:

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

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

7 years agoEnable SkImage_pinAsTexture to signal if the operation succeeded.
Derek Sollenberger [Wed, 9 Nov 2016 16:25:13 +0000 (11:25 -0500)]
Enable SkImage_pinAsTexture to signal if the operation succeeded.

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

Change-Id: Id667f385b172e4a56faa9324066f57295af30ef3
Reviewed-on: https://skia-review.googlesource.com/4488
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoFix the meaning of stop_y
liyuqian [Wed, 9 Nov 2016 16:53:39 +0000 (08:53 -0800)]
Fix the meaning of stop_y

stop_y means that we should stop exactly at stop_y, so the last row should be
[stop_y - 1, stop_y], not [stop_y, stop_y + 1].

Somehow this misunderstanding didn't trigger any issue until Chrome exercises
SkAAClip with some websites (e.g.,
http://www.lemonde.fr/elections-americaines/article/2016/11/07/deux-programmes-deux-visions-de-l-amerique_5026444_829254.html).
When we blitter the extra row [stop_y, stop_y + 1], the SkAAClip will return
nullptr by findRow. Later when that nullptr row is used to findX, the crash
happened.

BUG=chromium:662925, chromium:662776
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481703004

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

7 years agoskpbench: simplify adb and reduce number of invocations
csmartdalton [Wed, 9 Nov 2016 16:41:23 +0000 (08:41 -0800)]
skpbench: simplify adb and reduce number of invocations

This change reduces a bit of startup overhead by condensing more bash
into fewer invocations of 'adb shell'.

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

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

7 years agoCheck negative overflow of quickSkFDot6Div
liyuqian [Wed, 9 Nov 2016 15:24:21 +0000 (07:24 -0800)]
Check negative overflow of quickSkFDot6Div

The following fuzz html reveals the bug in chromium content_shell

===html=begins===
<style>
*{min-width:4%;-webkit-border-radius:+256%;}
.CLASS11{text-decoration:rgba(128%,16129%,1%,0.0000000004656612317904879831274006762300773920593144339363789186) dotted blink;vertical-align:124px;-webkit-column-count:2147483655 !important;</style>
<h1 class="CLASS11 CLASS1">
>
B
<button>
<h4 class="CLASS11 CLASS12">
</h4>
<p>
c C
<table>
<caption class="CLASS11">
>
<ruby class="CLASS11 CLASS12">
</ruby>
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA x
===html===ends===

BUG=chromium:662905
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2482863004

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

7 years agoFix assets.py args
Eric Boren [Wed, 9 Nov 2016 14:56:37 +0000 (09:56 -0500)]
Fix assets.py args

BUG=skia:

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

Change-Id: Id2ddbabf8920e59341555f7f4c65a9b1ccabf4d6
Reviewed-on: https://skia-review.googlesource.com/4588
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoMove GrRenderTargetPriv::maxWindowRectangles to GrRenderTargetContextPriv & GrRenderT...
Robert Phillips [Wed, 9 Nov 2016 13:54:35 +0000 (08:54 -0500)]
Move GrRenderTargetPriv::maxWindowRectangles to GrRenderTargetContextPriv & GrRenderTargetProxy

This removes a reason to call accessRenderTarget on the GrRenderTargetContext

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

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

7 years agoFix fuzzer bug
Robert Phillips [Wed, 9 Nov 2016 13:03:21 +0000 (08:03 -0500)]
Fix fuzzer bug

BUG=663687

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

Change-Id: I9e914a1134b8049cf62bb36d4a6145eb8487d4e6
Reviewed-on: https://skia-review.googlesource.com/4580
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoConsolidate GrSurfaceProxy Make methods
Robert Phillips [Wed, 9 Nov 2016 11:50:43 +0000 (06:50 -0500)]
Consolidate GrSurfaceProxy Make methods

I think GrSurfaceDesc is still the most compact way to communicate the deferred GrSurface's settings to the Proxy but this CL, at least, reduces where it is used.

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

Change-Id: Ica599c28a5aef1ed4094f47a4ac119e2d204d652
Reviewed-on: https://skia-review.googlesource.com/4559
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoRename SkSourceGammaTreatment to SkDestinationSurfaceColorMode
Brian Osman [Tue, 8 Nov 2016 22:08:54 +0000 (17:08 -0500)]
Rename SkSourceGammaTreatment to SkDestinationSurfaceColorMode

This is much more explicit about what that type represents (are we in
legacy mode or not), which also makes it suitable for other (upcoming)
usage.

BUG=skia:

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

Change-Id: Iacb397c34e7765f1ca86c0195bc622b2be4d9acf
Reviewed-on: https://skia-review.googlesource.com/4529
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoskpbench: fix typo in 6P bash script
csmartdalton [Wed, 9 Nov 2016 00:50:13 +0000 (16:50 -0800)]
skpbench: fix typo in 6P bash script

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

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

7 years agoRefactor RGBA/BGRA xform logic in SkCodecs
Matt Sarett [Tue, 8 Nov 2016 21:13:43 +0000 (16:13 -0500)]
Refactor RGBA/BGRA xform logic in SkCodecs

BUG=skia:

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

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

7 years agoRelax the extra span's alpha
liyuqian [Tue, 8 Nov 2016 21:55:15 +0000 (13:55 -0800)]
Relax the extra span's alpha

BUG=chrome:662862
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2477393002

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

7 years agoDo not call blitAntiRect for empty rect
liyuqian [Tue, 8 Nov 2016 21:42:59 +0000 (13:42 -0800)]
Do not call blitAntiRect for empty rect

BUG=chromium:662800
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2490673002

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

7 years agoFail jpeg decodes on too many progressive scans
Matt Sarett [Tue, 8 Nov 2016 20:26:56 +0000 (15:26 -0500)]
Fail jpeg decodes on too many progressive scans

BUG:642462

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

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

7 years agoFix query for GR_GL_IMPLEMENTATION_COLOR_READ_FORMAT for GrPixelConfigs that aren...
bsalomon [Tue, 8 Nov 2016 21:26:24 +0000 (13:26 -0800)]
Fix query for GR_GL_IMPLEMENTATION_COLOR_READ_FORMAT for GrPixelConfigs that aren't renderable

We recently separated renderabibilty by Skia from FBO-bindable ( https://skia-review.googlesource.com/4345). Overlooked in that change was the necessity to be able to query GR_GL_IMPLEMENTATION_COLOR_READ_FORMAT and _TYPE for formats that we don't support rendering to Skia but are legal color attachment formats.

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

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

7 years agoMove SkOSPath out of include/core.
Ben Wagner [Mon, 7 Nov 2016 23:05:29 +0000 (18:05 -0500)]
Move SkOSPath out of include/core.

It is moved to src/utils. It is almost a tool, but has two uses in
src/ports.

The existing SkOSFile.cpp is left empty for the time being since it is
mentioned in Chromium's BUILD.gn for Skia.

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

7 years agoMake the infra tests part of the CQ
Eric Boren [Tue, 8 Nov 2016 18:45:01 +0000 (13:45 -0500)]
Make the infra tests part of the CQ

BUG=skia:

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

Change-Id: I3ed720e5608282cd9fa14365e6f4fa4338c81ef0
Reviewed-on: https://skia-review.googlesource.com/4550
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoSmart pointers for GrBatchAtlas.
Ben Wagner [Tue, 8 Nov 2016 19:13:39 +0000 (14:13 -0500)]
Smart pointers for GrBatchAtlas.

While navigating this code the ownership rules were found to not be
entirely clear. This updates GrBatchAtlas:: fPlotArray and fTexture to
be smart pointers and propagates some clarifying changes.

Change-Id: I6ca67247575c2d7c4e7986c10b948201fe0080f1
Reviewed-on: https://skia-review.googlesource.com/4549
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoAdd -j as alias for --threads.
Mike Klein [Tue, 8 Nov 2016 19:16:01 +0000 (14:16 -0500)]
Add -j as alias for --threads.

I keep typing this...

BUG=skia:

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

Change-Id: Ib3e387054810cebae468addc001a1e148e5af155
Reviewed-on: https://skia-review.googlesource.com/4553
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agogen_tasks.go: Implement TODOs, bring up to speed with swarm_trigger
Eric Boren [Tue, 8 Nov 2016 17:55:32 +0000 (12:55 -0500)]
gen_tasks.go: Implement TODOs, bring up to speed with swarm_trigger

BUG=skia:

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

Change-Id: Ia22a4836732dd33f30f4f6e4e49f5b39294ec53f
Reviewed-on: https://skia-review.googlesource.com/4547
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoCopy over all build properties starting with patch_ to avoid missing something we...
Ravi Mistry [Tue, 8 Nov 2016 16:09:50 +0000 (11:09 -0500)]
Copy over all build properties starting with patch_ to avoid missing something we need

BUG=skia:5946

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

Change-Id: I2c16ac84ceff598084263deb91795aa5b53cc42f
Reviewed-on: https://skia-review.googlesource.com/4542
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoChange code to not store Sk4* in data structures.
herb [Tue, 8 Nov 2016 16:19:07 +0000 (08:19 -0800)]
Change code to not store Sk4* in data structures.

This allows the SkLinearBitmapPipeline system to avoid problems with alignment. This allows it to naturally fit with the rest of the system, and simplifies surrounding code.

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

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

7 years agoRevert "Revert "GN: define SK_XML to indicate :xml is enabled.""
Florin Malita [Tue, 8 Nov 2016 16:07:52 +0000 (16:07 +0000)]
Revert "Revert "GN: define SK_XML to indicate :xml is enabled.""

This reverts commit 7e8f80a08444f534376a25d45194c92f948c9594.

Reason for revert: the SVG DM flakiness should be fixed by now.

Original change's description:
> Revert "GN: define SK_XML to indicate :xml is enabled."
>
> This reverts commit 7234448c11b0493a072723acd185dae986103df6.
>
> Reason for revert: this enabled tests which are making the bots flaky.
>
> Original change's description:
> > GN: define SK_XML to indicate :xml is enabled.
> >
> > Without this, nothing ever defines SK_XML for dm/DM.cpp, dm/DMSrcSink.cpp, tests/SkDOMTest.cpp or tests/SkPEGTest.cpp.
> >
> > GYP does something similiar in gyp/xml.gyp.
> >
> > BUG=skia:
> >
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4500
> >
> > Change-Id: I93322722d6d86f5802495d7a2edad2f82ba36f69
> > Reviewed-on: https://skia-review.googlesource.com/4500
> > Reviewed-by: Hal Canary <halcanary@google.com>
> > Commit-Queue: Eric Boren <borenet@google.com>
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> >
>
> TBR=mtklein@chromium.org,borenet@google.com,halcanary@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I46c198f4985f6e7f96c07b3100a3877ba46fdb18
> Reviewed-on: https://skia-review.googlesource.com/4526
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,borenet@google.com,halcanary@google.com,fmalita@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ic3225f119dff3c6949a3b559ac60707d36bc3792
Reviewed-on: https://skia-review.googlesource.com/4544
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoFix DM race in SVGSrc
fmalita [Tue, 8 Nov 2016 15:13:45 +0000 (07:13 -0800)]
Fix DM race in SVGSrc

The SVG source currently attempts to build the DOM lazily, in response
to draw() or size() calls.  But apprently DM may call these
concurrently.

Build the DOM in the constructor instead, to avoid races (and the need
for synchronization).

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

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

7 years agoRemove SkAutoTUnref from public API
Hal Canary [Tue, 8 Nov 2016 14:03:48 +0000 (09:03 -0500)]
Remove SkAutoTUnref from public API

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

Change-Id: I1ba33edc5ca44332ff4f296e6b9997a133a08a87
Reviewed-on: https://skia-review.googlesource.com/4530
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "Delete SkImage::encode(Type)"
Leon Scroggins [Tue, 8 Nov 2016 14:29:46 +0000 (14:29 +0000)]
Revert "Delete SkImage::encode(Type)"

This reverts commit e48b4c550de60f3c2316f31125ee305c8df280ba.

Reason for revert: This method is used in Google3. See
https://test.corp.google.com/ui#id=OCL:138505330:BASE:138505351:1478611655214:39a02f0d

Original change's description:
> Delete SkImage::encode(Type)
>
> This doesn't appear to be used (fingers crossed).
>
> We're not ready to support color correct encodes (and tagging with
> color spaces) for all of the formats included in SkImageEncoder::Type.
>
> I think it's good to restrict this for now.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4535
>
> Change-Id: I73000f3d7bff1af153786d766531a2cbc8c5b77a
> Reviewed-on: https://skia-review.googlesource.com/4535
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>

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

Change-Id: I6fb880f10dcba7837647e9b5cabbc8cc2b8366f6
Reviewed-on: https://skia-review.googlesource.com/4538
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoRevert "Revert "Add GrRenderTargetContext instantiate & asTextureProxy""
Robert Phillips [Tue, 8 Nov 2016 13:49:39 +0000 (13:49 +0000)]
Revert "Revert "Add GrRenderTargetContext instantiate & asTextureProxy""

This reverts commit 7d7d7d19462b75f5470492dc4820a02c1eba4af2.

Reason for revert: Reverting this to see if it really was crashing on SVGs or if that was cross talk.

Original change's description:
> Revert "Add GrRenderTargetContext instantiate & asTextureProxy"
>
> This reverts commit 9113edfff89e657dabc0ba095c54f7720550196c.
>
> Reason for revert: Looks to be causing EXCEPTION_ACCESS_VIOLATION:
>
> https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-NUC-GPU-IntelIris6100-x86_64-Debug/builds/121/steps/test_skia%20on%20Windows/logs/stdio
> https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-GCE-CPU-AVX2-x86-Debug/builds/2384/steps/test_skia%20on%20Windows-2008ServerR2-SP1/logs/stdio
> https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-ShuttleC-GPU-iHD530-x86_64-Debug/builds/785/steps/test_skia%20on%20Windows/logs/stdio
>
> Original change's description:
> > Add GrRenderTargetContext instantiate & asTextureProxy
> >
> > This CL also centralizes the instantiation code in GrSurfaceProxy and adds a test.
> >
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4494
> >
> > Change-Id: I0081d9a216dc0af293179f23bcb88acf6a822324
> > Reviewed-on: https://skia-review.googlesource.com/4494
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Robert Phillips <robertphillips@google.com>
> >
>
> TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I225ce7867ebd445067e5ea55ebbfd587f7fe782a
> Reviewed-on: https://skia-review.googlesource.com/4528
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>
>

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

Change-Id: Ifc3b9ac343009a3808f5f47500eef50df438e3d9
Reviewed-on: https://skia-review.googlesource.com/4537
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoFix trybot results upload for new-style bots
Eric Boren [Mon, 7 Nov 2016 22:16:05 +0000 (17:16 -0500)]
Fix trybot results upload for new-style bots

BUG=skia:

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

Change-Id: I83a4c52e18d087e3f662399387bc3aaf76fd5cba
Reviewed-on: https://skia-review.googlesource.com/4532
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoDelete SkImage::encode(Type)
Matt Sarett [Mon, 7 Nov 2016 23:06:06 +0000 (18:06 -0500)]
Delete SkImage::encode(Type)

This doesn't appear to be used (fingers crossed).

We're not ready to support color correct encodes (and tagging with
color spaces) for all of the formats included in SkImageEncoder::Type.

I think it's good to restrict this for now.

BUG=skia:

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

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

7 years agominor simplification: use SkBitmapCacheDesc
Mike Reed [Mon, 7 Nov 2016 19:30:00 +0000 (14:30 -0500)]
minor simplification: use SkBitmapCacheDesc

BUG=skia:

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

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

7 years agosrc/gpu: s/SkAutoTUnref/sk_sp/g
Hal Canary [Mon, 7 Nov 2016 22:57:18 +0000 (17:57 -0500)]
src/gpu: s/SkAutoTUnref/sk_sp/g

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

Change-Id: I23f0548f98e7c355da05e143e8baa330d4bc04cc
Reviewed-on: https://skia-review.googlesource.com/4527
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoGive memset lambdas explicit names.
Mike Klein [Mon, 7 Nov 2016 22:16:21 +0000 (17:16 -0500)]
Give memset lambdas explicit names.

This makes it a little easier to follow what's going on in a profile.

TBR=reed@google.com

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

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

7 years agoGN: turn on libpng SSE2 filters
Mike Klein [Mon, 7 Nov 2016 21:56:53 +0000 (16:56 -0500)]
GN: turn on libpng SSE2 filters

I was profiling and remembered GN hasn't turned on much CPU-specific code.  I looked at zlib, then libpng, then libjpeg-turbo:

  - zlib was easy but not useful.  No routine we use in decoding changes significantly.
  - libpng was easy and useful, and we were already using NEON filters on ARM.
  - libjpeg-turbo requires yasm and is annoying.

BUG=skia:5875

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

Change-Id: Ie072a457da41ee6538eebacb5eb5dbe5a6eb585e
Reviewed-on: https://skia-review.googlesource.com/4531
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoRevert "Add GrRenderTargetContext instantiate & asTextureProxy"
Leon Scroggins [Mon, 7 Nov 2016 21:26:31 +0000 (21:26 +0000)]
Revert "Add GrRenderTargetContext instantiate & asTextureProxy"

This reverts commit 9113edfff89e657dabc0ba095c54f7720550196c.

Reason for revert: Looks to be causing EXCEPTION_ACCESS_VIOLATION:

https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-NUC-GPU-IntelIris6100-x86_64-Debug/builds/121/steps/test_skia%20on%20Windows/logs/stdio
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-GCE-CPU-AVX2-x86-Debug/builds/2384/steps/test_skia%20on%20Windows-2008ServerR2-SP1/logs/stdio
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-ShuttleC-GPU-iHD530-x86_64-Debug/builds/785/steps/test_skia%20on%20Windows/logs/stdio

Original change's description:
> Add GrRenderTargetContext instantiate & asTextureProxy
>
> This CL also centralizes the instantiation code in GrSurfaceProxy and adds a test.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4494
>
> Change-Id: I0081d9a216dc0af293179f23bcb88acf6a822324
> Reviewed-on: https://skia-review.googlesource.com/4494
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
>

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

Change-Id: I225ce7867ebd445067e5ea55ebbfd587f7fe782a
Reviewed-on: https://skia-review.googlesource.com/4528
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoAdd GN iOS builder.
Mike Klein [Mon, 7 Nov 2016 20:38:48 +0000 (15:38 -0500)]
Add GN iOS builder.

This gets up a bot to build for iOS via GN as much as we can right now.  This is unlikely to be the long term structure of the iOS bots... by the time we add Test/Perf bots we'll likely need to have a gn_ios_flavor.py.  But for now, this keeps the GN iOS build such as it is working.

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

Change-Id: Ideb10ae3f4ab5530ad153237a343dd5c0e7dd02f
Reviewed-on: https://skia-review.googlesource.com/4457
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoRevert "GN: define SK_XML to indicate :xml is enabled."
Mike Klein [Mon, 7 Nov 2016 20:55:09 +0000 (20:55 +0000)]
Revert "GN: define SK_XML to indicate :xml is enabled."

This reverts commit 7234448c11b0493a072723acd185dae986103df6.

Reason for revert: this enabled tests which are making the bots flaky.

Original change's description:
> GN: define SK_XML to indicate :xml is enabled.
>
> Without this, nothing ever defines SK_XML for dm/DM.cpp, dm/DMSrcSink.cpp, tests/SkDOMTest.cpp or tests/SkPEGTest.cpp.
>
> GYP does something similiar in gyp/xml.gyp.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4500
>
> Change-Id: I93322722d6d86f5802495d7a2edad2f82ba36f69
> Reviewed-on: https://skia-review.googlesource.com/4500
> Reviewed-by: Hal Canary <halcanary@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

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

Change-Id: I46c198f4985f6e7f96c07b3100a3877ba46fdb18
Reviewed-on: https://skia-review.googlesource.com/4526
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoAdd GrRenderTargetContext instantiate & asTextureProxy
Robert Phillips [Mon, 7 Nov 2016 17:50:45 +0000 (12:50 -0500)]
Add GrRenderTargetContext instantiate & asTextureProxy

This CL also centralizes the instantiation code in GrSurfaceProxy and adds a test.

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

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

7 years agoMove SkChunkAlloc.h to include/private.
Ben Wagner [Mon, 7 Nov 2016 19:23:59 +0000 (14:23 -0500)]
Move SkChunkAlloc.h to include/private.

This class does not appear to have any external users, and Skia probably
does not want anyone depending on it. It also clutters up include/core
with an 'uninteresting' utility class.

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

7 years agosrc/core: s/SkAutoTUnref/sk_sp/g
Hal Canary [Mon, 7 Nov 2016 19:13:52 +0000 (14:13 -0500)]
src/core: s/SkAutoTUnref/sk_sp/g

BUG=skia:

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

Change-Id: I753ad01b03e891221965252e3befe280d09cdb9f
Reviewed-on: https://skia-review.googlesource.com/4492
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoremove obsolete flags
Mike Reed [Mon, 7 Nov 2016 18:03:36 +0000 (13:03 -0500)]
remove obsolete flags

BUG=skia:

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

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

7 years agoGN: define SK_XML to indicate :xml is enabled.
Mike Klein [Mon, 7 Nov 2016 16:31:08 +0000 (11:31 -0500)]
GN: define SK_XML to indicate :xml is enabled.

Without this, nothing ever defines SK_XML for dm/DM.cpp, dm/DMSrcSink.cpp, tests/SkDOMTest.cpp or tests/SkPEGTest.cpp.

GYP does something similiar in gyp/xml.gyp.

BUG=skia:

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

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

7 years agoremove obsolete flags from public.bzl
Mike Reed [Mon, 7 Nov 2016 17:40:07 +0000 (12:40 -0500)]
remove obsolete flags from public.bzl

BUG=skia:
NOTRY=True

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

Change-Id: I79635fee732135a1ac33aceee30e5f2d4aa08ac2
Reviewed-on: https://skia-review.googlesource.com/4495
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agos/SkAutoTUnref/sk_sp/ in src/ part 1
Hal Canary [Mon, 7 Nov 2016 16:47:44 +0000 (11:47 -0500)]
s/SkAutoTUnref/sk_sp/ in src/ part 1

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

Change-Id: I7d3219b02ad5094785e1b7635a9482e69aadbc8c
Reviewed-on: https://skia-review.googlesource.com/4480
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoRemove dead code in SkBitmapProcLegacyShader::ContextSize
sylvestre.ledru [Mon, 7 Nov 2016 17:12:05 +0000 (09:12 -0800)]
Remove dead code in SkBitmapProcLegacyShader::ContextSize

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

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

7 years agoFix zero-padding in gerrit ref
borenet [Mon, 7 Nov 2016 17:05:16 +0000 (09:05 -0800)]
Fix zero-padding in gerrit ref

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

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

7 years agoFix Vulkan command buffer assert on device lost
Jim Van Verth [Mon, 7 Nov 2016 16:10:21 +0000 (11:10 -0500)]
Fix Vulkan command buffer assert on device lost

BUG=skia:5939

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

Change-Id: Id363c4d774095b1707adbe6c8ab537c6e5ecab6c
Reviewed-on: https://skia-review.googlesource.com/4483
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agofix android dm compile
Hal Canary [Mon, 7 Nov 2016 16:37:57 +0000 (11:37 -0500)]
fix android dm compile

TBR=djsollen@google.com
NOTRY=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4489
Change-Id: I77446143ab8f310bd9f63c99b49cde59b1c9604a
Reviewed-on: https://skia-review.googlesource.com/4489
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
7 years agoremove xfermode legacy build flag for android
Mike Reed [Mon, 7 Nov 2016 16:20:29 +0000 (11:20 -0500)]
remove xfermode legacy build flag for android

BUG=skia:
NOTRY=True

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

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

7 years agoupdate Vulkan docs for GN.
Mike Klein [Mon, 7 Nov 2016 15:24:27 +0000 (10:24 -0500)]
update Vulkan docs for GN.

BUG=skia:

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

Change-Id: Ifb21b28440b5725775b40e79aef2a0286e1de103
Reviewed-on: https://skia-review.googlesource.com/4458
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agofix svg compile
Hal Canary [Mon, 7 Nov 2016 16:02:42 +0000 (11:02 -0500)]
fix svg compile

TBR=scroggo@google.com
NOTRY=true

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

Change-Id: I264193474ddd3eb806818ca22fd2bca65ab3b4f1
Reviewed-on: https://skia-review.googlesource.com/4485
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoCombine analytic edges with tolerance
liyuqian [Mon, 7 Nov 2016 16:10:44 +0000 (08:10 -0800)]
Combine analytic edges with tolerance

If not, we sometimes would end up with only one edge for a convex path. That
either triggers SkASSERT(count >= 2) failure in debug build or SIGSEGV in
release build. After the change, we should return 0 edges for such a path
because everything is totally combined.

Note that this change also makes the SkAnalyticEdge's CombineVertical function
behave more similarly to SkEdge's CombineVertical function: SkEdge only
compares fFirstY and fLastY which are integer values, which is equivalent to
setting our tolerance to SK_Fixed1 (our current tolerance is 0x100, 1/256 of
SK_Fixed1).  And this is intentional.

BUG=chrome:662914
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2477373002

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

7 years agoFinish color space support for SkCodec
Matt Sarett [Mon, 7 Nov 2016 15:26:17 +0000 (10:26 -0500)]
Finish color space support for SkCodec

Implements color space xforms and F16 for SkRawCodec and SkWbmpCodec.

BUG=skia:4895

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

Change-Id: I8c72918e46387350b49a9811ce654d26b1ab352a
Reviewed-on: https://skia-review.googlesource.com/4459
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoAdd GrTextureRenderTargetProxy and support switching between RT & Tex Proxies
Robert Phillips [Fri, 4 Nov 2016 15:59:10 +0000 (11:59 -0400)]
Add GrTextureRenderTargetProxy and support switching between RT & Tex Proxies

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

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

7 years agoRevert "Revert "Limit GL_TEXTURE_RECTANGLE filtering to bilinear.""
Brian Salomon [Mon, 7 Nov 2016 14:53:44 +0000 (09:53 -0500)]
Revert "Revert "Limit GL_TEXTURE_RECTANGLE filtering to bilinear.""

This reverts commit ce4d04ae8eace6ba53ff8b8c8d8f4a2e6af4e59f.

BUG=skia:5932

Original CL description:
>
>Limit GL_TEXTURE_RECTANGLE filtering to bilinear.
>
>Adds a clamp for GrTexture filtering that can be set by a subclass at construction. The clamping is performed by GrTextureParams. GrGLTexture limits filtering to bilinear for rectangle and external textures.
>
>Also moves samplerType() to GrTexturePriv from GrTexture.
>
>BUG=skia:5932

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

Change-Id: I4a9f4abac44979cb900f5b04fe741524eade66b1
Reviewed-on: https://skia-review.googlesource.com/4455
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoFix iOS isolate
borenet [Mon, 7 Nov 2016 15:35:46 +0000 (07:35 -0800)]
Fix iOS isolate

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

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

7 years agogm: s/SkAutoTUnref/sk_sp/
Hal Canary [Fri, 4 Nov 2016 20:26:16 +0000 (16:26 -0400)]
gm: s/SkAutoTUnref/sk_sp/

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

Change-Id: Ib2bea321617a17012190b33f2c7c439a5b6b3025
Reviewed-on: https://skia-review.googlesource.com/4434
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
7 years agobench, samples, etc: s/SkAutoTUnref/sk_sp/
Hal Canary [Fri, 4 Nov 2016 17:02:54 +0000 (13:02 -0400)]
bench, samples, etc: s/SkAutoTUnref/sk_sp/

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

Change-Id: Ice071684ac8a99e4bb405b4b9be8e8f42c7bac42
Reviewed-on: https://skia-review.googlesource.com/4437
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoAdd/promote gamma helpers to SkColorSpace_Base
Brian Osman [Mon, 7 Nov 2016 14:42:37 +0000 (09:42 -0500)]
Add/promote gamma helpers to SkColorSpace_Base

When decoding images with strange transfer functions, we need to
pick an "equivalent" drawable format and color space. These help
when doing that.

Our default answer is to use F16 linear, but some GPUs may not
be able to draw that, in which case we'll fall back to sRGB 8888.

BUG=skia:

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

Change-Id: I7f7342423d2a57fb45c965e1a023d255cdafedee
Reviewed-on: https://skia-review.googlesource.com/4453
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoSkXPS: handle case where snapSpecial() returns null
Hal Canary [Fri, 14 Oct 2016 15:19:43 +0000 (11:19 -0400)]
SkXPS: handle case where snapSpecial() returns null

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

Change-Id: I91bfbeb5751d5fd87e0361255ccb0350c3f3c850
Reviewed-on: https://skia-review.googlesource.com/3415
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoSkRasterPipelineBlitter: blitAntiH + full coverge --> blitH
Mike Klein [Mon, 7 Nov 2016 14:29:07 +0000 (09:29 -0500)]
SkRasterPipelineBlitter: blitAntiH + full coverge --> blitH

BUG=skia:

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

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

7 years agoupdate ANGLE docs for GN, current test tools
Mike Klein [Mon, 7 Nov 2016 14:45:07 +0000 (09:45 -0500)]
update ANGLE docs for GN, current test tools

BUG=skia:

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

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

7 years agoFurther centralize computation of GrSurface VRAM consumption - take 2
Robert Phillips [Mon, 7 Nov 2016 13:23:48 +0000 (08:23 -0500)]
Further centralize computation of GrSurface VRAM consumption - take 2

This is the same as https://skia-review.googlesource.com/c/4383/ (Further centralize computation of GrSurface VRAM consumption) but with a suppression for Vulkan in the new test and removal of an assert Chromium was triggering.

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

Change-Id: Ie87d32fd5f0d35c21326b066a0c733cb6f8a5bea
Reviewed-on: https://skia-review.googlesource.com/4450
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoGN: quiet alink spam on Mac
Mike Klein [Sun, 6 Nov 2016 16:20:09 +0000 (11:20 -0500)]
GN: quiet alink spam on Mac

When building on Mac you see lots of spam about object files with no symbols when linking libskia.a.  This filters them out.

We have to do this in a Python script anyway, so I've consolidated into the existing gn/ar.py.

BUG=skia:

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

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

7 years agoGN: quiet link.exe warning spam.
Mike Klein [Sun, 6 Nov 2016 16:54:19 +0000 (11:54 -0500)]
GN: quiet link.exe warning spam.

BUG=skia:

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

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

7 years agoRoll recipe DEPS
borenet [Mon, 7 Nov 2016 14:01:20 +0000 (06:01 -0800)]
Roll recipe DEPS

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

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

7 years agouse reversePathTo in place of addPathReverse
caryclark [Mon, 7 Nov 2016 13:09:28 +0000 (05:09 -0800)]
use reversePathTo in place of addPathReverse

Path ops was using addPathReverse, instead of reversePathTo.
The former adds a moveTo always, and the latter requires
that the caller add the moveTo if needed.

Simplify the reversePathTo implementation.

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

Committed: https://skia.googlesource.com/skia/+/d8db392be9dd1887df04b10b5670991d6b098c17
Review-Url: https://codereview.chromium.org/2481463002

7 years agoUse perfect forwarding in createT of SkSmallAllocator.
herb [Mon, 7 Nov 2016 05:07:02 +0000 (21:07 -0800)]
Use perfect forwarding in createT of SkSmallAllocator.

This allows createT statements to be written in a clearer style.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2482683002

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

7 years agoCall ~SkRasterPipelineBlitter() on early out.
Mike Klein [Sun, 6 Nov 2016 15:18:06 +0000 (10:18 -0500)]
Call ~SkRasterPipelineBlitter() on early out.

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot
BUG=skia:5937
TBR=reed@google.com

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

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

7 years agoRevert "Further centralize computation of GrSurface VRAM consumption"
Ben Wagner [Sun, 6 Nov 2016 12:33:22 +0000 (12:33 +0000)]
Revert "Further centralize computation of GrSurface VRAM consumption"

This reverts commit ccd3c8937fce4bb28df19533ed043cad209e277d.

Reason for revert: Blocking Chromium roll: https://codereview.chromium.org/2482643002/

Original change's description:
> Further centralize computation of GrSurface VRAM consumption
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4383
>
> Change-Id: I054b74f2cd15f904f8e05af0fda58d6e8a523eb9
> Reviewed-on: https://skia-review.googlesource.com/4383
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

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

Change-Id: I186db2a41eb2bd789e6f681b3547e32d9ca374cf
Reviewed-on: https://skia-review.googlesource.com/4443
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoRevert "Limit GL_TEXTURE_RECTANGLE filtering to bilinear."
Ben Wagner [Sun, 6 Nov 2016 12:46:37 +0000 (12:46 +0000)]
Revert "Limit GL_TEXTURE_RECTANGLE filtering to bilinear."

This reverts commit 4d53c44aa6e8e0d1b6537f83e4287e5a1423ac75.

Reason for revert: Depends on https://skia-review.googlesource.com/c/4383/ which I need to revert.

Original change's description:
> Limit GL_TEXTURE_RECTANGLE filtering to bilinear.
>
> Adds a clamp for GrTexture filtering that can be set by a subclass at construction. The clamping is performed by GrTextureParams. GrGLTexture limits filtering to bilinear for rectangle and external textures.
>
> Also moves samplerType() to GrTexturePriv from GrTexture.
>
> BUG=skia:5932
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4352
>
> Change-Id: I1f023d4f4133e7eb393367580c0558257e56c8db
> Reviewed-on: https://skia-review.googlesource.com/4352
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
>

TBR=bsalomon@google.com,csmartdalton@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=662630

Change-Id: I012aa208594ccff0bb81bece8110a38e1f83ae00
Reviewed-on: https://skia-review.googlesource.com/4444
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoUpdate SKP version
update-skps [Sun, 6 Nov 2016 09:05:03 +0000 (01:05 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

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

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

7 years agoAdd indexfile to obsolute quickstart section
stephana [Sat, 5 Nov 2016 20:28:47 +0000 (13:28 -0700)]
Add indexfile to obsolute quickstart section

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

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

7 years agoFix the sum of alpha = 254 instead of 255 by rounding
liyuqian [Sat, 5 Nov 2016 13:34:22 +0000 (06:34 -0700)]
Fix the sum of alpha = 254 instead of 255 by rounding

This patch is a subpatch from https://codereview.chromium.org/2471133002/

I created this CL mainly for Florin to land before he rebaseline the Chrome
layout tests. (Landing the whole patch of 2471133002 would be nice but most
people already left for the weekend so I'd rather not take the risk to break
the Skia during the weekend.)

BUG=skia:

TBR=reed@google.com, mtklein@google.com, fmalita@chromium.org
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2483523002

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

7 years agoMake buildbotless trybots only support Gerrit
skia.buildbots [Fri, 4 Nov 2016 18:37:26 +0000 (14:37 -0400)]
Make buildbotless trybots only support Gerrit

BUG=skia:5723

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

Change-Id: Ia5630de72f8b473551a5357fdf50eb3dd288b9a7
Reviewed-on: https://skia-review.googlesource.com/4460
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoAttempt to fix PixelC GLSL compilation error.
Ben Wagner [Fri, 4 Nov 2016 17:07:29 +0000 (13:07 -0400)]
Attempt to fix PixelC GLSL compilation error.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4436
CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-PixelC-GPU-TegraX1-arm64-Debug-GN_Android-Trybot,Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Debug-GN_Android-Trybot

Change-Id: Id8ad69b5128653ba16dd99418334be75eb3485c5
Reviewed-on: https://skia-review.googlesource.com/4436
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoswap_src_dst -> move_src_dst
Mike Klein [Fri, 4 Nov 2016 20:36:39 +0000 (16:36 -0400)]
swap_src_dst -> move_src_dst

We thought it'd be handy to have swap_src_dst so that it could be used
either to move dst into src or src into dst.  Turns out, we already have
a stage that moves dst into src (called "dst", the dst blend mode), so
there's really no reason to have swap_src_dst over the strictly more
efficient move_src_dst.

swap_src_dst is typically 12 register moves, where move_src_dst is 4.

BUG=skia:

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

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

7 years agoTrim down quick start docs for a GN world.
Mike Klein [Fri, 4 Nov 2016 16:32:07 +0000 (12:32 -0400)]
Trim down quick start docs for a GN world.

BUG=skia:

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

Change-Id: I2a10494158e7415ae655baf212a951afd87dcbde
Reviewed-on: https://skia-review.googlesource.com/4431
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoAdd F16, SkColorSpaceXform support to SkGifCodec
Matt Sarett [Fri, 4 Nov 2016 17:19:48 +0000 (13:19 -0400)]
Add F16, SkColorSpaceXform support to SkGifCodec

BUG=skia:4895

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

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

7 years agoDetect pipelines which can compile to memsets.
mtklein [Fri, 4 Nov 2016 20:41:34 +0000 (13:41 -0700)]
Detect pipelines which can compile to memsets.

Any pipeline that looks like:
  - constant_color
  - store_fmt
can be trivially converted into an sk_memset of the right size for fmt.

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

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

7 years agoRevert of use reversePathTo in place of addPathReverse (patchset #1 id:1 of https...
caryclark [Fri, 4 Nov 2016 20:31:54 +0000 (13:31 -0700)]
Revert of use reversePathTo in place of addPathReverse (patchset #1 id:1 of https://codereview.chromium.org/2481463002/ )

Reason for revert:
breqking some bots

Original issue's description:
> use reversePathTo in place of addPathReverse
>
> Path ops was using addPathReverse, instead of reversePathTo.
> The former adds a moveTo always, and the latter requires
> that the caller add the moveTo if needed.
>
> Simplify the reversePathTo implementation.
>
> R=reed@google.com
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481463002
>
> Committed: https://skia.googlesource.com/skia/+/d8db392be9dd1887df04b10b5670991d6b098c17

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

7 years agoAvoid pretending to support CMYK color xforms in SkJpegCodec
Matt Sarett [Fri, 4 Nov 2016 17:47:19 +0000 (13:47 -0400)]
Avoid pretending to support CMYK color xforms in SkJpegCodec

BUG=skia:

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

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

7 years agoskrpb: evaluate color filters for constant shaders once.
mtklein [Fri, 4 Nov 2016 20:20:07 +0000 (13:20 -0700)]
skrpb: evaluate color filters for constant shaders once.

The simplest thing to do here is just run shader+color filter pipeline at
construction time to create a new constant color shader (replacing the paint
color).

This reduces a pipeline like:
  - constant_color  (paint color)
  - matrix_4x5
  - clamp_a
  - load_d_foo, xfermode, lerp, store_foo
to
  - constant_color  (paint color -> matrix_4x5 -> clamp_a)
  - load_d_foo, xfermode, lerp, store_foo

To implement this all, we add a new store_f32 stage that writes SkPM4f, and
finally get around to implementing Sk8f::Store4() (store while reinterlacing).
Sk4f::Store4() already exists for both SSE and NEON.

Next step: reduce simple constant_color -> store pipelines (src mode, full
coverage) into non-pipeline memsets.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2480823002

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

7 years agouse reversePathTo in place of addPathReverse
caryclark [Fri, 4 Nov 2016 18:38:41 +0000 (11:38 -0700)]
use reversePathTo in place of addPathReverse

Path ops was using addPathReverse, instead of reversePathTo.
The former adds a moveTo always, and the latter requires
that the caller add the moveTo if needed.

Simplify the reversePathTo implementation.

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

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

7 years agoDeferred image generator subsetting
fmalita [Fri, 4 Nov 2016 18:36:31 +0000 (11:36 -0700)]
Deferred image generator subsetting

Instead of invoking the generator at subset time, instantiate a new
SkImage_Generator with its own cacherator but shared generator.

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

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

7 years agoImprovements to build_command_buffer.py
bsalomon [Fri, 4 Nov 2016 17:54:54 +0000 (10:54 -0700)]
Improvements to build_command_buffer.py

Remove subdir thing for Linux. It's incorrect.

Make the script able to take extra GN args.

Default to a custom gn output dir for the command buffer build.

Default to a release build of the command buffer.

Document that the script overwrites the gn args on each run.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2472343003

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

7 years agoPixelC is also TegraX1, but doesn't have GL.
Ben Wagner [Fri, 4 Nov 2016 15:31:05 +0000 (11:31 -0400)]
PixelC is also TegraX1, but doesn't have GL.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4397
CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Release-GN_Android-Trybot,Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-GN_Android-Trybot,Test-Android-Clang-PixelC-GPU-TegraX1-arm64-Debug-GN_Android-Trybot,Test-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-GN_Android-Trybot,Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Debug-GN_Android-Trybot,Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-GN_Android-Trybot
NOTRY=true

Change-Id: I60a03f2b515cd2a7f1e3a00e4ed33985a5d4347d
Reviewed-on: https://skia-review.googlesource.com/4397
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agotests: s/SkAutoTUnref/sk_sp/
Hal Canary [Fri, 4 Nov 2016 15:49:42 +0000 (11:49 -0400)]
tests: s/SkAutoTUnref/sk_sp/

BUG=skia:

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

Change-Id: I088b3c6e2adff07abed1e8a50091cc0ec4a4109c
Reviewed-on: https://skia-review.googlesource.com/4394
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoAdd note about CQ_INCLUDE_TRYBOTS and -Trybot suffix.
Ben Wagner [Fri, 4 Nov 2016 15:16:07 +0000 (11:16 -0400)]
Add note about CQ_INCLUDE_TRYBOTS and -Trybot suffix.

BUG=skia:

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

Change-Id: I5f1fc4ad1cca50ed245d5c14ceff28aa7dfaee53
Reviewed-on: https://skia-review.googlesource.com/4428
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoFix color xforms for Index8 bmps
Matt Sarett [Fri, 4 Nov 2016 15:52:48 +0000 (11:52 -0400)]
Fix color xforms for Index8 bmps

Thanks to Gold for catching this.

BUG=skia:4895

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

Change-Id: Icc816d933e9e2fd312858a5430fa21a47722563e
Reviewed-on: https://skia-review.googlesource.com/4426
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoLimit GL_TEXTURE_RECTANGLE filtering to bilinear.
Brian Salomon [Fri, 4 Nov 2016 15:54:32 +0000 (11:54 -0400)]
Limit GL_TEXTURE_RECTANGLE filtering to bilinear.

Adds a clamp for GrTexture filtering that can be set by a subclass at construction. The clamping is performed by GrTextureParams. GrGLTexture limits filtering to bilinear for rectangle and external textures.

Also moves samplerType() to GrTexturePriv from GrTexture.

BUG=skia:5932

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

Change-Id: I1f023d4f4133e7eb393367580c0558257e56c8db
Reviewed-on: https://skia-review.googlesource.com/4352
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
7 years agoAdd the new buildbotless infra-tests bot to the CQ as an experiment
borenet [Fri, 4 Nov 2016 15:48:30 +0000 (08:48 -0700)]
Add the new buildbotless infra-tests bot to the CQ as an experiment

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

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

7 years agoUse alignas to force alignment.
herb [Fri, 4 Nov 2016 15:41:01 +0000 (08:41 -0700)]
Use alignas to force alignment.

Using alignas reduces code and platform specific macros.

Use alignas instead of std::aligned_storage because it is unimplemneted
in MSVC 2015.

Here is the bug from MS:
https://connect.microsoft.com/VisualStudio/feedback/details/1559873/std-aligned-storage-cannot-align-type-with-16-byte

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

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

7 years agoAdd documentation for using testing using the command buffer
bsalomon [Fri, 4 Nov 2016 15:36:00 +0000 (08:36 -0700)]
Add documentation for using testing using the command buffer
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2479833003
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2479833003

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

7 years agoRe-enable iOS testing
stephana [Fri, 4 Nov 2016 15:35:55 +0000 (08:35 -0700)]
Re-enable iOS testing

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

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

7 years agoClarify onCreateScalerContext failure modes.
Ben Wagner [Thu, 3 Nov 2016 20:51:26 +0000 (16:51 -0400)]
Clarify onCreateScalerContext failure modes.

This should not change any behavior, but addresses some readability
concerns.

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

7 years agoFurther centralize computation of GrSurface VRAM consumption
Robert Phillips [Fri, 4 Nov 2016 14:23:43 +0000 (10:23 -0400)]
Further centralize computation of GrSurface VRAM consumption

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

Change-Id: I054b74f2cd15f904f8e05af0fda58d6e8a523eb9
Reviewed-on: https://skia-review.googlesource.com/4383
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoAvoid matrix inverse in SkBitmapProcInfo::init for translate-only cases
fmalita [Thu, 3 Nov 2016 21:43:53 +0000 (14:43 -0700)]
Avoid matrix inverse in SkBitmapProcInfo::init for translate-only cases

If fInvMatrix doesn't have a scale component, the
really-close-to-no-scale logic is a no-op.  We can avoid an inverse op
by hoisting the check out of just_trans_clamp/just_trans_general.

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

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

7 years agotools: s/SkAutoTUnref/sk_sp/
Hal Canary [Thu, 3 Nov 2016 20:26:13 +0000 (16:26 -0400)]
tools: s/SkAutoTUnref/sk_sp/

BUG=skia:

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

Change-Id: Iae8b032b00d3579c77f3b86370dde71c4649da45
Reviewed-on: https://skia-review.googlesource.com/4391
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>