platform/upstream/libSkiaSharp.git
9 years agoremove unneeded flags
reed [Mon, 16 Mar 2015 20:55:48 +0000 (13:55 -0700)]
remove unneeded flags

BUG=skia:

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

9 years agoFix up some issues introduced by https://codereview.chromium.org/1013773002/
jvanverth [Mon, 16 Mar 2015 19:58:43 +0000 (12:58 -0700)]
Fix up some issues introduced by https://codereview.chromium.org/1013773002/

Need to check for zero-length gradients when using the new correction.
Make sure we use the old text sizes for color emoji test in dftext GM.

BUG=skia:3540

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

9 years agoalways reset locale (not just in debug).
Brian Salomon [Mon, 16 Mar 2015 19:36:44 +0000 (15:36 -0400)]
always reset locale (not just in debug).

BUG=skia:

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

9 years agofix ios build wrt locale?
Brian Salomon [Mon, 16 Mar 2015 19:05:23 +0000 (15:05 -0400)]
fix ios build wrt locale?

BUG=skia:3330

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

9 years agoUse C locale for numerics when emitting shaders.
bsalomon [Mon, 16 Mar 2015 18:56:29 +0000 (11:56 -0700)]
Use C locale for numerics when emitting shaders.

BUG=skia:3330

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

9 years agoRevert "Revert of fix for invalid for loop syntax broke build (patchset #1 id:1 of...
msarett [Mon, 16 Mar 2015 18:55:18 +0000 (11:55 -0700)]
Revert "Revert of fix for invalid for loop syntax broke build (patchset #1 id:1 of https://codereview.chromium.org/1007373003/)"

This reverts commit d18475854ce232de71c5463e0654f459d4abfd43.

Revert "Revert "Implementation of image decoding for bmp files, in accordance with the new API.""

This reverts commit dfdec78a5d02e8690998741a9fe5b71a08ca3232.

BUG=skia:

TBR=

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

9 years agoFix SDF gradient calculation for non-uniform xforms
jvanverth [Mon, 16 Mar 2015 18:32:49 +0000 (11:32 -0700)]
Fix SDF gradient calculation for non-uniform xforms

Also adds two non-uniform test cases to the dftext GM.

BUG=skia:3540

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

9 years agoRevert "Implementation of image decoding for bmp files, in accordance with the new...
msarett [Mon, 16 Mar 2015 18:07:02 +0000 (11:07 -0700)]
Revert "Implementation of image decoding for bmp files, in accordance with the new API."

This reverts commit 3675874468de7228944ce21922e6ec863f5f2310.

BUG=skia:
NOTREECHECKS=true
NOTRY=true
TBR=

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

9 years agoRevert of fix for invalid for loop syntax broke build (patchset #1 id:1 of https...
egdaniel [Mon, 16 Mar 2015 17:50:12 +0000 (10:50 -0700)]
Revert of fix for invalid for loop syntax broke build (patchset #1 id:1 of https://codereview.chromium.org/1007373003/)

Reason for revert:
needed to revert early patch

Original issue's description:
> fix for invalid for loop syntax broke build
> NOTREECHECKS=true
> NOTRY=true
> TBR=
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/fdc310855dbf04ffb33787f5c0d76fef90b303d4

TBR=msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

9 years agoDM: allow SKPs to be smaller than 1000x1000
mtklein [Mon, 16 Mar 2015 17:38:07 +0000 (10:38 -0700)]
DM: allow SKPs to be smaller than 1000x1000

This sniffs the .skp dimensions and intersects them with our 1000x1000 viewport.

This fixes things like desk_carsvg.skp, which is only 902 pixels tall.  In 565 now,
the remaining 98 pixels draw as black, which looks funny and is confusing to triage.

No apparent affect on DM memory usage.  (We're about to map the file anyway.)

BUG=skia:

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

9 years agoFilterLevel -> SkFilterQuality
reed [Mon, 16 Mar 2015 17:26:13 +0000 (10:26 -0700)]
FilterLevel -> SkFilterQuality

BUG=skia:
TBR=
NOTREECHECKS=True
NOTRY=True

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

9 years agoSkPaint::FilterLevel -> SkFilterQuality
reed [Mon, 16 Mar 2015 17:08:34 +0000 (10:08 -0700)]
SkPaint::FilterLevel -> SkFilterQuality

clone (+rebase) of https://codereview.chromium.org/1009183002/

BUG=skia:
TBR=scroggo@google.com

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

9 years agoAdd __STDC_LIMIT_MACROS to SkDraw.cpp.
bungeman [Mon, 16 Mar 2015 17:00:09 +0000 (13:00 -0400)]
Add __STDC_LIMIT_MACROS to SkDraw.cpp.

9 years agoTest for glyphs which straddle the edge of device space.
bungeman [Mon, 16 Mar 2015 16:49:54 +0000 (09:49 -0700)]
Test for glyphs which straddle the edge of device space.

If a glyph ends up with a left edge near the extreme right edge of
device space, the right edge may end up at the extreme left. The
current clip tests do not test for this situation and attempt to
draw the glyphs. This results in the blitters never reaching the
right edge of the glyph and so reading from other memory.

BUG=chromium:467011

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

9 years agofix for invalid for loop syntax broke build
msarett [Mon, 16 Mar 2015 15:47:55 +0000 (08:47 -0700)]
fix for invalid for loop syntax broke build
NOTREECHECKS=true
NOTRY=true
TBR=
BUG=skia:

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

9 years agoImplementation of image decoding for bmp files, in accordance with the new API.
msarett [Mon, 16 Mar 2015 15:27:53 +0000 (08:27 -0700)]
Implementation of image decoding for bmp files, in accordance with the new API.

Currently decodes to opaque and unpremul.

Tested on local test suite.

BUG=skia:3257

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

9 years agocheck for null-pixelref
reed [Mon, 16 Mar 2015 14:28:12 +0000 (07:28 -0700)]
check for null-pixelref

BUG=skia:3497

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

9 years agoremove deprecated setFilterBitmap/isFilterBitmap
reed [Mon, 16 Mar 2015 14:24:05 +0000 (07:24 -0700)]
remove deprecated setFilterBitmap/isFilterBitmap

BUG=skia:

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

9 years agoSuppress keepalive thread leak in DM.
mtklein [Mon, 16 Mar 2015 13:59:18 +0000 (06:59 -0700)]
Suppress keepalive thread leak in DM.

BUG=skia:

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

9 years agomove kTileModeCount out of TileMode enum
reed [Sun, 15 Mar 2015 21:01:21 +0000 (14:01 -0700)]
move kTileModeCount out of TileMode enum

BUG=skia:
TBR=

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

9 years agoUpdate SKP version
skia.buildbots [Sun, 15 Mar 2015 08:13:36 +0000 (01:13 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoremove legacy onCreateCompatibleDevice
reed [Sun, 15 Mar 2015 00:51:34 +0000 (17:51 -0700)]
remove legacy onCreateCompatibleDevice

needs this to land in chrome first : https://codereview.chromium.org/1013453002/

BUG=skia:
TBR=

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

9 years agoRevert of Improve tracking of bound FBOs in GrGLGpu. (patchset #12 id:220001 of https...
bsalomon [Sat, 14 Mar 2015 19:08:51 +0000 (12:08 -0700)]
Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #12 id:220001 of https://codereview.chromium.org/949263002/)

Reason for revert:
That one needs to be reverted to fix black boxes with GPU
raster, and GPU bot failures.

BUG=466690

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
>
> Committed: https://skia.googlesource.com/skia/+/6ba6fa15261be591f33cf0e5df7134e4fc6432ac

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

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

9 years agoRevert of Add terrible workaround to fix stencil clear crash on S3. (patchset #1...
ccameron [Sat, 14 Mar 2015 19:06:54 +0000 (12:06 -0700)]
Revert of Add terrible workaround to fix stencil clear crash on S3. (patchset #1 id:1 of https://codereview.chromium.org/1001693003/)

Reason for revert:
Needs to be reverted in order to cleanly revert
https://codereview.chromium.org/949263002

That one needs to be reverted to fix black boxes with GPU
raster, and GPU bot failures.

BUG=466690

Original issue's description:
> Add terrible workaround to fix stencil clear crash on S3.
>
> BUG=skia:3525
>
> Committed: https://skia.googlesource.com/skia/+/084340bb9bbb538baf02a11ac36e29f0d9cdc493

TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3525

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

9 years agoRevert[6] of Change device creation to see the (optional) layer-paint
reed [Sat, 14 Mar 2015 17:54:31 +0000 (10:54 -0700)]
Revert[6] of Change device creation to see the (optional) layer-paint

This reverts commit 173e5fe5f4be28272246e5676f5d2e5c4b1f9167.

BUG=skia:
TBR=

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

9 years agoSkip absurdly slow PDF tests on Valgrind bot.
mtklein [Sat, 14 Mar 2015 14:24:29 +0000 (07:24 -0700)]
Skip absurdly slow PDF tests on Valgrind bot.

Our Valgrind-with-keepalive CPU bot is still running its first run as I write
this.  It's been going ~48 hours.  'pdf gm fontmgr_iter' finished after ~19
hours.  'pdf image PANO_20121023_214540.jpg' still seems to be running.

After this, the next slowest will be '565 gm fontmgr_iter' at about 37 minutes.

TBR=borenet@google.com

BUG=skia:

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

9 years agoadd onCreateDevice to eventually replace onCreateCompatibleDevice
reed [Sat, 14 Mar 2015 11:30:21 +0000 (04:30 -0700)]
add onCreateDevice to eventually replace onCreateCompatibleDevice

BUG=skia:
TBR=

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

9 years agoRevert of Revert of Revert of Revert of Revert of Change device creation to see the...
reed [Sat, 14 Mar 2015 03:05:18 +0000 (20:05 -0700)]
Revert of Revert of Revert of Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1005173004/)

Reason for revert:
arrrg. this is a staging nightmare. override required on the chrome side. must revert (again)

Original issue's description:
> Revert of Revert of Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1001423002/)
>
> Reason for revert:
> chrome now has the new virtual, so trying again
>
> Original issue's description:
> > Revert of Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1006923002/)
> >
> > Reason for revert:
> > platform_canvas tests failures
> >
> > skia_unittests (with patch) skia_unittests (with patch) PlatformCanvas.TranslateLayer failed 2
> > Flakiness dashboard
> >
> > failures:
> > PlatformCanvas.TranslateLayer
> > PlatformCanvas.FillLayer
> >
> > Original issue's description:
> > > Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1008863002/)
> > >
> > > Reason for revert:
> > > guard in chrome has landed
> > >
> > > Original issue's description:
> > > > Revert of Change device creation to see the (optional) layer-paint (patchset #9 id:160001 of https://codereview.chromium.org/988413003/)
> > > >
> > > > Reason for revert:
> > > > need to have chrome opt-in for the older API before this can land (in chrome)
> > > >
> > > > Original issue's description:
> > > > > Change device creation to see the (optional) layer-paint
> > > > >
> > > > > Motivation:
> > > > >
> > > > > PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice.
> > > > >
> > > > > This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands.
> > > > >
> > > > > Committed: https://skia.googlesource.com/skia/+/1182d9a96b80bd12183ee7c81325a979a51ee0c0
> > > >
> > > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com
> > > > NOPRESUBMIT=true
> > > > NOTREECHECKS=true
> > > > NOTRY=true
> > > >
> > > > Committed: https://skia.googlesource.com/skia/+/0e040f7da2fdfeb49aa60d24117306e3b1e6ea90
> > >
> > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > >
> > > Committed: https://skia.googlesource.com/skia/+/f7076a13e2d4269903b34ef2780e1c84723e4477
> >
> > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> >
> > Committed: https://skia.googlesource.com/skia/+/8e14d660b2a434bc708a70180c84210883611683
>
> TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com,reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/307d1ed129ff75eb64137dea75df858f9e250b69

TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

9 years agoRevert of Revert of Revert of Revert of Change device creation to see the (optional...
reed [Sat, 14 Mar 2015 02:52:59 +0000 (19:52 -0700)]
Revert of Revert of Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1001423002/)

Reason for revert:
chrome now has the new virtual, so trying again

Original issue's description:
> Revert of Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1006923002/)
>
> Reason for revert:
> platform_canvas tests failures
>
> skia_unittests (with patch) skia_unittests (with patch) PlatformCanvas.TranslateLayer failed 2
> Flakiness dashboard
>
> failures:
> PlatformCanvas.TranslateLayer
> PlatformCanvas.FillLayer
>
> Original issue's description:
> > Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1008863002/)
> >
> > Reason for revert:
> > guard in chrome has landed
> >
> > Original issue's description:
> > > Revert of Change device creation to see the (optional) layer-paint (patchset #9 id:160001 of https://codereview.chromium.org/988413003/)
> > >
> > > Reason for revert:
> > > need to have chrome opt-in for the older API before this can land (in chrome)
> > >
> > > Original issue's description:
> > > > Change device creation to see the (optional) layer-paint
> > > >
> > > > Motivation:
> > > >
> > > > PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice.
> > > >
> > > > This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands.
> > > >
> > > > Committed: https://skia.googlesource.com/skia/+/1182d9a96b80bd12183ee7c81325a979a51ee0c0
> > >
> > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > >
> > > Committed: https://skia.googlesource.com/skia/+/0e040f7da2fdfeb49aa60d24117306e3b1e6ea90
> >
> > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> >
> > Committed: https://skia.googlesource.com/skia/+/f7076a13e2d4269903b34ef2780e1c84723e4477
>
> TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/8e14d660b2a434bc708a70180c84210883611683

TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

9 years agoRevert of Revert of Revert of Change device creation to see the (optional) layer...
reed [Fri, 13 Mar 2015 19:34:32 +0000 (12:34 -0700)]
Revert of Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1006923002/)

Reason for revert:
platform_canvas tests failures

skia_unittests (with patch) skia_unittests (with patch) PlatformCanvas.TranslateLayer failed 2
Flakiness dashboard

failures:
PlatformCanvas.TranslateLayer
PlatformCanvas.FillLayer

Original issue's description:
> Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1008863002/)
>
> Reason for revert:
> guard in chrome has landed
>
> Original issue's description:
> > Revert of Change device creation to see the (optional) layer-paint (patchset #9 id:160001 of https://codereview.chromium.org/988413003/)
> >
> > Reason for revert:
> > need to have chrome opt-in for the older API before this can land (in chrome)
> >
> > Original issue's description:
> > > Change device creation to see the (optional) layer-paint
> > >
> > > Motivation:
> > >
> > > PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice.
> > >
> > > This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands.
> > >
> > > Committed: https://skia.googlesource.com/skia/+/1182d9a96b80bd12183ee7c81325a979a51ee0c0
> >
> > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> >
> > Committed: https://skia.googlesource.com/skia/+/0e040f7da2fdfeb49aa60d24117306e3b1e6ea90
>
> TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/f7076a13e2d4269903b34ef2780e1c84723e4477

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

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

9 years agoCreation of GrBatchAtlas and Distancefieldpathrenderer batch
joshualitt [Fri, 13 Mar 2015 18:47:42 +0000 (11:47 -0700)]
Creation of GrBatchAtlas and Distancefieldpathrenderer batch

BUG=skia:

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

9 years agoFix bug with very large round rects with large radii
robertphillips [Fri, 13 Mar 2015 16:53:01 +0000 (09:53 -0700)]
Fix bug with very large round rects with large radii

BUG=463920

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

9 years agoHandle paths that do not report empty, but have no edges.
reed [Fri, 13 Mar 2015 15:48:26 +0000 (08:48 -0700)]
Handle paths that do not report empty, but have no edges.

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

BUG=skia:3527

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

9 years agoRevert of Revert of Change device creation to see the (optional) layer-paint (patchse...
reed [Fri, 13 Mar 2015 15:46:12 +0000 (08:46 -0700)]
Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1008863002/)

Reason for revert:
guard in chrome has landed

Original issue's description:
> Revert of Change device creation to see the (optional) layer-paint (patchset #9 id:160001 of https://codereview.chromium.org/988413003/)
>
> Reason for revert:
> need to have chrome opt-in for the older API before this can land (in chrome)
>
> Original issue's description:
> > Change device creation to see the (optional) layer-paint
> >
> > Motivation:
> >
> > PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice.
> >
> > This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands.
> >
> > Committed: https://skia.googlesource.com/skia/+/1182d9a96b80bd12183ee7c81325a979a51ee0c0
>
> TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/0e040f7da2fdfeb49aa60d24117306e3b1e6ea90

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

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

9 years agoCall to retrieve SkDescriptor for SkScalarContext from SkPaint.
joshualitt [Fri, 13 Mar 2015 15:38:43 +0000 (08:38 -0700)]
Call to retrieve SkDescriptor for SkScalarContext from SkPaint.

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

9 years agoIco security issues fix
msarett [Fri, 13 Mar 2015 15:07:01 +0000 (08:07 -0700)]
Ico security issues fix

BUG=skia:3401
BUG=skia:3426
BUG=skia:3441

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

9 years agoRevert of Change device creation to see the (optional) layer-paint (patchset #9 id...
reed [Fri, 13 Mar 2015 14:28:28 +0000 (07:28 -0700)]
Revert of Change device creation to see the (optional) layer-paint (patchset #9 id:160001 of https://codereview.chromium.org/988413003/)

Reason for revert:
need to have chrome opt-in for the older API before this can land (in chrome)

Original issue's description:
> Change device creation to see the (optional) layer-paint
>
> Motivation:
>
> PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice.
>
> This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands.
>
> Committed: https://skia.googlesource.com/skia/+/1182d9a96b80bd12183ee7c81325a979a51ee0c0

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

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

9 years agoChange device creation to see the (optional) layer-paint
reed [Fri, 13 Mar 2015 14:16:09 +0000 (07:16 -0700)]
Change device creation to see the (optional) layer-paint

Motivation:

PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice.

This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands.

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

9 years agoLower SkPictureShader tile size limits
fmalita [Fri, 13 Mar 2015 13:50:44 +0000 (06:50 -0700)]
Lower SkPictureShader tile size limits

Let's drop this to 4M pixels - maybe it will help relieve DM pressure on
mobile devices.

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

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

9 years agosome utils for rect and matrix
reed [Fri, 13 Mar 2015 13:08:28 +0000 (06:08 -0700)]
some utils for rect and matrix

BUG=skia:

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

9 years agoHave DM and nanobench display times in minutes when they're above 60 seconds.
mtklein [Thu, 12 Mar 2015 17:29:32 +0000 (10:29 -0700)]
Have DM and nanobench display times in minutes when they're above 60 seconds.

Getting tired of trying to divide in my head when reading Valgrind logs.

BUG=skia:

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

9 years agoIgnore public API checks if COMMIT=false is in the description
rmistry [Thu, 12 Mar 2015 16:48:10 +0000 (09:48 -0700)]
Ignore public API checks if COMMIT=false is in the description

BUG=skia:
NOTRY=true

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

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

9 years agoRevert of Ignore public API checks if COMMIT=false is in the description (patchset...
mtklein [Thu, 12 Mar 2015 16:33:46 +0000 (09:33 -0700)]
Revert of Ignore public API checks if COMMIT=false is in the description (patchset #4 id:80001 of https://codereview.chromium.org/1006473002/)

Reason for revert:
I cannot upload patches:

~/skia (skskp) $ git clu --bypass-hooks
++ git log -1 --pretty=%B
+ git cl upload -t update
Using 50% similarity for rename/copy detection. Override with --similarity.
Loaded authentication cookies from /Users/mtklein/.codereview_upload_cookies
Running presubmit upload checks ...

** Presubmit ERRORS **
Since the CL is editing public API, you must have an LGTM from one of: ('reed@chromium.org', 'reed@google.com', 'bsalomon@chromium.org', 'bsalomon@google.com', 'djsollen@chromium.org', 'djsollen@google.com')

Original issue's description:
> Ignore public API checks if COMMIT=false is in the description
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d1783aefcc0da86c5ff1d124c54704252d817621

TBR=borenet@google.com,rmistry@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

9 years agoIgnore public API checks if COMMIT=false is in the description
rmistry [Thu, 12 Mar 2015 15:43:22 +0000 (08:43 -0700)]
Ignore public API checks if COMMIT=false is in the description

BUG=skia:

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

9 years agoDM: display current memory usage (instead of peak) when available.
mtklein [Thu, 12 Mar 2015 15:24:21 +0000 (08:24 -0700)]
DM: display current memory usage (instead of peak) when available.

Seems strictly more useful.

This implements Mac and Windows, which seemed easy.  Don't know how to do this on Linux yet.

BUG=skia:

CQ_EXTRA_TRYBOTS=client.skia:Test-Mac10.9-MacMini6.2-HD4000-x86_64-Debug-Trybot

NOTREECHECKS=true
TBR=halcanary@google.com

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

9 years agoMake presubmit check that #if or #ifdef does not come before includes.
rmistry [Thu, 12 Mar 2015 14:48:40 +0000 (07:48 -0700)]
Make presubmit check that #if or #ifdef does not come before includes.

BUG=skia:3362

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

9 years agoRejigger keep-alive thread so TSAN and LSAN don't complain.
mtklein [Thu, 12 Mar 2015 14:16:56 +0000 (07:16 -0700)]
Rejigger keep-alive thread so TSAN and LSAN don't complain.

BUG=skia:

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

9 years agoAdd #include first in Sk4x_* files
rmistry [Thu, 12 Mar 2015 14:09:25 +0000 (07:09 -0700)]
Add #include first in Sk4x_* files

BUG=skia:3362

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

9 years agoDM: add keepalive for Valgrind bot.
mtklein [Thu, 12 Mar 2015 13:28:54 +0000 (06:28 -0700)]
DM: add keepalive for Valgrind bot.

BUG=skia:

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

9 years agoClean up SkDynamicAnnotations.
mtklein [Thu, 12 Mar 2015 12:27:46 +0000 (05:27 -0700)]
Clean up SkDynamicAnnotations.

    Unprotected reads -> relaxed reads.
    Unprotected write -> relaxed write.

The only unprotected write we had was in SkTraceEvent, which it looks like we nabbed from Chrome at some point and changed only to silence TSAN.  Chrome's version uses AtomicWord / NoBarrier_Load / NoBarrier_Store, which boils down to the same as here, intptr_t / relaxed load / relaxed store.

This leaves one place where we're lying a bit to TSAN, in include/core/SkLazyPtr.h where we're doing a data-dependent consume load.  We're telling TSAN it's consume, but telling any other compiler to compile it as relaxed, given how they all upgrade consume to acquire.  This eliminates a barrier for us on ARM.  How do you guys deal with this?  Just use a consume memory order, take the hit, and hope compilers get smarter one day?

BUG=chromium:465721

No public API changes.
TBR=reed@google.com

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

9 years agoFix HWUI Sink for DM
Derek Sollenberger [Thu, 12 Mar 2015 11:52:22 +0000 (07:52 -0400)]
Fix HWUI Sink for DM

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

9 years agoAdd terrible workaround to fix stencil clear crash on S3.
bsalomon [Wed, 11 Mar 2015 22:49:54 +0000 (15:49 -0700)]
Add terrible workaround to fix stencil clear crash on S3.

BUG=skia:3525

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

9 years agoGlyph positions maintain 32 bit integer part.
bungeman [Wed, 11 Mar 2015 21:05:29 +0000 (14:05 -0700)]
Glyph positions maintain 32 bit integer part.

A glyph position when mapped from canvas space to device space may land
outside the bounds of the current 16 bit integer part of device space.
Device space is already limited to 32 bits for the integer part,
but for a short space in drawText and drawPosText it is currently
limited to 16 bits (SkFixed). Raise this limit by moving to 48.16.
This matches the current similar fix for measureText.

BUG=chromium:375322

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

9 years agoFix Windows build.
scroggo [Wed, 11 Mar 2015 20:58:17 +0000 (13:58 -0700)]
Fix Windows build.

SK_BUILD_FOR_WIN is no longer a valid way to check for building on
Windows (go figure). Build everywhere.

Remove the REPORTER_ASSERT, which was the failing part. It also isn't
necessary for the test, which is just that we are not leaking an
SkColorTable.

Also fix indentation.

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

BUG=skia:3457

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

9 years agoSince SkDrawFilter has serious architectural issues and may be
tomhudson [Wed, 11 Mar 2015 19:21:08 +0000 (12:21 -0700)]
Since SkDrawFilter has serious architectural issues and may be
deprecated, use a proxy SkCanvas for the same end: in every draw
call, inspect the paint, changing it to fit within the capabilities
of the Android Java (HWUI) drawing API.

Verified that this allows us to reenable all our ColorFilter tests.

R=djsollen@google.com

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

9 years agodelete dead code
mtklein [Wed, 11 Mar 2015 19:17:00 +0000 (12:17 -0700)]
delete dead code

BUG=skia:

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

9 years agoFor safety include SkTypes.h in SkFontHost_mac.cpp
mtklein [Wed, 11 Mar 2015 19:01:25 +0000 (12:01 -0700)]
For safety include SkTypes.h in SkFontHost_mac.cpp

BUG=skia:3362

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

9 years agoClean up poppler code.
mtklein [Wed, 11 Mar 2015 18:55:13 +0000 (11:55 -0700)]
Clean up poppler code.

We're not actually using it.

BUG=skia:3362
DOCS_PREVIEW= https://skia.org/?cl=1002493002

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

9 years agoAdjust atlas sizes to fix Mali400 precision issues
jvanverth [Wed, 11 Mar 2015 18:18:11 +0000 (11:18 -0700)]
Adjust atlas sizes to fix Mali400 precision issues

The previous change to atlas sizes introduced an issue where texture
coordinates for glyphs stored on the right side of the atlas were being
computed in an imprecise manner on Mali400 chips.

The only reasonable fix appears to be to use power-of-two texture sizes.
This widens the glyph atlas to the next power of 2 (or 2048) for A8 glyphs
only, and widens each GrPlot by 2x as well. By doing this, we can fit 3-4 large
distance field glyphs into a single GrPlot, which gives us 100-128 total large
glyphs at one time.

The 565 and 8888 glyph atlases are kept in their original size to preserve
space.

BUG=skia:3523

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

9 years agoFix debugger's overdraw color filter
robertphillips [Wed, 11 Mar 2015 18:18:00 +0000 (11:18 -0700)]
Fix debugger's overdraw color filter

The colors seen in the overdraw color filter are not guaranteed to remain the colors from its own table. Looping through the table to find the old overdraw level is error prone and expensive.

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

9 years agoUse proper SkFDot6 instead of int
qiankun.miao [Wed, 11 Mar 2015 18:12:59 +0000 (11:12 -0700)]
Use proper SkFDot6 instead of int

BUG=skia:

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

9 years agoFix a memory leak when decoding corrupted indexed PNGs.
dml [Wed, 11 Mar 2015 18:12:54 +0000 (11:12 -0700)]
Fix a memory leak when decoding corrupted indexed PNGs.
Commit to branch refs/heads/png-leak

BUG=skia:3457

Committed: https://skia.googlesource.com/skia/+/561a1ca9559a1ea7589ab93350124284fcef3315

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

9 years agoSimplify clip inside a layer -- will be applied in restore
reed [Wed, 11 Mar 2015 17:39:04 +0000 (10:39 -0700)]
Simplify clip inside a layer -- will be applied in restore

This reverts commit 44124650895833378938b4b174302fbf64403fe2.

NOTREECHECKS=True
BUG=skia:

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

9 years agofix for valgrind preAbandonGpuContext
joshualitt [Wed, 11 Mar 2015 16:11:19 +0000 (09:11 -0700)]
fix for valgrind preAbandonGpuContext

NOTREECHECKS=true

BUG=skia:

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

9 years agooptimization/fix: dirty the clip-bounds when we mod the clip in savelayer
reed [Wed, 11 Mar 2015 15:47:12 +0000 (08:47 -0700)]
optimization/fix: dirty the clip-bounds when we mod the clip in savelayer

Before the fix, we could use a stale cache of the clipbounds in quickReject. Often this could return false negatives, meaning we would try to draw more than we should (it would eventually be really clipped). Occasionally this could also report false positives (if the layer were outside of the normal canvas bounds, e.g. a layer with an offset imagefilter).

BUG=skia:
NOTREECHECKS=True

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

9 years agoSkip WritePixels on GalaxyS3
mtklein [Wed, 11 Mar 2015 15:43:43 +0000 (08:43 -0700)]
Skip WritePixels on GalaxyS3

TBR=bsalomon@google.com

NOTREECHECKS=true

BUG=skia:

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

9 years agoDM: show skipped and --blacklist notes only in verbose mode.
mtklein [Wed, 11 Mar 2015 14:19:15 +0000 (07:19 -0700)]
DM: show skipped and --blacklist notes only in verbose mode.

In non-verbose mode, these notes will spin away too fast to read anyway,
unless they're so long they end up leaving junk on the terminal.

NOTREECHECKS=true

BUG=skia:

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

9 years agoRevert of simplify clip inside a layer -- will be applied in restore (patchset #2...
reed [Wed, 11 Mar 2015 11:02:20 +0000 (04:02 -0700)]
Revert of simplify clip inside a layer -- will be applied in restore (patchset #2 id:20001 of https://codereview.chromium.org/997763002/)

Reason for revert:
slight rebaselines needed in layouttests

http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/51755

Original issue's description:
> simplify clip inside a layer -- will be applied in restore
>
> BUG=skia:
> TBR=
> NOTREECHECKS=True
>
> speculative land to measure performance
>
> Committed: https://skia.googlesource.com/skia/+/c275493d4247a2c5ae845d340c4297258f4684bc

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

9 years agosimplify clip inside a layer -- will be applied in restore
reed [Wed, 11 Mar 2015 02:57:10 +0000 (19:57 -0700)]
simplify clip inside a layer -- will be applied in restore

BUG=skia:
TBR=
NOTREECHECKS=True

speculative land to measure performance

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

9 years agoremove unused params to DeviceCM constructor
reed [Wed, 11 Mar 2015 00:30:07 +0000 (17:30 -0700)]
remove unused params to DeviceCM constructor

BUG=skia:
TBR=
NOTREECHECKS=True

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

9 years agoDon't run ResourceCache unit test on NexusPlayer.
mtklein [Tue, 10 Mar 2015 18:55:18 +0000 (11:55 -0700)]
Don't run ResourceCache unit test on NexusPlayer.

TBR=bsalomon@google.com

BUG=skia:

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

9 years agoAdjust distance field glyph and font atlas sizes to maximize storage.
jvanverth [Tue, 10 Mar 2015 18:53:39 +0000 (11:53 -0700)]
Adjust distance field glyph and font atlas sizes to maximize storage.

Because of high DPI devices, we need more room in the glyph
atlas for the larger glyphs. These settings will allow 4 of
the distance field glyphs to fit in one Plot (increasing
the storage from 32 large glyphs to 128), and still permit
us to handle glyphs up to a 312 point size.

BUG=chromium:458791

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

Committed: https://skia.googlesource.com/skia/+/07e245ffe1ca7f781590fcff904c2922c2269781

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

9 years agoRevert of Adjust distance field glyph and font atlas sizes to maximize storage. ...
jvanverth [Tue, 10 Mar 2015 15:23:07 +0000 (08:23 -0700)]
Revert of Adjust distance field glyph and font atlas sizes to maximize storage. (patchset #8 id:140001 of https://codereview.chromium.org/986343002/)

Reason for revert:
Still seeing bad text rendering in GMs with Nexus 2 and Nexus 3.

Original issue's description:
> Adjust distance field glyph and font atlas sizes to maximize storage.
>
> Because of high DPI devices, we need more room in the glyph
> atlas for the larger glyphs. These settings will allow 4 of
> the distance field glyphs to fit in one Plot (increasing
> the storage from 32 large glyphs to 128), and still permit
> us to handle glyphs up to a 312 point size.
>
> BUG=chromium:458791
>
> Committed: https://skia.googlesource.com/skia/+/d2737ad7dd8f4ea94a74034027014fd3d78923cb
>
> Committed: https://skia.googlesource.com/skia/+/07e245ffe1ca7f781590fcff904c2922c2269781

TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:458791

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

9 years agoFix bug in Valgrind flags config.
mtklein [Tue, 10 Mar 2015 15:03:26 +0000 (08:03 -0700)]
Fix bug in Valgrind flags config.

'GPU' is in 'Test-Ubuntu14-GCE-NoGPU-x86_64-Release-Valgrind_CPU' too.

This means we're building it in no-GPU mode, and running it in no-CPU mode.
At least it finishes quite quickly this way (~10 seconds).

BUG=skia:

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

9 years agoAdjust distance field glyph and font atlas sizes to maximize storage.
jvanverth [Tue, 10 Mar 2015 13:53:28 +0000 (06:53 -0700)]
Adjust distance field glyph and font atlas sizes to maximize storage.

Because of high DPI devices, we need more room in the glyph
atlas for the larger glyphs. These settings will allow 4 of
the distance field glyphs to fit in one Plot (increasing
the storage from 32 large glyphs to 128), and still permit
us to handle glyphs up to a 312 point size.

BUG=chromium:458791

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

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

9 years agoUpdate SKP version
skia.buildbots [Tue, 10 Mar 2015 13:20:37 +0000 (06:20 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoAdd pageset for theverge
rmistry [Tue, 10 Mar 2015 12:00:08 +0000 (05:00 -0700)]
Add pageset for theverge

BUG=skia:3234

TBR=robertphillips
NOTRY=true
NOPRESUBMIT=true

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

9 years agoIncrease maximum gpu resources from 1024 to 4096
kkinnunen [Tue, 10 Mar 2015 05:12:29 +0000 (22:12 -0700)]
Increase maximum gpu resources from 1024 to 4096

Pictures with many drawn paths benefit from the increase of the
count. As an example, chalkboard testcase has ~2500 paths, tiger
has ~300.

Bigger objects, like textures, tend to be limited by the cache
byte limit, not item count.

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

9 years agoUse SkTMin and SkTMax for clamp/pin.
bungeman [Mon, 9 Mar 2015 20:40:15 +0000 (13:40 -0700)]
Use SkTMin and SkTMax for clamp/pin.

This changes SkScalarClampMax and SkScalarPin to use SkTMin and SkTMax.
This change allows compilers to more easily transform these operations
into fast max/min operarations as opposed to conditional branches.

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

9 years agoRevert of Adjust distance field glyph and font atlas sizes to maximize storage. ...
jvanverth [Mon, 9 Mar 2015 19:17:07 +0000 (12:17 -0700)]
Revert of Adjust distance field glyph and font atlas sizes to maximize storage. (patchset #5 id:80001 of https://codereview.chromium.org/986343002/)

Reason for revert:
There's some weirdness with Tegra2 and Tegra3 GMs (Xoom and Nexus7) that may be related to this.

Original issue's description:
> Adjust distance field glyph and font atlas sizes to maximize storage.
>
> Because of high DPI devices, we need more room in the glyph
> atlas for the larger glyphs. These settings will allow 4 of
> the distance field glyphs to fit in one Plot (increasing
> the storage from 32 large glyphs to 128), and still permit
> us to handle glyphs up to a 312 point size.
>
> BUG=chromium:458791
>
> Committed: https://skia.googlesource.com/skia/+/d2737ad7dd8f4ea94a74034027014fd3d78923cb

TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:458791

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

9 years agoUse global GrMemoryPools protected by mutex for GrProcessor/GrBatch
bsalomon [Mon, 9 Mar 2015 19:15:53 +0000 (12:15 -0700)]
Use global GrMemoryPools protected by mutex for GrProcessor/GrBatch

BUG=chromium:464892

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

9 years agoAdjust distance field glyph and font atlas sizes to maximize storage.
jvanverth [Mon, 9 Mar 2015 16:45:40 +0000 (09:45 -0700)]
Adjust distance field glyph and font atlas sizes to maximize storage.

Because of high DPI devices, we need more room in the glyph
atlas for the larger glyphs. These settings will allow 4 of
the distance field glyphs to fit in one Plot (increasing
the storage from 32 large glyphs to 128), and still permit
us to handle glyphs up to a 312 point size.

BUG=chromium:458791

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

9 years agoAllow user to pass in a path for extra dependencies for gpu
egdaniel [Mon, 9 Mar 2015 16:40:42 +0000 (09:40 -0700)]
Allow user to pass in a path for extra dependencies for gpu

BUG=skia:

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

9 years agoRemove SK_SUPPORT_LEGACY_ADDOVAL
fmalita [Mon, 9 Mar 2015 16:40:37 +0000 (09:40 -0700)]
Remove SK_SUPPORT_LEGACY_ADDOVAL

The flad has been retired from Chromium.

BUG=chromium:458898
R=reed@google.com

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

9 years agoRun Valgrind bots with --nogpu and --nocpu as appropriate
borenet [Mon, 9 Mar 2015 13:59:16 +0000 (06:59 -0700)]
Run Valgrind bots with --nogpu and --nocpu as appropriate

BUG=skia:3506
NOPRESUBMIT=true

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

9 years agoRevert of use colorfilter instead of imagefilter when possible (patchset #6 id:100001...
reed [Mon, 9 Mar 2015 01:47:13 +0000 (18:47 -0700)]
Revert of use colorfilter instead of imagefilter when possible (patchset #6 id:100001 of https://codereview.chromium.org/966233002/)

Reason for revert:
Lots of PDF failures -- need to investigate

Original issue's description:
> use colorfilter instead of imagefilter when possible
>
> big speed win w/ nanobench --match colorfilter_
>
> BUG=skia:
> TBR=
>
> Will require rebaselining, so landing temporarily to trigger layouttests.
>
> Committed: https://skia.googlesource.com/skia/+/f641bd076d29666a5d2a10d5384e4924b0a0e524

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

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

9 years agouse colorfilter instead of imagefilter when possible
reed [Mon, 9 Mar 2015 01:34:37 +0000 (18:34 -0700)]
use colorfilter instead of imagefilter when possible

big speed win w/ nanobench --match colorfilter_

BUG=skia:
TBR=

Will require rebaselining, so landing temporarily to trigger layouttests.

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

9 years agoUse ComposColorFilter to collaps hierarchy (when possible).
reed [Sun, 8 Mar 2015 11:42:52 +0000 (04:42 -0700)]
Use ComposColorFilter to collaps hierarchy (when possible).

Clarify asColorFilter ...
1. Rename to isColorFilterNode for DAG reduction
2. Add asAColorFilter for removing the imagefilter entirely (future use-case)

Need layouttest rebaseline suppression before this can land in chrome...
https://codereview.chromium.org/984023004/

BUG=skia:

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

9 years agoRevert of For consistency, use our homebrew zlib everywhere possible. (patchset ...
mtklein [Sat, 7 Mar 2015 15:47:51 +0000 (07:47 -0800)]
Revert of For consistency, use our homebrew zlib everywhere possible. (patchset #6 id:100001 of https://codereview.chromium.org/971673005/)

Reason for revert:
Reverting in case this is the cause of the non-Windows failures.

Original issue's description:
> For consistency, use our homebrew zlib everywhere possible.
>
> This switches when we build our own zlib from "just Windows" to "everyone, but
> not Android framework of course".
>
> I tested this by building DM for my Mac and for an Android bot config.
> It took minor tweaks to the GYP to get ARM builds working.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/5a8f2257b0b0f954fb74f65e7ea3ada772ed9240

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

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

9 years agoRevert of Fix a memory leak when decoding corrupted indexed PNGs. (patchset #2 id...
reed [Sat, 7 Mar 2015 14:05:51 +0000 (06:05 -0800)]
Revert of Fix a memory leak when decoding corrupted indexed PNGs. (patchset #2 id:20001 of https://codereview.chromium.org/951663002/)

Reason for revert:
speculative revert due to many failures in tree

Original issue's description:
> Fix a memory leak when decoding corrupted indexed PNGs.
> Commit to branch refs/heads/png-leak
>
> BUG=skia:3457
>
> Committed: https://skia.googlesource.com/skia/+/561a1ca9559a1ea7589ab93350124284fcef3315

TBR=scroggo@google.com,dml@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3457

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

9 years agoFix a memory leak when decoding corrupted indexed PNGs.
dml [Sat, 7 Mar 2015 00:25:28 +0000 (16:25 -0800)]
Fix a memory leak when decoding corrupted indexed PNGs.
Commit to branch refs/heads/png-leak

BUG=skia:3457

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

9 years agoUpdate SkPicture cull rects with RTree information
schenney [Sat, 7 Mar 2015 00:20:28 +0000 (16:20 -0800)]
Update SkPicture cull rects with RTree information

When computed, the RTree for an SkPicture will have a root
bounds that reflects the best bounding information available,
rather than the best estimate at the time the picture recorder
is created. Given that creators frequently don't know ahead of
time what will be drawn, the RTree bound is often tighter.

Perf testing on Chrome indicates a small raster performance
advantage. For upcoming painting changes in Chrome the
performance advantage is much larger.

BUG=

Committed: https://skia.googlesource.com/skia/+/2dd3b6647dc726f36fd8774b3d0d2e83b493aeac

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

9 years agoMake Sk4f(float) constructor explicit.
mtklein [Sat, 7 Mar 2015 00:20:22 +0000 (16:20 -0800)]
Make Sk4f(float) constructor explicit.

BUG=skia:

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

9 years agoFix bit rot in SkGlyphCache validate code.
herb [Sat, 7 Mar 2015 00:15:23 +0000 (16:15 -0800)]
Fix bit rot in SkGlyphCache validate code.

TESTED
CFLAGS=-DSK_DEBUG_GLYPH_CACHE CPPFLAGS=-DSK_DEBUG_GLYPH_CACHE ./gyp_skia

ninja -C out/Debug dm
out/Debug/dm

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

9 years agoFor consistency, use our homebrew zlib everywhere possible.
mtklein [Sat, 7 Mar 2015 00:15:16 +0000 (16:15 -0800)]
For consistency, use our homebrew zlib everywhere possible.

This switches when we build our own zlib from "just Windows" to "everyone, but
not Android framework of course".

I tested this by building DM for my Mac and for an Android bot config.
It took minor tweaks to the GYP to get ARM builds working.

BUG=skia:

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

9 years agoClip scissor to RT bounds
bsalomon [Fri, 6 Mar 2015 16:42:34 +0000 (08:42 -0800)]
Clip scissor to RT bounds

R=joshualitt@google.com

NOTREECHECKS=true

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

9 years agoRemove rect clip type from grclip.
bsalomon [Fri, 6 Mar 2015 16:21:38 +0000 (08:21 -0800)]
Remove rect clip type from grclip.

R=joshualitt@google.com
BUG=skia:
NOTREECHECKS=true

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

9 years agoRead pixels in BGRA non-premul mode in few tests
kkinnunen [Fri, 6 Mar 2015 15:16:00 +0000 (07:16 -0800)]
Read pixels in BGRA non-premul mode in few tests

The tests assert on Sk_ColorGREEN, which is in BRGA non-premul. Read the
pixels in same color format.

Currently the tests pass on all platforms because GREEN is fully opaque
and the component stays in the same place both on BGRA and
RGBA. However, hypothetically somebody could copy-paste the assertion
for further tests but use, say, RED. This creates latent error that is
only visible on some platforms like mac.

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

9 years agoFix rect clips
bsalomon [Fri, 6 Mar 2015 15:13:01 +0000 (07:13 -0800)]
Fix rect clips

R=joshualitt@google.com

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

9 years agoSKPMFloat: we can beat the naive loops when clamping
mtklein [Fri, 6 Mar 2015 14:15:44 +0000 (06:15 -0800)]
SKPMFloat: we can beat the naive loops when clamping

Clamping 4 at a time is now about 15% faster than 1 at a time with SSSE3.
Clamping 4 at a time is now about 20% faster with SSE2,
and this applies to non-clamping too (we still just clamp there).

In all cases, 4 at a time is never worse than 1 at a time,
and not clamping is never slower than clamping.

Here's all the bench results, with the numbers for portable code as a fun point
of reference:

SSSE3:
maxrss  loops   min median  mean    max stddev  samples     config  bench
  10M   2291    4.66ns  4.66ns  4.66ns  4.68ns  0%  ▆█▁▁▁▇▁▇▁▃  nonrendering    SkPMFloat_get_1x
  10M   2040    5.29ns  5.3ns   5.3ns   5.32ns  0%  ▃▆▃▃▁▁▆▃▃█  nonrendering    SkPMFloat_clamp_1x
  10M   7175    4.62ns  4.62ns  4.62ns  4.63ns  0%  ▁▄▃████▃▄▇  nonrendering    SkPMFloat_get_4x
  10M   5801    4.89ns  4.89ns  4.89ns  4.91ns  0%  █▂▄▃▁▃▄█▁▁  nonrendering    SkPMFloat_clamp_4x

SSE2:
maxrss  loops   min median  mean    max stddev  samples     config  bench
  10M   1601    6.02ns  6.05ns  6.04ns  6.08ns  0%  █▅▄▅▄▂▁▂▂▂  nonrendering    SkPMFloat_get_1x
  10M   2918    6.05ns  6.06ns  6.05ns  6.06ns  0%  ▂▇▁▇▇▁▇█▇▂  nonrendering    SkPMFloat_clamp_1x
  10M   3569    5.43ns  5.45ns  5.44ns  5.45ns  0%  ▄█▂██▇▁▁▇▇  nonrendering    SkPMFloat_get_4x
  10M   4168    5.43ns  5.43ns  5.43ns  5.44ns  0%  █▄▇▁▇▄▁▁▁▁  nonrendering    SkPMFloat_clamp_4x

Portable:
maxrss  loops   min median  mean    max stddev  samples     config  bench
  10M   500     27.8ns  28.1ns  28ns    28.2ns  0%  ▃█▆▃▇▃▆▁▇▂  nonrendering    SkPMFloat_get_1x
  10M   770     40.1ns  40.2ns  40.2ns  40.3ns  0%  ▅▁▃▂▆▄█▂▅▂  nonrendering    SkPMFloat_clamp_1x
  10M   1269    28.4ns  28.8ns  29.1ns  32.7ns  4%  ▂▂▂█▂▁▁▂▁▁  nonrendering    SkPMFloat_get_4x
  10M   1439    40.2ns  40.4ns  40.4ns  40.5ns  0%  ▆▆▆█▁▆▅█▅▆  nonrendering    SkPMFloat_clamp_4x

SkPMFloat_neon.h is still one big TODO as far as 4-at-a-time APIs go.

BUG=skia:

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