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
keyar@chromium.org
78a35c5f1d
Changed to Yoda style comparisons where appropriate.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5176 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:03:44 +00:00
keyar@chromium.org
0612564bb7
The GrContext and the GrFactoryContext are now kept around.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5172 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:03:33 +00:00
keyar@chromium.org
4ea96c5e54
Dirty commit so Brian can see changes.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5171 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:03:29 +00:00
robertphillips@google.com
5d8d18651a
Addressed Windows compiler complaints
...
http://codereview.appspot.com/6462062/
This CL will require re-baselining of the imagemagnifier GM
git-svn-id: http://skia.googlecode.com/svn/trunk@5108 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-15 14:36:41 +00:00
keyar@chromium.org
9d696c0d04
Refactored the bitmap creation into PictureRenderer.
...
Further, the picture is also stored in the PictureRenderer.
The main gain of all of this is that we will not have to change how the device in more than one place when we end up adding different devices.
Review URL: https://codereview.appspot.com/6458074
git-svn-id: http://skia.googlecode.com/svn/trunk@4990 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 17:11:33 +00:00
keyar@chromium.org
163b56734f
Merged bench_pictures and render_pictures rendering methods.
...
bench_pictures now uses a class based method for choosing the benchmark type as well.
Review URL: https://codereview.appspot.com/6452070
git-svn-id: http://skia.googlecode.com/svn/trunk@4894 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 17:53:29 +00:00
keyar@chromium.org
cc6e5efe03
Added an option to specify the tiling size to render_pictures.
...
With this change I should be able to start merging the rendering implementations of bench_pictures and render_pictures.
Review URL: https://codereview.appspot.com/6427061
git-svn-id: http://skia.googlecode.com/svn/trunk@4816 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 20:09:26 +00:00
robertphillips@google.com
fc91dc7004
Windows compiler complaint cleanup
...
http://codereview.appspot.com/6441055/
git-svn-id: http://skia.googlecode.com/svn/trunk@4796 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 21:18:31 +00:00
keyar@chromium.org
451bb9f801
Changed to a class based method in passing around the rendering method for render_pictures.
...
This is based on a comment for https://codereview.appspot.com/6427061/
Review URL: https://codereview.appspot.com/6405080
git-svn-id: http://skia.googlecode.com/svn/trunk@4786 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 17:27:57 +00:00