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
sugoi [Wed, 28 Jan 2015 21:15:32 +0000 (13:15 -0800)]
Fixed clusterfuzz issue
BUG=448423
Review URL: https://codereview.chromium.org/
881423002
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
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
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
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
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
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
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
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
joshualitt [Wed, 28 Jan 2015 19:08:00 +0000 (11:08 -0800)]
dstread gm
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/
883053002
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
joshualitt [Mon, 26 Jan 2015 21:30:10 +0000 (13:30 -0800)]
GrBatchPrototype
BUG=skia:
Review URL: https://codereview.chromium.org/
845103005
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
reed [Sun, 25 Jan 2015 18:33:58 +0000 (10:33 -0800)]
initial preroll api
BUG=skia:
Review URL: https://codereview.chromium.org/
855473002
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
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
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
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
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
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
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
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
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
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
halcanary [Fri, 23 Jan 2015 19:45:10 +0000 (11:45 -0800)]
Cleanup SkPDFObject::emit*
Review URL: https://codereview.chromium.org/
869783003
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
bsalomon [Fri, 23 Jan 2015 19:02:50 +0000 (11:02 -0800)]
Remove deprecated SkSurface::NewRenderTarget factories
Review URL: https://codereview.chromium.org/
837723008
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
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
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
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
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
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
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
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
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
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
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
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
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
bsalomon [Fri, 23 Jan 2015 14:46:16 +0000 (06:46 -0800)]
Remove GrBinHashKey
Review URL: https://codereview.chromium.org/
861323002
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
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
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
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