tfarina
a8e2e1504b
Cleanup: Rename SkOSPath functions.
...
Mostly for brevity and matches better with Python:
Python | Old C++ | New C++
os.path.join | SkOSPath::SkPathJoin | SkOSPath::Join
os.path.basename | SkOSPath::SkBasename | SkOSPath::Basename
BUG=None
TEST=make all
R=mtklein@google.com , bsalomon@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/428443002
2014-07-28 19:26:58 -07:00
bsalomon
2354f8432a
Test abandoning GL context in dm/nanobench.
...
Rename GrContext::contextDestroyed to GrContext::abandonContext.
Remove GrContext::resetContext.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/422903002
2014-07-28 13:48:36 -07:00
halcanary
a98683bc50
dm prints out number of matching skp files
...
R=bungeman@google.com , mtklein@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/421713002
2014-07-28 07:21:24 -07:00
halcanary
048f422ec6
Fix crash in DM/SKPTask
...
R=bungeman@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/416333007
2014-07-25 14:17:35 -07:00
caryclark
17f0b6df72
share dm and command flags
...
Share command flags between dm and unit tests.
Also, allow dm's core to be included by itself and iOSShell.
Command line flags that are the same (or nearly the same) in DM
and in skia_tests have been moved to common_flags. Authors,
please check to see that the shared common flag is correct for
the tool.
For iOS, the 'tool_main' entry point has a wrapper to allow multiple
tools to be statically linked in the iOSShell.
Since SkCommandLineFlags::Parse can only be called once, these calls
are disabled in the IOS build.
Since the iOS app directory is dynamically assigned a name, use '@' to
select it. (This is the same convention chosen by the Mobile Harness
iOS file system utilities.)
Move the heart of dm.gyp into dm.gypi so that it can be included by
itself and iOSShell.gyp.
Add tools/flags/SkCommonFlags.* to define and declare common
command line flags.
Add support for dm to iOSShell.
BUG=skia:
R=scroggo@google.com , mtklein@google.com , jvanverth@google.com , bsalomon@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/389653004
2014-07-22 10:15:35 -07:00
mtklein
3125e02062
Revert of Revert of Revert of Force DM rebuild. ( https://codereview.chromium.org/402663003/ )
...
Reason for revert:
we have to go deeper
Original issue's description:
> Revert of Revert of Force DM rebuild. (https://codereview.chromium.org/399123002/ )
>
> Reason for revert:
> jkl;
>
> Original issue's description:
> > Revert of Force DM rebuild. (https://codereview.chromium.org/400723002/ )
> >
> > Reason for revert:
> > asdf
> >
> > Original issue's description:
> > > Force DM rebuild.
> > >
> > > BUG=skia:
> > >
> > > Committed: https://skia.googlesource.com/skia/+/8a10de1
> >
> > TBR=mtklein@chromium.org
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/f42e08c12533f2a165bc08451f5ab5dd1363618b
>
> TBR=mtklein@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/41f30cd87ece55971b17e4a59873cf31100ee1a0
R=mtklein@chromium.org
TBR=mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/397293004
2014-07-17 10:02:30 -07:00
mtklein
41f30cd87e
Revert of Revert of Force DM rebuild. ( https://codereview.chromium.org/399123002/ )
...
Reason for revert:
jkl;
Original issue's description:
> Revert of Force DM rebuild. (https://codereview.chromium.org/400723002/ )
>
> Reason for revert:
> asdf
>
> Original issue's description:
> > Force DM rebuild.
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/8a10de1
>
> TBR=mtklein@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/f42e08c12533f2a165bc08451f5ab5dd1363618b
R=mtklein@chromium.org
TBR=mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/402663003
2014-07-17 09:34:20 -07:00
mtklein
f42e08c125
Revert of Force DM rebuild. ( https://codereview.chromium.org/400723002/ )
...
Reason for revert:
asdf
Original issue's description:
> Force DM rebuild.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8a10de1
R=mtklein@chromium.org
TBR=mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/399123002
2014-07-17 09:07:19 -07:00
Mike Klein
8a10de173f
Force DM rebuild.
...
BUG=skia:
Review URL: https://codereview.chromium.org/400723002
2014-07-17 12:05:19 -04:00
mtklein
103ae71cdd
Remove benches from DM.
...
This idea turned out to be more redundant than useful.
BUG=skia:
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/399463003
2014-07-16 14:29:53 -07:00
Mike Klein
18515cf370
DM: destroy contexts after each GPU task instead of before
...
This is for consistency with bench/nanobench/GM. Haven't seen it make a difference.
BUG=skia:
Review URL: https://codereview.chromium.org/397743004
2014-07-15 16:10:02 -04:00
mtklein
1e319f7342
Add --resetGpuContext to both DM and nanobench.
...
Defaulting to true to be conservative for now.
BUG=skia:
NOTREECHECKS=true
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/398483005
2014-07-15 08:27:06 -07:00
mtklein
e4636aa173
Merge Replay and Quilt tasks, adding in all BBH implementations.
...
Replay isn't that helpful of a test any more now that we have the more
stringent Quilt tests. Quilt was missing bounding box hierarchies, though,
while Replay was sort of testing RTree (pointlessly, as it was drawing without
any clip). Now Quilt does everything, testing RTree, QuadTree, and TileGrid.
Quilt mode now falls back to drawing all at once (i.e. Replay) for GMs that
don't tile perfectly. Still a TODO to make this check more flexible than exact
pixel matches.
Two GMs fail when using a BBH:
- imageresizetiled
- resizeimagefilter
We think we're not adjusting the bounds of save layers by their paint.
This is probably a bug, but one to be fixed separately from adding new tests.
BUG=skia:
R=robertphillips@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/377373003
2014-07-09 13:10:58 -07:00
mtklein
eeb1f15891
Turn on threaded DMQuiltTask drawing for old-format SkPictures too.
...
This required the same SkBitmap copying that we added today to SkRecord.
BUG=skia:
R=reed@android.com , robertphillips@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/375703002
2014-07-07 16:17:36 -07:00
mtklein
7cdc1ee115
Add always-threaded SkRecord quilt tests.
...
Now that we're drawing tiles threaded like implside painting, remove the checks
that those lock counts are balanced. They're just not right for anyone anymore.
SkBitmaps themselves are not threadsafe (even const ones), so shallow copy them
on playback of an SkRecord. (The underlying SkPixelRefs are threadsafe.)
Simplify quilt drawing by using SkBitmap::extractSubset. No need for locking.
Bump up to 256x256 tiles. 16x16 tiles just murders performance (way too much
contention). This has the nice side effect of letting us enable a bunch more
GMs for quilt mode; they drew wrong with small tiles but exactly right with large.
BUG=171776
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/371023005
2014-07-07 10:41:04 -07:00
mtklein
ec2ae5878d
Add multithreaded mode to quilt mode in DM.
...
Default off for now. Something to work toward.
BUG=skia:
R=robertphillips@google.com , tomhudson@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/360793002
2014-07-01 07:46:50 -07:00
kkinnunen
80549fcdd5
Support using OpenGL ES context on desktop
...
Support using OpenGL ES context on desktop for unix and Android platforms. This
is mainly useful in development.
Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
possible parameters for the flag are "gl" and "gles".
R=bsalomon@google.com , mtklein@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/319043005
2014-06-30 06:36:31 -07:00
mtklein
d3e474e20c
Deprecate SkPicture::clone().
...
Chrome will need -DSK_SUPPORT_LEGACY_PICTURE_CLONE.
This removes the modes from our tools that use clone(). No
bots run these. DM used clone() in a way that we can just
share the picture now.
I plan to bring back the ability to test multithreaded
picture rendering soon.
BUG=skia:2378
R=robertphillips@google.com , mtklein@google.com , bsalomon@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/338633011
2014-06-27 12:34:44 -07:00
mtklein
7373456679
Support serialization in SkRecord-backed SkPictures.
...
Update DM to test SkRecord through SkPictureRecorder API.
BUG=skia:
R=robertphillips@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/345553003
2014-06-24 12:28:34 -07:00
rmistry
05ead8afe5
Revert of Support using OpenGL ES context on desktop ( https://codereview.chromium.org/319043005/ )
...
Reason for revert:
Caused segmentation fault on many builders. Please see reverted CL's msg #21 for details.
Original issue's description:
> Support using OpenGL ES context on desktop
>
> Support using OpenGL ES context on desktop for unix and Android platforms. This
> is mainly useful in development.
>
> Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
> possible parameters for the flag are "gl" and "gles".
>
> Committed: https://skia.googlesource.com/skia/+/74fc727dc88ee24d89f88cb1709f963e9073aeb3
R=bsalomon@google.com , mtklein@google.com , robertphillips@google.com , kkinnunen@nvidia.com
TBR=bsalomon@google.com , kkinnunen@nvidia.com
NOTREECHECKS=true
NOTRY=true
Author: rmistry@google.com
Review URL: https://codereview.chromium.org/351583002
2014-06-23 06:13:46 -07:00
kkinnunen
74fc727dc8
Support using OpenGL ES context on desktop
...
Support using OpenGL ES context on desktop for unix and Android platforms. This
is mainly useful in development.
Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
possible parameters for the flag are "gl" and "gles".
R=bsalomon@google.com , mtklein@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/319043005
2014-06-22 22:56:54 -07:00
tfarina
f168b86d7f
Remove Sk prefix from some bench classes.
...
This idea came while commenting on
https://codereview.chromium.org/343583005/
Since SkBenchmark, SkBenchLogger and SkGMBench are not part of the Skia library,
they should not have the Sk prefix.
BUG=None
TEST=make all
R=mtklein@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/347823004
2014-06-19 12:32:29 -07:00
tfarina
bcbc1788b4
Refactor how we handle resources path in Tests.
...
This idea emerged while doing https://codereview.chromium.org/321723002/
(commit 880914c35c
).
BUG=None
TEST=make tests && out/Debug/tests
R=mtklein@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/346453002
2014-06-18 14:32:49 -07:00
mtklein
30e6e2af14
Add basic stacktrace handler using libunwind.
...
This means we will all have to apt-get install libunwind8-dev on Linux. Mac comes with everything we need already.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/343583005
2014-06-18 11:44:18 -07:00
scroggo
f01a6c3663
In Android framework, make tools depend on jsoncpp
...
Always build the tools with JSON, but either build our own
or use the system's.
Rename skia_build_json_writer to skia_use_system_jsoncpp,
since we now always build with JSON.
Remove SK_BUILD_JSON_WRITER, which was only there so
we could build without JSON it in the framework.
BUG=skia:2448
R=djsollen@google.com , reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/303913002
2014-06-18 10:31:40 -07:00
mtklein
683e90611c
Remove SkBenchmark::postDraw.
...
Only one bench used this feature, and it's for things that'd be done by the
destructor anyway.
BUG=skia:
R=bsalomon@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/329853007
2014-06-18 07:15:49 -07:00
mtklein
e4d3e605f7
DM: SKP source / PDF backend
...
Removed expectations code for PDF backend for now, given that we don't have any, and refactored a little to make that cleaner.
We can now test .skp -> .pdf -> .png in DM. Neat eh?
BUG=skia:2598
R=halcanary@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/316643003
2014-06-06 09:28:43 -07:00
robertphillips
9b14f26d0f
Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)
...
R=reed@google.com , bsalomon@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/313613004
2014-06-04 05:40:44 -07:00
mtklein
e696a5962a
Disable PDF in dm for tonight. It's crashy.
...
BUG=skia:2598
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/317533003
2014-06-03 15:59:23 -07:00
mtklein
30bf3e2ffc
DM: add pdf
...
BUG=skia:2598
R=halcanary@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/312873002
2014-06-03 13:57:14 -07:00
mtklein
9c4ff80d9b
DM: go back to memcmp for BitmapsEqual
...
Even when autovectorized, using MaxComponentDifference is slower than memcmp.
And debug builds (most runs of DM) will never even be autovectorized.
DM::MaxComponentDifference is the top function on DM profile, and memcmp moves
to ~20th.
BUG=skia:
R=halcanary@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/315743002
2014-06-03 13:56:54 -07:00
commit-bot@chromium.org
a65e2fdc9a
add --dryRun flag to dm
...
BUG=2294
R=mtklein@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/305963007
git-svn-id: http://skia.googlecode.com/svn/trunk@14999 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 17:23:31 +00:00
commit-bot@chromium.org
a3264e53ee
Revert "Revert of setConfig -> setInfo ( https://codereview.chromium.org/308683005/ )"
...
This reverts commit eecaea4148805834f223681f70b6488ceba12d09.
R=robertphillips@google.com , scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/301283003
git-svn-id: http://skia.googlecode.com/svn/trunk@14989 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 13:26:10 +00:00
commit-bot@chromium.org
d0f824cfbd
Revert of setConfig -> setInfo ( https://codereview.chromium.org/308683005/ )
...
Reason for revert:
broke all Windows bots
Original issue's description:
> setConfig -> setInfo
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14978
R=robertphillips@google.com , reed@google.com
TBR=reed@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: epoger@google.com
Review URL: https://codereview.chromium.org/302053002
git-svn-id: http://skia.googlecode.com/svn/trunk@14979 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 21:10:32 +00:00
commit-bot@chromium.org
986d681f3e
setConfig -> setInfo
...
BUG=skia:
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/308683005
git-svn-id: http://skia.googlecode.com/svn/trunk@14978 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 20:47:53 +00:00
commit-bot@chromium.org
39e8d93337
DM tweaks
...
- Don't print status updates for skipped tasks or count them as pending tasks.
- Refactor DMReporter a bit for better symmetry, be more explicit about
how we read atomics (that is, approximately) in printStatus() (née finish()).
- Remove mutex locking from printStatus().
BUG=skia:
R=halcanary@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/309483003
git-svn-id: http://skia.googlecode.com/svn/trunk@14977 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 20:14:48 +00:00
commit-bot@chromium.org
a095041f51
Remove SkRecorder's kWriteOnly mode.
...
I'm soon going to have SkRecorder start calling getTotalMatrix(), which
would be broken in write-only mode. That change is big and nebulous,
but it's clear kWriteOnly needs to go, so we might as well kill it now.
My notes in bench_playback about kWriteOnly mode being important were
probably overly cautious. I now think this is a fair enough comparison
even re-recording into a read-write canvas.
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/290653004
git-svn-id: http://skia.googlecode.com/svn/trunk@14963 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 16:52:40 +00:00
commit-bot@chromium.org
a267d41f27
Fix windows build.
...
Windows won't let me insert #ifdefs inside macro expansion.
R=borenet@google.com
TBR=borenet
NOTRY=true
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/289853003
git-svn-id: http://skia.googlecode.com/svn/trunk@14769 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 18:27:11 +00:00
commit-bot@chromium.org
120c99993e
Generate Android.mk for DM.
...
ifdef out code that won't build where we don't have jsoncpp.
Include ctype instead of string.h for tolower.
Depends on https://codereview.chromium.org/282053002/
BUG=skia:2447
R=mtklein@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/290603002
git-svn-id: http://skia.googlecode.com/svn/trunk@14768 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 18:11:51 +00:00
commit-bot@chromium.org
69031a4427
DM: find max component difference
...
So far unused except to back BitmapsEqual, but I want to play with it in CLs I'm working on.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/290043005
git-svn-id: http://skia.googlecode.com/svn/trunk@14759 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:03:46 +00:00
commit-bot@chromium.org
266420722e
refactor DM::SetupBitmap
...
Seemed sort of repetitive.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/286993005
git-svn-id: http://skia.googlecode.com/svn/trunk@14752 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-15 17:33:31 +00:00
commit-bot@chromium.org
d6dcacd4fe
DM: tweaks
...
- translate filenames to task names instead of using a verbatim mode in WriteTask
- add an option to write out only PNG data to the .png if you don't need -r to work
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/288823002
git-svn-id: http://skia.googlecode.com/svn/trunk@14742 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-14 20:26:00 +00:00
commit-bot@chromium.org
90b5a2a653
DM: Add --skps.
...
This does render_pictures, plus checks SkRecord optimizations.
Disable an SkRecord optimization that draws several bot SKPs wrong. (To be investigated.)
BUG=skia:2378
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/270543004
git-svn-id: http://skia.googlecode.com/svn/trunk@14739 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-14 17:55:32 +00:00
commit-bot@chromium.org
93043bc252
DM: test SkRecord with and without optimization.
...
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/271443007
git-svn-id: http://skia.googlecode.com/svn/trunk@14598 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-06 19:48:02 +00:00
commit-bot@chromium.org
5aacfe9ffc
Remove setLocalMatrix calls from picture shader GM.
...
This makes all --skr tests pass for me. Enabling it by default in DM.
BUG=skia:2378
Committed: http://code.google.com/p/skia/source/detail?r=14549
R=reed@google.com , mtklein@google.com , fmalita@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/260863007
git-svn-id: http://skia.googlecode.com/svn/trunk@14551 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 21:23:52 +00:00
commit-bot@chromium.org
c09abe66c1
Revert of Remove setLocalMatrix calls from picture shader GM. ( https://codereview.chromium.org/260863007/ )
...
Reason for revert:
changed GM unexpectedly. will sort out and try again
Original issue's description:
> Remove setLocalMatrix calls from picture shader GM.
>
> This makes all --skr tests pass for me. Enabling it by default in DM.
>
> BUG=skia:2378
>
> Committed: http://code.google.com/p/skia/source/detail?r=14549
R=reed@google.com , fmalita@google.com , mtklein@chromium.org
TBR=fmalita@google.com , mtklein@chromium.org , reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2378
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/265013003
git-svn-id: http://skia.googlecode.com/svn/trunk@14550 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 20:51:13 +00:00
commit-bot@chromium.org
74b8cb15e4
Remove setLocalMatrix calls from picture shader GM.
...
This makes all --skr tests pass for me. Enabling it by default in DM.
BUG=skia:2378
R=reed@google.com , mtklein@google.com , fmalita@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/260863007
git-svn-id: http://skia.googlecode.com/svn/trunk@14549 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 20:30:11 +00:00
bsalomon@google.com
9dccafa8fc
Fix type in DM/mesa
...
TBR=mtklein@google.com
Review URL: https://codereview.chromium.org/269723004
git-svn-id: http://skia.googlecode.com/svn/trunk@14531 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 14:43:12 +00:00
commit-bot@chromium.org
90d81c9674
DM: Apply initial transform in --skr mode.
...
BUG=skia:2378
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/263853005
git-svn-id: http://skia.googlecode.com/svn/trunk@14521 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-01 21:06:39 +00:00
commit-bot@chromium.org
3f032156c8
DM: Push GPU-parent child tasks to the front of the queue.
...
Like yesterday's change to run CPU-parent child tasks serially in thread, this
reduces peak memory usage by improving the temporaly locality of the bitmaps we
create.
E.g. Let's say we start with tasks A B C and D
Queue: [ A B C D ]
Running A creates A' and A", which depend on a bitmap created by A.
Queue: [ B C D A' A" * ]
That bitmap now needs sit around in RAM while B C and D run pointlessly and can
only be destroyed at *. If instead we do this and push dependent child tasks
to the front of the queue, the queue and bitmap lifetime looks like this:
Queue: [ A' A" * B C D ]
This is much, much worse in practice because the queue is often several thousand
tasks long. 100s of megs of bitmaps can pile up for 10s of seconds pointlessly.
To make this work we add addNext() to SkThreadPool and its cousin DMTaskRunner.
I also took the opportunity to swap head and tail in the threadpool
implementation so it matches the comments and intuition better: we always pop
the head, add() puts it at the tail, addNext() at the head.
Before
Debug: 49s, 1403352k peak
Release: 16s, 2064008k peak
After
Debug: 49s, 1234788k peak
Release: 15s, 1903424k peak
BUG=skia:2478
R=bsalomon@google.com , borenet@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/263803003
git-svn-id: http://skia.googlecode.com/svn/trunk@14506 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-01 17:41:32 +00:00