platform/upstream/libSkiaSharp.git
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

9 years agoWe had zero coverage for SkDrawFilter. This new GM draws two rectangles.
tomhudson [Fri, 6 Mar 2015 14:15:20 +0000 (06:15 -0800)]
We had zero coverage for SkDrawFilter. This new GM draws two rectangles.
If SkDrawFilter is working, they will not match (have different colors
and one will be blurred). If SkDrawFilter is broken, they will match.

R=scroggo@google.com

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

9 years agoAdding linear interpolation to rgb->yuv conversion
sugoi [Fri, 6 Mar 2015 13:16:52 +0000 (05:16 -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

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

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

9 years agoRevert "Don't require AA in order to use shader-based clips"
bsalomon [Fri, 6 Mar 2015 01:43:09 +0000 (17:43 -0800)]
Revert "Don't require AA in order to use shader-based clips"

This reverts commit 259656779334689ab1624ec4e2e234b35fe4024b.

TBR=robertphillips@google.com

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

9 years agoRevert of check for inputs before reporting asColorFilter (patchset #7 id:110001...
reed [Thu, 5 Mar 2015 22:47:29 +0000 (14:47 -0800)]
Revert of check for inputs before reporting asColorFilter (patchset #7 id:110001 of https://codereview.chromium.org/967833003/)

Reason for revert:
Need to suppress these for rebaselining, so reverting for now.

Regressions: Unexpected image-only failures (5)
  css3/filters/effect-brightness-clamping-hw.html [ ImageOnlyFailure ]
  css3/filters/effect-combined-hw.html [ ImageOnlyFailure ]
  virtual/slimmingpaint/css3/filters/effect-brightness-clamping-hw.html [ ImageOnlyFailure ]
  virtual/slimmingpaint/css3/filters/effect-combined-hw.html [ ImageOnlyFailure ]

Original issue's description:
> Use ComposeColorFilter in factory to collapse consecutive filters (when possible).
> Change asColorFilter to reflect its reliance on the new factory behavior.
>
> patch from issue 967143002 at patchset 80001 (http://crrev.com/967143002#ps80001)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/dac843bf046c2cd79fd955cb177aee241d7a4b0c

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

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

9 years agohandle null vertex or index buffers in batch
joshualitt [Thu, 5 Mar 2015 22:33:41 +0000 (14:33 -0800)]
handle null vertex or index buffers in batch

BUG=skia:

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

9 years agoIncrease default tile sizes in nanobench
bsalomon [Thu, 5 Mar 2015 21:42:27 +0000 (13:42 -0800)]
Increase default tile sizes in nanobench

R=mtklein@google.com

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

9 years agoWhen running under Valgrind, don't draw .webps into .pdfs.
mtklein [Thu, 5 Mar 2015 21:38:17 +0000 (13:38 -0800)]
When running under Valgrind, don't draw .webps into .pdfs.

This blacklist entry bans any test with 'pdf' config, any source type, whose
name has '.webp' in it.  In practice, that's 'image' or 'subset' source type
decoding some WEBP file.

BUG=skia:3505

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

9 years agoDisable --config pdf temporarily on Valgrind bot.
mtklein [Thu, 5 Mar 2015 21:06:30 +0000 (13:06 -0800)]
Disable --config pdf temporarily on Valgrind bot.

BUG=skia:3505

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

9 years agoRemove SkPorterDuff now that Android has been updated.
djsollen [Thu, 5 Mar 2015 20:42:29 +0000 (12:42 -0800)]
Remove SkPorterDuff now that Android has been updated.

BUG=skia:3178

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

9 years agoAdd flag to force gpu trace markers to be used and printed out for debugging.
egdaniel [Thu, 5 Mar 2015 20:19:17 +0000 (12:19 -0800)]
Add flag to force gpu trace markers to be used and printed out for debugging.

BUG=skia:

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

9 years agoRevert of Update SkPicture cull rects with RTree information (patchset #6 id:140001...
joshualitt [Thu, 5 Mar 2015 20:18:38 +0000 (12:18 -0800)]
Revert of Update SkPicture cull rects with RTree information (patchset #6 id:140001 of https://codereview.chromium.org/971803002/)

Reason for revert:
Might be breaking deps roll

Original issue's description:
> 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

TBR=mtklein@google.com,schenney@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

9 years agoFix uninitialized memory bug in the SkGlyphCache.
herb [Thu, 5 Mar 2015 19:51:11 +0000 (11:51 -0800)]
Fix uninitialized memory bug in the SkGlyphCache.

The core of the problem is that the system is asked to lookup the metrics for a character with id == 0. This causes a hit in the fCharToGlyphHash matching the sentinel glyph. This happens because fCharToGlpyhHash is initialized with all zeros, therefore, the fID is zero matching the char with id == 0. The fAdvanceX field of the sentinel glyph is in fact not initialized.

The bigger question is now did a zero character get passed to getUnicharMetrics?

The breaking code is basically as follows:
wchar_t glyph = L'S';
paint.measureText(&glyph, 2);

This get mischaracterized as a utf8 string instead of a utf16(?) string. Because of the little endian ordering, this is the character string 'L' '\0'. Since the size of the original string is two bytes (but a single character) the '\0' is treated as its own character and past to getUnicharMetrics.

TEST:
On windows failed using DrMemory. With this change does not fail.

BUG=463204

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

9 years agoDM: Use the new non-fatal errors for invalid color conversions.
scroggo [Thu, 5 Mar 2015 19:46:40 +0000 (11:46 -0800)]
DM: Use the new non-fatal errors for invalid color conversions.

Also allow incomplete to be considered successful.

Do not attempt to draw transparent images on 565.

BUG=skia:3475

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

9 years ago4-at-a-time SkPMColor -> SkPMFloat API.
mtklein [Thu, 5 Mar 2015 19:31:59 +0000 (11:31 -0800)]
4-at-a-time SkPMColor -> SkPMFloat API.

Please see if this looks usable.  It may even give a perf boost if you use it, even without custom implementations for each instruction set.

I've been trying this morning to beat this naive loop implementation, but so far no luck with either _SSE2.h or _SSSE3.h.  It's possible this is an artifact of the microbenchmark, because we're not doing anything between the conversions.  I'd like to see how this fits into real code, what assembly's generated, what the hot spots are, etc.

I've updated the tests to test these new APIs, and splintered off a pair of new benchmarks that use the new APIs.  This required some minor rejiggering in the benches.

BUG=skia:

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

9 years agoWhitespace change to test new CQ trybot
rmistry [Thu, 5 Mar 2015 18:26:04 +0000 (10:26 -0800)]
Whitespace change to test new CQ trybot

BUG=skia:
TBR=

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

9 years agoUse ComposeColorFilter in factory to collapse consecutive filters (when possible).
reed [Thu, 5 Mar 2015 18:22:20 +0000 (10:22 -0800)]
Use ComposeColorFilter in factory to collapse consecutive filters (when possible).
Change asColorFilter to reflect its reliance on the new factory behavior.

patch from issue 967143002 at patchset 80001 (http://crrev.com/967143002#ps80001)

BUG=skia:

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

9 years agoUpdate gpu trace marker system for MultiDrawBuffer world
robertphillips [Thu, 5 Mar 2015 17:17:17 +0000 (09:17 -0800)]
Update gpu trace marker system for MultiDrawBuffer world

The main thrust of this CL is to remove the currCmdMarker variable from GrTargetCommands::flush. In a MultiDrawBuffer world the Cmds need not be execute in the order of their issuance.

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

9 years agoAdd custom dm upload script to be used by the android framework
djsollen [Thu, 5 Mar 2015 17:13:58 +0000 (09:13 -0800)]
Add custom dm upload script to be used by the android framework

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

9 years agoFix GPU trace marker bug
robertphillips [Thu, 5 Mar 2015 16:55:28 +0000 (08:55 -0800)]
Fix GPU trace marker bug

Without this patch the GPU trace markers can be potentially unbalanced when batching occurs.

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

9 years agoDM: support non-fatal errors
mtklein [Thu, 5 Mar 2015 16:40:28 +0000 (08:40 -0800)]
DM: support non-fatal errors

Tasks that produce a non-fatal error will bail out before writing their output to
disk and hash to dm.json, but not count as failures.

This also makes true failures bail out before writing their results.  If the DM
program failed, we probably don't want to triage that image result.

We use this new feature first to skip image subset decoding when we detect it's
not supported.  Here's a snippet of an example run, where in this case only
.webp are subset decodable:

...
(  15MB    12) 172µs 8888 subset color_wheel.jpg (skipped: Subset decoding not supported.)
(  15MB    11) 9.05ms 8888 subset randPixels.webp
(  16MB    10) 863µs 8888 subset baby_tux.png (skipped: Subset decoding not supported.)
...

Only outputs corresponding to the .webp show up, both on disk and in the .json.

BUG=skia:

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

9 years agoViaAndroidSDK for DM
tomhudson [Thu, 5 Mar 2015 16:01:07 +0000 (08:01 -0800)]
ViaAndroidSDK for DM

Make a Via for DM which transforms a set of draws to be more like what
we'd see through the Android Framework's HWUI API. Only built inside
Android's framework because we depend on HWUI classes for half of
those transformations.

Tested with --config androidsdk-8888 and --config androidsdk-hwui.

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

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

9 years agoUpdate SkPicture cull rects with RTree information
schenney [Thu, 5 Mar 2015 15:43:10 +0000 (07:43 -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=

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

9 years agoadd impl limit for number of leaf-nodes in composecolorfilter
reed [Thu, 5 Mar 2015 15:21:02 +0000 (07:21 -0800)]
add impl limit for number of leaf-nodes in composecolorfilter

BUG=skia:

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

9 years agoBatchify the tessellated path renderer.
senorblanco [Thu, 5 Mar 2015 15:13:42 +0000 (07:13 -0800)]
Batchify the tessellated path renderer.

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

9 years agoAdd some METADATA files to control docs layout.
jcgregorio [Thu, 5 Mar 2015 15:11:13 +0000 (07:11 -0800)]
Add some METADATA files to control docs layout.

BUG=skia:3484
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=976303002

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

9 years agoRevert of Add image as a draw type that can be filtered (patchset #4 id:60001 of...
kkinnunen [Thu, 5 Mar 2015 14:33:54 +0000 (06:33 -0800)]
Revert of Add image as a draw type that can be filtered (patchset #4 id:60001 of https://codereview.chromium.org/960783003/)

Reason for revert:
Fails on mac for some reason.
Also is a bit wrong, but this should not be reason for the failure..

Original issue's description:
> Add image as a draw type that can be filtered
>
> Add image as a draw type that can be filtered.
>
> This is needed when SkImage is added as an object to be drawn so that
> the draw is forwarded to SkBaseDevice. This would be used in making
> filters use SkImages.
>
> BUG=skia:3388
>
> Committed: https://skia.googlesource.com/skia/+/fa77eb1e51b9317ff993d1be504ada173b561e5f

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

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

9 years agoAdd image as a draw type that can be filtered
kkinnunen [Thu, 5 Mar 2015 08:39:45 +0000 (00:39 -0800)]
Add image as a draw type that can be filtered

Add image as a draw type that can be filtered.

This is needed when SkImage is added as an object to be drawn so that
the draw is forwarded to SkBaseDevice. This would be used in making
filters use SkImages.

BUG=skia:3388

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

9 years ago4x library for NEON
msarett [Wed, 4 Mar 2015 23:55:54 +0000 (15:55 -0800)]
4x library for NEON

CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-Nexus5-Adreno330-Arm7-Debug-Trybot

BUG=skia:

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

9 years agoDM: no PDF for Daisy either
mtklein [Wed, 4 Mar 2015 21:58:05 +0000 (13:58 -0800)]
DM: no PDF for Daisy either

BUG=skia:

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

9 years agoudpate dox for colorfilter fragment processor requirements
reed [Wed, 4 Mar 2015 21:30:50 +0000 (13:30 -0800)]
udpate dox for colorfilter fragment processor requirements

BUG=skia:
NOTRY=True

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

9 years ago(starting with mtklein's 966503002 mod to 963593003)
caryclark [Wed, 4 Mar 2015 20:32:22 +0000 (12:32 -0800)]
(starting with mtklein's 966503002 mod to 963593003)
fix casts

Committed: https://skia.googlesource.com/skia/+/9e73a84deb5e6c201081b1d30175863898543e8d

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

9 years agoImprove tracking of bound FBOs in GrGLGpu.
bsalomon [Wed, 4 Mar 2015 19:57:37 +0000 (11:57 -0800)]
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

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

9 years agoDM: run PDF except on Android bots.
mtklein [Wed, 4 Mar 2015 19:47:11 +0000 (11:47 -0800)]
DM: run PDF except on Android bots.

While we work out RAM issues on Android, run everywhere else.

BUG=skia:

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

9 years agoRevert of fix casts (patchset #1 id:1 of https://codereview.chromium.org/979453004/)
mtklein [Wed, 4 Mar 2015 19:46:27 +0000 (11:46 -0800)]
Revert of fix casts (patchset #1 id:1 of https://codereview.chromium.org/979453004/)

Reason for revert:
64-bit windows build warnings-as-errors

Original issue's description:
> (starting with mtklein's 966503002 mod to 963593003)
> fix casts
>
> Committed: https://skia.googlesource.com/skia/+/9e73a84deb5e6c201081b1d30175863898543e8d

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

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

9 years agoUpdate SkPMFloat API a bit.
mtklein [Wed, 4 Mar 2015 19:25:27 +0000 (11:25 -0800)]
Update SkPMFloat API a bit.

Instead of set(SkPMColor), add a constructor SkPMFloat(SkPMColor).
Replace setA(), setR(), etc. with a 4 float constructor.

And, promise to stick to SkPMColor order.

BUG=skia:

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

9 years ago(starting with mtklein's 966503002 mod to 963593003)
caryclark [Wed, 4 Mar 2015 19:22:05 +0000 (11:22 -0800)]
(starting with mtklein's 966503002 mod to 963593003)
fix casts

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

9 years agoPass blob bounds to the looper, if available
fmalita [Wed, 4 Mar 2015 19:20:12 +0000 (11:20 -0800)]
Pass blob bounds to the looper, if available

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

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

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