Commit Graph

16949 Commits

Author SHA1 Message Date
egdaniel
f103cd8539 Set resScale on stroker when stroking path on gpu.
BUG=skia:3686

Review URL: https://codereview.chromium.org/1048333003
2015-04-13 13:06:46 -07:00
mtklein
1dda2194e0 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
2015-04-13 12:17:02 -07:00
reed
9645ce17cd crank up innerloop to make hairlinebench more usable/reliable
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1087583002
2015-04-13 11:12:06 -07:00
bsalomon
3033b9faac Make GrContext::freeGpuResources() purge the resource cache
BUG=skia:

Review URL: https://codereview.chromium.org/1082783002
2015-04-13 11:09:56 -07:00
caryclark
697ac1c138 fix valgrind uninitialized issue
R=mtklein@google.com
BUG=skia:3654

Review URL: https://codereview.chromium.org/1082753002
2015-04-13 09:36:01 -07:00
Stephen White
056c424de8 Revert "Enable tessellating GPU path renderer."
This reverts commit c185019d00.

Reason for revert: Causing errors in DM runs.

BUG=skia:
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1087563002
2015-04-13 11:36:45 -04:00
senorblanco
c185019d00 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
2015-04-13 07:50:26 -07:00
robertphillips
e80a122d95 Update rebaselining process to be less Florin intensive
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1084583002

Review URL: https://codereview.chromium.org/1084583002
2015-04-13 07:28:59 -07:00
joshualitt
53b5f4488b Start caching masks / stroke fills for textblobs
BUG=skia:

Review URL: https://codereview.chromium.org/1065293003
2015-04-13 06:33:59 -07:00
joshualitt
2a0e9f36c6 Avoid regenerating cached textblobs on integer scrolls
BUG=skia:

Review URL: https://codereview.chromium.org/1062863002
2015-04-13 06:12:21 -07:00
reed
64b309c35b 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
2015-04-12 19:07:08 -07:00
reed
9aeb2a1068 always layout w/ same bounds
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1085453002
2015-04-11 19:29:51 -07:00
reed
ffab15f60e use anon namespace to avoid (silent) collisions between local test classes
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1079813002
2015-04-11 19:29:31 -07:00
reed
51985e3f5e setDrawFilter needs to trigger any deferred saves
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1077353002
2015-04-11 08:04:56 -07:00
reed
054eef2b5c 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
2015-04-10 20:39:19 -07:00
bungeman
94164944f8 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
2015-04-10 15:35:22 -07:00
msarett
3c309db75b 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
2015-04-10 14:36:49 -07:00
robertphillips
25c40d25d7 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
2015-04-10 08:39:58 -07:00
joshualitt
f6e97e6f62 trivial fix for TextBlobCache
BUG=skia:

Review URL: https://codereview.chromium.org/1076193003
2015-04-10 07:23:30 -07:00
joshualitt
0db6dfaeb2 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
2015-04-10 07:01:30 -07:00
mtklein
c5e0891029 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
2015-04-10 06:24:58 -07:00
joshualitt
d0b5c33fda Adding draw looper gm for textblobs
BUG=skia:

Review URL: https://codereview.chromium.org/1067853002
2015-04-10 06:17:26 -07:00
mtklein
9ff378b01b 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
2015-04-09 14:05:17 -07:00
reed
a1e41c6d9a default to 8888 for ganesh in sampleapp on iOS
BUG=skia:

Review URL: https://codereview.chromium.org/1078843002
2015-04-09 13:43:22 -07:00
halcanary
2b86155b42 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
2015-04-09 13:27:40 -07:00
msarett
29be7958de Fix ASAN error
BUG=skia:

TBR=

Review URL: https://codereview.chromium.org/1072183002
2015-04-09 13:14:40 -07:00
msarett
438b2adefb ***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
2015-04-09 12:43:10 -07:00
senorblanco
16b254a200 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
2015-04-09 11:13:24 -07:00
tomhudson
2df6fd650c 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
2015-04-09 09:20:19 -07:00
mtklein
a67572ff91 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
2015-04-09 09:16:28 -07:00
fmalita
055f6b59d8 [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
2015-04-09 08:49:32 -07:00
reed
0b18c3554c add test for opaque-preserving colormatrixfilters
BUG=skia:

Review URL: https://codereview.chromium.org/1069463002
2015-04-09 08:27:27 -07:00
joshualitt
62db8ba68b fix for perf regression on ugamsolutions / msaa16
BUG=skia:

Review URL: https://codereview.chromium.org/1076853002
2015-04-09 08:22:37 -07:00
jvanverth
8ed3b9a386 Rename DistanceFieldTextureEffect.{cpp,h}
BUG=skia:

Review URL: https://codereview.chromium.org/1073473005
2015-04-09 08:00:49 -07:00
stephana
195f62d07d BUG=skia:
Review URL: https://codereview.chromium.org/1054073003
2015-04-09 07:57:54 -07:00
mtklein
29b1afc169 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
2015-04-09 07:46:41 -07:00
djsollen
7178a3b595 Update DEPS to use a cloned copy of libpng
BUG=skia:3689

Review URL: https://codereview.chromium.org/1077673002
2015-04-09 07:33:23 -07:00
robertphillips
e275fdf812 Add GM to repro crbug.com/472795
This CL also adds a new parameter to SkBitmapSource which gives the user control of the filter quality.

BUG=472795

Review URL: https://codereview.chromium.org/1072603002
2015-04-09 06:47:12 -07:00
fmalita
f57546ec7f Remove SK_SUPPORT_LEGACY_SCALAR_MAPPOINTS
No longer used in Chromium.

Also drop now-unused SkMatrix::Rot_pts() & SkMatrix::RotTrans_pts().

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

Review URL: https://codereview.chromium.org/1071833002
2015-04-09 06:13:15 -07:00
jbroman
7d1b945da6 Mark SkPictureRecorder::endRecording as SK_WARN_UNUSED_RESULT.
Ignoring the result is a memory leak.
Callers should always at least unref the result.

This bug has occurred in Blink:
  https://codereview.chromium.org/1068413002/

BUG=skia:3680

Review URL: https://codereview.chromium.org/1072633002
2015-04-09 06:12:17 -07:00
mtklein
d9f8862ab6 Valgrind sez: new[] wants delete[].
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind/builds/17/steps/dm/logs/stdio

TBR=bsalomon@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1075853002
2015-04-09 03:20:04 -07:00
Mike Klein
fbcf0bd7ff expand pdf/worldjournal blacklist entry to cover the new skp too
BUG=skia:

Review URL: https://codereview.chromium.org/1070013002
2015-04-09 06:03:22 -04:00
mtklein
35f55764b8 Revert of Rearrange SkRecord with small N in mind (patchset #8 id:120001 of https://codereview.chromium.org/1061783002/)
Reason for revert:
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug/builds/149/steps/dm/logs/stdio

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

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

Review URL: https://codereview.chromium.org/1068383003
2015-04-08 14:09:41 -07:00
mtklein
e2dd9408cd 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

Review URL: https://codereview.chromium.org/1061783002
2015-04-08 14:02:32 -07:00
halcanary
16e833d5aa SkString: remove fStr member
Motivation:  I'd like sizeof(SkString) to be the same in Debug and Release.

Review URL: https://codereview.chromium.org/1073473003
2015-04-08 13:01:22 -07:00
jvanverth
502286d7b8 Rename the distance field geoprocs to something more reasonable.
Prep for adding Mali fix for distance field paths.

BUG=skia:3528

Review URL: https://codereview.chromium.org/1075543002
2015-04-08 12:37:51 -07:00
senorblanco
aad8b27ec6 Use opaque black not transparent black as imagefilter GM background.
For some reason, GM's are now being composited against white
in some modes, where the alpha used to be ignored (or composited
against black, I'm not sure which). At any rate, it doesn't
make much sense to have alpha in the result anyway, so let's clear to
opaque black instead of transparent black and avoid the problem.

This is a trial balloon for bitmapsource and pictureimagefilter.
If all goes well, I'll make this change more widely.

R=scroggo
BUG=skia:3319

Review URL: https://codereview.chromium.org/1074513002
2015-04-08 12:36:08 -07:00
Derek Sollenberger
a0219f1565 Fail gracefully when dm.json is not present
Review URL: https://codereview.chromium.org/1073593002
2015-04-08 15:20:25 -04:00
mtklein
feaadee1c3 SkCanvas::resetForNextPicture()
No diffs against head for DM --config 8888 gpu 2ndpic-8888 2ndpic-gpu.

  picture_overhead_draw	1.62us ->  1.6us	0.99x
picture_overhead_nodraw	 792ns ->  342ns	0.43x

tiles and serialization modes will also test this a bit.

BUG=chromium:470553

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

Review URL: https://codereview.chromium.org/1067893002
2015-04-08 11:25:48 -07:00
bsalomon
3f324321cd Add mechanism to proactively purge old resources in GrResourceCache.
This change leaves the feature turned off by default.

Review URL: https://codereview.chromium.org/1032873002
2015-04-08 11:01:55 -07:00