platform/upstream/libSkiaSharp.git
9 years agoUse murmur3 finisher to improve font hash efficiency.
reed [Wed, 28 Jan 2015 21:28:53 +0000 (13:28 -0800)]
Use murmur3 finisher to improve font hash efficiency.
Add dump() method to inspect glyphcache strikes.

Murmur addition improves hash efficient roughly 50%

BUG=skia:

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

9 years agoFixed clusterfuzz issue
sugoi [Wed, 28 Jan 2015 21:15:32 +0000 (13:15 -0800)]
Fixed clusterfuzz issue

BUG=448423

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

9 years agoUse distance fields for glyphs > 256 pt, before switching to paths.
jvanverth [Wed, 28 Jan 2015 21:08:40 +0000 (13:08 -0800)]
Use distance fields for glyphs > 256 pt, before switching to paths.

BUG=452313

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

9 years agoGrBatchPrototype
joshualitt [Wed, 28 Jan 2015 20:53:54 +0000 (12:53 -0800)]
GrBatchPrototype

BUG=skia:

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

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

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

9 years agoRevert of DM::SKPSrc::size() reports correct size. (patchset #1 id:1 of https://coder...
mtklein [Wed, 28 Jan 2015 20:04:08 +0000 (12:04 -0800)]
Revert of DM::SKPSrc::size() reports correct size. (patchset #1 id:1 of https://codereview.chromium.org/863243005/)

Reason for revert:
OOM on 32-bit machines.

Original issue's description:
> DM::SKPSrc::size() reports correct size.
>
> Also, DM::GPUSink and DM::RasterSink crop DM::Src::size() to 2048x2048.
>
> Motivation:
>   Improve PDF testing by printing the entire SKP.
>
> Source: http://crrev.com/863243004
>
> BUG=skia:3365
>
> Committed: https://skia.googlesource.com/skia/+/441b10eac09a1f44983e35da827a6b438a409e63

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

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

9 years agoDM::PDFSink::draw excercises multi-page pdf
halcanary [Wed, 28 Jan 2015 19:45:58 +0000 (11:45 -0800)]
DM::PDFSink::draw excercises multi-page pdf

BUG=skia:3365

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

9 years agoadd more checks for computing clamp counts, remove dead code
reed [Wed, 28 Jan 2015 19:44:48 +0000 (11:44 -0800)]
add more checks for computing clamp counts, remove dead code

BUG=448299

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

9 years agoFix wrapped content keys for npot textures.
bsalomon [Wed, 28 Jan 2015 19:39:48 +0000 (11:39 -0800)]
Fix wrapped content keys for npot textures.

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

9 years agoFold gmtoskp into DM, as --src gm --config skp.
mtklein [Wed, 28 Jan 2015 19:35:18 +0000 (11:35 -0800)]
Fold gmtoskp into DM, as --src gm --config skp.

BUG=skia:

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

9 years agoDM::SKPSrc::size() reports correct size.
mtklein [Wed, 28 Jan 2015 19:12:25 +0000 (11:12 -0800)]
DM::SKPSrc::size() reports correct size.

Also, DM::GPUSink and DM::RasterSink crop DM::Src::size() to 2048x2048.

Motivation:
  Improve PDF testing by printing the entire SKP.

Source: http://crrev.com/863243004

BUG=skia:3365

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

9 years agodstread gm
joshualitt [Wed, 28 Jan 2015 19:08:00 +0000 (11:08 -0800)]
dstread gm

TBR=
BUG=skia:

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

9 years agoAdd a flag to flush the canvases during SkMultiPictureDraw::draw().
senorblanco [Wed, 28 Jan 2015 19:01:06 +0000 (11:01 -0800)]
Add a flag to flush the canvases during SkMultiPictureDraw::draw().

This is necessary for multisampling, so that each multisampled render
target resolves before Chrome's compositor attempts to draw the
texture.

BUG=skia:

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

9 years agoConservative SkTextBlob bounds.
fmalita [Wed, 28 Jan 2015 18:56:06 +0000 (10:56 -0800)]
Conservative SkTextBlob bounds.

Compute cheaper/more conservative text blob bounds based on the typeface
maximum glyph bbox.

BUG=chromium:451401
R=reed@google.com,bungeman@google.com

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

9 years agoUpdate SKP version
skia.buildbots [Wed, 28 Jan 2015 18:56:00 +0000 (10:56 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoAdd a script to fetch the latest SKPs.
mtklein [Wed, 28 Jan 2015 17:39:10 +0000 (09:39 -0800)]
Add a script to fetch the latest SKPs.

I keep forgetting how best to do this.

NOTRY=true
NOTREECHECKS=true

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

9 years agoadd a paranoid assert
mtklein [Wed, 28 Jan 2015 15:20:28 +0000 (07:20 -0800)]
add a paranoid assert

NOTREECHECKS=true

BUG=chromium:399842

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

9 years agoRevert of GrBatchPrototype (patchset #32 id:630001 of https://codereview.chromium...
joshualitt [Wed, 28 Jan 2015 14:54:30 +0000 (06:54 -0800)]
Revert of GrBatchPrototype (patchset #32 id:630001 of https://codereview.chromium.org/845103005/)

Reason for revert:
One last try to fix mac perf regression

Original issue's description:
> GrBatchPrototype
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4
>
> Committed: https://skia.googlesource.com/skia/+/d5a7db4a867c7e6ccf8451a053d987b470099198

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

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

9 years agowhitespace
joshualitt [Wed, 28 Jan 2015 00:27:12 +0000 (16:27 -0800)]
whitespace

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

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

9 years agoRevert of patch from issue 885453002 at patchset 20001 (http://crrev.com/885453002...
mtklein [Tue, 27 Jan 2015 23:39:19 +0000 (15:39 -0800)]
Revert of patch from issue 885453002 at patchset 20001 (crrev.com/885453002#ps20001) (patchset #1 id:1 of https://codereview.chromium.org/881953002/)

Reason for revert:
==32435==ERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new [] vs operator delete) on 0x621000d8cd00

Lots of info here:
http://build.chromium.org/p/client.skia/builders/Test-Ubuntu13.10-GCE-NoGPU-x86_64-Debug-ASAN/builds/1198/steps/dm/logs/stdio

Original issue's description:
> patch from issue 885453002 at patchset 20001 (http://crrev.com/885453002#ps20001)
>
> Make the char cache dynamic in SkGlyphCache
> because it is rarely used.
>
> Landing on behalf of Herb.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/95faa61d63a6f62916f6f7be58c4624da8357e3b

TBR=mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

9 years agoGrBatchPrototype
joshualitt [Tue, 27 Jan 2015 23:39:06 +0000 (15:39 -0800)]
GrBatchPrototype

BUG=skia:

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

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

9 years agopatch from issue 885453002 at patchset 20001 (http://crrev.com/885453002#ps20001)
mtklein [Tue, 27 Jan 2015 23:10:17 +0000 (15:10 -0800)]
patch from issue 885453002 at patchset 20001 (crrev.com/885453002#ps20001)

Make the char cache dynamic in SkGlyphCache
because it is rarely used.

Landing on behalf of Herb.

BUG=skia:

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

9 years agoadd -r to DM
mtklein [Tue, 27 Jan 2015 22:46:26 +0000 (14:46 -0800)]
add -r to DM

$ out/Debug/dm -w good
$ out/Debug/dm -r good -w bad && echo "hooray no diffs!"

BUG=skia:

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

9 years agoSSE4 opaque blend using intrinsics instead of assembly.
mtklein [Tue, 27 Jan 2015 22:35:18 +0000 (14:35 -0800)]
SSE4 opaque blend using intrinsics instead of assembly.

Since we had such a hard time with the assembly versions of this blit (to the
point that we have them completely disabled everywhere), I thought I'd take
a shot at writing a version of the blit using intrinsics.

The key feature of SSE4 we're exploiting is that we can use ptest (_mm_test*)
to skip the blend when the 16 src pixels we consider each loop are all opaque
or all transparent.  _mm_shuffle_epi8 from SSSE3 also lends a hand to extract
all those alphas.

It's worth looking to see if we can backport this type of logic to SSE2 using
_mm_movemask_epi8, or up to 32 pixels at a time using AVX.

My local performance testing doesn't show this to be an unambiguous win
(there are probably microbenchmarks and SKPs where we'd be better off just
powering through the blend rather than looking at alphas), but the potential
does seem tantalizing enough to let skiaperf vet it on the bots.  (< 1.0x is a win.)

DM says it draws pixel perfect compare to the old code.

Microbenchmarks:
               bitmap_RGBA_8888_A_source_stripes_two   14us -> 14.4us 1.03x
             bitmap_RGBA_8888_A_source_stripes_three 14.3us -> 14.5us 1.01x
                       bitmap_RGBA_8888_scale_bilerp 61.9us -> 62.2us 1.01x
bitmap_RGBA_8888_update_volatile_scale_rotate_bilerp  102us ->  101us 0.99x
                bitmap_RGBA_8888_scale_rotate_bilerp  103us ->  101us 0.99x
                              bitmap_RGBA_8888_scale 18.4us -> 18.2us 0.99x
             bitmap_RGBA_8888_A_scale_rotate_bicubic   71us ->   70us 0.99x
         bitmap_RGBA_8888_update_scale_rotate_bilerp  103us ->  101us 0.99x
              bitmap_RGBA_8888_A_scale_rotate_bilerp  112us ->  109us 0.98x
                    bitmap_RGBA_8888_update_volatile 5.72us -> 5.58us 0.98x
                                    bitmap_RGBA_8888 5.73us -> 5.58us 0.97x
                             bitmap_RGBA_8888_update 5.78us ->  5.6us 0.97x
                     bitmap_RGBA_8888_A_scale_bilerp 70.7us ->   68us 0.96x
                    bitmap_RGBA_8888_A_scale_bicubic 23.7us -> 21.8us 0.92x
                                  bitmap_RGBA_8888_A 13.9us -> 10.9us 0.78x
                    bitmap_RGBA_8888_A_source_opaque   14us -> 6.29us 0.45x
               bitmap_RGBA_8888_A_source_transparent   14us -> 3.65us 0.26x

Running over our ~70 SKP web page captures, this looks like we spend 0.7x
the time in S32A_Opaque_BlitRow compared to the SSE2 version, which should
be a decent predictor of real-world impact.

BUG=chromium:399842

Committed: https://skia.googlesource.com/skia/+/04bc91b972417038fecfa87c484771eac2b9b785

CQ_EXTRA_TRYBOTS=client.skia:Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Release-Trybot

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

9 years agoRemove unused methods from SkScalerContext.
bungeman [Tue, 27 Jan 2015 19:01:42 +0000 (11:01 -0800)]
Remove unused methods from SkScalerContext.

The methods getLocalMatrixWithoutTextSize and
getSingleMatrixWithoutTextSize on SkScalerContext were added as a
temporary measure for CoreText issues. Now that the CoreText
SkScalerContext is using other means to fix these issues more completely,
remove these now unused methods.

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

9 years agoSkFontHost_FreeType takes advantage of SkStreamAsset.
bungeman [Tue, 27 Jan 2015 18:41:17 +0000 (10:41 -0800)]
SkFontHost_FreeType takes advantage of SkStreamAsset.

With recent changes, SkTypeface now deals in SkStreamAsset instead of
SkStream. Take advantage of this for performance with FreeType.

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

9 years agoFix GPU resource cache related assertions.
bsalomon [Tue, 27 Jan 2015 17:56:04 +0000 (09:56 -0800)]
Fix GPU resource cache related assertions.

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

9 years agoSetup Android framework builds to use the appropriate shared lib defines.
djsollen [Tue, 27 Jan 2015 17:01:01 +0000 (09:01 -0800)]
Setup Android framework builds to use the appropriate shared lib defines.

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

9 years agosk_tool_utils::draw_checkerboard uses SkXfermode::kSrc_Mode to fix valgrind error.
halcanary [Tue, 27 Jan 2015 16:38:35 +0000 (08:38 -0800)]
sk_tool_utils::draw_checkerboard uses SkXfermode::kSrc_Mode to fix valgrind error.

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

9 years agoUse highp for distance field texture coordinates.
jvanverth [Tue, 27 Jan 2015 16:19:33 +0000 (08:19 -0800)]
Use highp for distance field texture coordinates.

Addresses issues with wavy text (probably due to low-precision aliasing)

BUG=429080

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

9 years agofix gm to not rely on SkColor's swizzle == SkPMColor's
reed [Tue, 27 Jan 2015 15:26:51 +0000 (07:26 -0800)]
fix gm to not rely on SkColor's swizzle == SkPMColor's

BUG=skia:3361

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

9 years agoRevert of GrBatchPrototype (patchset #30 id:570001 of https://codereview.chromium...
joshualitt [Tue, 27 Jan 2015 14:41:33 +0000 (06:41 -0800)]
Revert of GrBatchPrototype (patchset #30 id:570001 of https://codereview.chromium.org/845103005/)

Reason for revert:
creates large performance regression

Original issue's description:
> GrBatchPrototype
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4

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

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

9 years agoAdd ClipDrawMatch SampleApp slide
robertphillips [Tue, 27 Jan 2015 14:17:22 +0000 (06:17 -0800)]
Add ClipDrawMatch SampleApp slide

This slide can be used to find and diagnose discrepancies between BW clipping and drawing.

BUG=skia:423834

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

9 years agoSkTypeface to use SkStreamAsset.
bungeman [Tue, 27 Jan 2015 13:39:10 +0000 (05:39 -0800)]
SkTypeface to use SkStreamAsset.

SkTypeface already requires typeface streams to support SkStreamAsset
in practice, and in practice all users are already supplying them.

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

9 years agospeedup mipmap building
reed [Tue, 27 Jan 2015 13:01:50 +0000 (05:01 -0800)]
speedup mipmap building

mipmap_build benchmark:

before: 3.36ms
after:    2.20ms

BUG=skia:

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

9 years agoMake stencil buffers uncached for uncached render target textures
kkinnunen [Tue, 27 Jan 2015 08:30:18 +0000 (00:30 -0800)]
Make stencil buffers uncached for uncached render target textures

Make new stencil buffers of uncached render target textures not affect the
cache budgets. This is consistent with render buffer storage of uncached
render target textures.

Affects only newly created stencil buffers. An uncached render target
might still receive a cached stencil buffer if such is available from
cache.

BUG=skia:3119
BUG=skia:3301

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

9 years agoUpdate SKP version
skia.buildbots [Tue, 27 Jan 2015 07:08:55 +0000 (23:08 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoSplit src/opts source lists out of opts.gyp.
mtklein [Tue, 27 Jan 2015 02:55:58 +0000 (18:55 -0800)]
Split src/opts source lists out of opts.gyp.

This should make it easier to keep our opts.gyp in sync with Chrome's GYP and GN.

BUG=skia:

Landing this without review as a mega-tryjob.
TBR=reed@google.com

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

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

9 years agoRevert of Split src/opts source lists out of opts.gyp. (patchset #1 id:1 of https...
mtklein [Tue, 27 Jan 2015 02:15:31 +0000 (18:15 -0800)]
Revert of Split src/opts source lists out of opts.gyp. (patchset #1 id:1 of https://codereview.chromium.org/870353003/)

Reason for revert:
Android Makefiles broken

Original issue's description:
> Split src/opts source lists out of opts.gyp.
>
> This should make it easier to keep our opts.gyp in sync with Chrome's GYP and GN.
>
> BUG=skia:
>
> Landing this without review as a mega-tryjob.
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/c98fe3aa4f8c97c462c0eb6d9106fc37e48d7f82

TBR=mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

9 years agoSplit src/opts source lists out of opts.gyp.
mtklein [Tue, 27 Jan 2015 02:05:37 +0000 (18:05 -0800)]
Split src/opts source lists out of opts.gyp.

This should make it easier to keep our opts.gyp in sync with Chrome's GYP and GN.

BUG=skia:

Landing this without review as a mega-tryjob.
TBR=reed@google.com

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

9 years agoRevert of SSE4 opaque blend using intrinsics instead of assembly. (patchset #14 id...
bungeman [Mon, 26 Jan 2015 22:32:09 +0000 (14:32 -0800)]
Revert of SSE4 opaque blend using intrinsics instead of assembly. (patchset #14 id:260001 of https://codereview.chromium.org/874863002/)

Reason for revert:
This kills Mac 10.6 bots.

FAILED: c++ -MMD -MF obj/src/opts/opts_sse4.SkBlitRow_opts_SSE4.o.d -DSK_INTERNAL -DSK_GAMMA_SRGB -DSK_GAMMA_APPLY_TO_A8 -DSK_SCALAR_TO_FLOAT_EXCLUDED -DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1 -DSK_SUPPORT_GPU=1 -DSK_SUPPORT_OPENCL=0 -DSK_FORCE_DISTANCE_FIELD_TEXT=0 -DSK_BUILD_FOR_MAC -DSK_CRASH_HANDLER -DSK_DEVELOPER=1 -I../../src/core -I../../src/utils -I../../include/c -I../../include/config -I../../include/core -I../../include/pathops -I../../include/pipe -I../../include/utils/mac -I../../include/effects -O0 -gdwarf-2 -mmacosx-version-min=10.6 -arch x86_64 -mssse3 -Wall -Wextra -Winit-self -Wpointer-arith -Wsign-compare -Wno-unused-parameter -Wno-invalid-offsetof -msse4.1  -c ../../src/opts/SkBlitRow_opts_SSE4.cpp -o obj/src/opts/opts_sse4.SkBlitRow_opts_SSE4.o
../../src/opts/SkBlitRow_opts_SSE4.cpp:15:27: warning: x86intrin.h: No such file or directory
../../src/opts/SkBlitRow_opts_SSE4.cpp: In function 'void S32A_Opaque_BlitRow32_SSE4(SkPMColor*, const SkPMColor*, int, U8CPU)':
../../src/opts/SkBlitRow_opts_SSE4.cpp:40: error: '_mm_testz_si128' was not declared in this scope
../../src/opts/SkBlitRow_opts_SSE4.cpp:45: error: '_mm_testc_si128' was not declared in this scope

Original issue's description:
> SSE4 opaque blend using intrinsics instead of assembly.
>
> Since we had such a hard time with the assembly versions of this blit (to the
> point that we have them completely disabled everywhere), I thought I'd take
> a shot at writing a version of the blit using intrinsics.
>
> The key feature of SSE4 we're exploiting is that we can use ptest (_mm_test*)
> to skip the blend when the 16 src pixels we consider each loop are all opaque
> or all transparent.  _mm_shuffle_epi8 from SSSE3 also lends a hand to extract
> all those alphas.
>
> It's worth looking to see if we can backport this type of logic to SSE2 using
> _mm_movemask_epi8, or up to 32 pixels at a time using AVX.
>
> My local performance testing doesn't show this to be an unambiguous win
> (there are probably microbenchmarks and SKPs where we'd be better off just
> powering through the blend rather than looking at alphas), but the potential
> does seem tantalizing enough to let skiaperf vet it on the bots.  (< 1.0x is a win.)
>
> DM says it draws pixel perfect compare to the old code.
>
> Microbenchmarks:
>                bitmap_RGBA_8888_A_source_stripes_two   14us -> 14.4us 1.03x
>              bitmap_RGBA_8888_A_source_stripes_three 14.3us -> 14.5us 1.01x
>                        bitmap_RGBA_8888_scale_bilerp 61.9us -> 62.2us 1.01x
> bitmap_RGBA_8888_update_volatile_scale_rotate_bilerp  102us ->  101us 0.99x
>                 bitmap_RGBA_8888_scale_rotate_bilerp  103us ->  101us 0.99x
>                               bitmap_RGBA_8888_scale 18.4us -> 18.2us 0.99x
>              bitmap_RGBA_8888_A_scale_rotate_bicubic   71us ->   70us 0.99x
>          bitmap_RGBA_8888_update_scale_rotate_bilerp  103us ->  101us 0.99x
>               bitmap_RGBA_8888_A_scale_rotate_bilerp  112us ->  109us 0.98x
>                     bitmap_RGBA_8888_update_volatile 5.72us -> 5.58us 0.98x
>                                     bitmap_RGBA_8888 5.73us -> 5.58us 0.97x
>                              bitmap_RGBA_8888_update 5.78us ->  5.6us 0.97x
>                      bitmap_RGBA_8888_A_scale_bilerp 70.7us ->   68us 0.96x
>                     bitmap_RGBA_8888_A_scale_bicubic 23.7us -> 21.8us 0.92x
>                                   bitmap_RGBA_8888_A 13.9us -> 10.9us 0.78x
>                     bitmap_RGBA_8888_A_source_opaque   14us -> 6.29us 0.45x
>                bitmap_RGBA_8888_A_source_transparent   14us -> 3.65us 0.26x
>
> Running over our ~70 SKP web page captures, this looks like we spend 0.7x
> the time in S32A_Opaque_BlitRow compared to the SSE2 version, which should
> be a decent predictor of real-world impact.
>
> BUG=chromium:399842
>
> Committed: https://skia.googlesource.com/skia/+/04bc91b972417038fecfa87c484771eac2b9b785

TBR=henrik.smiding@intel.com,mtklein@google.com,herb@google.com,reed@google.com,thakis@chromium.org,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:399842

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

9 years agoAdd sbix font to coloremoji gm.
bungeman [Mon, 26 Jan 2015 22:08:52 +0000 (14:08 -0800)]
Add sbix font to coloremoji gm.

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

9 years agoSSE4 opaque blend using intrinsics instead of assembly.
mtklein [Mon, 26 Jan 2015 22:06:42 +0000 (14:06 -0800)]
SSE4 opaque blend using intrinsics instead of assembly.

Since we had such a hard time with the assembly versions of this blit (to the
point that we have them completely disabled everywhere), I thought I'd take
a shot at writing a version of the blit using intrinsics.

The key feature of SSE4 we're exploiting is that we can use ptest (_mm_test*)
to skip the blend when the 16 src pixels we consider each loop are all opaque
or all transparent.  _mm_shuffle_epi8 from SSSE3 also lends a hand to extract
all those alphas.

It's worth looking to see if we can backport this type of logic to SSE2 using
_mm_movemask_epi8, or up to 32 pixels at a time using AVX.

My local performance testing doesn't show this to be an unambiguous win
(there are probably microbenchmarks and SKPs where we'd be better off just
powering through the blend rather than looking at alphas), but the potential
does seem tantalizing enough to let skiaperf vet it on the bots.  (< 1.0x is a win.)

DM says it draws pixel perfect compare to the old code.

Microbenchmarks:
               bitmap_RGBA_8888_A_source_stripes_two   14us -> 14.4us 1.03x
             bitmap_RGBA_8888_A_source_stripes_three 14.3us -> 14.5us 1.01x
                       bitmap_RGBA_8888_scale_bilerp 61.9us -> 62.2us 1.01x
bitmap_RGBA_8888_update_volatile_scale_rotate_bilerp  102us ->  101us 0.99x
                bitmap_RGBA_8888_scale_rotate_bilerp  103us ->  101us 0.99x
                              bitmap_RGBA_8888_scale 18.4us -> 18.2us 0.99x
             bitmap_RGBA_8888_A_scale_rotate_bicubic   71us ->   70us 0.99x
         bitmap_RGBA_8888_update_scale_rotate_bilerp  103us ->  101us 0.99x
              bitmap_RGBA_8888_A_scale_rotate_bilerp  112us ->  109us 0.98x
                    bitmap_RGBA_8888_update_volatile 5.72us -> 5.58us 0.98x
                                    bitmap_RGBA_8888 5.73us -> 5.58us 0.97x
                             bitmap_RGBA_8888_update 5.78us ->  5.6us 0.97x
                     bitmap_RGBA_8888_A_scale_bilerp 70.7us ->   68us 0.96x
                    bitmap_RGBA_8888_A_scale_bicubic 23.7us -> 21.8us 0.92x
                                  bitmap_RGBA_8888_A 13.9us -> 10.9us 0.78x
                    bitmap_RGBA_8888_A_source_opaque   14us -> 6.29us 0.45x
               bitmap_RGBA_8888_A_source_transparent   14us -> 3.65us 0.26x

Running over our ~70 SKP web page captures, this looks like we spend 0.7x
the time in S32A_Opaque_BlitRow compared to the SSE2 version, which should
be a decent predictor of real-world impact.

BUG=chromium:399842

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

9 years agosite/dev/contrib/directory <= https://status.skia.org/
halcanary [Mon, 26 Jan 2015 21:46:41 +0000 (13:46 -0800)]
site/dev/contrib/directory <= https://status.skia.org/

NOTRY=true

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

9 years agoGrBatchPrototype
joshualitt [Mon, 26 Jan 2015 21:30:10 +0000 (13:30 -0800)]
GrBatchPrototype

BUG=skia:

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

9 years agoRemove clear function from SkGPipe
derekf [Mon, 26 Jan 2015 20:59:06 +0000 (12:59 -0800)]
Remove clear function from SkGPipe

Clear no longer exists.  (It's now a drawPaint call)

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

9 years agos/sk_tools::DrawCheckerboard/sk_tool_utils::draw_checkerboard/
halcanary [Mon, 26 Jan 2015 20:49:00 +0000 (12:49 -0800)]
s/sk_tools::DrawCheckerboard/sk_tool_utils::draw_checkerboard/

BUG=skia:

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

9 years agosite/dev/contrib/revert formatting and details
halcanary [Mon, 26 Jan 2015 20:38:59 +0000 (12:38 -0800)]
site/dev/contrib/revert formatting and details

NOTRY=true

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

9 years agoadd bench for building mipmaps
reed [Mon, 26 Jan 2015 20:28:54 +0000 (12:28 -0800)]
add bench for building mipmaps

BUG=skia:
TBR=

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

9 years agoFix Morphology effects sourcing outside of the crop rect.
cwallez [Mon, 26 Jan 2015 20:20:14 +0000 (12:20 -0800)]
Fix Morphology effects sourcing outside of the crop rect.

BUG=skia:1766

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

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

9 years agodiscard scratch render targets when they are recycled.
bsalomon [Mon, 26 Jan 2015 19:46:52 +0000 (11:46 -0800)]
discard scratch render targets when they are recycled.

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

9 years agoAlter gpu veto
robertphillips [Mon, 26 Jan 2015 19:29:36 +0000 (11:29 -0800)]
Alter gpu veto

This CL unifies the treatment of the dashed and concave paths.

Before:
TP 28 FP 15 TN 8 FN 3 IND 3

After:
TP 28 FP 18 TN 7 FN 2 IND 2

One of the TrueNegatives that became a FalsePositive was the motivation use case (the Chromium busy spinner).

Committed: https://skia.googlesource.com/skia/+/87a6a8e18c7d5bbc94f478b44c53dc0e0549f927

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

9 years agocheck effective cache-size for fixed-budget caches
reed [Mon, 26 Jan 2015 19:24:37 +0000 (11:24 -0800)]
check effective cache-size for fixed-budget caches

BUG=skia:

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

9 years agoFactor out checkerboard function in gm and sampleapp into tools.
halcanary [Mon, 26 Jan 2015 19:24:32 +0000 (11:24 -0800)]
Factor out checkerboard function in gm and sampleapp into tools.

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

9 years agoprettify site/user/sample/hello
halcanary [Mon, 26 Jan 2015 19:19:22 +0000 (11:19 -0800)]
prettify site/user/sample/hello

NOTRY=true
TBR=jcgregorio@google.com

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

9 years agoStop incorrectly setting the clip bit in GrCMM
bsalomon [Mon, 26 Jan 2015 19:19:16 +0000 (11:19 -0800)]
Stop incorrectly setting the clip bit in GrCMM

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

9 years agoCollapse consecutive SkTableColorFilters
cwallez [Mon, 26 Jan 2015 15:45:53 +0000 (07:45 -0800)]
Collapse consecutive SkTableColorFilters

BUG=skia:1366

For the added bench, the collapsing makes the bench take:
- 70% of the time for CPU rendering of 3 consecutive matrix filters
- almost no change in the GPU rendering of the matrix filters
- 50% of the time for CPU and GPU rendering of 3 consecutive table filters

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

9 years agoprettify site/dev/design/pdftheory
halcanary [Mon, 26 Jan 2015 15:45:47 +0000 (07:45 -0800)]
prettify site/dev/design/pdftheory

NOTRY=true
TBR=jcgregorio@google.com

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

9 years agoAdd docs on how to get a preview of markdown pages.
jcgregorio [Mon, 26 Jan 2015 15:24:02 +0000 (07:24 -0800)]
Add docs on how to get a preview of markdown pages.

BUG=skia:

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

9 years agohttps://fiddle.skia.org/
halcanary [Mon, 26 Jan 2015 15:19:07 +0000 (07:19 -0800)]
https://fiddle.skia.org/

NOTRY=true

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

9 years agoDon't do a pointless << 0.
mtklein [Mon, 26 Jan 2015 15:07:03 +0000 (07:07 -0800)]
Don't do a pointless << 0.

It's very common (universal?) that alpha is the top byte.
You'd hope the compiler would remove the left shift then,
but I've seen Clang just do a dumb left shift of zero. :(

BUG=skia:

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

9 years agoRevert of Alter gpu veto (patchset #1 id:1 of https://codereview.chromium.org/875913002/)
robertphillips [Mon, 26 Jan 2015 15:05:04 +0000 (07:05 -0800)]
Revert of Alter gpu veto (patchset #1 id:1 of https://codereview.chromium.org/875913002/)

Reason for revert:
Failing tests

Original issue's description:
> Alter gpu veto
>
> This CL unifies the treatment of the dashed and concave paths.
>
> Before:
> TP 28 FP 15 TN 8 FN 3 IND 3
>
> After:
> TP 28 FP 18 TN 7 FN 2 IND 2
>
> One of the TrueNegatives that became a FalsePositive was the motivation use case (the Chromium busy spinner).
>
> Committed: https://skia.googlesource.com/skia/+/87a6a8e18c7d5bbc94f478b44c53dc0e0549f927

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

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

9 years agoFix Chrome build
robertphillips [Mon, 26 Jan 2015 15:00:04 +0000 (07:00 -0800)]
Fix Chrome build

Switch SkShader's toString method to not be pure virtual due to derived classes in Chromium

TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true

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

9 years agoAlter gpu veto
robertphillips [Mon, 26 Jan 2015 14:53:05 +0000 (06:53 -0800)]
Alter gpu veto

This CL unifies the treatment of the dashed and concave paths.

Before:
TP 28 FP 15 TN 8 FN 3 IND 3

After:
TP 28 FP 18 TN 7 FN 2 IND 2

One of the TrueNegatives that became a FalsePositive was the motivation use case (the Chromium busy spinner).

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

9 years agoUpdate references to skiaperf.com.
tfarina [Mon, 26 Jan 2015 14:47:55 +0000 (06:47 -0800)]
Update references to skiaperf.com.

The new server is being run in perf.skia.org.

BUG=None
R=jcgregorio@google.com

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

9 years agoAdd patheffects to debugger printout
robertphillips [Mon, 26 Jan 2015 14:08:52 +0000 (06:08 -0800)]
Add patheffects to debugger printout

TBR=bsalomon@google.com

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

9 years agoFix Windows build
robertphillips [Mon, 26 Jan 2015 13:39:26 +0000 (05:39 -0800)]
Fix Windows build

TBR=jvanverth@google.com
NOTRY=true
NOTREECHECKS=true

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

9 years agoFold alpha to the inner savelayer in savelayer-savelayer-restore patterns
kkinnunen [Mon, 26 Jan 2015 08:14:26 +0000 (00:14 -0800)]
Fold alpha to the inner savelayer in savelayer-savelayer-restore patterns

Fold alpha to the inner savelayer in savelayer-savelayer-restore
patterns such as this:

  SaveLayer (non-opaque)
    Save
      ClipRect
      SaveLayer
      Restore
    Restore
  Restore

Current blink generates these for example for SVG content such as this:

<path style="opacity:0.5 filter:url(#blur_filter)"/>

The outer save layer is due to the opacity and the inner one is due to
blur filter being implemented with picture image filter.

Reduces layers in desk_carsvg.skp testcase from 115 to 78.

BUG=skia:3119

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

9 years agoUpdate SKP version
skia.buildbots [Mon, 26 Jan 2015 06:29:44 +0000 (22:29 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoinitial preroll api
reed [Sun, 25 Jan 2015 18:33:58 +0000 (10:33 -0800)]
initial preroll api

BUG=skia:

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

9 years agoUpdate SKP version
skia.buildbots [Sun, 25 Jan 2015 06:26:51 +0000 (22:26 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoexperimental/skp_to_pdf_md5 optionally also outputs pdf files
halcanary [Sat, 24 Jan 2015 21:04:57 +0000 (13:04 -0800)]
experimental/skp_to_pdf_md5 optionally also outputs pdf files

TBR=mtklein@google.com

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

9 years agoDon't leak image in Surface test.
mtklein [Sat, 24 Jan 2015 19:27:27 +0000 (11:27 -0800)]
Don't leak image in Surface test.

==7023== 5,056 (896 direct, 4,160 indirect) bytes in 8 blocks are definitely lost in loss record 947 of 2,656
==7023==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==7023==    by 0x82CB99: SkNewImageFromBitmapTexture(SkBitmap const&, int, SkSurface::Budgeted) (SkImage_Gpu.cpp:64)
==7023==    by 0x81A1CF: SkSurface_Gpu::onNewImageSnapshot(SkSurface::Budgeted) (SkSurface_Gpu.cpp:50)
==7023==    by 0x694F9D: SkSurface::newImageSnapshot(SkSurface::Budgeted) (SkSurface_Base.h:92)
==7023==    by 0x55EA7C: test_Surface(skiatest::Reporter*, GrContextFactory*) (SurfaceTest.cpp:485)
==7023==    by 0x407CB2: run_test(skiatest::Test*) (DM.cpp:399)
==7023==    by 0x408382: run_enclave_and_gpu_tests(SkTArray<Task, false>*) (DM.cpp:411)
==7023==    by 0x68B71E: SkTaskGroup::wait() (SkTaskGroup.cpp:67)
==7023==    by 0x40934E: dm_main() (DM.cpp:455)
==7023==    by 0x409483: main (DM.cpp:477)

http://build.chromium.org/p/client.skia/builders/Test-Ubuntu12-ShuttleA-GTX550Ti-x86_64-Release-Valgrind/builds/276/steps/dm/logs/stdio

TBR=bsalomon@google.com

BUG=skia:

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

9 years agoUpdate SKP version
skia.buildbots [Sat, 24 Jan 2015 07:00:15 +0000 (23:00 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoa typo in SkResourceCacheTest
yunchao.he [Sat, 24 Jan 2015 01:06:20 +0000 (17:06 -0800)]
a typo in SkResourceCacheTest

BUG=skia:

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

9 years agoRevert of Fix Morphology effects sourcing outside of the crop rect. (patchset #6...
mtklein [Sat, 24 Jan 2015 00:09:32 +0000 (16:09 -0800)]
Revert of Fix Morphology effects sourcing outside of the crop rect. (patchset #6 id:100001 of https://codereview.chromium.org/781153002/)

Reason for revert:
Looks like this is causing memory leaks:
http://build.chromium.org/p/client.skia/builders/Test-Ubuntu13.10-GCE-NoGPU-x86_64-Debug-ASAN/builds/1155/steps/dm/logs/stdio

And causing crashes on Mac 10.6:
http://build.chromium.org/p/client.skia/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Debug/builds/1417/steps/dm/logs/stdio

Original issue's description:
> Fix Morphology effects sourcing outside of the crop rect.
>
> BUG=skia:1766
>
> Committed: https://skia.googlesource.com/skia/+/f6be925b5615f07039ce95c3433039694a8d1679

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

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

9 years agoCleanup: Delete buildbot_globals.py script.
tfarina [Fri, 23 Jan 2015 22:48:53 +0000 (14:48 -0800)]
Cleanup: Delete buildbot_globals.py script.

rebaseline_server was the only user of this code but it was removed in
https://chromium.googlesource.com/skia/+/3886046f008f0542de36cbeb35e220404e7c88a9

So there aren't more users of this script and we can remove it now.

BUG=skia:3200
R=borenet@google.com

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

9 years agoFix Morphology effects sourcing outside of the crop rect.
cwallez [Fri, 23 Jan 2015 21:35:10 +0000 (13:35 -0800)]
Fix Morphology effects sourcing outside of the crop rect.

BUG=skia:1766

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

9 years agoZap the scratch key on non-RT textures when scratch textures are disabled.
bsalomon [Fri, 23 Jan 2015 21:19:00 +0000 (13:19 -0800)]
Zap the scratch key on non-RT textures when scratch textures are disabled.

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

9 years agoFix the speeling of "purgeable" in Gr code
bsalomon [Fri, 23 Jan 2015 20:47:59 +0000 (12:47 -0800)]
Fix the speeling of "purgeable" in Gr code

TBR=robertphillips@google.com

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

9 years agoCleanup SkPDFObject::emit*
halcanary [Fri, 23 Jan 2015 19:45:10 +0000 (11:45 -0800)]
Cleanup SkPDFObject::emit*

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

9 years agoremove unused GM flags
mtklein [Fri, 23 Jan 2015 19:07:07 +0000 (11:07 -0800)]
remove unused GM flags

Depends on https://codereview.chromium.org/873753002/

Thumbs up to CLion for refactoring this for me.

BUG=skia:

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

9 years agoRemove deprecated SkSurface::NewRenderTarget factories
bsalomon [Fri, 23 Jan 2015 19:02:50 +0000 (11:02 -0800)]
Remove deprecated SkSurface::NewRenderTarget factories

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

9 years agorun clean branch baseline only once
mtklein [Fri, 23 Jan 2015 18:39:55 +0000 (10:39 -0800)]
run clean branch baseline only once

BUG=skia:

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

9 years agoSpin off GM::runAsBench() from flags.
mtklein [Fri, 23 Jan 2015 18:31:45 +0000 (10:31 -0800)]
Spin off GM::runAsBench() from flags.

This will let us kill flags.

BUG=skia:

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

9 years agoFix SampleApp picture-mode transform.
fmalita [Fri, 23 Jan 2015 18:03:15 +0000 (10:03 -0800)]
Fix SampleApp picture-mode transform.

The multi-picture-draw path should not ignore the inherited transform.

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

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

9 years agoTake budgeted param when snapping new image.
bsalomon [Fri, 23 Jan 2015 16:08:04 +0000 (08:08 -0800)]
Take budgeted param when snapping new image.

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

9 years agoFix 'Revert' instructions.
tfarina [Fri, 23 Jan 2015 16:06:13 +0000 (08:06 -0800)]
Fix 'Revert' instructions.

In the not so new pure Git world, 'svn fetch' and 'svn rebase' are not
needed anymore.

BUG=None
R=borenet@google.com

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

9 years agoCollect everything Skia into one document.
halcanary [Fri, 23 Jan 2015 15:52:58 +0000 (07:52 -0800)]
Collect everything Skia into one document.

http://skiadocs.com:8000/dev/contrib/directory?cl=866133002

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

9 years agocheck for too-large rowBytes
reed [Fri, 23 Jan 2015 15:51:14 +0000 (07:51 -0800)]
check for too-large rowBytes

BUG=446164

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

9 years agoIn Correctness Testing Doc, render --option correctly
halcanary [Fri, 23 Jan 2015 15:47:55 +0000 (07:47 -0800)]
In Correctness Testing Doc, render --option correctly

TBR=mtklein@google.com
NOTRY=true

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

9 years agominor changes left out of http://crrev.com/873543002
halcanary [Fri, 23 Jan 2015 15:22:58 +0000 (07:22 -0800)]
minor changes left out of crrev.com/873543002

TBR=mtklein@google.com

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

9 years agoAllow unbudgeted resources to be recycled by the cache as scratch.
bsalomon [Fri, 23 Jan 2015 15:19:22 +0000 (07:19 -0800)]
Allow unbudgeted resources to be recycled by the cache as scratch.

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

9 years agoFix self assigment in GrResourceKey
bsalomon [Fri, 23 Jan 2015 15:17:55 +0000 (07:17 -0800)]
Fix self assigment in GrResourceKey

TBR=robertphillips@google.com

BUG=skia:3340

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

9 years agoAdd a basic doc for correctness testing (DM).
mtklein [Fri, 23 Jan 2015 15:14:16 +0000 (07:14 -0800)]
Add a basic doc for correctness testing (DM).

https://skia.org/dev/contrib/testing?cl=868983002

BUG=skia:

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

9 years agoUpdate compiler warning flags
mtklein [Fri, 23 Jan 2015 15:01:26 +0000 (07:01 -0800)]
Update compiler warning flags

 - add -Wsign-compare, which has been catching useful issues for Kimmo;
 - add -Winit-self and -Wpointer-arith to Mac builds so everyone's using
   the same flags;
 - try try removing -Wno-uninitialized.  This was only for the old 10.6
   compiler that we have warnings set as non-errors now.

BUG=skia:

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

9 years agoRemove GrBinHashKey
bsalomon [Fri, 23 Jan 2015 14:46:16 +0000 (06:46 -0800)]
Remove GrBinHashKey

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

9 years agoCompile fix after Add specialized content key class for resources
kkinnunen [Fri, 23 Jan 2015 14:43:05 +0000 (06:43 -0800)]
Compile fix after Add specialized content key class for resources

gcc (Ubuntu/Linaro 4.6.4-1ubuntu1~12.04) 4.6.4
error: comparison between signed and unsigned integer expressions

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

9 years agoMore changes to SkPDFShader to eliminate multiple inheritance!
halcanary [Fri, 23 Jan 2015 14:17:35 +0000 (06:17 -0800)]
More changes to SkPDFShader to eliminate multiple inheritance!

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

9 years agoadd newImage API
reed [Fri, 23 Jan 2015 13:58:07 +0000 (05:58 -0800)]
add newImage API

BUG=skia:3277
related bug: skbug.com/3276

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

9 years agoWrite dm.json periodically instead of only once at the end.
mtklein [Fri, 23 Jan 2015 13:48:00 +0000 (05:48 -0800)]
Write dm.json periodically instead of only once at the end.

This way if a bot crashes, we might get some partial results in gold rather
than none.  We do the same sort of thing in nanobench for perf.

BUG=skia:3255

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