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
commit-bot@chromium.org
8991c67f0c
Call write() within render_pictures but not bench_pictures
...
BUG=skia:2584
R=bsalomon@google.com , robertphillips@google.com , bensong@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/291843010
git-svn-id: http://skia.googlecode.com/svn/trunk@14837 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 00:36:05 +00:00
commit-bot@chromium.org
661832cade
speed up benches: postpone hash computation in PictureRenderer.cpp
...
fixes phantom performance regression after https://codereview.chromium.org/273783004
R=borenet@google.com , bensong@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/299763002
git-svn-id: http://skia.googlecode.com/svn/trunk@14819 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 11:57:16 +00:00
commit-bot@chromium.org
3f04517721
render_pictures: add --mismatchPath flag
...
When set, it will only write out images that don't match expectations.
BUG=skia:1942
R=rmistry@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/283123002
git-svn-id: http://skia.googlecode.com/svn/trunk@14748 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-15 15:10:48 +00:00
commit-bot@chromium.org
205ce48c38
add --readJsonSummaryPath to render_pictures
...
BUG=skia:1942
R=borenet@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/273783004
git-svn-id: http://skia.googlecode.com/svn/trunk@14695 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-12 15:37:20 +00:00
commit-bot@chromium.org
90c0fbd349
reland "extract some common code from PictureRenderer"
...
re-lands https://codereview.chromium.org/273703006/
NOTRY=True
R=bungeman@google.com , djsollen@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/278633002
git-svn-id: http://skia.googlecode.com/svn/trunk@14662 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 03:18:41 +00:00
commit-bot@chromium.org
de3ad9e220
Revert of extract some common code from PictureRenderer ( https://codereview.chromium.org/273703006/ )
...
Reason for revert:
breaking the android debug builds. It seems to be the result of android using shared libs and not lumping everything into one big static lib or executable. So we have more than one copy of SkString which is the root of the issue.
Original issue's description:
> extract some common code from PictureRenderer
>
> Committed: http://code.google.com/p/skia/source/detail?r=14638
R=borenet@google.com , epoger@google.com
TBR=borenet@google.com , epoger@google.com
NOTREECHECKS=true
NOTRY=true
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/274463004
git-svn-id: http://skia.googlecode.com/svn/trunk@14649 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 16:23:56 +00:00
commit-bot@chromium.org
ee18f2a3c9
extract some common code from PictureRenderer
...
R=borenet@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/273703006
git-svn-id: http://skia.googlecode.com/svn/trunk@14638 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 14:48:44 +00:00
commit-bot@chromium.org
4610a465b6
reland r14391 ('fix contents of render_pictures JSON summary')
...
BUG=skia:2043,skia:2044,skia:1942,skia:2466
R=caryclark@google.com
TBR=caryclark
Author: epoger@google.com
Review URL: https://codereview.chromium.org/262453002
git-svn-id: http://skia.googlecode.com/svn/trunk@14443 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-29 19:39:22 +00:00
commit-bot@chromium.org
cced37d2c3
Revert of fix contents of render_pictures JSON summary ( https://codereview.chromium.org/259703002/ )
...
Reason for revert:
This appears to have caused regressions such as this one: http://108.170.220.120:10117/builders/Perf-Win7-ShuttleA-HD2000-x86-Release/builds/2117/steps/CheckForRegressions/logs/stdio
Original issue's description:
> fix contents of render_pictures JSON summary
>
> BUG=skia:2043,skia:2044,skia:1942
>
> Committed: http://code.google.com/p/skia/source/detail?r=14391
R=scroggo@google.com , epoger@google.com
TBR=epoger@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2043,skia:2044,skia:1942
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/251103004
git-svn-id: http://skia.googlecode.com/svn/trunk@14399 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-28 14:07:10 +00:00
commit-bot@chromium.org
eecdcb9e8a
fix contents of render_pictures JSON summary
...
BUG=skia:2043,skia:2044,skia:1942
R=scroggo@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/259703002
git-svn-id: http://skia.googlecode.com/svn/trunk@14391 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-28 13:18:39 +00:00
robertphillips@google.com
770963f23f
Staging for cleanup of SkPicture-related headers
...
https://codereview.chromium.org/243173002
git-svn-id: http://skia.googlecode.com/svn/trunk@14258 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 18:04:41 +00:00
commit-bot@chromium.org
5fb2ce38b3
Staged removal of SkPicture-derived classes
...
This CL removes the SkPicture-derived classes (with a flag to keeps clients working). In the process it also lightens the recording factory function so it is no longer ref counted).
The only interesting bits are in SkPicture* and Sk*Picture.*
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/238273012
git-svn-id: http://skia.googlecode.com/svn/trunk@14251 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 23:35:06 +00:00
skia.committer@gmail.com
667b98d947
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14234 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 03:05:10 +00:00
commit-bot@chromium.org
d393b17cf3
Retract SkPicture::kOptimizeForClippedPlayback_RecordingFlag from public API
...
This CL sets the stage for retracting the SkPicture::kOptimizeForClippedPlayback_RecordingFlag flag
from the public API (more work needs to be done in Blink & Chrome). In the new world the only way
to set this flag (and thus instantiate an SkPicture-derived
class) is by passing a factory to the SkPictureRecorder class. This is to get all clients always using
factories so that we can then change the factory call used (i.e., so the factory just creates a BBH) and
do away with the SkPicture-derived classes.
BUG=skia:2315
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/239703006
git-svn-id: http://skia.googlecode.com/svn/trunk@14221 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-16 16:02:10 +00:00
skia.committer@gmail.com
5199701acb
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14172 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-14 03:04:57 +00:00
robertphillips@google.com
84b18c7e3e
split SkPictureRecorder out of SkPicture
...
https://codereview.chromium.org/214953003/
git-svn-id: http://skia.googlecode.com/svn/trunk@14171 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-13 19:09:42 +00:00
commit-bot@chromium.org
24c568c159
add explicit filepaths to render_pictures JSON summary
...
BUG=skia:2230,skia:1942
R=rmistry@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/226293002
git-svn-id: http://skia.googlecode.com/svn/trunk@14133 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 15:39:02 +00:00
commit-bot@chromium.org
8ddc26b68c
Actually identify required saveLayers in SkGpuDevice::EXPERIMENTAL_drawPicture
...
NOTRY=true
R=bsalomon@google.com , rmistry@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/212933002
git-svn-id: http://skia.googlecode.com/svn/trunk@13993 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-31 17:55:12 +00:00
commit-bot@chromium.org
b470c2140c
Silence warning after f5e315ccf1
.
...
(clang 3.3):
../tools/PictureRenderer.cpp:350:13: error: variable 'hash' is used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (!generatedHash) {
^~~~~~~~~~~~~~
../tools/PictureRenderer.cpp:354:53: note: uninitialized use occurs here
jsonSummaryPtr->add(outputFilename.c_str(), hash);
^~~~
../tools/PictureRenderer.cpp:350:9: note: remove the 'if' if its condition is always true
if (!generatedHash) {
^~~~~~~~~~~~~~~~~~~~
../tools/PictureRenderer.cpp:334:18: note: initialize the variable 'hash' to silence this warning
uint64_t hash;
^
= 0
The warning is wrong, but the compiler does have a point: generatedHash is always false at that point.
R=epoger@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/196823004
git-svn-id: http://skia.googlecode.com/svn/trunk@13869 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-19 22:58:52 +00:00
commit-bot@chromium.org
f5e315ccf1
add --writeChecksumBasedFilenames flag to render_pictures
...
BUG=skia:1455,skia:2230
R=robertphillips@google.com , robertphillips@chromium.org
Author: epoger@google.com
Review URL: https://codereview.chromium.org/202983003
git-svn-id: http://skia.googlecode.com/svn/trunk@13859 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-19 17:26:07 +00:00
commit-bot@chromium.org
145d1c0fdc
Proposed SkCanvas API for preLoading textures to VRAM v2.0
...
This is an update to (Proposed SkCanvas API for preLoading textures to VRAM - https://codereview.chromium.org/192853002/ ). It takes into account in-person feedback on the initial proposal. The main feedback was to land this closer to where we will ultimately wind up with the reordered rendering capability (and don't have an SkCanvas entry point (yet)).
Committed: http://code.google.com/p/skia/source/detail?r=13810
R=reed@google.com , bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/197123003
git-svn-id: http://skia.googlecode.com/svn/trunk@13822 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-16 19:46:36 +00:00
robertphillips@google.com
5ed01d1f8f
Revert r13810 (Proposed SkCanvas API for preLoading textures to VRAM v2.0)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13811 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 18:50:07 +00:00
commit-bot@chromium.org
1ab85c8719
Proposed SkCanvas API for preLoading textures to VRAM v2.0
...
This is an update to (Proposed SkCanvas API for preLoading textures to VRAM - https://codereview.chromium.org/192853002/ ). It takes into account in-person feedback on the initial proposal. The main feedback was to land this closer to where we will ultimately wind up with the reordered rendering capability (and don't have an SkCanvas entry point (yet)).
R=reed@google.com , bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/197123003
git-svn-id: http://skia.googlecode.com/svn/trunk@13810 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 18:23:12 +00:00
commit-bot@chromium.org
51c040ed1e
Alter bench_pictures to "respect" the logPerIter flag.
...
When --logPerIters is set and --repeat is great then 2 then bench_pictures will run each test "repeat" times (to generate the correct number of timings) by rendering 5 times.
This CL also adds a swapBuffers in addition to the pre-existing flush calls.
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/194973003
git-svn-id: http://skia.googlecode.com/svn/trunk@13752 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 22:58:00 +00:00
commit-bot@chromium.org
0fd5270ad6
Add nvprmsaa4 and nvprmsaa16 configs to bench_pictures
...
Add nvprmsaa4 and nvprmsaa16 configs to bench_pictures.
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/189263012
git-svn-id: http://skia.googlecode.com/svn/trunk@13708 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 18:41:14 +00:00
commit-bot@chromium.org
c22d139808
Initial QuadTree implementation
...
In an effort to find a faster bounding box hierarchy than the R-Tree, a QuadTree has been implemented here.
For now, the QuadTree construction is generally faster than the R-Tree and the queries are a bit slower, so overall, SKP local tests showed QuadTree performance similar to the R-Tree performance.
Tests and bench are included in this cl.
At this point, I'd like to be able to commit this in order to more easily use the bots to test multiple configurations and a larger number of SKPs. The R-Tree BBH is still used by default so this change shouldn't affect chromium.
BUG=skia:
R=junov@chromium.org , junov@google.com , senorblanco@google.com , senorblanco@chromium.org , reed@google.com , sugoi@google.com , fmalita@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/131343011
git-svn-id: http://skia.googlecode.com/svn/trunk@13282 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-03 18:08:33 +00:00
commit-bot@chromium.org
17cc3eaeaf
When a picture lies about its size (i.e., claims to be 100x100 but only ever draws to 90x100) arbitrary pixel differences can appear in the undrawn portion. This is causing spurious differences to appear in the 8888 vs. gpu telemetry results.
...
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/136553004
git-svn-id: http://skia.googlecode.com/svn/trunk@13084 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 14:51:25 +00:00
reed@google.com
672588b684
change offset to xy for pixelref subsetting
...
BUG=
R=scroggo@google.com
Review URL: https://codereview.chromium.org/105893012
git-svn-id: http://skia.googlecode.com/svn/trunk@12958 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 15:42:01 +00:00
rmistry@google.com
6ab96733b8
Support mesa config in render_pictures.
...
R=epoger@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/125083004
git-svn-id: http://skia.googlecode.com/svn/trunk@12916 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 18:37:24 +00:00
commit-bot@chromium.org
91e3ffded5
These strings are unused.
...
R=reed@google.com , halcanary@google.com
BUG=
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/102393005
git-svn-id: http://skia.googlecode.com/svn/trunk@12914 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 18:29:14 +00:00
robertphillips@google.com
94d8f1ed61
Update bench pictures to time image decode & upload costs
...
https://codereview.chromium.org/117583002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12742 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 17:25:33 +00:00
skia.committer@gmail.com
3b85deb9c3
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12734 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 07:01:56 +00:00
reed@google.com
e15b2f5296
move SkScalarLog2 into its only client, in a move to reduce our public API surface area
...
BUG=
Review URL: https://codereview.chromium.org/93643004
git-svn-id: http://skia.googlecode.com/svn/trunk@12731 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 04:59:26 +00:00
commit-bot@chromium.org
a3f882c475
render_pictures: add --writeJsonSummaryPath
...
Known issues:
- JSON summary will be empty if --writePath not specified also
- testNames within summary do not include the config (8888, gpu, etc.)
BUG=
R=rmistry@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/98643007
git-svn-id: http://skia.googlecode.com/svn/trunk@12680 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 20:52:36 +00:00
sglez@google.com
8c902126a9
R-Tree -- Don't sort draw commands unless specified.
...
We expect Webkit and Bink to give us draw commands in a reasonable x,y order.
We can maintain correctness and get a 17% recording speedup for the R-Tree by
not sorting in x and y when bulk-loading.
R=caryclark@google.com , reed@google.com
Review URL: https://codereview.chromium.org/23480002
git-svn-id: http://skia.googlecode.com/svn/trunk@11037 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 17:27:47 +00:00
robertphillips@google.com
491493119c
Add canFilterMaskGPU & filterMaskGPU to SkMaskFilter
...
https://codereview.chromium.org/18110012/
git-svn-id: http://skia.googlecode.com/svn/trunk@9888 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-03 15:34:35 +00:00
scroggo@google.com
1b1bcc3cea
New API for encoding bitmaps during serialization.
...
This change gives more flexibility to the implementation of
EncodeBitmap to prefer calling refEncodedData, doing its own
encode, or even doing both and making a decision about which
to use.
The new function signature also allows the implementation to
tell the ordered write buffer whether to store the pixel offset,
in the case where the encoded bitmap represents the larger
bitmap, or to ignore the pixel offset, in the case where the
implementation only encoded the subset that is used.
Requires changes to chromium to use the new function signature.
(https://codereview.chromium.org/15496006/ )
SkPicture:
New API for EncodeBitmap.
SkOrderedReadBuffer:
Ifdef'd out addition of reading the offset.
SkOrderedWriteBuffer:
Never call refEncodedData. Allow the user to call that from their
EncodeBitmap function, if desired.
This addresses https://code.google.com/p/skia/issues/detail?id=1239
Add in ifdef'd out code to record the offset.
PictureTest and PictureRenderer:
Implement the new definition of EncodeBitmap. Also update the name
of the function to meet coding style guidelines.
BUG=https://code.google.com/p/skia/issues/detail?id=1239
R=reed@google.com
Review URL: https://codereview.chromium.org/15489004
git-svn-id: http://skia.googlecode.com/svn/trunk@9226 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 20:31:23 +00:00
jvanverth@google.com
f6a90332ae
Add msaa configs to bench_pictures.
...
Enables msaa4 and msaa16 configs in bench_pictures and render_pictures (and
anything else that may use PictureRenderer).
Review URL: https://codereview.chromium.org/14544007/
git-svn-id: http://skia.googlecode.com/svn/trunk@8952 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-02 12:39:37 +00:00
commit-bot@chromium.org
ae403b9496
Simplify bench pictures render target creation.
...
Author: bsalomon@google.com
Reviewed By: robertphillips@google.com
Review URL: https://chromiumcodereview.appspot.com/13947016
git-svn-id: http://skia.googlecode.com/svn/trunk@8596 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 17:27:30 +00:00
robertphillips@google.com
d59cf7c360
Remove reset of SkTileGrid in PictureRenderer::init
...
https://codereview.appspot.com/7641044/
git-svn-id: http://skia.googlecode.com/svn/trunk@8042 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-08 16:27:19 +00:00
robertphillips@google.com
2c00ba3d72
Revert 7932
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7938 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 21:34:26 +00:00
robertphillips@google.com
f9ce42302b
Initialize grid info in TiledPictureRenderer::init
...
https://codereview.appspot.com/7444053/
git-svn-id: http://skia.googlecode.com/svn/trunk@7932 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 20:15:18 +00:00
robertphillips@google.com
6177e6999d
Split GrGLContextInfo into GrGLContext & GrGLContextInfo
...
https://codereview.appspot.com/7436045/
git-svn-id: http://skia.googlecode.com/svn/trunk@7905 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 20:16:25 +00:00
junov@chromium.org
29b19e53cf
Change SkTileGride geometry calculations to match the Chromium compositor.
...
This patch changes the semantics of tileWidth/Height to include the border region, and
uses an offset to take into account the fact that there is no outer border for outer
tiles. This patch also fixes a previous bug where the right column and bottom row were
considered to be included in bounds that are expressed as an SkIRect.
Companion Chromium CL required for roll: https://codereview.chromium.org/12221077/
TEST=TileGrid unit test
Review URL: https://codereview.appspot.com/7350050
git-svn-id: http://skia.googlecode.com/svn/trunk@7885 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 18:35:16 +00:00
scroggo@google.com
0556ea0ede
Add support for using ANGLE in bench_pictures.
...
BUG=https://code.google.com/p/skia/issues/detail?id=1012
Other cleanups:
Remove setDeviceType from PictureBenchmark, since it is unnecessary.
Dereference PictureRenderer::fGrContext when done with it.
Make PictureRenderer::fGrContext and PictureRenderer::fGrContextFactory private, since they are not used by subclasses.
Review URL: https://codereview.appspot.com/7314063
git-svn-id: http://skia.googlecode.com/svn/trunk@7677 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-08 19:38:21 +00:00
robertphillips@google.com
fe1b536bb7
Enhance GL error checking for non-Ganesh GL calls
...
https://codereview.appspot.com/7312057/
git-svn-id: http://skia.googlecode.com/svn/trunk@7647 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 19:45:46 +00:00
robertphillips@google.com
8ac811e160
Fixed warning/error in PictureRenderer.cpp
...
TBR by scroggo@google.com
git-svn-id: http://skia.googlecode.com/svn/trunk@7634 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 00:13:34 +00:00
scroggo@google.com
905379a74e
In picture rendering tools, draw the entire scaled image.
...
If --scale is used, limit the size of the image drawn to the
scaled picture size, rather than the original picture size.
BUG=https://code.google.com/p/skia/issues/detail?id=1095
Review URL: https://codereview.appspot.com/7307054
git-svn-id: http://skia.googlecode.com/svn/trunk@7633 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-06 22:32:57 +00:00
scroggo@google.com
08085f808b
Change the method for timing individual tiles in bench_pictures.
...
When timing individual tiles in bench_pictures, keep a timer running
across all repeats, and then take the average. The former method of
timing each iteration separately runs into precision errors on some
platforms.
Running on my Mac Pro with OSX 10.8, the cmsecs for the new method
and the old method are roughly the same when checking the CPU time.
When checking the wall time, the old method often gives me 0ms,
while the new method gives me a larger value. I don't think this
can be entirely attributed to rounding though, since on occasion I
see the old method showing a short time period (.05 - .15ms) while
the new method shows .15ms higher (which is in range for the
difference I'm seeing for other tiles where the old method reports
0ms).
Some other changes:
PictureRenderer::resetState now takes a boolean parameter. If called
with false, it will only do a flush, while if called with true, it
will also call finish.
resetState is now called with true everywhere except in between
iterations of drawing the same tile (when timing individual tiles).
render_pictures_main no longer calls resetState directly, since it
already calls end, which calls resetState.
BUG=http://code.google.com/p/skia/issues/detail?id=1066
Review URL: https://codereview.appspot.com/7101060
git-svn-id: http://skia.googlecode.com/svn/trunk@7424 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 20:40:24 +00:00
junov@chromium.org
100b1c5e9e
Fixing expression logic from r7237/r7234
...
TBR=borenet
git-svn-id: http://skia.googlecode.com/svn/trunk@7238 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 20:12:22 +00:00
robertphillips@google.com
914a2f2823
Compiler warning fixes for r7235
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7237 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 19:57:02 +00:00
junov@chromium.org
20bd04e365
Turn on the kUsePathBoundsForClip_RecordingFlag in bench, gm and tools that use class PictureRenderer
...
Chrome uses this flag for recording to skpicture in order to improve performance.
Therefore, skai benchmarks should run with this flag enabled, and we need
gm and render_pictures test coverage to validate it. In gm, the vanilla
SkPicture test step will still run without the flag to ensure that case still gets test
coverage, while the SkPicture test steps that use rtree and tileGrid will now run with
the flag enabled.
Review URL: https://codereview.appspot.com/7111043
git-svn-id: http://skia.googlecode.com/svn/trunk@7234 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 18:43:36 +00:00
jvanverth@google.com
9c4e5ac5b7
Cleaned up warnings in Windows build.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7057 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-07 18:41:28 +00:00
skia.committer@gmail.com
a7d8e3e990
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6891 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-19 02:01:38 +00:00
edisonn@google.com
84f548cc9d
Flags for render_pictures: verify, clone and writeWholeImage:
...
1) flag to verify PNGs produced by render_picture that produce the same pixels
as simple renderer.
2) flag to write one single image (in tile we write individual tiles) - this
will help running skdiff also
3) flag to clone the picture before rendering
git-svn-id: http://skia.googlecode.com/svn/trunk@6890 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-18 22:24:03 +00:00
reed@google.com
457d8a77be
remove experimental setAsABlur, as it forces the instance to be mutable, and was
...
not adopted by chrome
Review URL: https://codereview.appspot.com/6939071
git-svn-id: http://skia.googlecode.com/svn/trunk@6879 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-18 18:20:44 +00:00
scroggo@google.com
82ec0b00f3
Allow setting a scaleFactor in bench_pictures (and render_pictures).
...
In TiledPictureRenderer and CopyTilesRenderer, do a postTranslate so
the translate is not affected by the scale factor.
Likewise, use clipRegion for tiled renderer so it will be
unaffected by the scale factor.
Respect the viewport for record, playbackCreation, and pipe renderers.
Review URL: https://codereview.appspot.com/6947072
git-svn-id: http://skia.googlecode.com/svn/trunk@6853 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-17 19:25:54 +00:00
scroggo@google.com
cbcef70891
Provide an option to bench drawing individual tiles in bench_pictures.
...
Provides output like the following:
running bench [1236 12045] androidpolice.skp
tile_256x256: tile [0,0] out of [5,48]: msecs = 1.00
tile_256x256: tile [1,0] out of [5,48]: msecs = 1.50
tile_256x256: tile [2,0] out of [5,48]: msecs = 1.00
tile_256x256: tile [3,0] out of [5,48]: msecs = 1.50
tile_256x256: tile [4,0] out of [5,48]: msecs = 2.50
tile_256x256: tile [0,1] out of [5,48]: msecs = 2.00
tile_256x256: tile [1,1] out of [5,48]: msecs = 3.50
tile_256x256: tile [2,1] out of [5,48]: msecs = 3.50
tile_256x256: tile [3,1] out of [5,48]: msecs = 6.00
tile_256x256: tile [4,1] out of [5,48]: msecs = 2.50
tile_256x256: tile [0,2] out of [5,48]: msecs = 2.00
BUG=https://code.google.com/p/skia/issues/detail?id=1016
Review URL: https://codereview.appspot.com/6937047
git-svn-id: http://skia.googlecode.com/svn/trunk@6805 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 22:09:28 +00:00
scroggo@google.com
c0d5e549ab
Allow bench_pictures to have its viewport set on the command line.
...
Instead of drawing the entire (potentially very large) picture, only
draw one viewport's worth.
example:
bench_pictures <skp directory> --viewport 640 480
BUG=https://code.google.com/p/skia/issues/detail?id=1007
Review URL: https://codereview.appspot.com/6943052
git-svn-id: http://skia.googlecode.com/svn/trunk@6799 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 21:40:48 +00:00
junov@chromium.org
3cb834bd27
Modifying SkTileGrid to support arbitrary query rectangles.
...
Exposing SkTileGrid functionality in the public API through SkTileGridPicture.
This patch also makes TileGrid and Rtree testable in gm, which revealed errors.
TEST=gm with '--tileGrid'
BUG=http://code.google.com/p/chromium/issues/detail?id=164636
Review URL: https://codereview.appspot.com/6933044
git-svn-id: http://skia.googlecode.com/svn/trunk@6783 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 16:39:53 +00:00
skia.committer@gmail.com
c7b4be7f11
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6746 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-11 02:01:20 +00:00
reed@google.com
5a34fd3f98
add '--mode clone' option to bench_pictures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6735 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-10 16:05:09 +00:00
skia.committer@gmail.com
c3d7d90973
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6632 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-30 02:01:24 +00:00
reed@google.com
fe7b1ed30a
add SkPictureUtils::GatherPixelRefs()
...
Review URL: https://codereview.appspot.com/6845106
git-svn-id: http://skia.googlecode.com/svn/trunk@6615 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-29 21:00:39 +00:00
reed@google.com
971aca7557
change SkDrawFilter::filter to return a bool, where false means don't-draw
...
Review URL: https://codereview.appspot.com/6851111
git-svn-id: http://skia.googlecode.com/svn/trunk@6551 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-26 20:26:54 +00:00
scroggo@google.com
a9e3a369c1
Add an option to render_pictures to rerecord the pictures with PNG encoded bitmaps.
...
Review URL: https://codereview.appspot.com/6821092
git-svn-id: http://skia.googlecode.com/svn/trunk@6332 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-07 17:52:48 +00:00
caryclark@google.com
e3e940cf81
Add low blur and AAClip options to picture bench.
...
Copy the settings instead of pointing to the
original set on the stack.
Review URL: https://codereview.appspot.com/6818103
git-svn-id: http://skia.googlecode.com/svn/trunk@6330 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-07 16:42:17 +00:00
caryclark@google.com
a362237644
add draw filter option to picture_bench
...
Option allows adding a draw filter option per type
or for all types. All SkPaint flags may be filtered,
plus disabling blur and setting the hint level.
Review URL: https://codereview.appspot.com/6816092
git-svn-id: http://skia.googlecode.com/svn/trunk@6318 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-06 21:26:13 +00:00
junov@chromium.org
7b53706a7d
Adding SkTileGrid: a new subclass of BBoxHierarchy, optimized for tiled playback.
...
Review URL: https://codereview.appspot.com/6820093
git-svn-id: http://skia.googlecode.com/svn/trunk@6314 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-06 18:58:43 +00:00
djsollen@google.com
fd9720cfec
Fix the PictureRecord step of BenchPictures.
...
Review URL: https://codereview.appspot.com/6820100
git-svn-id: http://skia.googlecode.com/svn/trunk@6311 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-06 16:54:40 +00:00
scroggo@google.com
0a049b861e
Make bench_pictures output a meaningful config name.
...
Review URL: https://codereview.appspot.com/6813074
git-svn-id: http://skia.googlecode.com/svn/trunk@6288 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-02 22:01:26 +00:00
scroggo@google.com
a62da2fee7
In bench_pictures --multi, maintain thread local caches.
...
Builds on https://codereview.appspot.com/6718046/ by mtklein.
Previously, each iteration of drawing a picture started new threads to draw the picture. Since each thread is using thread local storage for the font cache, this means that each iteration had to start with an empty font cache.
The newly added MultiCorePictureRenderer, separated from TiledPictureRenderer, now starts the drawing threads at the beginning of the test using an SkThreadPool, and keeps them alive through all iterations, so the font cache can be reused.
For now, I have removed the pipe version of the threaded renderer.
Updated bench_pictures_main and render_pictures_main to use the new
renderer, and to unref a renderer before early exit.
Review URL: https://codereview.appspot.com/6777063
git-svn-id: http://skia.googlecode.com/svn/trunk@6285 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-02 21:28:12 +00:00
junov@chromium.org
9313ca4bde
Adding rtree support to the bench_pictures utility
...
Review URL: https://codereview.appspot.com/6775080
git-svn-id: http://skia.googlecode.com/svn/trunk@6267 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-02 18:11:49 +00:00
borenet@google.com
070d354d51
Make output path to render_pictures optional
...
Review URL: https://codereview.appspot.com/6779049
git-svn-id: http://skia.googlecode.com/svn/trunk@6136 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-26 13:26:55 +00:00
scroggo@google.com
b8e404aebe
Fix a warning.
...
Review URL: https://codereview.appspot.com/6650048
git-svn-id: http://skia.googlecode.com/svn/trunk@5902 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-11 19:10:33 +00:00
scroggo@google.com
b6e806bf17
Allow render_pictures to render using multiple threads.
...
Make write() a static function so it can be used by the
thread entry functions.
Add a helper function to append a number to a string and
call write to share code.
Review URL: https://codereview.appspot.com/6589062
git-svn-id: http://skia.googlecode.com/svn/trunk@5789 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-03 17:32:33 +00:00
scroggo@google.com
b4773b4802
Fix some bugs in our picture tools.
...
When doing tiled rendering in multiple threads, clone fPicture,
rather than the blank fPictureClones. Also fix a precedence
problem so we get the correct rectangle.
In render_pictures_main, call PictureRenderer::setup().
Review URL: https://codereview.appspot.com/6585055
git-svn-id: http://skia.googlecode.com/svn/trunk@5758 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-01 20:06:09 +00:00
scroggo@google.com
81f9d2e05b
In render_pictures tiled rendering, draw a separate PNG for each tile.
...
Since the passed in picture may represent an image which is too large
to be represented on the GPU, never create such a large canvas. Instead,
after drawing to each tile, create a file showing just that tile.
Review URL: https://codereview.appspot.com/6532056
git-svn-id: http://skia.googlecode.com/svn/trunk@5603 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 14:54:21 +00:00
scroggo@google.com
bcdf2ec50d
In bench_pictures, use a pool of tiles for multicore drawing.
...
Also includes some code cleanup and code sharing.
Allow setting the number of threads on the command line.
Rename ThreadSafePipeController::playback to ::draw, to be the same
as SkPicture so DrawTileToCanvas can take a template parameter.
Disallow multithreading with GPU turned on.
Display help information with improper tiled arguments.
BUG=https://code.google.com/p/skia/issues/detail?id=871
Review URL: https://codereview.appspot.com/6536050
git-svn-id: http://skia.googlecode.com/svn/trunk@5602 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 14:42:33 +00:00
scroggo@google.com
acfb30e5bb
Reuse one canvas for every tile in bench_pictures (in single threaded mode).
...
Turn off multi threaded option for now.
In bench_pictures, do not create a large canvas, since we never use it.
Remove unused functions on TiledPictureRenderer.
Review URL: https://codereview.appspot.com/6521043
git-svn-id: http://skia.googlecode.com/svn/trunk@5583 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 14:32:35 +00:00
rileya@google.com
a04dc02b11
Fix ordering of initializer list to fix compiler complaints.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5472 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-10 19:01:38 +00:00
scroggo@google.com
9a4125283a
Report data from bench_pictures in the same fashion as bench.
...
Move SkBenchLogger into separate files and make bench_pictures use it.
Remove sk_tools::print_msg, since SkBenchLogger is now used instead.
Combine picture_benchmark with bench_pictures, since that is the
only project that uses it.
Refactor the aggregator for bench timer data into its own class and
make bench_pictures use it.
Consolidate the various virtual PictureBenchmark::run functions
into one for reuse.
BUG=https://code.google.com/p/skia/issues/detail?id=822
Review URL: https://codereview.appspot.com/6488086
git-svn-id: http://skia.googlecode.com/svn/trunk@5432 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-07 15:21:18 +00:00
robertphillips@google.com
94acc70312
Fixed Windows compiler complaints (esp. in debugger)
...
https://codereview.appspot.com/6497090/
git-svn-id: http://skia.googlecode.com/svn/trunk@5419 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-06 18:43:21 +00:00
scroggo@google.com
6bc8cf8f64
Fix windows build of tools.
...
Review URL: https://codereview.appspot.com/6494068
git-svn-id: http://skia.googlecode.com/svn/trunk@5374 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-31 18:34:09 +00:00
scroggo@google.com
8e073ba2d6
Rename my DeferredPipeController to not conflict with the other.
...
Fixes build.
Review URL: https://codereview.appspot.com/6506055
git-svn-id: http://skia.googlecode.com/svn/trunk@5372 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-31 16:25:46 +00:00
scroggo@google.com
58b4ead36c
Perform multi core rendering in bench_pictures.
...
Add a flag in SkGPipeWriter for threadsafe drawing.
Add a deferred pipe controller to SamplePipeControllers, which can
be called to play back in multiple threads.
Depends on http://codereview.appspot.com/6459105/
Review URL: https://codereview.appspot.com/6482068
git-svn-id: http://skia.googlecode.com/svn/trunk@5371 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-31 16:15:22 +00:00
rileya@google.com
b947b91794
Fix uninitialized values in bench_pictures' tiled renderer.
...
Review URL: https://codereview.appspot.com/6506049
git-svn-id: http://skia.googlecode.com/svn/trunk@5333 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-29 17:35:07 +00:00
keyar@chromium.org
f4959ab118
Implemented power of two tiling.
...
Review URL: https://codereview.appspot.com/6485056
git-svn-id: http://skia.googlecode.com/svn/trunk@5274 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 20:53:25 +00:00
keyar@chromium.org
ea82695325
Changed how tiles are copied to the master canvas.
...
This is in preparation for adding the powers of two mode.
Review URL: https://codereview.appspot.com/6464087
git-svn-id: http://skia.googlecode.com/svn/trunk@5254 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 15:24:13 +00:00
keyar@chromium.org
9299eded38
Images are written by PictureRenderer and not render_pictures_main.
...
Review URL: https://codereview.appspot.com/6448174
git-svn-id: http://skia.googlecode.com/svn/trunk@5216 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-21 19:05:08 +00:00
keyar@chromium.org
da652c2ad5
Removed the TileInfo struct used in TiledPictureRenderer.
...
Review URL: https://codereview.appspot.com/6443153
git-svn-id: http://skia.googlecode.com/svn/trunk@5206 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 22:04:07 +00:00
keyar@chromium.org
b3fb7c1f46
Added copyright notice to PictureRenderer.cpp
...
Review URL: https://codereview.appspot.com/6453156
git-svn-id: http://skia.googlecode.com/svn/trunk@5203 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 21:02:49 +00:00
keyar@chromium.org
28136b308f
flush() and glFinish() are now in the timed area of rendering.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5187 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:04:15 +00:00
keyar@chromium.org
a40c20df0e
Fixed up SK_SUPPORT_GPU flags.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5186 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:04:12 +00:00
keyar@chromium.org
bffacc01d6
Added some assertions.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5184 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:04:07 +00:00
keyar@chromium.org
6cb110b8f5
Remove fBitmap delete. Tile bitmaps are no longer kept around.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5182 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:04:02 +00:00
keyar@chromium.org
275be533fa
The tiles are properly reset.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5181 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:04:00 +00:00
keyar@chromium.org
a474ce3c0b
TiledPictureRenderer now has tiles accelerated when appropiate.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5180 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:03:57 +00:00
keyar@chromium.org
77a5522d0e
State reset and gpu timers added.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5177 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:03:47 +00:00