mtklein
6bd41969a0
BBHs: void* data -> unsigned data
...
Now that the old backend's not using BBHs, we can specialize them for
SkRecord's needs. The only thing we really want to store is op index, which
should always be small enough to fit into an unsigned (unsigned also helps keep
it straight from other ints floating around).
This means we'll need half (32-bit) or a quarter (64-bit) the bytes in SkTileGrid,
because we don't have to store an extra int for ordering.
BUG=skia:2834
Review URL: https://codereview.chromium.org/617393004
2014-10-02 07:41:56 -07:00
mtklein
8e12656096
Remove DEPRECATED_beginRecording().
...
This removes:
1) ability to record old pictures with SkPictureRecorder;
2) a couple tests specific to the old backend.
The functionality of DEPRECATED_beginRecording() now lives in
(private) SkPicture::Backport(), which is the only place we
need it now.
BUG=skia:
TBR=reed@google.com
Review URL: https://codereview.chromium.org/618303002
2014-10-01 09:29:35 -07:00
bsalomon
afbf2d6273
Make "priv" classes for GrTexure and GrSurface.
...
R=robertphillips@google.com , egdaniel@google.com , joshualitt@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/596053002
2014-09-30 12:18:44 -07:00
robertphillips
b06e5a2f55
Revert of Make "priv" classes for GrTexure and GrSurface. (patchset #9 id:260001 of https://codereview.chromium.org/596053002/ )
...
Reason for revert:
Breaking the Chrome builds with:
lib/libcc.so: error: undefined reference to 'GrAutoScratchTexture::detach()'
(http://108.170.220.120:10117/builders/Canary-Chrome-Ubuntu13.10-Ninja-x86_64-DRT/builds/2990/steps/Retry_BuildContentShell_1/logs/stdio )
Original issue's description:
> Make "priv" classes for GrTexure and GrSurface.
R=egdaniel@google.com , joshualitt@google.com , bsalomon@google.com
TBR=bsalomon@google.com , egdaniel@google.com , joshualitt@google.com
NOTREECHECKS=true
NOTRY=true
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/618733002
2014-09-30 06:58:20 -07:00
bsalomon
c0eb9b9818
Make "priv" classes for GrTexure and GrSurface.
...
R=robertphillips@google.com , egdaniel@google.com , joshualitt@google.com , joshualitt@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/596053002
2014-09-29 14:20:11 -07:00
reed
c5e15a1afa
remove alphatype from colortable
...
the owning bitmap is (already) responsible for knowing the alphatype
BUG=skia:
R=djsollen@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/611093002
2014-09-29 12:10:27 -07:00
mtklein
dc5bbab138
Have nanobench --verbose mode always just print integer nanoseconds.
...
Don't know that anyone but me is using this. Speak up now!
BUG=skia:
NOTREECHECKS=true
R=mtklein@google.com , tfarina@chromium.org
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/599913002
2014-09-24 06:34:09 -07:00
mtklein
53d2562006
nanobench: print max RSS in debug mode too.
...
BUG=skia:2949
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/581083002
2014-09-18 07:39:42 -07:00
mtklein
963504bd0a
Revert of nanobench: lazily decode bitmaps from SKPs (patchset #1 id:1 of https://codereview.chromium.org/572933006/ )
...
Reason for revert:
skia:2944
Original issue's description:
> nanobench: lazily decode bitmaps from SKPs
>
> This makes it considerably cheaper to run SKP recording benchmarks, without
> affecting their measurements and without really affecting SKP playback
> benchmarks at all.
>
> On my machine, running out/Release/nanobench --match skp --config nondrendering
> drops in run time from 6.7s to 2.5s, and the peak RAM usage drops from 129M to 50M.
>
> I'm strongly considering making this lazy decoding the default.
>
> BUG=skia:2944
>
> Committed: https://skia.googlesource.com/skia/+/d664c21a38de98d8db210c46f7a8c4187f1534da
R=robertphillips@google.com , mtklein@chromium.org
TBR=mtklein@chromium.org , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2944
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/554583004
2014-09-17 06:58:39 -07:00
mtklein
d664c21a38
nanobench: lazily decode bitmaps from SKPs
...
This makes it considerably cheaper to run SKP recording benchmarks, without
affecting their measurements and without really affecting SKP playback
benchmarks at all.
On my machine, running out/Release/nanobench --match skp --config nondrendering
drops in run time from 6.7s to 2.5s, and the peak RAM usage drops from 129M to 50M.
I'm strongly considering making this lazy decoding the default.
BUG=skia:
R=robertphillips@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/572933006
2014-09-16 13:36:12 -07:00
mtklein
e1daac9b26
Tag recording picture nesting bench as nonrendering.
...
Doesn't hurt as is, but we're running it several times unneccesarily.
(I couldn't compile without removing an unused constant in that other GM...)
BUG=skia:
R=fmalita@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/570303002
2014-09-16 10:12:42 -07:00
fmalita
df886ea06f
Fix leak in PictureNestingBench
...
R=mtklein@google.com
TBR=mtklein@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/569313004
2014-09-15 18:20:11 -07:00
fmalita
44162675ca
Nested picture nanobench
...
Measure picture overhead for recording & playback using a Sierpinski fractal (http://skfiddle.com/c/a2b6e60d775543b7c29a5d45d0371c02 ) with various picture nesting levels.
R=mtklein@google.com , reed@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/566393002
2014-09-15 16:46:16 -07:00
reed
c90e0149ec
Change SkResourceCache to take a Visitor inside its find().
...
This reverts commit 595aa05efc
.
BUG=skia:
R=mtklein@google.com , danakj@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/569353002
2014-09-15 11:39:45 -07:00
reed
595aa05efc
Revert of Change SkResourceCache to take a Visitor inside its find(). (patchset #2 id:20001 of https://codereview.chromium.org/567393002/ )
...
Reason for revert:
crashes on android bots, haven't diagnosed yet
Original issue's description:
> Change SkResourceCache to take a Visitor inside its find().
>
> This simplifies the API/contract, in that there are not any exposed
> lock/unlock scopes.
>
>
> patch from issue 572573002
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/dee6a8e67db39fcbde2b3bb09be1d088ebb9db8a
R=mtklein@google.com , danakj@chromium.org
TBR=danakj@chromium.org , mtklein@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@google.com
Review URL: https://codereview.chromium.org/569303002
2014-09-15 10:15:18 -07:00
reed
dee6a8e67d
Change SkResourceCache to take a Visitor inside its find().
...
This simplifies the API/contract, in that there are not any exposed
lock/unlock scopes.
patch from issue 572573002
BUG=skia:
R=mtklein@google.com , danakj@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/567393002
2014-09-15 06:44:47 -07:00
mtklein
fd731ce804
Measure picture recording speed in nanobench.
...
Today we measure SkPicture playback speed, but not the time it takes to record
the SkPicture. This fixes that by reading SKPs from disk and re-recording them.
On the console, recording shows up first as the nonrendering skp benches,
followed later by the usual playback benches:
maxrss loops min median mean max stddev samples config bench
51M 2 165µs 168µs 169µs 178µs 3% ▆▄▃█▂▄▁▂▁▁ nonrendering tabl_slashdot.skp
57M 1 9.72ms 9.77ms 9.79ms 9.97ms 1% █▂▂▅▃▂▁▄▂▁ nonrendering desk_pokemonwiki.skp
57M 32 2.92µs 2.96µs 3.03µs 3.46µs 6% ▅▁▁▁▁▁▁█▂▁ nonrendering desk_yahoosports.skp
...
147M 1 3.86ms 3.87ms 3.97ms 4.81ms 7% █▁▁▁▁▁▁▁▁▁ 8888 tabl_slashdot.skp_1
147M 1 4.54ms 4.56ms 4.55ms 4.56ms 0% █▅▇▅█▅▂▁▅▁ 565 tabl_slashdot.skp_1
147M 2 3.08ms 3.24ms 4.17ms 8.18ms 50% █▁▁█▁▁▁▁▁▁ gpu tabl_slashdot.skp_1
147M 1 1.61ms 1.62ms 1.69ms 2.33ms 13% █▁▁▁▁▁▁▁▁▁ 8888 desk_pokemonwiki.skp_1
147M 1 1.44ms 1.44ms 1.45ms 1.47ms 1% ▅▂█▂▂▅▁▁▂▁ 565 desk_pokemonwiki.skp_1
...
On skiaperf.com, they'll also be separated out from playback benches by bench_type.
BUG=skia:
R=reed@google.com , mtklein@google.com , jcgregorio@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/559153002
2014-09-10 12:19:30 -07:00
mtklein
962890568d
Distinguish common and unique names for skiaperf.com.
...
Turns out we tack on the size post-facto in ResultsWriter::bench(), so the only
place we need getUniqueName() to differ from getName() is SKPBench.
BUG=skia:
R=jcgregorio@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/552303004
2014-09-10 12:05:59 -07:00
qiankun.miao
8247ec313d
Fix format of nanobench result
...
Column of samples is too wide. This makes config is not align with the
'config' title. Pad 'samples' tilte with some whitespaces to fix this
issue.
BUG=skia:
R=mtklein@google.com
Author: qiankun.miao@intel.com
Review URL: https://codereview.chromium.org/549153005
2014-09-09 19:24:36 -07:00
mtklein
ea65bfa8de
Update DM JSON format.
...
Ex. dm --match patch -w bad --key arch x86 gpu nvidia model z620 --properties git_hash abcd build_number 20 ->
{
"build_number" : "20",
"git_hash" : "abcd",
"key" : {
"arch" : "x86",
"gpu" : "nvidia",
"model" : "z620"
},
"results" : [
{
"key" : {
"config" : "565",
"name" : "ninepatch-stretch"
},
"md5" : "f78cfafcbabaf815f3dfcf61fb59acc7",
"options" : {
"source_type" : "GM"
}
},
{
"key" : {
"config" : "8888",
"name" : "ninepatch-stretch"
},
"md5" : "3e8a42f35a1e76f00caa191e6310d789",
"options" : {
"source_type" : "GM"
}
},
...
This breaks -r, but that's okay. Going to follow up this CL with one that removes that entirely.
BUG=skia:
R=stephana@google.com , jcgregorio@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/551873003
2014-09-09 07:59:46 -07:00
bsalomon
49f085dddf
"NULL !=" = NULL
...
R=reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/544233002
2014-09-05 13:34:00 -07:00
robertphillips
c5ba71d2e5
Change SkPicture::draw to playback
...
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/540963002
2014-09-04 08:42:50 -07:00
reed
e5ea500d47
Hide fields in SkImageInfo
...
R=rmistry@google.com
TBR=bsalomon
Author: reed@google.com
Review URL: https://codereview.chromium.org/536003002
2014-09-03 11:54:58 -07:00
robertphillips
a8d7f0b13c
Try out scalar picture sizes
...
This paves the way for removing the 'fTile' parameter from SkPictureShader (although that should be a different CL). If we like this we could also move to providing an entire cull SkRect.
R=reed@google.com , mtklein@google.com , fmalita@google.com , fmalita@chromium.org
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/513983002
2014-08-29 08:03:56 -07:00
reed
011f39aeb2
rename ScaledImageCache to ResourceCache
...
BUG=skia:
R=bsalomon@google.com , mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/511283002
2014-08-28 13:35:23 -07:00
mtklein
533eb782ed
Convert BBH APIs to use SkRect.
...
Still TODO: convert internals of SkTileGrid.cpp and SkRTree.cpp to work in floats too.
NOTREECHECKS=true
BUG=skia:1021
R=robertphillips@google.com , reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/511613002
2014-08-27 10:39:42 -07:00
mtklein
4473be874f
Clean up some benches that answer questions we're no longer asking.
...
NOTREECHECKS=true
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/512503002
2014-08-27 06:34:16 -07:00
mtklein
2a65a238b0
Remove SkQuadTree.
...
We're not testing it to the same degree we do RTree and TileGrid. Any changes
we'll make to BBH APIs become 33% easier without it. If find we want it again,
we can always resurrect it.
BUG=skia:1021,skia:2834
R=robertphillips@google.com , mtklein@google.com
TBR=reed
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/500373005
2014-08-26 14:07:04 -07:00
bsalomon
169612621f
Make GrGpuResources register with GrResourceCache2 after fully constructed.
...
Committed: https://skia.googlesource.com/skia/+/d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/504313002
2014-08-26 14:01:07 -07:00
bsalomon
a2b0af82f0
Revert of Make GrGpuResources register with GrResourceCache2 after fully constructed. (patchset #3 of https://codereview.chromium.org/504313002/ )
...
Reason for revert:
Breaking the bots
Original issue's description:
> Make GrGpuResources register with GrResourceCache2 after fully constructed.
>
> Committed: https://skia.googlesource.com/skia/+/d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b
R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/488463004
2014-08-26 13:11:11 -07:00
bsalomon
d68b3e491b
Make GrGpuResources register with GrResourceCache2 after fully constructed.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/504313002
2014-08-26 12:51:20 -07:00
reed
680fb9e8f1
retool image cache to be generic cache, allowing the client to subclass "Rec", so they can provide a custom Key and arbitrary Value.
...
Follow-on CLs
- rename ScaledimageCache to something like GeneralCache
- explore if we can use call-backs or some mechanism to completely hide "lock/unlock", by forcing all clients to support "copying" their value out of the cache as the result of a Find.
R=mtklein@google.com , senorblanco@google.com , bsalomon@google.com , qiankun.miao@intel.com , senorblanco@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/507483002
2014-08-26 09:08:04 -07:00
djsollen
5387c83f81
Revert of Benchmark designed to exercise fractional image scale/translation (patchset #2 of https://codereview.chromium.org/491793003/ )
...
Reason for revert:
fires asserts on Linux Debug builds
http://108.170.220.120:10115/builders/Test-Ubuntu12-ShuttleA-GTX660-x86_64-Debug/builds/1910
Original issue's description:
> Benchmark designed to exercise fractional image scale/translation
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/5fc226641a0926dddbf70ba784f344881f4c05b9
R=reed@google.com , humper@google.com
TBR=humper@google.com , reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/470063007
2014-08-25 12:03:11 -07:00
humper
5fc226641a
Benchmark designed to exercise fractional image scale/translation
...
BUG=skia:
R=reed@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/491793003
2014-08-25 11:17:48 -07:00
reed
233c295980
fix numerical overflows in 565 blends
...
BUG=skia:2797
R=mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/474983007
2014-08-22 07:27:14 -07:00
tfarina
efafe9484f
Cleanup: Remove BenchTool xcode project file.
...
BUG=None
TEST=None
R=mtklein@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/491263003
2014-08-22 05:42:44 -07:00
mtklein
2084050a33
Add --bbh (default true) to nanobench.
...
Chrome's using a bounding box, so it's a good idea for our
bots to do so too.
When set, we'll create an SkTileGrid to match the
parameters of --clip, and so should always hit its fast
path.
This will impose a small overhead (querying the BBH) on all
SKPs, but make large SKPs render more quickly. E.g. on
GPU desk_pokemonwiki should show about a 30% improvement,
tabl_mozilla about 40%, and one very long page from my
personal suite, askmefast.com, gets 5x faster.
(The performance changes are not the point of the CL, but
something we should be aware of.)
BUG=
R=bsalomon@google.com , mtklein@google.com , robertphillips@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/497493003
2014-08-21 15:51:22 -07:00
reed
04617139f7
expose generalized imagecache key
...
BUG=skia:
R=mtklein@google.com , halcanary@google.com , qiankun.miao@intel.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/483493003
2014-08-21 09:46:49 -07:00
mtklein
1915b62637
Add --properties for things like gitHash that describe the current nanobench run.
...
--key describes the type of run (describes the line on the chart), --properties
describes the run itself (describes the dot on the chart).
We'll pass --properties gitHash <git hash> build_number <build number> --key
... to nanobench from the bots.
And... delete a whole lot of dead code.
Example: nanobench --properties gitHash foo build_number 1234 --key bar baz
{
"build_number" : "1234",
"gitHash" : "foo",
"key" : {
"bar" : "baz"
},
"results" : {
....
Friends with https://codereview.chromium.org/491943002
BUG=skia:
R=jcgregorio@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/488213002
2014-08-20 11:45:00 -07:00
mtklein
753b870c62
Define NDEBUG instead of SK_DEBUG/SK_RELEASE.
...
This makes our builds more like Chrome's, and will make our builds fail
if we accidentally use if SK_DEBUG instead of ifdef SK_DEBUG.
BUG=skia:
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/481513004
2014-08-20 07:38:46 -07:00
mtklein
afb4379dbc
Print max RSS in GM and nanobench too.
...
Everyone used MB, so update the API to just return that.
BUG=skia:
R=halcanary@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/483323002
2014-08-19 15:55:55 -07:00
mtklein
94e51567dd
Add --options to nanobench, similar to --key but for non-identifying options.
...
Friends with https://codereview.chromium.org/487233003/
Example of out/Release/nanobench --options build_number 12374 --match patch_grid_texs_small
{
"gitHash":"unknown-revision",
"options":{
"build_number":"12374",
"system":"UNIX"
},
"results":{
"patch_grid_texs_small_640_480":{
"565":{
"max_ms":0.268116,
"mean_ms":0.2318529,
"median_ms":0.235337,
"min_ms":0.219158,
"options":{
"source_type":"bench"
},
"stddev_ms":0.01491263917658814
},
"8888":{
"max_ms":0.231881,
"mean_ms":0.2214668,
"median_ms":0.219356,
"min_ms":0.218887,
"options":{
"source_type":"bench"
},
"stddev_ms":0.004595541070791701
},
"gpu":{
"max_ms":0.1398304782608696,
"mean_ms":0.128833402173913,
"median_ms":0.1316798695652174,
"min_ms":0.1111915434782609,
"options":{
"GL_RENDERER":"Quadro 600/PCIe/SSE2",
"GL_SHADING_LANGUAGE_VERSION":"4.40 NVIDIA via Cg compiler",
"GL_VENDOR":"NVIDIA Corporation",
"GL_VERSION":"4.4.0 NVIDIA 331.79",
"source_type":"bench"
},
"stddev_ms":0.008923738937837156
}
}
}
}
BUG=skia:
R=jcgregorio@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/490683002
2014-08-19 12:41:56 -07:00
dandov
7e5598a004
Added bench for grid of patches.
...
It is on top of my previous cl to fix the mem leaks of the regular patch bench.
NOTREECHECKS=true
BUG=skia:
R=egdaniel@google.com , bsalomon@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/470543004
2014-08-15 13:30:47 -07:00
bsalomon
87c35adbda
Remove aarects benchmark. Redundant with rotated_rects* bench and *much* slower.
...
NOTREECHECKS=true
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/469373003
2014-08-14 13:03:58 -07:00
bsalomon
a7f79b47fa
remove internal repeat count from gradient benches
...
NOTREECHECKS=true
R=mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/476923002
2014-08-14 12:24:46 -07:00
krajcevski
12b3544028
Add runtime flag to turn compressed alpha masks on
...
R=bsalomon@google.com , robertphillips@google.com , mtklein@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/468293002
2014-08-13 12:06:26 -07:00
krajcevski
69a5560ea5
Add entry point for passing options to the GrContextFactory
...
R=bsalomon@google.com , mtklein@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/465073002
2014-08-13 10:46:31 -07:00
mtklein
e556be7084
Don't leak the shader in PatchBench.
...
BUG=skia:
R=dandov@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/465083003
2014-08-13 10:41:16 -07:00
dandov
b3c9d1c33c
SkCanvas::drawPatch param SkPoint[12]
...
drawPatch now receives as parameter const SkPoint cubics[12]
Adjusted derived classes and serialization.
Ajusted GM's and benches that take into account combinations of optional
parameters, the scale of the patch and 4 different types of patches.
Planning on adding the extra functionality of SkPatch in another CL.
BUG=skia:
R=egdaniel@google.com , reed@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/463493002
2014-08-12 08:34:29 -07:00
joshualitt
5acfea789d
2D kernel initial wiring for Guassian
...
BUG=skia:
R=senorblanco@chromium.org , bsalomon@chromium.org , bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/418223009
2014-08-11 13:55:34 -07:00