bungeman [Fri, 17 Apr 2015 20:51:08 +0000 (13:51 -0700)]
Respect declared font style on Android.
Previously the normal/italic style bit was obtained from scanning the
font file. With the new format the style may be stated explicitly, and
this explicit value in the configuration file should override any
information obtained from the font data itself.
This change allows the font element's style attribute to override the
font's style, but retains the default 'auto' setting for backwards
compatibility. Repecting the style bit may become more important with
variation fonts, because it will be up to the configuration writer to
determine what values of the 'slnt' variation should be considered
'normal' or 'italic'.
DOCS_PREVIEW= https://skia.org/?cl=
1092093002
Committed: https://skia.googlesource.com/skia/+/
673e902c9b9982a167f54f1cc175d8d9cab8bcaf
Review URL: https://codereview.chromium.org/
1092093002
jcgregorio [Fri, 17 Apr 2015 20:30:35 +0000 (13:30 -0700)]
Revert of Respect declared font style on Android. (patchset #6 id:100001 of https://codereview.chromium.org/
1092093002/)
Reason for revert:
Failed on the compile bots.
Original issue's description:
> Respect declared font style on Android.
>
> Previously the normal/italic style bit was obtained from scanning the
> font file. With the new format the style may be stated explicitly, and
> this explicit value in the configuration file should override any
> information obtained from the font data itself.
>
> This change allows the font element's style attribute to override the
> font's style, but retains the default 'auto' setting for backwards
> compatibility. Repecting the style bit may become more important with
> variation fonts, because it will be up to the configuration writer to
> determine what values of the 'slnt' variation should be considered
> 'normal' or 'italic'.
>
> DOCS_PREVIEW= https://skia.org/?cl=
1092093002
>
> Committed: https://skia.googlesource.com/skia/+/
673e902c9b9982a167f54f1cc175d8d9cab8bcaf
TBR=mtklein@google.com,tomhudson@google.com,scroggo@google.com,bungeman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1082173004
halcanary [Fri, 17 Apr 2015 20:27:24 +0000 (13:27 -0700)]
PDF: Correctly embed JPEG images directly into PDF output.
We only embed images with YUV planes. That should only grab the
subset of color JPEGs supported by PDF.
BUG=skia:3180
Review URL: https://codereview.chromium.org/
1025773002
bungeman [Fri, 17 Apr 2015 20:25:03 +0000 (13:25 -0700)]
Respect declared font style on Android.
Previously the normal/italic style bit was obtained from scanning the
font file. With the new format the style may be stated explicitly, and
this explicit value in the configuration file should override any
information obtained from the font data itself.
This change allows the font element's style attribute to override the
font's style, but retains the default 'auto' setting for backwards
compatibility. Repecting the style bit may become more important with
variation fonts, because it will be up to the configuration writer to
determine what values of the 'slnt' variation should be considered
'normal' or 'italic'.
DOCS_PREVIEW= https://skia.org/?cl=
1092093002
Review URL: https://codereview.chromium.org/
1092093002
enne [Fri, 17 Apr 2015 19:42:49 +0000 (12:42 -0700)]
Trace contention for lockPixels mutex
Review URL: https://codereview.chromium.org/
1090103002
mtklein [Fri, 17 Apr 2015 18:00:54 +0000 (11:00 -0700)]
Rework SSE and NEON Color32 algorithms to be more correct and faster.
This algorithm changes the blend math, guarded by SK_LEGACY_COLOR32_MATH. The new math is more correct: it's never off by more than 1, and correct in all the interesting 0x00 and 0xFF edge cases, where the old math was never off by more than 2, and not always correct on the edges.
If you look at tests/BlendTest.cpp, the old code was using the `blend_256_plus1_trunc` algorithm, while the new code uses `blend_256_round_alt`. Neither uses `blend_perfect`, which is about ~35% slower than `blend_256_round_alt`.
This will require an unfathomable number of rebaselines, first to Skia, then to Blink when I remove the guard.
I plan to follow up with some integer SIMD abstractions that can unify these two implementations into a single algorithm. This was originally what I was working on here, but the correctness gains seem to be quite compelling. The only places these two algorithms really differ greatly now is the kernel function, and even there they can really both be expressed abstractly as:
- multiply 8-bits and 8-bits producing 16-bits
- add 16-bits to 16-bits, returning the top 8 bits.
All the constants are the same, except SSE is a little faster to keep 8 16-bit inverse alphas, NEON's a little faster to keep 8 8-bit inverse alphas. I may need to take this small speed win back to unify the two.
We should expect a ~25% speedup on Intel (mostly from unrolling to 8 pixels) and a ~20% speedup on ARM (mostly from using vaddhn to add `color`, round, and narrow back down to 8-bit all into one instruction.
(I am probably missing several more related bugs here.)
BUG=skia:3738,skia:420,chromium:111470
Review URL: https://codereview.chromium.org/
1092433002
bungeman [Fri, 17 Apr 2015 18:00:06 +0000 (11:00 -0700)]
Remove filename from SkFontDescriptor.
No one actually uses it, so remove it. Keep the string id for backward
compatibility.
TBR=reed@google.com
This doesn't change any public API.
Review URL: https://codereview.chromium.org/
1057413005
joshualitt [Fri, 17 Apr 2015 17:32:32 +0000 (10:32 -0700)]
Small change to allow DistanceField and BMP text to coexist in a blob
BUG=skia:
Review URL: https://codereview.chromium.org/
1096753002
bungeman [Fri, 17 Apr 2015 17:05:43 +0000 (10:05 -0700)]
Correct SkFixedToDouble.
SkFixedToDouble uses the decimal floating point string representation
of 1/(2^16) to provide a constant value. This value is exactly
representable by a double but the decimal constant currently used
does not map to this value.
This change modifies this constant to more decimal digits so that
the actual double value desired is created.
Review URL: https://codereview.chromium.org/
1097473002
joshualitt [Fri, 17 Apr 2015 16:30:06 +0000 (09:30 -0700)]
Initial CL to add distance field support to GrAtlasTextContext
BUG=skia:
Review URL: https://codereview.chromium.org/
1082843002
joshualitt [Fri, 17 Apr 2015 16:01:05 +0000 (09:01 -0700)]
adding new gm to rotate, translate, and scale textblobs
this is to test distance field caching and regen of texture blobs on scale.
BUG=skia:
Review URL: https://codereview.chromium.org/
1097563002
mtklein [Fri, 17 Apr 2015 13:36:53 +0000 (06:36 -0700)]
Allow NEON on iOS.
I have nanobench building and running (Color32_arm_neon) on my iPad.
No public API changes.
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1091823002
mtklein [Fri, 17 Apr 2015 13:32:13 +0000 (06:32 -0700)]
add a GM to demo the blend bug
BUG=skia:3739
Review URL: https://codereview.chromium.org/
1094863003
reed [Fri, 17 Apr 2015 03:10:55 +0000 (20:10 -0700)]
Revert of Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of https://codereview.chromium.org/
1060703003/)
Reason for revert:
fix (removal from gypi/gn files) has landed in chrome.
Original issue's description:
> Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of https://codereview.chromium.org/
1088383003/)
>
> Reason for revert:
> This change is causing the DEPS roll to fail:
>
>
> http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/78771/steps/gn/logs/stdio
>
> Original issue's description:
> > remove unused (by clients) SkPathUtils
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/
aab35d91b8b80acd1902594bbf542083fdfa4bb7
>
> TBR=scroggo@google.com,reed@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
bdb0bf5f8858043878d8a4fa8130c6c87bef3fd4
TBR=scroggo@google.com,jcgregorio@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1091963002
bungeman [Thu, 16 Apr 2015 21:22:46 +0000 (14:22 -0700)]
Add PS 'all' weight name to scanFont.
Multiple Master fonts often list their weight as 'all'. However, they
usually default to normal weight. State explicitly that we know about
this weight string.
Review URL: https://codereview.chromium.org/
1092793002
mtklein [Thu, 16 Apr 2015 20:29:58 +0000 (13:29 -0700)]
Default iOS builds to our code signing identity.
It's super tedious to keep setting it every time I rerun ./gyp_skia.
Doesn't look like it'll bother the bots.
BUG=skia:
Review URL: https://codereview.chromium.org/
1053493005
tfarina [Thu, 16 Apr 2015 20:28:06 +0000 (13:28 -0700)]
contrib: Simplify the command to create a feature branch.
You can create a work branch off origin/master by simply running:
$ git checkout -b my-feature origin/master
BUG=None
R=borenet@google.com
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1057513004
Review URL: https://codereview.chromium.org/
1057513004
mtklein [Thu, 16 Apr 2015 19:45:38 +0000 (12:45 -0700)]
This section is moot: we divert ios to opts_none above.
(We never set arm_version = 7 for iOS...)
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot
BUG=skia:
Review URL: https://codereview.chromium.org/
1092753002
bungeman [Thu, 16 Apr 2015 19:18:28 +0000 (12:18 -0700)]
Add SkTPin.
Currently there exist SkScalarPin and SkPin32, and in a future change
another version is desired. This change introduces SkTPin and changes
SkScalarPin and SkPin32 to use it.
Review URL: https://codereview.chromium.org/
1090003002
senorblanco [Thu, 16 Apr 2015 18:47:18 +0000 (11:47 -0700)]
Improve tessellating path rasterizer performance on dashed paths.
With dashed paths, we get a lot of geometry on the same sort line.
Since the vertices are sorted, it makes more sense to insert edges
from the end (in sort order) than the beginning. This requires
maintaining both the head and tail of the active edge list.
This gives a ~20% perf improvement on tabl_digg.skp.
BUG=skia:3733
Review URL: https://codereview.chromium.org/
1089903002
joshualitt [Thu, 16 Apr 2015 18:24:04 +0000 (11:24 -0700)]
add textblob cache freeall
BUG=skia:
Review URL: https://codereview.chromium.org/
1088683004
egdaniel [Thu, 16 Apr 2015 18:22:42 +0000 (11:22 -0700)]
Rename GrStencilBuffer to GrStencilAttachment
BUG=skia:
Review URL: https://codereview.chromium.org/
1083133002
zoran.jovanovic [Thu, 16 Apr 2015 18:03:16 +0000 (11:03 -0700)]
SkScaledBitmapSampler: fix memory overwritten
Memory will be overwritten while downsampling some
interlaced gif images, most commonly with odd sizes,
when index of destination row stores in the current
line computed from GifInterlaceIter meets:
X is an integer in [0..height-1]
and
(X < height)
&& ((X - sampleSize/2) % sampleSize == 0)
&& ((X - sampleSize/2)/sampleSize >= height/sampleSize)
Signed-off-by: Lu Tong <lu.x.tong@sonymobile.com>
BUG=skia:
Review URL: https://codereview.chromium.org/
1085253002
cdalton [Thu, 16 Apr 2015 17:42:49 +0000 (10:42 -0700)]
Add ReverseIter to GrTRecorder
BUG=skia:
Review URL: https://codereview.chromium.org/
1035083004
jcgregorio [Thu, 16 Apr 2015 16:47:36 +0000 (09:47 -0700)]
Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of https://codereview.chromium.org/
1088383003/)
Reason for revert:
This change is causing the DEPS roll to fail:
http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/78771/steps/gn/logs/stdio
Original issue's description:
> remove unused (by clients) SkPathUtils
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
aab35d91b8b80acd1902594bbf542083fdfa4bb7
TBR=scroggo@google.com,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1060703003
mtklein [Thu, 16 Apr 2015 14:59:12 +0000 (07:59 -0700)]
Don't serialize anything for SkEmptyShader.
BUG=skia:3735
Review URL: https://codereview.chromium.org/
1097433002
Brian Salomon [Thu, 16 Apr 2015 14:46:18 +0000 (10:46 -0400)]
widen output png size of bmp_filter_quality_repeat
BUG=skia:
Review URL: https://codereview.chromium.org/
1097443002
bsalomon [Thu, 16 Apr 2015 13:54:28 +0000 (06:54 -0700)]
Add GM that tests bmp filter qualities with repeat mode
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
1086203002
reed [Thu, 16 Apr 2015 13:16:38 +0000 (06:16 -0700)]
remove unused (by clients) SkPathUtils
BUG=skia:
Review URL: https://codereview.chromium.org/
1088383003
mtklein [Thu, 16 Apr 2015 13:09:27 +0000 (06:09 -0700)]
Zero jpeg_decompress_struct before calling jpeg_calc_output_dimensions().
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Valgrind/builds/38/steps/dm/logs/stdio
(Must have been https://codereview.chromium.org/
1076923002 ?)
BUG=skia:
Review URL: https://codereview.chromium.org/
1094603002
reed [Thu, 16 Apr 2015 02:57:54 +0000 (19:57 -0700)]
remove older version of cubic->coeff
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1084623004
reed [Thu, 16 Apr 2015 01:23:03 +0000 (18:23 -0700)]
Speeup hairline curves (quads and cubics) (patchset #7 id:120001 of https://codereview.chromium.org/
1078413003/)"
ah ha! Check for the define *after* we pull in SkUserConfig.h (indirectly)
This reverts commit
639a82855b94b93c4fa45560e67df8ec4a8bbb3a.
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1084283003
reed [Thu, 16 Apr 2015 01:05:47 +0000 (18:05 -0700)]
Revert of make blitAntiH2 virtual, to prep for larger change (patchset #1 id:1 of https://codereview.chromium.org/
1048323005/)
Reason for revert:
end of test
Original issue's description:
> make blitAntiH2 virtual, to prep for larger change
>
> testing...
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/
33afdaa5213cf118b3ca290bb343253c8593756d
TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1086293002
reed [Thu, 16 Apr 2015 00:34:26 +0000 (17:34 -0700)]
make blitAntiH2 virtual, to prep for larger change
testing...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1048323005
reed [Wed, 15 Apr 2015 21:38:09 +0000 (14:38 -0700)]
Revert of Speeup hairline curves (quads and cubics) (patchset #7 id:120001 of https://codereview.chromium.org/
1078413003/)
Reason for revert:
Crazy failings in chrome tests
http://build.chromium.org/p/client.skia/builders/Linux%20Tests/builds/1862
Original issue's description:
> Speeup hairline curves (quads and cubics)
>
> /skia/trunk> cat ../old.txt
> maxrss loops min median mean max stddev samples config bench
> 9M 1 4.28ms 4.32ms 4.36ms 4.67ms 3% ▄▁▁▃▂▂▁▁▂█ 8888 path_hairline_small_AA_cubic
> 9M 1 743µs 767µs 770µs 825µs 4% ▃▃▇▃▁▁▅▁█▁ 8888 path_hairline_small_AA_conic
> 9M 1 533µs 606µs 598µs 680µs 9% ▁▂▂█▆▇▇▄▂▂ 8888 path_hairline_small_AA_quad
> 9M 1 451µs 452µs 456µs 495µs 3% ▁▁▁▁█▁▁▁▁▁ 8888 path_hairline_small_AA_line
>
> /skia/trunk> cat ../new.txt
> maxrss loops min median mean max stddev samples config bench
> 9M 1 827µs 827µs 831µs 869µs 2% ▁▁▁▁▁▁▁█▁▁ 8888 path_hairline_small_AA_cubic
> 9M 1 515µs 517µs 517µs 518µs 0% ▇█▆▅▃▃▁▁▁▅ 8888 path_hairline_small_AA_conic
> 9M 1 310µs 311µs 315µs 332µs 2% ▂▁█▆▁▁▁▁▁▁ 8888 path_hairline_small_AA_quad
> 9M 1 254µs 254µs 258µs 276µs 3% ▁▁▁▁▁▁▁█▇▂ 8888 path_hairline_small_AA_line
>
> Edited revert of https://codereview.chromium.org/
1085013003
>
> TBR=
>
> Expectations:
> - no effect on chrome, as it is guarded
> - lots of tiny rebaselines for skia
TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1092483003
bsalomon [Wed, 15 Apr 2015 21:18:34 +0000 (14:18 -0700)]
Don't draw if SkShader::asNewFragmentProcessor fails.
BUG=chromium:473156
Review URL: https://codereview.chromium.org/
1089063002
jvanverth [Wed, 15 Apr 2015 20:41:31 +0000 (13:41 -0700)]
Fix LCD text and add path fix for Mali.
dFdy(st.y) produces negative values, so we need to take
abs() to get the right inverse scale.
BUG=skia:3528
Review URL: https://codereview.chromium.org/
1086183002
reed [Wed, 15 Apr 2015 20:13:48 +0000 (13:13 -0700)]
Speeup hairline curves (quads and cubics)
/skia/trunk> cat ../old.txt
maxrss loops min median mean max stddev samples config bench
9M 1 4.28ms 4.32ms 4.36ms 4.67ms 3% ▄▁▁▃▂▂▁▁▂█ 8888 path_hairline_small_AA_cubic
9M 1 743µs 767µs 770µs 825µs 4% ▃▃▇▃▁▁▅▁█▁ 8888 path_hairline_small_AA_conic
9M 1 533µs 606µs 598µs 680µs 9% ▁▂▂█▆▇▇▄▂▂ 8888 path_hairline_small_AA_quad
9M 1 451µs 452µs 456µs 495µs 3% ▁▁▁▁█▁▁▁▁▁ 8888 path_hairline_small_AA_line
/skia/trunk> cat ../new.txt
maxrss loops min median mean max stddev samples config bench
9M 1 827µs 827µs 831µs 869µs 2% ▁▁▁▁▁▁▁█▁▁ 8888 path_hairline_small_AA_cubic
9M 1 515µs 517µs 517µs 518µs 0% ▇█▆▅▃▃▁▁▁▅ 8888 path_hairline_small_AA_conic
9M 1 310µs 311µs 315µs 332µs 2% ▂▁█▆▁▁▁▁▁▁ 8888 path_hairline_small_AA_quad
9M 1 254µs 254µs 258µs 276µs 3% ▁▁▁▁▁▁▁█▇▂ 8888 path_hairline_small_AA_line
Edited revert of https://codereview.chromium.org/
1085013003
TBR=
Review URL: https://codereview.chromium.org/
1078413003
halcanary [Wed, 15 Apr 2015 20:05:18 +0000 (13:05 -0700)]
SkPDF/Device/ImageFilter: Fix ImageFilter fallback code
Broken in https://chromium.googlesource.com/skia/+/76033be
I have confirmed that this fixes 470083.
BUG=470083
Review URL: https://codereview.chromium.org/
1080923004
jvanverth [Wed, 15 Apr 2015 19:31:22 +0000 (12:31 -0700)]
Real fix for the Mali bug.
The dFdy(st.y) computation seems to be better than the dFdx(st.x) computation
on the Mali, so using that. The end result should be about the same.
BUG=skia:3528
Review URL: https://codereview.chromium.org/
1082913006
joshualitt [Wed, 15 Apr 2015 15:08:28 +0000 (08:08 -0700)]
remove randomness in dstreadshuffle
BUG=skia:
Review URL: https://codereview.chromium.org/
1085443005
reed [Wed, 15 Apr 2015 14:51:15 +0000 (07:51 -0700)]
add blitter api for aa-hairlines
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1088143002
senorblanco [Wed, 15 Apr 2015 14:32:27 +0000 (07:32 -0700)]
Change tessellator sweep direction to depend on path aspect ratio.
The tessellating path renderer uses several sweep-line algorithms,
whose sweep direction can be either in X or Y.
It is currently set to in-X at compile time, but a better approach is to
make it runtime-configurable, and use the path aspect ratio as
a heuristic to determine the optimal sweep direction.
BUG=skia:3725
Review URL: https://codereview.chromium.org/
1089073002
msarett [Wed, 15 Apr 2015 14:32:19 +0000 (07:32 -0700)]
SkJpegCodec
Enables basic decoding for jpegs
Includes rewinding
565, YUV, and Jpeg encoding are not yet implemented
BUG=skia:3257
Review URL: https://codereview.chromium.org/
1076923002
jcgregorio [Wed, 15 Apr 2015 13:17:10 +0000 (06:17 -0700)]
Revert of add new blit2 methods in support of antialiased hairlines guard flag SK_SUPPORT_LEGACY_BLITANTIH2V2 (patchset #2 id:20001 of https://codereview.chromium.org/
1060153003/)
Reason for revert:
DEPS roll is failing, one such example:
http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_rel/builds/73847/steps/ash_unittests%20%28with%20patch%29/logs/stdio
More here:
https://codereview.chromium.org/
1091483003
This CL was the only CL in the roll when things started to fail.
Original issue's description:
> add new blit2 methods in support of antialiased hairlines
>
> before:
> 9M 1 528µs 530µs 539µs 607µs 5% ▁▁▁▁▁▁▁▁█▂ 8888 path_hairline_small_AA_quad
>
> after:
> 9M 1 355µs 356µs 358µs 375µs 2% ▂▁▁▁▁▁▁▁▁█ 8888 path_hairline_small_AA_quad
>
> BUG=skia:
>
> does require new baselines (bug chrome is guarded)
>
> Committed: https://skia.googlesource.com/skia/+/
dd83031b98db4c6d3d0de2353bf115152a7d1464
TBR=caryclark@google.com,reed@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1085013003
zoran.jovanovic [Wed, 15 Apr 2015 12:48:54 +0000 (05:48 -0700)]
Return cropBitmap
cropBitmap returns 'true' on success and 'false' on failure.
Propagate its return value so that cascading failures can be avoided.
Signed-off-by: Mykola Kondratenko <mykola.kondratenko@sonymobile.com>
BUG=skia:
Review URL: https://codereview.chromium.org/
1088093003
joshualitt [Wed, 15 Apr 2015 12:31:57 +0000 (05:31 -0700)]
Convert BitmapTextBatch from STArray to AutoSTMalloc
BUG=skia:
Review URL: https://codereview.chromium.org/
1088533002
borenet [Wed, 15 Apr 2015 11:49:32 +0000 (04:49 -0700)]
Roll common DEPS: fix string concat error in gs_utils upload
TBR=jcgregorio
BUG=skia:3723
Review URL: https://codereview.chromium.org/
1057653006
reed [Wed, 15 Apr 2015 01:39:57 +0000 (18:39 -0700)]
add new blit2 methods in support of antialiased hairlines
before:
9M 1 528µs 530µs 539µs 607µs 5% ▁▁▁▁▁▁▁▁█▂ 8888 path_hairline_small_AA_quad
after:
9M 1 355µs 356µs 358µs 375µs 2% ▂▁▁▁▁▁▁▁▁█ 8888 path_hairline_small_AA_quad
BUG=skia:
does require new baselines (bug chrome is guarded)
Review URL: https://codereview.chromium.org/
1060153003
joshualitt [Tue, 14 Apr 2015 21:33:37 +0000 (14:33 -0700)]
Convert BitmapTextBlob from using STArray to AutoSTMalloc
BUG=skia:
Review URL: https://codereview.chromium.org/
1083703002
halcanary [Tue, 14 Apr 2015 21:06:18 +0000 (14:06 -0700)]
DM: add --multiPage option
Motivation: I want to switch back to single-page output by default for
direct comparison to raster backends in Gold.
I can still test the multi-page option via a command-line switch.
BUG=skia:3721
Review URL: https://codereview.chromium.org/
1063873004
mtklein [Tue, 14 Apr 2015 21:02:52 +0000 (14:02 -0700)]
Sk4h and Sk8h for SSE
These will underly the SkPMFloat-like class for uint16_t components.
Sk4h will back a single-pixel version, and Sk8h any larger number than that.
BUG=skia:
Review URL: https://codereview.chromium.org/
1088883005
djsollen [Tue, 14 Apr 2015 20:47:51 +0000 (13:47 -0700)]
cleanup codec names being produced by dm and uploaded to gold
Review URL: https://codereview.chromium.org/
1072933004
joshualitt [Tue, 14 Apr 2015 19:17:27 +0000 (12:17 -0700)]
Start canonicalizing color for all A8 textblobs
BUG=skia:
Review URL: https://codereview.chromium.org/
1076593002
mtklein [Tue, 14 Apr 2015 18:49:14 +0000 (11:49 -0700)]
Rename SkNi to SkNb.
As used today, SkNi is used in bool-y contexts. This keeps that, but under a
new name, SkNb. This makes room for a new SkNi that's focused on integer-y
things like loads, stores, arithmetic, etc.
The main reason to split these is that we want different specializations for
each use case: for bools, it's important for us to specialize 32- and 64-bit to
support efficient float- and double- comparisons, but for integer work we're
more likely to be looking at 8- and 16- bit lanes. Keeping these use cases
siloed helps me manage the compexity of the backend NEON and SSE code.
BUG=skia:
Review URL: https://codereview.chromium.org/
1083123002
reed [Tue, 14 Apr 2015 17:40:44 +0000 (10:40 -0700)]
change hairline procs to take array of points
BUG=skia:
Review URL: https://codereview.chromium.org/
1085883002
borenet [Tue, 14 Apr 2015 17:37:33 +0000 (10:37 -0700)]
Update common DEPS: adding retries to GS upload
BUG=skia:3723
Review URL: https://codereview.chromium.org/
1083663006
robertphillips [Tue, 14 Apr 2015 15:19:01 +0000 (08:19 -0700)]
Add GM to exercise high quality anisotropic scaling
High quality anisotropic is an interesting edge case for the gpu backend. For scales that are both minimizing and maximizing Ganesh falls back to MipMaps which can turn out too blurry.
BUG=472864
Review URL: https://codereview.chromium.org/
1058133003
halcanary [Tue, 14 Apr 2015 13:25:19 +0000 (06:25 -0700)]
GM: add fadefilter gm
BUG=470083
Review URL: https://codereview.chromium.org/
1081173002
caryclark [Tue, 14 Apr 2015 13:08:04 +0000 (06:08 -0700)]
early return from stream peek
Don't assert if resources are missing
R=scroggo@google.com
BUG=skia:3719
Review URL: https://codereview.chromium.org/
1080073002
msarett [Tue, 14 Apr 2015 12:37:36 +0000 (05:37 -0700)]
Fixing use of initialized memory.
Disabling scanline decoding to kIndex8 until it can be implemented.
BUG=skia:3715
Review URL: https://codereview.chromium.org/
1082923002
senorblanco [Mon, 13 Apr 2015 21:27:37 +0000 (14:27 -0700)]
Enable tessellating GPU path renderer.
This also contains a fix to remove recursion from the sorted_merge()
step. This was essentially tail-recursion, and was causing stack
exhaustion on some platforms. Making it iterative fixes the issue.
Note: this CL will affect a large number of GPU GM results.
R=bsalomon@google.com
BUG=
Review URL: https://codereview.chromium.org/
1080113004
borenet [Mon, 13 Apr 2015 20:29:26 +0000 (13:29 -0700)]
Blacklist desk_wikipedia pdf on Valgrind bots
BUG=skia:3506
Review URL: https://codereview.chromium.org/
1056763004
egdaniel [Mon, 13 Apr 2015 20:06:46 +0000 (13:06 -0700)]
Set resScale on stroker when stroking path on gpu.
BUG=skia:3686
Review URL: https://codereview.chromium.org/
1048333003
mtklein [Mon, 13 Apr 2015 19:17:02 +0000 (12:17 -0700)]
Fix minor undercounting in SkRecord::bytesUsed().
When an SkRecord has more than kInlineRecords ops in it (today, 5 or more), the
current logic undercounts the bytes used by the SkRecord by sizeof(Record) *
kInlineRecords, i.e. 32 bytes. This isn't a huge deal... by the time you've
recorded 5 ops, we're typically up around 1KB anyway, and it's only ever off by
that constant 32 bytes, so somewhere between 3% to 0% error as the picture grows.
But now that I've noticed, we might as well fix it. Basically, this is a
reminder that the inline space used to store those first kInlineRecords ops
goes to waste once we pass that threshold. In contrast, fInlineAlloc, the
space we preallocate for the SkVarAlloc, never goes to waste. It always holds
the first few ops' data even when we grow past it.
BUG=skia:
Review URL: https://codereview.chromium.org/
1081433002
reed [Mon, 13 Apr 2015 18:12:06 +0000 (11:12 -0700)]
crank up innerloop to make hairlinebench more usable/reliable
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1087583002
bsalomon [Mon, 13 Apr 2015 18:09:56 +0000 (11:09 -0700)]
Make GrContext::freeGpuResources() purge the resource cache
BUG=skia:
Review URL: https://codereview.chromium.org/
1082783002
caryclark [Mon, 13 Apr 2015 16:36:01 +0000 (09:36 -0700)]
fix valgrind uninitialized issue
R=mtklein@google.com
BUG=skia:3654
Review URL: https://codereview.chromium.org/
1082753002
Stephen White [Mon, 13 Apr 2015 15:36:45 +0000 (11:36 -0400)]
Revert "Enable tessellating GPU path renderer."
This reverts commit
c185019d009dbfcc8d07f267b0fd72ba1ce673d9.
Reason for revert: Causing errors in DM runs.
BUG=skia:
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/
1087563002
senorblanco [Mon, 13 Apr 2015 14:50:26 +0000 (07:50 -0700)]
Enable tessellating GPU path renderer.
Note: this will affect a large number of GPU GM results.
R=bsalomon@google.com
BUG=
Review URL: https://codereview.chromium.org/
1084573003
robertphillips [Mon, 13 Apr 2015 14:28:59 +0000 (07:28 -0700)]
Update rebaselining process to be less Florin intensive
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1084583002
Review URL: https://codereview.chromium.org/
1084583002
joshualitt [Mon, 13 Apr 2015 13:33:59 +0000 (06:33 -0700)]
Start caching masks / stroke fills for textblobs
BUG=skia:
Review URL: https://codereview.chromium.org/
1065293003
joshualitt [Mon, 13 Apr 2015 13:12:21 +0000 (06:12 -0700)]
Avoid regenerating cached textblobs on integer scrolls
BUG=skia:
Review URL: https://codereview.chromium.org/
1062863002
reed [Mon, 13 Apr 2015 02:07:08 +0000 (19:07 -0700)]
use fast/inline SkRect::set(p0, p1) for 2 points
10% speedup for clipped haircubics
BUG=skia:
TBR=
NOTRY=True
Review URL: https://codereview.chromium.org/
1079343002
reed [Sun, 12 Apr 2015 02:29:50 +0000 (19:29 -0700)]
always layout w/ same bounds
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1085453002
reed [Sun, 12 Apr 2015 02:29:31 +0000 (19:29 -0700)]
use anon namespace to avoid (silent) collisions between local test classes
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1079813002
reed [Sat, 11 Apr 2015 15:04:56 +0000 (08:04 -0700)]
setDrawFilter needs to trigger any deferred saves
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1077353002
reed [Sat, 11 Apr 2015 03:39:19 +0000 (20:39 -0700)]
change hairline procs to take SkPoint by value, more efficient on SSE and NEON
precursor for https://codereview.chromium.org/
1074313002/
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1084433002
bungeman [Fri, 10 Apr 2015 22:35:22 +0000 (15:35 -0700)]
Ammend font table data experiment on Mac.
Calling CGFontCopyTableForTag did not affect the runtime results,
so try to actually access the data to see if that makes a
difference.
TBR=reed1
This is a test change, allow data to be collected.
Review URL: https://codereview.chromium.org/
1076183004
msarett [Fri, 10 Apr 2015 21:36:48 +0000 (14:36 -0700)]
Implementing filling for SkBmpCodec
The bmp codec currently returns kIncompleteInput
when the stream is truncated, which we treat as a
partial success. However, we neglect the fill the
remaining pixels in the image, leaving these
uninitialized.
This CL addresses this problem by initializing the
remaining pixels in the image to default values.
BUG=skia:3257
Review URL: https://codereview.chromium.org/
1075243003
robertphillips [Fri, 10 Apr 2015 15:39:58 +0000 (08:39 -0700)]
Add serialization of SkBitmapSource's new filterQuality member variable
Missed this in https://codereview.chromium.org/
1072603002/ (Add GM to repro crbug.com/472795)
Review URL: https://codereview.chromium.org/
1078113002
joshualitt [Fri, 10 Apr 2015 14:23:29 +0000 (07:23 -0700)]
trivial fix for TextBlobCache
BUG=skia:
Review URL: https://codereview.chromium.org/
1076193003
joshualitt [Fri, 10 Apr 2015 14:01:30 +0000 (07:01 -0700)]
The TextBlobCache needs the ability to trigger a flush because otherwise its entire budget can be used up, but it will not be able to free up any space due to blobs being stuck in the GrInOrderDrawBuffer. This was causing a segfault. After this CL the cache will try to purge, and then flush if it cannot purge enough. It will not purge the most recent addition to the cache.
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1071333002
mtklein [Fri, 10 Apr 2015 13:24:58 +0000 (06:24 -0700)]
Replace NEON assembly memset16 and memset32 with intrinsic versions.
According to bench/MemsetBench.cpp, I've got them somewhere between 10% slower
and a percent or two faster than the old assembly.
BUG=skia:
CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Debug-Trybot
Review URL: https://codereview.chromium.org/
1075003002
joshualitt [Fri, 10 Apr 2015 13:17:26 +0000 (06:17 -0700)]
Adding draw looper gm for textblobs
BUG=skia:
Review URL: https://codereview.chromium.org/
1067853002
mtklein [Thu, 9 Apr 2015 21:05:17 +0000 (14:05 -0700)]
Rewrite memset benches, then use results to add a small-N optimization.
The benches for N <= 10 get around 2x faster on my N7 and N9. I believe this
is because of the reduced function-call-then-function-pointer-call overhead on
the N7, and additionally because it seems autovectorization beats our NEON code
for small N on the N9.
My desktop is unchanged, though that's probably because N=10 lies well within a
region where memset's performance is essentially constant: N=100 takes only
about 2x as long as N=1 and N=10, which perform nearly identically.
BUG=skia:
Review URL: https://codereview.chromium.org/
1073863002
reed [Thu, 9 Apr 2015 20:43:22 +0000 (13:43 -0700)]
default to 8888 for ganesh in sampleapp on iOS
BUG=skia:
Review URL: https://codereview.chromium.org/
1078843002
halcanary [Thu, 9 Apr 2015 20:27:40 +0000 (13:27 -0700)]
SkPDF: ResourceDict replaced by factory function
Motivation: Having a class here was unnecessary, since the only thing
that set this class apart was how it is created, not how it behaves.
BUG=skia:3585
Review URL: https://codereview.chromium.org/
1068343003
msarett [Thu, 9 Apr 2015 20:14:40 +0000 (13:14 -0700)]
Fix ASAN error
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1072183002
msarett [Thu, 9 Apr 2015 19:43:10 +0000 (12:43 -0700)]
***Disables swizzles to 565.
We may want to enable swizzles to 565
for images that are encoded in a format
similar to 565, however, we do not want
to take images that decode naturally to
kN32 and then convert them to 565.
***Enable swizzles to kIndex_8. For images
encoded in a color table format, we suggest
that they be decoded to kIndex_8. When we
decode, we only allow conversion to kIndex_8
if it matches the suggested color type (except
wbmp which seems good as is).
***Modify dm to test images that decode to
kIndex_8.
BUG=skia:3257
BUG=skia:3440
Review URL: https://codereview.chromium.org/
1055743003
senorblanco [Thu, 9 Apr 2015 18:13:24 +0000 (11:13 -0700)]
Change some more GMs to clear to opaque black, not transparent black.
N.B.: this will change results on the bots for all the tests modified.
BUG=skia:3319
Review URL: https://codereview.chromium.org/
1077763002
tomhudson [Thu, 9 Apr 2015 16:20:19 +0000 (09:20 -0700)]
Avoid sending empty bitmaps through proxy canvas
Some back ends may crash when asked to draw an empty bitmap, so we
filter it out here.
BUG=skia:3692
R=djsollen@google.com,reed@google.com
Review URL: https://codereview.chromium.org/
1072033002
mtklein [Thu, 9 Apr 2015 16:16:28 +0000 (09:16 -0700)]
Remove ARM assembly memsets.
Step 1 of a zillion in the quest for NEON on iOS,
and step 1 of a different zillion in the Great Assembly Purge.
ios, arm, arm64, arm_v7, arm_v7_neon all build.
BUG=skia:
Review URL: https://codereview.chromium.org/
1072063002
fmalita [Thu, 9 Apr 2015 15:49:32 +0000 (08:49 -0700)]
[SkTextBlob] Custom run font record
Instead of using a full-blown SkPaint to store run font info, use a
custom structure.
This saves 96 bytes / run on 64bit platforms.
R=reed@google.com,mtklein@google.com,joshualitt@google.com
Review URL: https://codereview.chromium.org/
1070943002
reed [Thu, 9 Apr 2015 15:27:27 +0000 (08:27 -0700)]
add test for opaque-preserving colormatrixfilters
BUG=skia:
Review URL: https://codereview.chromium.org/
1069463002
joshualitt [Thu, 9 Apr 2015 15:22:37 +0000 (08:22 -0700)]
fix for perf regression on ugamsolutions / msaa16
BUG=skia:
Review URL: https://codereview.chromium.org/
1076853002
jvanverth [Thu, 9 Apr 2015 15:00:49 +0000 (08:00 -0700)]
Rename DistanceFieldTextureEffect.{cpp,h}
BUG=skia:
Review URL: https://codereview.chromium.org/
1073473005
stephana [Thu, 9 Apr 2015 14:57:54 +0000 (07:57 -0700)]
BUG=skia:
Review URL: https://codereview.chromium.org/
1054073003
mtklein [Thu, 9 Apr 2015 14:46:41 +0000 (07:46 -0700)]
Rearrange SkRecord with small N in mind
This rearranges the record pointers and types so they can go in a single array, then preallocates some space for them and for the SkVarAlloc.
picture_overhead_draw bench drops from ~1000ns to 500-600ns, with no effect on picture_overhead_nodraw.
I don't see any significant effect on large picture recording times from our .skps.
BUG=chromium:470553
Committed: https://skia.googlesource.com/skia/+/
e2dd9408cd711777afaa9410427fb0d761ab004a
Review URL: https://codereview.chromium.org/
1061783002
djsollen [Thu, 9 Apr 2015 14:33:23 +0000 (07:33 -0700)]
Update DEPS to use a cloned copy of libpng
BUG=skia:3689
Review URL: https://codereview.chromium.org/
1077673002