robertphillips [Fri, 13 Mar 2015 16:53:01 +0000 (09:53 -0700)]
Fix bug with very large round rects with large radii
BUG=463920
Review URL: https://codereview.chromium.org/
998903003
reed [Fri, 13 Mar 2015 15:48:26 +0000 (08:48 -0700)]
Handle paths that do not report empty, but have no edges.
patch from issue
999963005 at patchset 1 (http://crrev.com/
999963005#ps1)
BUG=skia:3527
Review URL: https://codereview.chromium.org/
1008883002
reed [Fri, 13 Mar 2015 15:46:12 +0000 (08:46 -0700)]
Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/
1008863002/)
Reason for revert:
guard in chrome has landed
Original issue's description:
> Revert of Change device creation to see the (optional) layer-paint (patchset #9 id:160001 of https://codereview.chromium.org/
988413003/)
>
> Reason for revert:
> need to have chrome opt-in for the older API before this can land (in chrome)
>
> Original issue's description:
> > Change device creation to see the (optional) layer-paint
> >
> > Motivation:
> >
> > PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice.
> >
> > This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands.
> >
> > Committed: https://skia.googlesource.com/skia/+/
1182d9a96b80bd12183ee7c81325a979a51ee0c0
>
> TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/
0e040f7da2fdfeb49aa60d24117306e3b1e6ea90
TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1006923002
joshualitt [Fri, 13 Mar 2015 15:38:43 +0000 (08:38 -0700)]
Call to retrieve SkDescriptor for SkScalarContext from SkPaint.
Review URL: https://codereview.chromium.org/
1005103003
msarett [Fri, 13 Mar 2015 15:07:01 +0000 (08:07 -0700)]
Ico security issues fix
BUG=skia:3401
BUG=skia:3426
BUG=skia:3441
Review URL: https://codereview.chromium.org/
996173005
reed [Fri, 13 Mar 2015 14:28:28 +0000 (07:28 -0700)]
Revert of Change device creation to see the (optional) layer-paint (patchset #9 id:160001 of https://codereview.chromium.org/
988413003/)
Reason for revert:
need to have chrome opt-in for the older API before this can land (in chrome)
Original issue's description:
> Change device creation to see the (optional) layer-paint
>
> Motivation:
>
> PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice.
>
> This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands.
>
> Committed: https://skia.googlesource.com/skia/+/
1182d9a96b80bd12183ee7c81325a979a51ee0c0
TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1008863002
reed [Fri, 13 Mar 2015 14:16:09 +0000 (07:16 -0700)]
Change device creation to see the (optional) layer-paint
Motivation:
PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice.
This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands.
Review URL: https://codereview.chromium.org/
988413003
fmalita [Fri, 13 Mar 2015 13:50:44 +0000 (06:50 -0700)]
Lower SkPictureShader tile size limits
Let's drop this to 4M pixels - maybe it will help relieve DM pressure on
mobile devices.
R=reed@google.com,mtklein@google.com
BUG=462348
Review URL: https://codereview.chromium.org/
998423004
reed [Fri, 13 Mar 2015 13:08:28 +0000 (06:08 -0700)]
some utils for rect and matrix
BUG=skia:
Review URL: https://codereview.chromium.org/
1003813003
mtklein [Thu, 12 Mar 2015 17:29:32 +0000 (10:29 -0700)]
Have DM and nanobench display times in minutes when they're above 60 seconds.
Getting tired of trying to divide in my head when reading Valgrind logs.
BUG=skia:
Review URL: https://codereview.chromium.org/
1004703002
rmistry [Thu, 12 Mar 2015 16:48:10 +0000 (09:48 -0700)]
Ignore public API checks if COMMIT=false is in the description
BUG=skia:
NOTRY=true
Committed: https://skia.googlesource.com/skia/+/
d1783aefcc0da86c5ff1d124c54704252d817621
Review URL: https://codereview.chromium.org/
1006473002
mtklein [Thu, 12 Mar 2015 16:33:46 +0000 (09:33 -0700)]
Revert of Ignore public API checks if COMMIT=false is in the description (patchset #4 id:80001 of https://codereview.chromium.org/
1006473002/)
Reason for revert:
I cannot upload patches:
~/skia (skskp) $ git clu --bypass-hooks
++ git log -1 --pretty=%B
+ git cl upload -t update
Using 50% similarity for rename/copy detection. Override with --similarity.
Loaded authentication cookies from /Users/mtklein/.codereview_upload_cookies
Running presubmit upload checks ...
** Presubmit ERRORS **
Since the CL is editing public API, you must have an LGTM from one of: ('reed@chromium.org', 'reed@google.com', 'bsalomon@chromium.org', 'bsalomon@google.com', 'djsollen@chromium.org', 'djsollen@google.com')
Original issue's description:
> Ignore public API checks if COMMIT=false is in the description
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
d1783aefcc0da86c5ff1d124c54704252d817621
TBR=borenet@google.com,rmistry@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1005583002
rmistry [Thu, 12 Mar 2015 15:43:22 +0000 (08:43 -0700)]
Ignore public API checks if COMMIT=false is in the description
BUG=skia:
Review URL: https://codereview.chromium.org/
1006473002
mtklein [Thu, 12 Mar 2015 15:24:21 +0000 (08:24 -0700)]
DM: display current memory usage (instead of peak) when available.
Seems strictly more useful.
This implements Mac and Windows, which seemed easy. Don't know how to do this on Linux yet.
BUG=skia:
CQ_EXTRA_TRYBOTS=client.skia:Test-Mac10.9-MacMini6.2-HD4000-x86_64-Debug-Trybot
NOTREECHECKS=true
TBR=halcanary@google.com
Review URL: https://codereview.chromium.org/
990723002
rmistry [Thu, 12 Mar 2015 14:48:40 +0000 (07:48 -0700)]
Make presubmit check that #if or #ifdef does not come before includes.
BUG=skia:3362
Review URL: https://codereview.chromium.org/
998273002
mtklein [Thu, 12 Mar 2015 14:16:56 +0000 (07:16 -0700)]
Rejigger keep-alive thread so TSAN and LSAN don't complain.
BUG=skia:
Review URL: https://codereview.chromium.org/
1006443002
rmistry [Thu, 12 Mar 2015 14:09:25 +0000 (07:09 -0700)]
Add #include first in Sk4x_* files
BUG=skia:3362
Review URL: https://codereview.chromium.org/
1004693002
mtklein [Thu, 12 Mar 2015 13:28:54 +0000 (06:28 -0700)]
DM: add keepalive for Valgrind bot.
BUG=skia:
Review URL: https://codereview.chromium.org/
998263003
mtklein [Thu, 12 Mar 2015 12:27:46 +0000 (05:27 -0700)]
Clean up SkDynamicAnnotations.
Unprotected reads -> relaxed reads.
Unprotected write -> relaxed write.
The only unprotected write we had was in SkTraceEvent, which it looks like we nabbed from Chrome at some point and changed only to silence TSAN. Chrome's version uses AtomicWord / NoBarrier_Load / NoBarrier_Store, which boils down to the same as here, intptr_t / relaxed load / relaxed store.
This leaves one place where we're lying a bit to TSAN, in include/core/SkLazyPtr.h where we're doing a data-dependent consume load. We're telling TSAN it's consume, but telling any other compiler to compile it as relaxed, given how they all upgrade consume to acquire. This eliminates a barrier for us on ARM. How do you guys deal with this? Just use a consume memory order, take the hit, and hope compilers get smarter one day?
BUG=chromium:465721
No public API changes.
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
996763002
Derek Sollenberger [Thu, 12 Mar 2015 11:52:22 +0000 (07:52 -0400)]
Fix HWUI Sink for DM
Review URL: https://codereview.chromium.org/
996413002
bsalomon [Wed, 11 Mar 2015 22:49:54 +0000 (15:49 -0700)]
Add terrible workaround to fix stencil clear crash on S3.
BUG=skia:3525
Review URL: https://codereview.chromium.org/
1001693003
bungeman [Wed, 11 Mar 2015 21:05:29 +0000 (14:05 -0700)]
Glyph positions maintain 32 bit integer part.
A glyph position when mapped from canvas space to device space may land
outside the bounds of the current 16 bit integer part of device space.
Device space is already limited to 32 bits for the integer part,
but for a short space in drawText and drawPosText it is currently
limited to 16 bits (SkFixed). Raise this limit by moving to 48.16.
This matches the current similar fix for measureText.
BUG=chromium:375322
Review URL: https://codereview.chromium.org/
977623002
scroggo [Wed, 11 Mar 2015 20:58:17 +0000 (13:58 -0700)]
Fix Windows build.
SK_BUILD_FOR_WIN is no longer a valid way to check for building on
Windows (go figure). Build everywhere.
Remove the REPORTER_ASSERT, which was the failing part. It also isn't
necessary for the test, which is just that we are not leaking an
SkColorTable.
Also fix indentation.
TBR=bungeman@google.com,mtklein@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3457
Review URL: https://codereview.chromium.org/
1002583002
tomhudson [Wed, 11 Mar 2015 19:21:08 +0000 (12:21 -0700)]
Since SkDrawFilter has serious architectural issues and may be
deprecated, use a proxy SkCanvas for the same end: in every draw
call, inspect the paint, changing it to fit within the capabilities
of the Android Java (HWUI) drawing API.
Verified that this allows us to reenable all our ColorFilter tests.
R=djsollen@google.com
Review URL: https://codereview.chromium.org/
997183003
mtklein [Wed, 11 Mar 2015 19:17:00 +0000 (12:17 -0700)]
delete dead code
BUG=skia:
Review URL: https://codereview.chromium.org/
1003493002
mtklein [Wed, 11 Mar 2015 19:01:25 +0000 (12:01 -0700)]
For safety include SkTypes.h in SkFontHost_mac.cpp
BUG=skia:3362
Review URL: https://codereview.chromium.org/
996113003
mtklein [Wed, 11 Mar 2015 18:55:13 +0000 (11:55 -0700)]
Clean up poppler code.
We're not actually using it.
BUG=skia:3362
DOCS_PREVIEW= https://skia.org/?cl=
1002493002
Review URL: https://codereview.chromium.org/
1002493002
jvanverth [Wed, 11 Mar 2015 18:18:11 +0000 (11:18 -0700)]
Adjust atlas sizes to fix Mali400 precision issues
The previous change to atlas sizes introduced an issue where texture
coordinates for glyphs stored on the right side of the atlas were being
computed in an imprecise manner on Mali400 chips.
The only reasonable fix appears to be to use power-of-two texture sizes.
This widens the glyph atlas to the next power of 2 (or 2048) for A8 glyphs
only, and widens each GrPlot by 2x as well. By doing this, we can fit 3-4 large
distance field glyphs into a single GrPlot, which gives us 100-128 total large
glyphs at one time.
The 565 and 8888 glyph atlases are kept in their original size to preserve
space.
BUG=skia:3523
Review URL: https://codereview.chromium.org/
994303003
robertphillips [Wed, 11 Mar 2015 18:18:00 +0000 (11:18 -0700)]
Fix debugger's overdraw color filter
The colors seen in the overdraw color filter are not guaranteed to remain the colors from its own table. Looping through the table to find the old overdraw level is error prone and expensive.
Review URL: https://codereview.chromium.org/
997913002
qiankun.miao [Wed, 11 Mar 2015 18:12:59 +0000 (11:12 -0700)]
Use proper SkFDot6 instead of int
BUG=skia:
Review URL: https://codereview.chromium.org/
960353005
dml [Wed, 11 Mar 2015 18:12:54 +0000 (11:12 -0700)]
Fix a memory leak when decoding corrupted indexed PNGs.
Commit to branch refs/heads/png-leak
BUG=skia:3457
Committed: https://skia.googlesource.com/skia/+/
561a1ca9559a1ea7589ab93350124284fcef3315
Review URL: https://codereview.chromium.org/
951663002
reed [Wed, 11 Mar 2015 17:39:04 +0000 (10:39 -0700)]
Simplify clip inside a layer -- will be applied in restore
This reverts commit
44124650895833378938b4b174302fbf64403fe2.
NOTREECHECKS=True
BUG=skia:
Review URL: https://codereview.chromium.org/
996233002
joshualitt [Wed, 11 Mar 2015 16:11:19 +0000 (09:11 -0700)]
fix for valgrind preAbandonGpuContext
NOTREECHECKS=true
BUG=skia:
Review URL: https://codereview.chromium.org/
997923002
reed [Wed, 11 Mar 2015 15:47:12 +0000 (08:47 -0700)]
optimization/fix: dirty the clip-bounds when we mod the clip in savelayer
Before the fix, we could use a stale cache of the clipbounds in quickReject. Often this could return false negatives, meaning we would try to draw more than we should (it would eventually be really clipped). Occasionally this could also report false positives (if the layer were outside of the normal canvas bounds, e.g. a layer with an offset imagefilter).
BUG=skia:
NOTREECHECKS=True
Review URL: https://codereview.chromium.org/
983243003
mtklein [Wed, 11 Mar 2015 15:43:43 +0000 (08:43 -0700)]
Skip WritePixels on GalaxyS3
TBR=bsalomon@google.com
NOTREECHECKS=true
BUG=skia:
Review URL: https://codereview.chromium.org/
994343003
mtklein [Wed, 11 Mar 2015 14:19:15 +0000 (07:19 -0700)]
DM: show skipped and --blacklist notes only in verbose mode.
In non-verbose mode, these notes will spin away too fast to read anyway,
unless they're so long they end up leaving junk on the terminal.
NOTREECHECKS=true
BUG=skia:
Review URL: https://codereview.chromium.org/
989083002
reed [Wed, 11 Mar 2015 11:02:20 +0000 (04:02 -0700)]
Revert of simplify clip inside a layer -- will be applied in restore (patchset #2 id:20001 of https://codereview.chromium.org/
997763002/)
Reason for revert:
slight rebaselines needed in layouttests
http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/51755
Original issue's description:
> simplify clip inside a layer -- will be applied in restore
>
> BUG=skia:
> TBR=
> NOTREECHECKS=True
>
> speculative land to measure performance
>
> Committed: https://skia.googlesource.com/skia/+/
c275493d4247a2c5ae845d340c4297258f4684bc
TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
997103002
reed [Wed, 11 Mar 2015 02:57:10 +0000 (19:57 -0700)]
simplify clip inside a layer -- will be applied in restore
BUG=skia:
TBR=
NOTREECHECKS=True
speculative land to measure performance
Review URL: https://codereview.chromium.org/
997763002
reed [Wed, 11 Mar 2015 00:30:07 +0000 (17:30 -0700)]
remove unused params to DeviceCM constructor
BUG=skia:
TBR=
NOTREECHECKS=True
Review URL: https://codereview.chromium.org/
999593002
mtklein [Tue, 10 Mar 2015 18:55:18 +0000 (11:55 -0700)]
Don't run ResourceCache unit test on NexusPlayer.
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
992203005
jvanverth [Tue, 10 Mar 2015 18:53:39 +0000 (11:53 -0700)]
Adjust distance field glyph and font atlas sizes to maximize storage.
Because of high DPI devices, we need more room in the glyph
atlas for the larger glyphs. These settings will allow 4 of
the distance field glyphs to fit in one Plot (increasing
the storage from 32 large glyphs to 128), and still permit
us to handle glyphs up to a 312 point size.
BUG=chromium:458791
Committed: https://skia.googlesource.com/skia/+/
d2737ad7dd8f4ea94a74034027014fd3d78923cb
Committed: https://skia.googlesource.com/skia/+/
07e245ffe1ca7f781590fcff904c2922c2269781
Review URL: https://codereview.chromium.org/
986343002
jvanverth [Tue, 10 Mar 2015 15:23:07 +0000 (08:23 -0700)]
Revert of Adjust distance field glyph and font atlas sizes to maximize storage. (patchset #8 id:140001 of https://codereview.chromium.org/
986343002/)
Reason for revert:
Still seeing bad text rendering in GMs with Nexus 2 and Nexus 3.
Original issue's description:
> Adjust distance field glyph and font atlas sizes to maximize storage.
>
> Because of high DPI devices, we need more room in the glyph
> atlas for the larger glyphs. These settings will allow 4 of
> the distance field glyphs to fit in one Plot (increasing
> the storage from 32 large glyphs to 128), and still permit
> us to handle glyphs up to a 312 point size.
>
> BUG=chromium:458791
>
> Committed: https://skia.googlesource.com/skia/+/
d2737ad7dd8f4ea94a74034027014fd3d78923cb
>
> Committed: https://skia.googlesource.com/skia/+/
07e245ffe1ca7f781590fcff904c2922c2269781
TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:458791
Review URL: https://codereview.chromium.org/
995863002
mtklein [Tue, 10 Mar 2015 15:03:26 +0000 (08:03 -0700)]
Fix bug in Valgrind flags config.
'GPU' is in 'Test-Ubuntu14-GCE-NoGPU-x86_64-Release-Valgrind_CPU' too.
This means we're building it in no-GPU mode, and running it in no-CPU mode.
At least it finishes quite quickly this way (~10 seconds).
BUG=skia:
Review URL: https://codereview.chromium.org/
992203004
jvanverth [Tue, 10 Mar 2015 13:53:28 +0000 (06:53 -0700)]
Adjust distance field glyph and font atlas sizes to maximize storage.
Because of high DPI devices, we need more room in the glyph
atlas for the larger glyphs. These settings will allow 4 of
the distance field glyphs to fit in one Plot (increasing
the storage from 32 large glyphs to 128), and still permit
us to handle glyphs up to a 312 point size.
BUG=chromium:458791
Committed: https://skia.googlesource.com/skia/+/
d2737ad7dd8f4ea94a74034027014fd3d78923cb
Review URL: https://codereview.chromium.org/
986343002
skia.buildbots [Tue, 10 Mar 2015 13:20:37 +0000 (06:20 -0700)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=
Review URL: https://codereview.chromium.org/
991263002
rmistry [Tue, 10 Mar 2015 12:00:08 +0000 (05:00 -0700)]
Add pageset for theverge
BUG=skia:3234
TBR=robertphillips
NOTRY=true
NOPRESUBMIT=true
Review URL: https://codereview.chromium.org/
994923002
kkinnunen [Tue, 10 Mar 2015 05:12:29 +0000 (22:12 -0700)]
Increase maximum gpu resources from 1024 to 4096
Pictures with many drawn paths benefit from the increase of the
count. As an example, chalkboard testcase has ~2500 paths, tiger
has ~300.
Bigger objects, like textures, tend to be limited by the cache
byte limit, not item count.
Review URL: https://codereview.chromium.org/
991783003
bungeman [Mon, 9 Mar 2015 20:40:15 +0000 (13:40 -0700)]
Use SkTMin and SkTMax for clamp/pin.
This changes SkScalarClampMax and SkScalarPin to use SkTMin and SkTMax.
This change allows compilers to more easily transform these operations
into fast max/min operarations as opposed to conditional branches.
Review URL: https://codereview.chromium.org/
993593002
jvanverth [Mon, 9 Mar 2015 19:17:07 +0000 (12:17 -0700)]
Revert of Adjust distance field glyph and font atlas sizes to maximize storage. (patchset #5 id:80001 of https://codereview.chromium.org/
986343002/)
Reason for revert:
There's some weirdness with Tegra2 and Tegra3 GMs (Xoom and Nexus7) that may be related to this.
Original issue's description:
> Adjust distance field glyph and font atlas sizes to maximize storage.
>
> Because of high DPI devices, we need more room in the glyph
> atlas for the larger glyphs. These settings will allow 4 of
> the distance field glyphs to fit in one Plot (increasing
> the storage from 32 large glyphs to 128), and still permit
> us to handle glyphs up to a 312 point size.
>
> BUG=chromium:458791
>
> Committed: https://skia.googlesource.com/skia/+/
d2737ad7dd8f4ea94a74034027014fd3d78923cb
TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:458791
Review URL: https://codereview.chromium.org/
986333005
bsalomon [Mon, 9 Mar 2015 19:15:53 +0000 (12:15 -0700)]
Use global GrMemoryPools protected by mutex for GrProcessor/GrBatch
BUG=chromium:464892
Review URL: https://codereview.chromium.org/
991943002
jvanverth [Mon, 9 Mar 2015 16:45:40 +0000 (09:45 -0700)]
Adjust distance field glyph and font atlas sizes to maximize storage.
Because of high DPI devices, we need more room in the glyph
atlas for the larger glyphs. These settings will allow 4 of
the distance field glyphs to fit in one Plot (increasing
the storage from 32 large glyphs to 128), and still permit
us to handle glyphs up to a 312 point size.
BUG=chromium:458791
Review URL: https://codereview.chromium.org/
986343002
egdaniel [Mon, 9 Mar 2015 16:40:42 +0000 (09:40 -0700)]
Allow user to pass in a path for extra dependencies for gpu
BUG=skia:
Review URL: https://codereview.chromium.org/
986363002
fmalita [Mon, 9 Mar 2015 16:40:37 +0000 (09:40 -0700)]
Remove SK_SUPPORT_LEGACY_ADDOVAL
The flad has been retired from Chromium.
BUG=chromium:458898
R=reed@google.com
Review URL: https://codereview.chromium.org/
994533002
borenet [Mon, 9 Mar 2015 13:59:16 +0000 (06:59 -0700)]
Run Valgrind bots with --nogpu and --nocpu as appropriate
BUG=skia:3506
NOPRESUBMIT=true
Review URL: https://codereview.chromium.org/
986583004
reed [Mon, 9 Mar 2015 01:47:13 +0000 (18:47 -0700)]
Revert of use colorfilter instead of imagefilter when possible (patchset #6 id:100001 of https://codereview.chromium.org/
966233002/)
Reason for revert:
Lots of PDF failures -- need to investigate
Original issue's description:
> use colorfilter instead of imagefilter when possible
>
> big speed win w/ nanobench --match colorfilter_
>
> BUG=skia:
> TBR=
>
> Will require rebaselining, so landing temporarily to trigger layouttests.
>
> Committed: https://skia.googlesource.com/skia/+/
f641bd076d29666a5d2a10d5384e4924b0a0e524
TBR=sugoi@google.com,senorblanco@google.com,bsalomon@google.com,reed@google.com,senorblanco@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
991693002
reed [Mon, 9 Mar 2015 01:34:37 +0000 (18:34 -0700)]
use colorfilter instead of imagefilter when possible
big speed win w/ nanobench --match colorfilter_
BUG=skia:
TBR=
Will require rebaselining, so landing temporarily to trigger layouttests.
Review URL: https://codereview.chromium.org/
966233002
reed [Sun, 8 Mar 2015 11:42:52 +0000 (04:42 -0700)]
Use ComposColorFilter to collaps hierarchy (when possible).
Clarify asColorFilter ...
1. Rename to isColorFilterNode for DAG reduction
2. Add asAColorFilter for removing the imagefilter entirely (future use-case)
Need layouttest rebaseline suppression before this can land in chrome...
https://codereview.chromium.org/
984023004/
BUG=skia:
Review URL: https://codereview.chromium.org/
982933002
mtklein [Sat, 7 Mar 2015 15:47:51 +0000 (07:47 -0800)]
Revert of For consistency, use our homebrew zlib everywhere possible. (patchset #6 id:100001 of https://codereview.chromium.org/
971673005/)
Reason for revert:
Reverting in case this is the cause of the non-Windows failures.
Original issue's description:
> For consistency, use our homebrew zlib everywhere possible.
>
> This switches when we build our own zlib from "just Windows" to "everyone, but
> not Android framework of course".
>
> I tested this by building DM for my Mac and for an Android bot config.
> It took minor tweaks to the GYP to get ARM builds working.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
5a8f2257b0b0f954fb74f65e7ea3ada772ed9240
TBR=scroggo@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
989873002
reed [Sat, 7 Mar 2015 14:05:51 +0000 (06:05 -0800)]
Revert of Fix a memory leak when decoding corrupted indexed PNGs. (patchset #2 id:20001 of https://codereview.chromium.org/
951663002/)
Reason for revert:
speculative revert due to many failures in tree
Original issue's description:
> Fix a memory leak when decoding corrupted indexed PNGs.
> Commit to branch refs/heads/png-leak
>
> BUG=skia:3457
>
> Committed: https://skia.googlesource.com/skia/+/
561a1ca9559a1ea7589ab93350124284fcef3315
TBR=scroggo@google.com,dml@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3457
Review URL: https://codereview.chromium.org/
980203005
dml [Sat, 7 Mar 2015 00:25:28 +0000 (16:25 -0800)]
Fix a memory leak when decoding corrupted indexed PNGs.
Commit to branch refs/heads/png-leak
BUG=skia:3457
Review URL: https://codereview.chromium.org/
951663002
schenney [Sat, 7 Mar 2015 00:20:28 +0000 (16:20 -0800)]
Update SkPicture cull rects with RTree information
When computed, the RTree for an SkPicture will have a root
bounds that reflects the best bounding information available,
rather than the best estimate at the time the picture recorder
is created. Given that creators frequently don't know ahead of
time what will be drawn, the RTree bound is often tighter.
Perf testing on Chrome indicates a small raster performance
advantage. For upcoming painting changes in Chrome the
performance advantage is much larger.
BUG=
Committed: https://skia.googlesource.com/skia/+/
2dd3b6647dc726f36fd8774b3d0d2e83b493aeac
Review URL: https://codereview.chromium.org/
971803002
mtklein [Sat, 7 Mar 2015 00:20:22 +0000 (16:20 -0800)]
Make Sk4f(float) constructor explicit.
BUG=skia:
Review URL: https://codereview.chromium.org/
985003003
herb [Sat, 7 Mar 2015 00:15:23 +0000 (16:15 -0800)]
Fix bit rot in SkGlyphCache validate code.
TESTED
CFLAGS=-DSK_DEBUG_GLYPH_CACHE CPPFLAGS=-DSK_DEBUG_GLYPH_CACHE ./gyp_skia
ninja -C out/Debug dm
out/Debug/dm
Review URL: https://codereview.chromium.org/
989683002
mtklein [Sat, 7 Mar 2015 00:15:16 +0000 (16:15 -0800)]
For consistency, use our homebrew zlib everywhere possible.
This switches when we build our own zlib from "just Windows" to "everyone, but
not Android framework of course".
I tested this by building DM for my Mac and for an Android bot config.
It took minor tweaks to the GYP to get ARM builds working.
BUG=skia:
Review URL: https://codereview.chromium.org/
971673005
bsalomon [Fri, 6 Mar 2015 16:42:34 +0000 (08:42 -0800)]
Clip scissor to RT bounds
R=joshualitt@google.com
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
985783002
bsalomon [Fri, 6 Mar 2015 16:21:38 +0000 (08:21 -0800)]
Remove rect clip type from grclip.
R=joshualitt@google.com
BUG=skia:
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
989443003
kkinnunen [Fri, 6 Mar 2015 15:16:00 +0000 (07:16 -0800)]
Read pixels in BGRA non-premul mode in few tests
The tests assert on Sk_ColorGREEN, which is in BRGA non-premul. Read the
pixels in same color format.
Currently the tests pass on all platforms because GREEN is fully opaque
and the component stays in the same place both on BGRA and
RGBA. However, hypothetically somebody could copy-paste the assertion
for further tests but use, say, RED. This creates latent error that is
only visible on some platforms like mac.
Review URL: https://codereview.chromium.org/
989463002
bsalomon [Fri, 6 Mar 2015 15:13:01 +0000 (07:13 -0800)]
Fix rect clips
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/
987653004
mtklein [Fri, 6 Mar 2015 14:15:44 +0000 (06:15 -0800)]
SKPMFloat: we can beat the naive loops when clamping
Clamping 4 at a time is now about 15% faster than 1 at a time with SSSE3.
Clamping 4 at a time is now about 20% faster with SSE2,
and this applies to non-clamping too (we still just clamp there).
In all cases, 4 at a time is never worse than 1 at a time,
and not clamping is never slower than clamping.
Here's all the bench results, with the numbers for portable code as a fun point
of reference:
SSSE3:
maxrss loops min median mean max stddev samples config bench
10M 2291 4.66ns 4.66ns 4.66ns 4.68ns 0% ▆█▁▁▁▇▁▇▁▃ nonrendering SkPMFloat_get_1x
10M 2040 5.29ns 5.3ns 5.3ns 5.32ns 0% ▃▆▃▃▁▁▆▃▃█ nonrendering SkPMFloat_clamp_1x
10M 7175 4.62ns 4.62ns 4.62ns 4.63ns 0% ▁▄▃████▃▄▇ nonrendering SkPMFloat_get_4x
10M 5801 4.89ns 4.89ns 4.89ns 4.91ns 0% █▂▄▃▁▃▄█▁▁ nonrendering SkPMFloat_clamp_4x
SSE2:
maxrss loops min median mean max stddev samples config bench
10M 1601 6.02ns 6.05ns 6.04ns 6.08ns 0% █▅▄▅▄▂▁▂▂▂ nonrendering SkPMFloat_get_1x
10M 2918 6.05ns 6.06ns 6.05ns 6.06ns 0% ▂▇▁▇▇▁▇█▇▂ nonrendering SkPMFloat_clamp_1x
10M 3569 5.43ns 5.45ns 5.44ns 5.45ns 0% ▄█▂██▇▁▁▇▇ nonrendering SkPMFloat_get_4x
10M 4168 5.43ns 5.43ns 5.43ns 5.44ns 0% █▄▇▁▇▄▁▁▁▁ nonrendering SkPMFloat_clamp_4x
Portable:
maxrss loops min median mean max stddev samples config bench
10M 500 27.8ns 28.1ns 28ns 28.2ns 0% ▃█▆▃▇▃▆▁▇▂ nonrendering SkPMFloat_get_1x
10M 770 40.1ns 40.2ns 40.2ns 40.3ns 0% ▅▁▃▂▆▄█▂▅▂ nonrendering SkPMFloat_clamp_1x
10M 1269 28.4ns 28.8ns 29.1ns 32.7ns 4% ▂▂▂█▂▁▁▂▁▁ nonrendering SkPMFloat_get_4x
10M 1439 40.2ns 40.4ns 40.4ns 40.5ns 0% ▆▆▆█▁▆▅█▅▆ nonrendering SkPMFloat_clamp_4x
SkPMFloat_neon.h is still one big TODO as far as 4-at-a-time APIs go.
BUG=skia:
Review URL: https://codereview.chromium.org/
982123002
tomhudson [Fri, 6 Mar 2015 14:15:20 +0000 (06:15 -0800)]
We had zero coverage for SkDrawFilter. This new GM draws two rectangles.
If SkDrawFilter is working, they will not match (have different colors
and one will be blurred). If SkDrawFilter is broken, they will match.
R=scroggo@google.com
Review URL: https://codereview.chromium.org/
984883003
sugoi [Fri, 6 Mar 2015 13:16:52 +0000 (05:16 -0800)]
Adding linear interpolation to rgb->yuv conversion
When the UV planes are smaller than the Y plane, doing the upscaling in nearest mode was creating artefacts, so I changed it to use linear interpolation to fix the issue.
BUG=460380
Committed: https://skia.googlesource.com/skia/+/
cd9d42c5167a50f1bf20e969343556d61354171b
Review URL: https://codereview.chromium.org/
973563002
bsalomon [Fri, 6 Mar 2015 01:43:09 +0000 (17:43 -0800)]
Revert "Don't require AA in order to use shader-based clips"
This reverts commit
259656779334689ab1624ec4e2e234b35fe4024b.
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/
981723009
reed [Thu, 5 Mar 2015 22:47:29 +0000 (14:47 -0800)]
Revert of check for inputs before reporting asColorFilter (patchset #7 id:110001 of https://codereview.chromium.org/
967833003/)
Reason for revert:
Need to suppress these for rebaselining, so reverting for now.
Regressions: Unexpected image-only failures (5)
css3/filters/effect-brightness-clamping-hw.html [ ImageOnlyFailure ]
css3/filters/effect-combined-hw.html [ ImageOnlyFailure ]
virtual/slimmingpaint/css3/filters/effect-brightness-clamping-hw.html [ ImageOnlyFailure ]
virtual/slimmingpaint/css3/filters/effect-combined-hw.html [ ImageOnlyFailure ]
Original issue's description:
> Use ComposeColorFilter in factory to collapse consecutive filters (when possible).
> Change asColorFilter to reflect its reliance on the new factory behavior.
>
> patch from issue
967143002 at patchset 80001 (http://crrev.com/
967143002#ps80001)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
dac843bf046c2cd79fd955cb177aee241d7a4b0c
TBR=senorblanco@chromium.org,robertphillips@google.com,bsalomon@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
978923005
joshualitt [Thu, 5 Mar 2015 22:33:41 +0000 (14:33 -0800)]
handle null vertex or index buffers in batch
BUG=skia:
Review URL: https://codereview.chromium.org/
979343002
bsalomon [Thu, 5 Mar 2015 21:42:27 +0000 (13:42 -0800)]
Increase default tile sizes in nanobench
R=mtklein@google.com
Review URL: https://codereview.chromium.org/
982863003
mtklein [Thu, 5 Mar 2015 21:38:17 +0000 (13:38 -0800)]
When running under Valgrind, don't draw .webps into .pdfs.
This blacklist entry bans any test with 'pdf' config, any source type, whose
name has '.webp' in it. In practice, that's 'image' or 'subset' source type
decoding some WEBP file.
BUG=skia:3505
Review URL: https://codereview.chromium.org/
982163002
mtklein [Thu, 5 Mar 2015 21:06:30 +0000 (13:06 -0800)]
Disable --config pdf temporarily on Valgrind bot.
BUG=skia:3505
Review URL: https://codereview.chromium.org/
987533002
djsollen [Thu, 5 Mar 2015 20:42:29 +0000 (12:42 -0800)]
Remove SkPorterDuff now that Android has been updated.
BUG=skia:3178
Review URL: https://codereview.chromium.org/
983743003
egdaniel [Thu, 5 Mar 2015 20:19:17 +0000 (12:19 -0800)]
Add flag to force gpu trace markers to be used and printed out for debugging.
BUG=skia:
Review URL: https://codereview.chromium.org/
976413002
joshualitt [Thu, 5 Mar 2015 20:18:38 +0000 (12:18 -0800)]
Revert of Update SkPicture cull rects with RTree information (patchset #6 id:140001 of https://codereview.chromium.org/
971803002/)
Reason for revert:
Might be breaking deps roll
Original issue's description:
> Update SkPicture cull rects with RTree information
>
> When computed, the RTree for an SkPicture will have a root
> bounds that reflects the best bounding information available,
> rather than the best estimate at the time the picture recorder
> is created. Given that creators frequently don't know ahead of
> time what will be drawn, the RTree bound is often tighter.
>
> Perf testing on Chrome indicates a small raster performance
> advantage. For upcoming painting changes in Chrome the
> performance advantage is much larger.
>
> BUG=
>
> Committed: https://skia.googlesource.com/skia/+/
2dd3b6647dc726f36fd8774b3d0d2e83b493aeac
TBR=mtklein@google.com,schenney@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
977413003
herb [Thu, 5 Mar 2015 19:51:11 +0000 (11:51 -0800)]
Fix uninitialized memory bug in the SkGlyphCache.
The core of the problem is that the system is asked to lookup the metrics for a character with id == 0. This causes a hit in the fCharToGlyphHash matching the sentinel glyph. This happens because fCharToGlpyhHash is initialized with all zeros, therefore, the fID is zero matching the char with id == 0. The fAdvanceX field of the sentinel glyph is in fact not initialized.
The bigger question is now did a zero character get passed to getUnicharMetrics?
The breaking code is basically as follows:
wchar_t glyph = L'S';
paint.measureText(&glyph, 2);
This get mischaracterized as a utf8 string instead of a utf16(?) string. Because of the little endian ordering, this is the character string 'L' '\0'. Since the size of the original string is two bytes (but a single character) the '\0' is treated as its own character and past to getUnicharMetrics.
TEST:
On windows failed using DrMemory. With this change does not fail.
BUG=463204
Review URL: https://codereview.chromium.org/
977063002
scroggo [Thu, 5 Mar 2015 19:46:40 +0000 (11:46 -0800)]
DM: Use the new non-fatal errors for invalid color conversions.
Also allow incomplete to be considered successful.
Do not attempt to draw transparent images on 565.
BUG=skia:3475
Review URL: https://codereview.chromium.org/
978413002
mtklein [Thu, 5 Mar 2015 19:31:59 +0000 (11:31 -0800)]
4-at-a-time SkPMColor -> SkPMFloat API.
Please see if this looks usable. It may even give a perf boost if you use it, even without custom implementations for each instruction set.
I've been trying this morning to beat this naive loop implementation, but so far no luck with either _SSE2.h or _SSSE3.h. It's possible this is an artifact of the microbenchmark, because we're not doing anything between the conversions. I'd like to see how this fits into real code, what assembly's generated, what the hot spots are, etc.
I've updated the tests to test these new APIs, and splintered off a pair of new benchmarks that use the new APIs. This required some minor rejiggering in the benches.
BUG=skia:
Review URL: https://codereview.chromium.org/
978213003
rmistry [Thu, 5 Mar 2015 18:26:04 +0000 (10:26 -0800)]
Whitespace change to test new CQ trybot
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
987433002
reed [Thu, 5 Mar 2015 18:22:20 +0000 (10:22 -0800)]
Use ComposeColorFilter in factory to collapse consecutive filters (when possible).
Change asColorFilter to reflect its reliance on the new factory behavior.
patch from issue
967143002 at patchset 80001 (http://crrev.com/
967143002#ps80001)
BUG=skia:
Review URL: https://codereview.chromium.org/
967833003
robertphillips [Thu, 5 Mar 2015 17:17:17 +0000 (09:17 -0800)]
Update gpu trace marker system for MultiDrawBuffer world
The main thrust of this CL is to remove the currCmdMarker variable from GrTargetCommands::flush. In a MultiDrawBuffer world the Cmds need not be execute in the order of their issuance.
Review URL: https://codereview.chromium.org/
978363002
djsollen [Thu, 5 Mar 2015 17:13:58 +0000 (09:13 -0800)]
Add custom dm upload script to be used by the android framework
Review URL: https://codereview.chromium.org/
979153002
robertphillips [Thu, 5 Mar 2015 16:55:28 +0000 (08:55 -0800)]
Fix GPU trace marker bug
Without this patch the GPU trace markers can be potentially unbalanced when batching occurs.
Review URL: https://codereview.chromium.org/
981973002
mtklein [Thu, 5 Mar 2015 16:40:28 +0000 (08:40 -0800)]
DM: support non-fatal errors
Tasks that produce a non-fatal error will bail out before writing their output to
disk and hash to dm.json, but not count as failures.
This also makes true failures bail out before writing their results. If the DM
program failed, we probably don't want to triage that image result.
We use this new feature first to skip image subset decoding when we detect it's
not supported. Here's a snippet of an example run, where in this case only
.webp are subset decodable:
...
( 15MB 12) 172µs 8888 subset color_wheel.jpg (skipped: Subset decoding not supported.)
( 15MB 11) 9.05ms 8888 subset randPixels.webp
( 16MB 10) 863µs 8888 subset baby_tux.png (skipped: Subset decoding not supported.)
...
Only outputs corresponding to the .webp show up, both on disk and in the .json.
BUG=skia:
Review URL: https://codereview.chromium.org/
980333002
tomhudson [Thu, 5 Mar 2015 16:01:07 +0000 (08:01 -0800)]
ViaAndroidSDK for DM
Make a Via for DM which transforms a set of draws to be more like what
we'd see through the Android Framework's HWUI API. Only built inside
Android's framework because we depend on HWUI classes for half of
those transformations.
Tested with --config androidsdk-8888 and --config androidsdk-hwui.
R=djsollen@google.com,mtklein@google.com,reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
974913002
schenney [Thu, 5 Mar 2015 15:43:10 +0000 (07:43 -0800)]
Update SkPicture cull rects with RTree information
When computed, the RTree for an SkPicture will have a root
bounds that reflects the best bounding information available,
rather than the best estimate at the time the picture recorder
is created. Given that creators frequently don't know ahead of
time what will be drawn, the RTree bound is often tighter.
Perf testing on Chrome indicates a small raster performance
advantage. For upcoming painting changes in Chrome the
performance advantage is much larger.
BUG=
Review URL: https://codereview.chromium.org/
971803002
reed [Thu, 5 Mar 2015 15:21:02 +0000 (07:21 -0800)]
add impl limit for number of leaf-nodes in composecolorfilter
BUG=skia:
Review URL: https://codereview.chromium.org/
972153010
senorblanco [Thu, 5 Mar 2015 15:13:42 +0000 (07:13 -0800)]
Batchify the tessellated path renderer.
Review URL: https://codereview.chromium.org/
976103002
jcgregorio [Thu, 5 Mar 2015 15:11:13 +0000 (07:11 -0800)]
Add some METADATA files to control docs layout.
BUG=skia:3484
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
976303002
Review URL: https://codereview.chromium.org/
976303002
kkinnunen [Thu, 5 Mar 2015 14:33:54 +0000 (06:33 -0800)]
Revert of Add image as a draw type that can be filtered (patchset #4 id:60001 of https://codereview.chromium.org/
960783003/)
Reason for revert:
Fails on mac for some reason.
Also is a bit wrong, but this should not be reason for the failure..
Original issue's description:
> Add image as a draw type that can be filtered
>
> Add image as a draw type that can be filtered.
>
> This is needed when SkImage is added as an object to be drawn so that
> the draw is forwarded to SkBaseDevice. This would be used in making
> filters use SkImages.
>
> BUG=skia:3388
>
> Committed: https://skia.googlesource.com/skia/+/
fa77eb1e51b9317ff993d1be504ada173b561e5f
TBR=reed@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3388
Review URL: https://codereview.chromium.org/
980273002
kkinnunen [Thu, 5 Mar 2015 08:39:45 +0000 (00:39 -0800)]
Add image as a draw type that can be filtered
Add image as a draw type that can be filtered.
This is needed when SkImage is added as an object to be drawn so that
the draw is forwarded to SkBaseDevice. This would be used in making
filters use SkImages.
BUG=skia:3388
Review URL: https://codereview.chromium.org/
960783003
msarett [Wed, 4 Mar 2015 23:55:54 +0000 (15:55 -0800)]
4x library for NEON
CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-Nexus5-Adreno330-Arm7-Debug-Trybot
BUG=skia:
Review URL: https://codereview.chromium.org/
975303003
mtklein [Wed, 4 Mar 2015 21:58:05 +0000 (13:58 -0800)]
DM: no PDF for Daisy either
BUG=skia:
Review URL: https://codereview.chromium.org/
974413002
reed [Wed, 4 Mar 2015 21:30:50 +0000 (13:30 -0800)]
udpate dox for colorfilter fragment processor requirements
BUG=skia:
NOTRY=True
Review URL: https://codereview.chromium.org/
961933003
caryclark [Wed, 4 Mar 2015 20:32:22 +0000 (12:32 -0800)]
(starting with mtklein's
966503002 mod to
963593003)
fix casts
Committed: https://skia.googlesource.com/skia/+/
9e73a84deb5e6c201081b1d30175863898543e8d
Review URL: https://codereview.chromium.org/
979453004