platform/upstream/libSkiaSharp.git
9 years agosimplify logic in SkPerliNoiseShader for GPU when constant color
bsalomon [Wed, 4 Mar 2015 19:03:52 +0000 (11:03 -0800)]
simplify logic in SkPerliNoiseShader for GPU when constant color

BUG=skia:3488

Review URL: https://codereview.chromium.org/974183002

9 years agoskia: Add tracing for skia's budget
hendrikw [Wed, 4 Mar 2015 18:33:49 +0000 (10:33 -0800)]
skia: Add tracing for skia's budget

We've run into several places where GPU rasterization slows down a lot,
and in some cases, it's due to use reaching skia's budget.  This shows a
graph of skia's used and free budgeted memory.

Review URL: https://codereview.chromium.org/977143002

9 years agoAdd SSSE3 implementation for SkPMFloat, with faster get() and set().
mtklein [Wed, 4 Mar 2015 18:18:10 +0000 (10:18 -0800)]
Add SSSE3 implementation for SkPMFloat, with faster get() and set().

With SSSE3, we can use the Swiss Army Knife byte shuffler pshufb,
a.k.a. _mm_shuffle_epi8(), to jump directly between 32 and 128 bits.

In microbench isolation, this looks like an additional 10-15% speedup:

SkPMFloat_get:   2.35ns -> 1.98ns
SkPMFloat_clamp: 2.35ns -> 2.18ns

Before this CL, get() and clamp() were identical code.  The _get benchmark improves because both set() and get() become faster; the _clamp benchmark shows the improvement from set() getting faster with clamp() staying the same.

BUG=skia:

Review URL: https://codereview.chromium.org/976493002

9 years agoRevert of Adding linear interpolation to rgb->yuv conversion (patchset #1 id:1 of...
joshualitt [Wed, 4 Mar 2015 17:56:09 +0000 (09:56 -0800)]
Revert of Adding linear interpolation to rgb->yuv conversion (patchset #1 id:1 of https://codereview.chromium.org/973563002/)

Reason for revert:
Speculative revert to see if this unblocks the deps roll

Original issue's description:
> Adding linear interpolation to rgb->yuv conversion
>
> When the UV planes are smaller than the Y plane, doing the upscaling in nearest mode was creating artefacts, so I changed it to use linear interpolation to fix the issue.
>
> BUG=460380
>
> Committed: https://skia.googlesource.com/skia/+/cd9d42c5167a50f1bf20e969343556d61354171b

TBR=bsalomon@google.com,scroggo@google.com,reed@google.com,sugoi@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=460380

Review URL: https://codereview.chromium.org/977133002

9 years agodisable chatting debugf
reed [Wed, 4 Mar 2015 15:51:37 +0000 (07:51 -0800)]
disable chatting debugf

BUG=skia:
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/974883005

9 years agoFix uninitialized variable in GrGpu
hendrikw [Wed, 4 Mar 2015 14:22:18 +0000 (06:22 -0800)]
Fix uninitialized variable in GrGpu

Stumbled on this while running a trace.

Review URL: https://codereview.chromium.org/975993002

9 years agoText blob run paints should be filtered.
fmalita [Wed, 4 Mar 2015 03:08:17 +0000 (19:08 -0800)]
Text blob run paints should be filtered.

We're constructing blob run paints after the canvas draw filter has been
applied.

Instead, we need do defer text blob draw filters until we have access
to the full run paints.

BUG=skia:3494
R=reed@google.com,mtklein@google.com

Review URL: https://codereview.chromium.org/973973003

9 years agoAdding linear interpolation to rgb->yuv conversion
sugoi [Tue, 3 Mar 2015 21:28:30 +0000 (13:28 -0800)]
Adding linear interpolation to rgb->yuv conversion

When the UV planes are smaller than the Y plane, doing the upscaling in nearest mode was creating artefacts, so I changed it to use linear interpolation to fix the issue.

BUG=460380

Review URL: https://codereview.chromium.org/973563002

9 years agoSplit GrTargetCommands into its own files
robertphillips [Tue, 3 Mar 2015 20:40:49 +0000 (12:40 -0800)]
Split GrTargetCommands into its own files

Review URL: https://codereview.chromium.org/979493002

9 years agoRun gyp on Win with --no-parallel -G config=$(BUILDTYPE), fix pylint
Eric Boren [Tue, 3 Mar 2015 18:15:38 +0000 (13:15 -0500)]
Run gyp on Win with --no-parallel -G config=$(BUILDTYPE), fix pylint

The previous change didn't affect Windows...

BUG=skia:3287
R=mtklein@google.com

Review URL: https://codereview.chromium.org/975803002

9 years agoReturn to building libpng_static off of Android.
scroggo [Tue, 3 Mar 2015 17:39:58 +0000 (09:39 -0800)]
Return to building libpng_static off of Android.

Fixes the fix in https://codereview.chromium.org/971243003/, to
build places that are not Android.

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

Review URL: https://codereview.chromium.org/973863002

9 years agoBuild the Android version of PNG on Android.
scroggo [Tue, 3 Mar 2015 17:34:58 +0000 (09:34 -0800)]
Build the Android version of PNG on Android.

Fixes Android build failures.

Android builds a custom version of libpng (instead of the one
determined by skia_libpng_static) which supplies extra needed
functions.

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

Review URL: https://codereview.chromium.org/971243003

9 years agoSplit command holding object (GrTargetCommands) out of GrInOrderDrawBuffer
robertphillips [Tue, 3 Mar 2015 17:28:16 +0000 (09:28 -0800)]
Split command holding object (GrTargetCommands) out of GrInOrderDrawBuffer

This is still a bit odd in that the IoDB and TargetCommands are annoyingly interwoven. This should improve a bit when batching is everywhere.

Joshua - I think you're lead on this.

Review URL: https://codereview.chromium.org/973853002

9 years agoXPS, DM: add SkDocument::CreateXPS
halcanary [Tue, 3 Mar 2015 17:13:09 +0000 (09:13 -0800)]
XPS, DM: add SkDocument::CreateXPS

-   SkDocument::CreateXPS() function added, returns NULL on non-Windows OS.

-   DM: (Windows only) an XPSSink is added, fails on non-Windows OS

-   DM: Common code for PDFSink::draw and XPSSink::draw are factored into
    draw_skdocument static function.

-   SkDocument_XPS (Windows only) implementation of SkDocument via
    SkXPSDevice.

-   SkDocument_XPS_None (non-Windows) returns NULL for
    SkDocument::CreateXPS().

-   gyp/xps.gyp refactored.

-   SkXPSDevice::drawTextOnPath removed (see http://crrev.com/925343003 )

-   SkXPSDevice::drawPath supports conics via SkAutoConicToQuads.

Review URL: https://codereview.chromium.org/963953002

9 years agoAdd SkCodec, including PNG implementation.
scroggo [Tue, 3 Mar 2015 16:59:20 +0000 (08:59 -0800)]
Add SkCodec, including PNG implementation.

DM:
Add a flag to use SkCodec instead of SkImageDecoder.

SkCodec:
Base class for codecs, allowing creation from an SkStream or an SkData.
An SkCodec, on creation, knows properties of the data like its width and height. Further calls can be used to generate the image.
TODO: Add scanline iterator

SkPngCodec:
New decoder for png. Wraps libpng. The code has been repurposed from SkImageDecoder_libpng.
TODO: Handle other destination colortypes
TODO: Substitute the transpose color
TODO: Allow silencing warnings
TODO: Use RGB instead of filler?
TODO: sRGB

SkSwizzler:
Simplified version of SkScaledSampler. Unlike the sampler, this object does no sampling.
TODO: Implement other swizzles.

Requires a gclient sync to pull down libpng.

BUG=skia:3257

Committed: https://skia.googlesource.com/skia/+/ca358852b4fed656d11107b2aaf28318a4518b49
(and then reverted)

Review URL: https://codereview.chromium.org/930283002

9 years agoTest and fix SkPMFloat rounding.
mtklein [Tue, 3 Mar 2015 16:57:07 +0000 (08:57 -0800)]
Test and fix SkPMFloat rounding.

SSE rounds for free (that was a happy accident: they also have a truncating version).
NEON does not, nor obviously the portable code, so they add 0.5 before truncating.

NOPRESUBMIT=true

BUG=skia:

Review URL: https://codereview.chromium.org/974643002

9 years agoRevert of XPS, DM: add SkDocument::CreateXPS (patchset #8 id:310001 of https://codere...
halcanary [Tue, 3 Mar 2015 16:34:14 +0000 (08:34 -0800)]
Revert of XPS, DM: add SkDocument::CreateXPS (patchset #8 id:310001 of https://codereview.chromium.org/963953002/)

Reason for revert:
breaking iOS build.

Original issue's description:
> XPS, DM: add SkDocument::CreateXPS
>
> -   SkDocument::CreateXPS() function added, returns NULL on non-Windows OS.
>
> -   DM: (Windows only) an XPSSink is added, fails on non-Windows OS
>
> -   DM: Common code for PDFSink::draw and XPSSink::draw are factored into
>     draw_skdocument static function.
>
> -   SkDocument_XPS (Windows only) implementation of SkDocument via
>     SkXPSDevice.
>
> -   SkDocument_XPS_None (non-Windows) returns NULL for
>     SkDocument::CreateXPS().
>
> -   gyp/xps.gyp refactored.
>
> -   SkXPSDevice::drawTextOnPath removed (see http://crrev.com/925343003 )
>
> -   SkXPSDevice::drawPath supports conics via SkAutoConicToQuads.
>
> NOPRESUBMIT=true
>
> Committed: https://skia.googlesource.com/skia/+/00d39bcbfc8394a9b48b86b04ab06ec19091fa43

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

Review URL: https://codereview.chromium.org/978443002

9 years agoXPS, DM: add SkDocument::CreateXPS
halcanary [Tue, 3 Mar 2015 16:26:00 +0000 (08:26 -0800)]
XPS, DM: add SkDocument::CreateXPS

-   SkDocument::CreateXPS() function added, returns NULL on non-Windows OS.

-   DM: (Windows only) an XPSSink is added, fails on non-Windows OS

-   DM: Common code for PDFSink::draw and XPSSink::draw are factored into
    draw_skdocument static function.

-   SkDocument_XPS (Windows only) implementation of SkDocument via
    SkXPSDevice.

-   SkDocument_XPS_None (non-Windows) returns NULL for
    SkDocument::CreateXPS().

-   gyp/xps.gyp refactored.

-   SkXPSDevice::drawTextOnPath removed (see http://crrev.com/925343003 )

-   SkXPSDevice::drawPath supports conics via SkAutoConicToQuads.

NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/963953002

9 years agoTrim the fat off SkPMFloat bench.
mtklein [Tue, 3 Mar 2015 16:03:27 +0000 (08:03 -0800)]
Trim the fat off SkPMFloat bench.

This bench was ~75% overhead, ~25% good bench.  It is now just about the
opposite: about 30% of the runtime is loop and random number overhead, and
about 70% of the time is spent doing SkPMColor <-> SkPMFloat work.

BUG=skia:

NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/968133005

9 years agoMake SkPMFloats store floats in [0,255] instead of [0,1].
mtklein [Tue, 3 Mar 2015 15:46:15 +0000 (07:46 -0800)]
Make SkPMFloats store floats in [0,255] instead of [0,1].

This pushes the cost of the *255 and *1/255 conversions onto only those code
paths that need it.  We're not doing it any more efficiently than can be done
with Sk4f.

In microbenchmark isolation, this is about a 15% speedup.

BUG=skia:
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/973603002

9 years agochange colorfilter to return an array of frag processors
reed [Tue, 3 Mar 2015 14:41:45 +0000 (06:41 -0800)]
change colorfilter to return an array of frag processors

BUG=skia:

Review URL: https://codereview.chromium.org/973593002

9 years agoRun gyp with --no-parallel -G config=$(BUILDTYPE)
borenet [Tue, 3 Mar 2015 14:05:56 +0000 (06:05 -0800)]
Run gyp with --no-parallel -G config=$(BUILDTYPE)

BUG=skia:3287

Review URL: https://codereview.chromium.org/972943003

9 years agoDon't guarantee any particular color order for SkPMFloat. Hide fColor.
mtklein [Mon, 2 Mar 2015 22:07:14 +0000 (14:07 -0800)]
Don't guarantee any particular color order for SkPMFloat.  Hide fColor.

Also add a little note that get() may incidentally clamp.

BUG=skia:

Review URL: https://codereview.chromium.org/973553004

9 years agoadd virtuals to optimize composing colorfilters
reed [Mon, 2 Mar 2015 21:46:03 +0000 (13:46 -0800)]
add virtuals to optimize composing colorfilters

BUG=skia:

Review URL: https://codereview.chromium.org/968993004

9 years agoDraw glyphs on Mac without font transform.
bungeman [Mon, 2 Mar 2015 21:43:26 +0000 (13:43 -0800)]
Draw glyphs on Mac without font transform.

The transform on the font is increasingly going untested on Mac.
As a result, only use the transform on the context when possible.
This fixes color emoji on OSX10.2.

Review URL: https://codereview.chromium.org/975493002

9 years agoadd double precision convex test
caryclark [Mon, 2 Mar 2015 21:02:34 +0000 (13:02 -0800)]
add double precision convex test

BUG=389050

Review URL: https://codereview.chromium.org/975523002

9 years agoRevert of Add SkCodec, including PNG implementation. (patchset #24 id:460001 of https...
scroggo [Mon, 2 Mar 2015 20:31:12 +0000 (12:31 -0800)]
Revert of Add SkCodec, including PNG implementation. (patchset #24 id:460001 of https://codereview.chromium.org/930283002/)

Reason for revert:
Breaking windows bots all over the place :(

Original issue's description:
> Add SkCodec, including PNG implementation.
>
> DM:
> Add a flag to use SkCodec instead of SkImageDecoder.
>
> SkCodec:
> Base class for codecs, allowing creation from an SkStream or an SkData.
> An SkCodec, on creation, knows properties of the data like its width and height. Further calls can be used to generate the image.
> TODO: Add scanline iterator
>
> SkPngCodec:
> New decoder for png. Wraps libpng. The code has been repurposed from SkImageDecoder_libpng.
> TODO: Handle other destination colortypes
> TODO: Substitute the transpose color
> TODO: Allow silencing warnings
> TODO: Use RGB instead of filler?
> TODO: sRGB
>
> SkSwizzler:
> Simplified version of SkScaledSampler. Unlike the sampler, this object does no sampling.
> TODO: Implement other swizzles.
>
> BUG=skia:3257
>
> Committed: https://skia.googlesource.com/skia/+/ca358852b4fed656d11107b2aaf28318a4518b49

TBR=reed@google.com,djsollen@google.com,msarett@google.com,mtklein@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3257

Review URL: https://codereview.chromium.org/972743003

9 years agoAdd SkCodec, including PNG implementation.
scroggo [Mon, 2 Mar 2015 20:23:48 +0000 (12:23 -0800)]
Add SkCodec, including PNG implementation.

DM:
Add a flag to use SkCodec instead of SkImageDecoder.

SkCodec:
Base class for codecs, allowing creation from an SkStream or an SkData.
An SkCodec, on creation, knows properties of the data like its width and height. Further calls can be used to generate the image.
TODO: Add scanline iterator

SkPngCodec:
New decoder for png. Wraps libpng. The code has been repurposed from SkImageDecoder_libpng.
TODO: Handle other destination colortypes
TODO: Substitute the transpose color
TODO: Allow silencing warnings
TODO: Use RGB instead of filler?
TODO: sRGB

SkSwizzler:
Simplified version of SkScaledSampler. Unlike the sampler, this object does no sampling.
TODO: Implement other swizzles.

BUG=skia:3257

Review URL: https://codereview.chromium.org/930283002

9 years agovalgrind fix
joshualitt [Mon, 2 Mar 2015 20:00:52 +0000 (12:00 -0800)]
valgrind fix

TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/968873006

9 years agoAdd testing section of docs. Consolidated trybot/buildbot section
hcm [Mon, 2 Mar 2015 19:25:25 +0000 (11:25 -0800)]
Add testing section of docs.  Consolidated trybot/buildbot section

BUG=skia:

link: http://skiadocs.com:8000/dev/testing/?cl=954523004
Review URL: https://codereview.chromium.org/954523004

9 years agosmall bug fix for batch asserts
joshualitt [Mon, 2 Mar 2015 19:23:07 +0000 (11:23 -0800)]
small bug fix for batch asserts

BUG=skia:

Review URL: https://codereview.chromium.org/969043002

9 years agoMinor cleanup of GrInOrderDrawBuffer
robertphillips [Mon, 2 Mar 2015 18:12:17 +0000 (10:12 -0800)]
Minor cleanup of GrInOrderDrawBuffer

Review URL: https://codereview.chromium.org/969813003

9 years agotreat backwards quads as not convex
caryclark [Mon, 2 Mar 2015 18:07:56 +0000 (10:07 -0800)]
treat backwards quads as not convex

If a quad, cubic, or conic goes back on itself, assume it's not convex.
In a future CL, we could check to see if the curve is linear so that
linear curves are treated the same as lines.

BUG=skia:3469

Review URL: https://codereview.chromium.org/971773002

9 years agoRevert of DM: run pdf config on the bots. (patchset #1 id:1 of https://codereview...
mtklein [Mon, 2 Mar 2015 17:51:44 +0000 (09:51 -0800)]
Revert of DM: run pdf config on the bots. (patchset #1 id:1 of https://codereview.chromium.org/968953002/)

Reason for revert:
Will try this again after investigating OOMs on Xoom, N5 (i.e. the bots that actually run non-GPU work like PDF).

Original issue's description:
> DM: run pdf config on the bots.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/b12f88152c87e006d04fade4f106669cd9e44677

TBR=stephana@google.com,halcanary@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/959123003

9 years agoFix for out-of-bounds intersection (found by fuzzer).
senorblanco [Mon, 2 Mar 2015 17:34:13 +0000 (09:34 -0800)]
Fix for out-of-bounds intersection (found by fuzzer).

Sometimes, the intersection returned by check_intersection() is
out-of-bounds for both edges (above both tops or below both bottoms)
due to floating-point inaccuracy. This causes split_edge() to create a
tiny negative-length edge on one side (which would then assert).
Although we could safely remove this assert and allow the negative
length edge to be removed, it's faster/safer to simply avoid its
creation in the first place by adjusting one edge to the other edge's
endpoint.

Added a new unit test to exercise this case.

Review URL: https://codereview.chromium.org/968993002

9 years agoSet the ttcIndex on Mac onOpenStream.
bungeman [Mon, 2 Mar 2015 17:05:36 +0000 (09:05 -0800)]
Set the ttcIndex on Mac onOpenStream.

Since on Mac onOpenStream always creates a new stream of a
non-collection font, be sure the out ttcIndex is always set to 0.

Review URL: https://codereview.chromium.org/975473002

9 years agoDM: run pdf config on the bots.
mtklein [Mon, 2 Mar 2015 16:32:15 +0000 (08:32 -0800)]
DM: run pdf config on the bots.

BUG=skia:

Review URL: https://codereview.chromium.org/968953002

9 years ago[Skia] Add SK_API to SkParse.
huangs [Mon, 2 Mar 2015 15:51:17 +0000 (07:51 -0800)]
[Skia] Add SK_API to SkParse.

For https://codereview.chromium.org/924063003/ , we would like to use the
SkParse::FindColor().  Adding SK_API to SkParse is necessary for component
build to work.

BUG=skia:

Review URL: https://codereview.chromium.org/971623003

9 years agoIncrease GrInOrderDrawBuffer's encapsulation of trace markers
robertphillips [Mon, 2 Mar 2015 14:40:12 +0000 (06:40 -0800)]
Increase GrInOrderDrawBuffer's encapsulation of trace markers

Greg - I think this is mainly you
Joshua - I did make a small batching change in onDrawBatch

Review URL: https://codereview.chromium.org/963183002

9 years agoOn windows, build zlib as a static library.
scroggo [Mon, 2 Mar 2015 14:24:15 +0000 (06:24 -0800)]
On windows, build zlib as a static library.

Partially in preparation for building libpng on Windows.

Also, this makes us consistent across platforms for PDF.

Uses the version of zlib checked into the Chromium tree.

Remove miniz, which is replaced by zlib.

Review URL: https://codereview.chromium.org/966963002

9 years agoadd compose-colorfilter
reed [Mon, 2 Mar 2015 03:53:47 +0000 (19:53 -0800)]
add compose-colorfilter

now with serialization registration

This reverts commit 5bd055c0386499f2dc8c66173a7534b75af602bf.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/970753002

9 years agoRevert of add compose-colorfilter (patchset #2 id:20001 of https://codereview.chromiu...
reed [Mon, 2 Mar 2015 03:16:38 +0000 (19:16 -0800)]
Revert of add compose-colorfilter (patchset #2 id:20001 of https://codereview.chromium.org/969673002/)

Reason for revert:
need to register subclass for serialization

Original issue's description:
> add compose-colorfilter
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/b675a73c1f3f4a433c4893199a0bd11126dfe130

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

Review URL: https://codereview.chromium.org/971653002

9 years agoadd compose-colorfilter
reed [Mon, 2 Mar 2015 02:00:47 +0000 (18:00 -0800)]
add compose-colorfilter

BUG=skia:

Review URL: https://codereview.chromium.org/969673002

9 years agoRevert of Improve tracking of bound FBOs in GrGLGpu. (patchset #10 id:180001 of https...
robertphillips [Sun, 1 Mar 2015 15:38:15 +0000 (07:38 -0800)]
Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #10 id:180001 of https://codereview.chromium.org/949263002/)

Reason for revert:
Experimentally reverting to see if this is the cause of the mac_chromium_rel_ng roll-blocking failures.

Original issue's description:
> Improve tracking of bound FBOs in GrGLGpu.
>
> Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0
>
> Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589
>
> Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef

TBR=egdaniel@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/970613003

9 years agoPDF: Switch some unit tests to higher level API.
halcanary [Sun, 1 Mar 2015 14:55:20 +0000 (06:55 -0800)]
PDF: Switch some unit tests to higher level API.

Also, clean up some headers.

Review URL: https://codereview.chromium.org/968683002

9 years agoUpdate SKP version
skia.buildbots [Sun, 1 Mar 2015 09:11:12 +0000 (01:11 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/968003002

9 years agoAdd msaa runs to nanobench
bsalomon [Sun, 1 Mar 2015 00:56:31 +0000 (16:56 -0800)]
Add msaa runs to nanobench

TBR=mtklein@google.com

Review URL: https://codereview.chromium.org/964053002

9 years agoDoc: update dev/design/pdftheory with new function call
halcanary [Sat, 28 Feb 2015 16:04:33 +0000 (08:04 -0800)]
Doc: update dev/design/pdftheory with new function call

NOTRY=true
TBR=

Review URL: https://codereview.chromium.org/967873002

9 years agoImprove tracking of bound FBOs in GrGLGpu.
bsalomon [Sat, 28 Feb 2015 01:10:02 +0000 (17:10 -0800)]
Improve tracking of bound FBOs in GrGLGpu.

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

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

Review URL: https://codereview.chromium.org/949263002

9 years agoRevert of Improve tracking of bound FBOs in GrGLGpu. (patchset #8 id:140001 of https...
bsalomon [Sat, 28 Feb 2015 00:28:42 +0000 (16:28 -0800)]
Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #8 id:140001 of https://codereview.chromium.org/949263002/)

Reason for revert:
breaking things

Original issue's description:
> Improve tracking of bound FBOs in GrGLGpu.
>
> Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0
>
> Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589

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

Review URL: https://codereview.chromium.org/963973002

9 years agoImprove tracking of bound FBOs in GrGLGpu.
bsalomon [Fri, 27 Feb 2015 23:17:31 +0000 (15:17 -0800)]
Improve tracking of bound FBOs in GrGLGpu.

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

Review URL: https://codereview.chromium.org/949263002

9 years agoFlate: skia_alloc_func works on both miniz and zlib
halcanary [Fri, 27 Feb 2015 21:09:07 +0000 (13:09 -0800)]
Flate: skia_alloc_func works on both miniz and zlib

Also, Revert "Revert of Flate: fix valgrind miniz
Conditional-jump-or-move-depends... error"

This reverts commit 6dc4ef01a656a9f7c3087eec2ff5142c707ceb7f.

The alloc functions really do have different types depending
on zlib implementation.

CQ_INCLUDE_TRYBOTS=client.skia:Linux Builder-Trybot

Review URL: https://codereview.chromium.org/963853002

9 years agonexus 9 fix
joshualitt [Fri, 27 Feb 2015 21:00:56 +0000 (13:00 -0800)]
nexus 9 fix

TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/966773004

9 years agoPDF: Canon now owns a reference to all interned objects
halcanary [Fri, 27 Feb 2015 20:41:03 +0000 (12:41 -0800)]
PDF: Canon now owns a reference to all interned objects

Add SkPDFCanon::reset function to unref all objects.

No longer possible to remove object from canon

Motivation: this doesn't change these object's lifetime, (they will
still be fully unrefed when SkDocument::close() is called, but we no
longer have to remove them from the array when their destructor is
called.

Review URL: https://codereview.chromium.org/966863002

9 years agoDash batch
joshualitt [Fri, 27 Feb 2015 19:41:49 +0000 (11:41 -0800)]
Dash batch

BUG=skia:

Review URL: https://codereview.chromium.org/925673002

9 years agoRevert of Flate: fix valgrind miniz Conditional-jump-or-move-depends... error (patchs...
schenney [Fri, 27 Feb 2015 19:39:58 +0000 (11:39 -0800)]
Revert of Flate: fix valgrind miniz Conditional-jump-or-move-depends... error (patchset #2 id:20001 of https://codereview.chromium.org/964933003/)

Reason for revert:
Breaks the chrome build.

../../third_party/skia/src/core/SkFlate.cpp:37:22: error: assigning to 'MOZ_Z_alloc_func' (aka 'MOZ_Z_voidpf (*)(MOZ_Z_voidpf, MOZ_Z_uInt, MOZ_Z_uInt)') from incompatible type 'void *(*)(void *, size_t, size_t)': type mismatch at 2nd parameter ('MOZ_Z_uInt' (aka 'unsigned int') vs 'size_t' (aka 'unsigned long'))
    flateData.zalloc = &skia_alloc_func;
                     ^ ~~~~~~~~~~~~~~~~
../../third_party/skia/src/core/SkFlate.cpp:180:28: error: assigning to 'MOZ_Z_alloc_func' (aka 'MOZ_Z_voidpf (*)(MOZ_Z_voidpf, MOZ_Z_uInt, MOZ_Z_uInt)') from incompatible type 'void *(*)(void *, size_t, size_t)': type mismatch at 2nd parameter ('MOZ_Z_uInt' (aka 'unsigned int') vs 'size_t' (aka 'unsigned long'))
    fImpl->fZStream.zalloc = &skia_alloc_func;

Original issue's description:
> Flate: fix valgrind miniz Conditional-jump-or-move-depends... error
>
> Committed: https://skia.googlesource.com/skia/+/e0638f8ecfb609c89cab1aa8b498ad3f368b89d3

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

Review URL: https://codereview.chromium.org/964953002

9 years agoFlate: fix valgrind miniz Conditional-jump-or-move-depends... error
halcanary [Fri, 27 Feb 2015 18:39:28 +0000 (10:39 -0800)]
Flate: fix valgrind miniz Conditional-jump-or-move-depends... error

Review URL: https://codereview.chromium.org/964933003

9 years agoRevert of Revert of replace kIgnore_SkAlphaType with kUnknown_SkAlphaType (patchset...
reed [Fri, 27 Feb 2015 18:23:00 +0000 (10:23 -0800)]
Revert of Revert of replace kIgnore_SkAlphaType with kUnknown_SkAlphaType (patchset #1 id:1 of https://codereview.chromium.org/966753002/)

Reason for revert:
Android has been updated, so we can re-land this.

Original issue's description:
> Revert of replace kIgnore_SkAlphaType with kUnknown_SkAlphaType (patchset #3 id:40001 of https://codereview.chromium.org/964613002/)
>
> Reason for revert:
> This breaks Android framework build. See
>
> https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantisg-userdebug/1759130/7f0fcdbf3c0d47530d770a15c912298dac20dd7d90a01de63ecb9ba16c96b25c/logs/build_error.log?Expires=1425047630&GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Signature=BHPS1lffyH7WykwyEw5RXVVXWqQK5rab%2B6Pl1VaUrTlmWT%2FXb6fq%2FBe22AUDZYFPG24MBR%2F2IzIDzTqH3mihQS9wIkcKJ4kJpA2G%2BI3l8jCX20brZSr3bsDSx%2F4wsLwU1bBpIxI%2FbrauoPRqddbXP8sNI1l51u6ZCxpvRQms9Mc%3D
>
> We need to stop them from using kIgnore before we can reland this.
>
> Original issue's description:
> > replace kIgnore_SkAlphaType with kUnknown_SkAlphaType
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/1c8aeeaebce9675197be31bd769e8ffa2531bf86
>
> TBR=reed@google.com,reed@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/574290f61a47bd1ce1f9e2d941533bda9c8f03fe

TBR=reed@chromium.org,scroggo@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/966853002

9 years agoTest msaa on bots using dm. 4 samples for Android, 16 elsewhere
bsalomon [Fri, 27 Feb 2015 18:13:36 +0000 (10:13 -0800)]
Test msaa on bots using dm. 4 samples for Android, 16 elsewhere

Review URL: https://codereview.chromium.org/958033004

9 years agoContext batches
joshualitt [Fri, 27 Feb 2015 18:06:15 +0000 (10:06 -0800)]
Context batches

BUG=skia:

Review URL: https://codereview.chromium.org/913253003

9 years agoDecrease GrInOrderDrawBuffer::Cmd's reliance on GrInOrderDrawBuffer
robertphillips [Fri, 27 Feb 2015 16:50:34 +0000 (08:50 -0800)]
Decrease GrInOrderDrawBuffer::Cmd's reliance on GrInOrderDrawBuffer

Review URL: https://codereview.chromium.org/940533003

9 years agoClang warnings for SkFontHost_FreeType_common.cpp
fmalita [Fri, 27 Feb 2015 16:46:39 +0000 (08:46 -0800)]
Clang warnings for SkFontHost_FreeType_common.cpp

Signed/unsigned comparison warnings while attempting to build with Clang
on Linux.

R=bungeman@google.com,joshualitt@chromium.org

Review URL: https://codereview.chromium.org/961103002

9 years agoAdd rewind capability to SkChunkAlloc
robertphillips [Fri, 27 Feb 2015 16:31:57 +0000 (08:31 -0800)]
Add rewind capability to SkChunkAlloc

Split off from https://codereview.chromium.org/940533003/ (Decrease GrInOrderDrawBuffer::Cmd's reliance on GrInOrderDrawBuffer)

Review URL: https://codereview.chromium.org/967553003

9 years ago[SkSVGDevice] drawBitmap* support
fmalita [Fri, 27 Feb 2015 15:44:47 +0000 (07:44 -0800)]
[SkSVGDevice] drawBitmap* support

Also fix a clip transform issue: clips are tracked in device space,
but if applied directly to leaf elements they are also subject to local
transforms ("transform='...'"). Instead, apply via <g> wrapper elements.

R=reed@google.com,mtklein@google.com

Review URL: https://codereview.chromium.org/959883003

9 years agoMake the glyph array entries inline.
herb [Fri, 27 Feb 2015 15:22:48 +0000 (07:22 -0800)]
Make the glyph array entries inline.

Perf Reports
bin/c --match nytimes --config 8888
desk_nytimes.skp_1_mpd 1.41ms -> 1.38ms 0.98x
desk_nytimes.skp_1 1.94ms -> 1.87ms 0.97x

bin/c --match nytimes --config gpu
desk_nytimes.skp_1_mpd 1.63ms -> 1.59ms 0.97x
desk_nytimes.skp_1 1.56ms ->  1.5ms 0.97x

Here are results from mac instruments:
--match nytimes --config gpu --samples 10000 --skps /Users/herb/src/skia/skps

Inline:
Total Samples Running Time Self Symbol Name
94335 94335.0ms   98.3% 0.0    start
2365 2365.0ms    2.4% 2365.0   SkGlyphCache::getGlyphIDMetrics(unsigned short, int, int)
975 975.0ms    1.0% 975.0   SkGlyphCache::lookupMetrics(unsigned int, SkGlyphCache::MetricsType)

Clean:
Total Samples Running Time Self Symbol Name
96833 96833.0ms   97.3% 0.0    start
3418 3418.0ms    3.4% 3418.0   SkGlyphCache::getGlyphIDMetrics(unsigned short, int, int)
1961 1961.0ms    1.9% 1961.0   SkGlyphCache::lookupMetrics(unsigned int, SkGlyphCache::MetricsType)

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/4c08f16b252a55e438a61f26e5581394ed177da1

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

Review URL: https://codereview.chromium.org/885903002

9 years agoRevert of replace kIgnore_SkAlphaType with kUnknown_SkAlphaType (patchset #3 id:40001...
scroggo [Fri, 27 Feb 2015 14:21:58 +0000 (06:21 -0800)]
Revert of replace kIgnore_SkAlphaType with kUnknown_SkAlphaType (patchset #3 id:40001 of https://codereview.chromium.org/964613002/)

Reason for revert:
This breaks Android framework build. See

https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantisg-userdebug/1759130/7f0fcdbf3c0d47530d770a15c912298dac20dd7d90a01de63ecb9ba16c96b25c/logs/build_error.log?Expires=1425047630&GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Signature=BHPS1lffyH7WykwyEw5RXVVXWqQK5rab%2B6Pl1VaUrTlmWT%2FXb6fq%2FBe22AUDZYFPG24MBR%2F2IzIDzTqH3mihQS9wIkcKJ4kJpA2G%2BI3l8jCX20brZSr3bsDSx%2F4wsLwU1bBpIxI%2FbrauoPRqddbXP8sNI1l51u6ZCxpvRQms9Mc%3D

We need to stop them from using kIgnore before we can reland this.

Original issue's description:
> replace kIgnore_SkAlphaType with kUnknown_SkAlphaType
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/1c8aeeaebce9675197be31bd769e8ffa2531bf86

TBR=reed@google.com,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/966753002

9 years agoreplace kIgnore_SkAlphaType with kUnknown_SkAlphaType
reed [Fri, 27 Feb 2015 14:00:33 +0000 (06:00 -0800)]
replace kIgnore_SkAlphaType with kUnknown_SkAlphaType

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/964613002

9 years agoInitialize three locals to avoid the risk of uninitialized reads.
brucedawson [Thu, 26 Feb 2015 21:28:53 +0000 (13:28 -0800)]
Initialize three locals to avoid the risk of uninitialized reads.

/analyze recently reported two new warnings about reading from
potentially uninitialized local variables:

src\third_party\skia\src\gpu\grclipmaskmanager.cpp(290) :
warning C6001: Using uninitialized memory 'requiresAA'.
src\third_party\skia\src\gpu\grclipmaskmanager.cpp(336) :
warning C6001: Using uninitialized memory 'genID'.

It is not clear whether the uninitialized reads can actually happen,
but the guarantees seem sufficiently non-obvious that the prudent thing
to do to guarantee future stability is to initialized them -- it's
cheap. I also initialized initialState because it seemed to fall in
the same class, despite there being no warning for it.

BUG=427616

Review URL: https://codereview.chromium.org/957133002

9 years agominiz support in SkFlate / PDF
mtklein [Thu, 26 Feb 2015 21:25:05 +0000 (13:25 -0800)]
miniz support in SkFlate / PDF
   - Adds miniz.c v115_r4 (latest release) to third_party.
   - Merges SkDeflateWStream into SkFlate so including "miniz.c" links
     without duplicating symbols.

The only interesting code change I've made is to remove the line
     fImpl->fZStream.data_type = Z_BINARY;
from SkDeflateWStream::SkDeflateWStream().  miniz doesn't have Z_BINARY
defined, and as far as I can tell, both zlib and miniz ignore data_type.

We should be able to swap skflate.gyp's dependency between zlib.gyp:zlib and
zlib.gyp:miniz at will (except of course on Windows) if we're interested in
zlib itself.  I've left android framework on its own zlib.  I think this all
means we can stop defining SK_NO_FLATE on Windows.

I'll leave the possible cleanup of SK_NO_FLATE itself for another time.  Might
be we always want to keep this dependency optional.

CQ_EXTRA_TRYBOTS=client.skia:Test-Win8-ShuttleA-HD7770-x86-Debug-Trybot

BUG=skia:

Review URL: https://codereview.chromium.org/957323003

9 years agoCleanup in GrPipelineBuilder
bsalomon [Thu, 26 Feb 2015 21:05:21 +0000 (13:05 -0800)]
Cleanup in GrPipelineBuilder

Review URL: https://codereview.chromium.org/956363003

9 years agoAdd sqrt() and rsqrt() to Sk4f.
mtklein [Thu, 26 Feb 2015 20:48:05 +0000 (12:48 -0800)]
Add sqrt() and rsqrt() to Sk4f.

This doesn't add them to the second-stringer Sk4i.  It's unclear we should be
doing that often, and we don't have efficient ways to do it except via floats.

BUG=skia:

Review URL: https://codereview.chromium.org/964603002

9 years agoThink implicit promotion is a good idea?
mtklein [Thu, 26 Feb 2015 20:21:25 +0000 (12:21 -0800)]
Think implicit promotion is a good idea?

Things like foo.multiply(Sk4f(t,t,t,t)) can just be foo.multiply(t).

BUG=skia:

Review URL: https://codereview.chromium.org/960773005

9 years agoAutomatically add NOTREECHECKS when uploading CLs from non master branches
rmistry [Thu, 26 Feb 2015 19:52:05 +0000 (11:52 -0800)]
Automatically add NOTREECHECKS when uploading CLs from non master branches

These changes are possible due to the recently submitted depot_tools change
https://codereview.chromium.org/949273002/ ('Add ability to specify and run post upload hooks').

BUG=skia:

Review URL: https://codereview.chromium.org/963553002

9 years agoRevert of Improve tracking of bound FBOs in GrGLGpu. (patchset #6 id:100001 of https...
bsalomon [Thu, 26 Feb 2015 19:24:57 +0000 (11:24 -0800)]
Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #6 id:100001 of https://codereview.chromium.org/949263002/)

Reason for revert:
breaking hd2000 windows bots

Original issue's description:
> Improve tracking of bound FBOs in GrGLGpu.
>
> Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0

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

Review URL: https://codereview.chromium.org/964543002

9 years agoremove unnecessary and confusing error message from scaler
humper [Thu, 26 Feb 2015 19:07:23 +0000 (11:07 -0800)]
remove unnecessary and confusing error message from scaler
(also fix whitespace)

BUG=skia:

Review URL: https://codereview.chromium.org/958013004

9 years agoadd auto SkPMFloat <-> Sk4f conversion
mtklein [Thu, 26 Feb 2015 18:43:16 +0000 (10:43 -0800)]
add auto SkPMFloat <-> Sk4f conversion

BUG=skia:

Review URL: https://codereview.chromium.org/954323002

9 years agoAutomatically add a docs preview link and NOTRY=true when there are only docs changes.
rmistry [Thu, 26 Feb 2015 18:16:13 +0000 (10:16 -0800)]
Automatically add a docs preview link and NOTRY=true when there are only docs changes.

These changes are possible due to the recently submitted depot_tools change
https://codereview.chromium.org/949273002/ ('Add ability to specify and run post upload hooks').

BUG=skia:3474

Review URL: https://codereview.chromium.org/960203002

9 years agoSpin off some fixes to land right away.
mtklein [Thu, 26 Feb 2015 18:14:15 +0000 (10:14 -0800)]
Spin off some fixes to land right away.

BUG=skia:

Review URL: https://codereview.chromium.org/960023002

9 years agoFix SampleApp build on iOS.
scroggo [Thu, 26 Feb 2015 17:52:12 +0000 (09:52 -0800)]
Fix SampleApp build on iOS.

Remove references to kNullGPU_DeviceType, which has been removed.

Review URL: https://codereview.chromium.org/960133004

9 years agoSome small code tidying
joshualitt [Thu, 26 Feb 2015 16:47:52 +0000 (08:47 -0800)]
Some small code tidying

BUG=skia:

Review URL: https://codereview.chromium.org/961813002

9 years agoImprove tracking of bound FBOs in GrGLGpu.
bsalomon [Thu, 26 Feb 2015 15:56:22 +0000 (07:56 -0800)]
Improve tracking of bound FBOs in GrGLGpu.

Review URL: https://codereview.chromium.org/949263002

9 years agoWin64 warning fix for GrTessellatingPathRenderer.
Stephen White [Thu, 26 Feb 2015 15:11:20 +0000 (10:11 -0500)]
Win64 warning fix for GrTessellatingPathRenderer.

BUG=skia:

Review URL: https://codereview.chromium.org/956293003

9 years agoTessellating GPU path renderer.
senorblanco [Thu, 26 Feb 2015 14:58:17 +0000 (06:58 -0800)]
Tessellating GPU path renderer.

This path renderer converts paths to linear contours, resolves intersections via Bentley-Ottman, implements a trapezoidal decomposition a la Fournier and Montuno to produce triangles, and renders those with a single draw call. It does not currently do antialiasing, so it must be used in conjunction with multisampling.

A fair amount of the code is to handle floating point edge cases in intersections. Rather than perform exact computations (which would require arbitrary precision arithmetic), we reconnect the mesh to reflect the intersection points. For example, intersections can occur above the current vertex, and force edges to be merged into the current vertex, requiring a restart of the intersections. Splitting edges for intersections can also force them to merge with formerly-distinct edges in the same polygon, or to violate the ordering of the active edge list, or the active edge state of split edges.

BUG=skia:

Review URL: https://codereview.chromium.org/855513004

9 years agoRevert of Use an image generator to back SkPictureShader tiles. (patchset #4 id:60001...
fmalita [Thu, 26 Feb 2015 01:47:06 +0000 (17:47 -0800)]
Revert of Use an image generator to back SkPictureShader tiles. (patchset #4 id:60001 of https://codereview.chromium.org/866773002/)

Reason for revert:
TSAN troubles.

Original issue's description:
> Use an image generator to back SkPictureShader tiles.
>
> To avoid lifetime issues for tiles backed by discardable memory, use an
> image generator to re-generate them on the fly.
>
> With this CL, we are now caching bitmap shaders wrapping discardable
> pixel ref bitmaps backed by picture image generators.
>
> (the CL also includes some minor/unrelated SkPictureShader cleanup)
>
> BUG=skia:3220
> R=reed@google.com,halcanary@google.com
>
> Committed: https://skia.googlesource.com/skia/+/4739955e98ba86900a5bbac0e3661601427a54d4

TBR=reed@google.com,halcanary@google.com,mtklein@google.com,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3220

Review URL: https://codereview.chromium.org/956143002

9 years agoadding preabandon flag to DM
joshualitt [Wed, 25 Feb 2015 22:09:45 +0000 (14:09 -0800)]
adding preabandon flag to DM

BUG=skia:

Review URL: https://codereview.chromium.org/929243004

9 years agoI'd really like to land this before the branch so speedy reviews are appreciated.
joshualitt [Wed, 25 Feb 2015 21:19:48 +0000 (13:19 -0800)]
I'd really like to land this before the branch so speedy reviews are appreciated.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/586d5d640b19860dfbbd903a5188da1bbbe87336

Review URL: https://codereview.chromium.org/936943002

9 years agoRevert of Pass clip to context (patchset #8 id:180001 of https://codereview.chromium...
joshualitt [Wed, 25 Feb 2015 21:04:43 +0000 (13:04 -0800)]
Revert of Pass clip to context (patchset #8 id:180001 of https://codereview.chromium.org/936943002/)

Reason for revert:
Strange blur problems on nexus 5

Original issue's description:
> I'd really like to land this before the branch so speedy reviews are appreciated.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/586d5d640b19860dfbbd903a5188da1bbbe87336

TBR=jvanverth@google.com,senorblanco@google.com,bsalomon@google.com,senorblanco@chromium.org,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/956083002

9 years agoClean up ColorRectProc plumbing.
mtklein [Wed, 25 Feb 2015 20:52:57 +0000 (12:52 -0800)]
Clean up ColorRectProc plumbing.

We've always been using the portable ColorRect32, so we don't need the
ColorRectProc plumbing.

Furthermore, ColorRect32 doesn't seem to be very important (we're only using
it in the opaque case, which our row-by-row procs already specialize for).
Remove that too.

If we find we want specialization for really narrow rects again, let's put it in
blitRect() directly.  It's pretty unlikely we're going to get platform-specific
speedup for blits to non-contiguous memory.

My local SKP comparison is +- 3%... most neutral I've ever seen.

BUG=skia:

Review URL: https://codereview.chromium.org/959873002

9 years agoFix the race to set the new gen ID.
mtklein [Wed, 25 Feb 2015 20:51:55 +0000 (12:51 -0800)]
Fix the race to set the new gen ID.

There's a small window where two threads can both see the gen ID is zero,
both go get new distinct genIDs, but race to write them.

This now uses compare_exchange to read and leave the winner's ID in place
when there's a race.

SkAtomics isn't public.
TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/956013002

9 years agoRemove SK_USE_LEGACY_AA_COVERAGE guarded code.
bungeman [Wed, 25 Feb 2015 20:30:48 +0000 (12:30 -0800)]
Remove SK_USE_LEGACY_AA_COVERAGE guarded code.

It doesn't appear anyone uses this flag anymore.

Review URL: https://codereview.chromium.org/943053004

9 years agoShorten up some site titles, also remove some trailing whitespace.
jcgregorio [Wed, 25 Feb 2015 19:49:15 +0000 (11:49 -0800)]
Shorten up some site titles, also remove some trailing whitespace.

BUG=skia:

Review URL: https://codereview.chromium.org/956853005

9 years agoI'd really like to land this before the branch so speedy reviews are appreciated.
joshualitt [Wed, 25 Feb 2015 19:21:21 +0000 (11:21 -0800)]
I'd really like to land this before the branch so speedy reviews are appreciated.

BUG=skia:

Review URL: https://codereview.chromium.org/936943002

9 years agoSteal a bit from the gen ID instead of managing two atomic values.
mtklein [Wed, 25 Feb 2015 17:10:57 +0000 (09:10 -0800)]
Steal a bit from the gen ID instead of managing two atomic values.

This extra atomic bool is hard to think about, and I'm worried about how
updates to fGenerationID and fUniqueGenerationID interlace.  By storing
them in the same int, they can't ever race.

CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot

BUG=skia:

Review URL: https://codereview.chromium.org/955043002

9 years agofuzzer fixes
caryclark [Wed, 25 Feb 2015 17:04:04 +0000 (09:04 -0800)]
fuzzer fixes

Fix path bugs exposed by the path fuzzer.

Changes to existing gm and samplecode files defer their calls to construct
SkPath objects until the first draw instead of at test initialization.

Add an experimental call to SkPath to validate the internal SkPathRef.

Fix SkPath::addPoly to set the last moveto after adding a close verb.

Fix stroke to handle failures when computing the unit normal.

Add a unit test for the unit normal failure.

R=reed@google.com

Review URL: https://codereview.chromium.org/953383002

9 years agoSkPDF: remove SK_API on no-longer-public functions.
halcanary [Wed, 25 Feb 2015 16:59:48 +0000 (08:59 -0800)]
SkPDF: remove SK_API on no-longer-public functions.

CQ_INCLUDE_TRYBOTS=client.skia:Mac Builder-Trybot,Linux Builder-Trybot,Win Builder-Trybot

Review URL: https://codereview.chromium.org/953053002

9 years agoroll gyp
bsalomon [Wed, 25 Feb 2015 16:58:09 +0000 (08:58 -0800)]
roll gyp
TBR=mtklein@google.com

Review URL: https://codereview.chromium.org/954673003

9 years agoRevert of fAddedToCache doesn't need to be atomic. (patchset #1 id:1 of https://coder...
mtklein [Wed, 25 Feb 2015 16:27:41 +0000 (08:27 -0800)]
Revert of fAddedToCache doesn't need to be atomic. (patchset #1 id:1 of https://codereview.chromium.org/960573002/)

Reason for revert:
Yes it does.  notifyAddedToCache() must be thread-safe.

Original issue's description:
> fAddedToCache doesn't need to be atomic.
>
> It's only ever read or set from non-threadsafe methods.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/fbe0edfec4fed2a09e12b049d527d280f16e75b3

TBR=reed@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/959763002

9 years agoRevert of Default SK_ANGLE to true on Windows, run angle whenever possible on bots...
mtklein [Wed, 25 Feb 2015 16:16:19 +0000 (08:16 -0800)]
Revert of Default SK_ANGLE to true on Windows, run angle whenever possible on bots. (patchset #3 id:40001 of https://codereview.chromium.org/946933006/)

Reason for revert:
Needs bot upgrades.

Original issue's description:
> Default SK_ANGLE to true on Windows, run angle whenever possible on bots.
>
> nanobench doesn't need an update.  It uses the default for --config,
> which includes angle.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/88ec329b580a081d9d56cbcaad0ee46cb941c849

TBR=bsalomon@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/954243002

9 years agofAddedToCache doesn't need to be atomic.
mtklein [Wed, 25 Feb 2015 16:11:18 +0000 (08:11 -0800)]
fAddedToCache doesn't need to be atomic.

It's only ever read or set from non-threadsafe methods.

BUG=skia:

Review URL: https://codereview.chromium.org/960573002

9 years agoDefault SK_ANGLE to true on Windows, run angle whenever possible on bots.
mtklein [Wed, 25 Feb 2015 15:56:06 +0000 (07:56 -0800)]
Default SK_ANGLE to true on Windows, run angle whenever possible on bots.

nanobench doesn't need an update.  It uses the default for --config,
which includes angle.

BUG=skia:

Review URL: https://codereview.chromium.org/946933006