aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/PictureRenderer.h
Commit message (Collapse)AuthorAge
* add extra flag (currently unused) for high quality downsamplingGravatar humper@google.com2013-07-09
| | | | | | | | | BUG= R=reed@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/18386006 git-svn-id: http://skia.googlecode.com/svn/trunk@9927 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add canFilterMaskGPU & filterMaskGPU to SkMaskFilterGravatar robertphillips@google.com2013-07-03
| | | | | | | | https://codereview.chromium.org/18110012/ git-svn-id: http://skia.googlecode.com/svn/trunk@9888 2bbb7eff-a529-9590-31e7-b0007b416f81
* move all flag bits up by 1, to accomodate new flag in SkPaintGravatar reed@google.com2013-05-22
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/15739006 git-svn-id: http://skia.googlecode.com/svn/trunk@9237 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add msaa configs to bench_pictures.Gravatar jvanverth@google.com2013-05-02
| | | | | | | | | | 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
* Modifying the behavior of render_pictures --validate to test the effect of bbh.Gravatar junov@chromium.org2013-03-13
| | | | | | | | The new behavior consists in using the same renderer, with bbh disabled, as a reference renderer when the current renderer has a bbh. Review URL: https://codereview.chromium.org/12801002 git-svn-id: http://skia.googlecode.com/svn/trunk@8132 2bbb7eff-a529-9590-31e7-b0007b416f81
* Created my own flag parser, based off of gflags.Gravatar scroggo@google.com2013-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Share common code between bench_ and render_ to set up the PictureRenderer. Fix an include error in SkPictureRenderer.h. Simplified parameter passing in render_pictures_main. Switch to using an SkAutoTUnref for the PictureRenderer. I also changed the input format somewhat, so the buildbots need to be updated as well: https://codereview.appspot.com/7441044/ Fixed a bug in PictureBenchmark where calling setTimeIndividualTiles(false) sets the member variable to true. Removed setDeviceType from PictureBenchmark, since only the PictureRenderer needs to know which device type to use. Some changes to the input format: '--logPerIter' no longer takes a 1 or 0. Instead, '--logPerIter' turns it on and '--nologPerIter' turns it off (with off as the default). (Note that this is for bench_pictures; bench still uses the old format) Change '--device' to '--config' and 'bitmap' to '8888' to be the same as gm. Requires '--r' before inputs (to match gm), though there can be multiple inputs following it. Changed --enable-deferred-image-decoding (which no one uses but me yet anyway) to --deferImageDecoding, since the former is incompatible with the flag parser. Changes to behavior: Show a short error message on failure (rather than the explanation of all flags). BUG=https://code.google.com/p/skia/issues/detail?id=1094 Review URL: https://codereview.appspot.com/7230053 git-svn-id: http://skia.googlecode.com/svn/trunk@7961 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move initialization to PictureRenderer ctorGravatar robertphillips@google.com2013-03-02
| | | | | | | | https://codereview.appspot.com/7435052/ git-svn-id: http://skia.googlecode.com/svn/trunk@7942 2bbb7eff-a529-9590-31e7-b0007b416f81
* Split GrGLContextInfo into GrGLContext & GrGLContextInfoGravatar robertphillips@google.com2013-02-28
| | | | | | | | https://codereview.appspot.com/7436045/ git-svn-id: http://skia.googlecode.com/svn/trunk@7905 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change SkTileGride geometry calculations to match the Chromium compositor.Gravatar junov@chromium.org2013-02-27
| | | | | | | | | | | | | | 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
* Allow debugger to be compiled without GaneshGravatar robertphillips@google.com2013-02-13
| | | | | | | | https://codereview.appspot.com/7311084/ git-svn-id: http://skia.googlecode.com/svn/trunk@7710 2bbb7eff-a529-9590-31e7-b0007b416f81
* Clean up some out of order initialization warnings.Gravatar scroggo@google.com2013-02-08
| | | | | | Review URL: https://codereview.appspot.com/7321043 git-svn-id: http://skia.googlecode.com/svn/trunk@7681 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add support for using ANGLE in bench_pictures.Gravatar scroggo@google.com2013-02-08
| | | | | | | | | | | | | 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
* Change the method for timing individual tiles in bench_pictures.Gravatar scroggo@google.com2013-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fix warnings:Gravatar mike@reedtribe.org2012-12-24
| | | | | | | | | - initializer order in PictureRenderer.h - const in xfermode overrides git-svn-id: http://skia.googlecode.com/svn/trunk@6946 2bbb7eff-a529-9590-31e7-b0007b416f81
* Flags for render_pictures: verify, clone and writeWholeImage:Gravatar edisonn@google.com2012-12-18
| | | | | | | | | | 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
* remove experimental setAsABlur, as it forces the instance to be mutable, and wasGravatar reed@google.com2012-12-18
| | | | | | | 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
* Allow setting a scaleFactor in bench_pictures (and render_pictures).Gravatar scroggo@google.com2012-12-17
| | | | | | | | | | | | | | 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
* Provide an option to bench drawing individual tiles in bench_pictures.Gravatar scroggo@google.com2012-12-13
| | | | | | | | | | | | | | | | | | | | | | 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
* In the config name, report the viewport, if one is provided.Gravatar scroggo@google.com2012-12-13
| | | | | | Review URL: https://codereview.appspot.com/6942048 git-svn-id: http://skia.googlecode.com/svn/trunk@6804 2bbb7eff-a529-9590-31e7-b0007b416f81
* Allow bench_pictures to have its viewport set on the command line.Gravatar scroggo@google.com2012-12-13
| | | | | | | | | | | | | | | 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
* add '--mode clone' option to bench_picturesGravatar reed@google.com2012-12-10
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6735 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkPictureUtils::GatherPixelRefs()Gravatar reed@google.com2012-11-29
| | | | | | Review URL: https://codereview.appspot.com/6845106 git-svn-id: http://skia.googlecode.com/svn/trunk@6615 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add low blur and AAClip options to picture bench.Gravatar caryclark@google.com2012-11-07
| | | | | | | | 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
* include SkPaint.hGravatar reed@google.com2012-11-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6321 2bbb7eff-a529-9590-31e7-b0007b416f81
* leading character accidentally deleted on mergeGravatar caryclark@google.com2012-11-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6319 2bbb7eff-a529-9590-31e7-b0007b416f81
* add draw filter option to picture_benchGravatar caryclark@google.com2012-11-06
| | | | | | | | | 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
* Adding SkTileGrid: a new subclass of BBoxHierarchy, optimized for tiled ↵Gravatar junov@chromium.org2012-11-06
| | | | | | | | playback. Review URL: https://codereview.appspot.com/6820093 git-svn-id: http://skia.googlecode.com/svn/trunk@6314 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix the PictureRecord step of BenchPictures.Gravatar djsollen@google.com2012-11-06
| | | | | | Review URL: https://codereview.appspot.com/6820100 git-svn-id: http://skia.googlecode.com/svn/trunk@6311 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make bench_pictures output a meaningful config name.Gravatar scroggo@google.com2012-11-02
| | | | | | Review URL: https://codereview.appspot.com/6813074 git-svn-id: http://skia.googlecode.com/svn/trunk@6288 2bbb7eff-a529-9590-31e7-b0007b416f81
* In bench_pictures --multi, maintain thread local caches.Gravatar scroggo@google.com2012-11-02
| | | | | | | | | | | | | | | | | 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
* Fixing crash in render_pictures. Uninitialized member in PictureRendererGravatar junov@chromium.org2012-11-02
| | | | | | | | TBR=scroggo git-svn-id: http://skia.googlecode.com/svn/trunk@6272 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding rtree support to the bench_pictures utilityGravatar junov@chromium.org2012-11-02
| | | | | | Review URL: https://codereview.appspot.com/6775080 git-svn-id: http://skia.googlecode.com/svn/trunk@6267 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make output path to render_pictures optionalGravatar borenet@google.com2012-10-26
| | | | | | Review URL: https://codereview.appspot.com/6779049 git-svn-id: http://skia.googlecode.com/svn/trunk@6136 2bbb7eff-a529-9590-31e7-b0007b416f81
* Allow render_pictures to render using multiple threads.Gravatar scroggo@google.com2012-10-03
| | | | | | | | | | | | 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
* In render_pictures tiled rendering, draw a separate PNG for each tile.Gravatar scroggo@google.com2012-09-20
| | | | | | | | | | 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
* In bench_pictures, use a pool of tiles for multicore drawing.Gravatar scroggo@google.com2012-09-20
| | | | | | | | | | | | | | | | | | | 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
* Reuse one canvas for every tile in bench_pictures (in single threaded mode).Gravatar scroggo@google.com2012-09-18
| | | | | | | | | | | | 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
* Added GPU resource cache stats printing to render_picturesGravatar robertphillips@google.com2012-09-13
| | | | | | | | https://codereview.appspot.com/6492104/ git-svn-id: http://skia.googlecode.com/svn/trunk@5523 2bbb7eff-a529-9590-31e7-b0007b416f81
* Report data from bench_pictures in the same fashion as bench.Gravatar scroggo@google.com2012-09-07
| | | | | | | | | | | | | | | | | | | | 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
* Perform multi core rendering in bench_pictures.Gravatar scroggo@google.com2012-08-31
| | | | | | | | | | | | | 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
* Implemented power of two tiling.Gravatar keyar@chromium.org2012-08-23
| | | | | | Review URL: https://codereview.appspot.com/6485056 git-svn-id: http://skia.googlecode.com/svn/trunk@5274 2bbb7eff-a529-9590-31e7-b0007b416f81
* Images are written by PictureRenderer and not render_pictures_main.Gravatar keyar@chromium.org2012-08-21
| | | | | | Review URL: https://codereview.appspot.com/6448174 git-svn-id: http://skia.googlecode.com/svn/trunk@5216 2bbb7eff-a529-9590-31e7-b0007b416f81
* Removed the TileInfo struct used in TiledPictureRenderer.Gravatar keyar@chromium.org2012-08-20
| | | | | | Review URL: https://codereview.appspot.com/6443153 git-svn-id: http://skia.googlecode.com/svn/trunk@5206 2bbb7eff-a529-9590-31e7-b0007b416f81
* flush() and glFinish() are now in the timed area of rendering.Gravatar keyar@chromium.org2012-08-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5187 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added the option to enable GPU rendering on render_ and bench_pictures.Gravatar keyar@chromium.org2012-08-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5183 2bbb7eff-a529-9590-31e7-b0007b416f81
* The tiles are properly reset.Gravatar keyar@chromium.org2012-08-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5181 2bbb7eff-a529-9590-31e7-b0007b416f81
* TiledPictureRenderer now has tiles accelerated when appropiate.Gravatar keyar@chromium.org2012-08-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5180 2bbb7eff-a529-9590-31e7-b0007b416f81
* State reset and gpu timers added.Gravatar keyar@chromium.org2012-08-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5177 2bbb7eff-a529-9590-31e7-b0007b416f81
* Changed to Yoda style comparisons where appropriate.Gravatar keyar@chromium.org2012-08-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5176 2bbb7eff-a529-9590-31e7-b0007b416f81
* Have GPU based approach workingish.Gravatar keyar@chromium.org2012-08-20
| | | | | | Benchmarks do not work and it is always on. git-svn-id: http://skia.googlecode.com/svn/trunk@5175 2bbb7eff-a529-9590-31e7-b0007b416f81