aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/skpbench/skpbench.cpp
Commit message (Collapse)AuthorAge
* skpbench: Support .svg filesGravatar Chris Dalton2018-06-26
| | | | | | | | Bug: skia: Change-Id: I0337757f635c631870c02a65f8784fc190d1435e Reviewed-on: https://skia-review.googlesource.com/137540 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* ccpr: Enable ccpr by defaultGravatar Chris Dalton2018-06-25
| | | | | | | | | | | | | | | | | | | Now that the path cache is implemented, we can use ccpr everywhere. Modifies ccpr to not cache unless the "fAllowPathMaskCaching" context option is enabled. Adds a small condition to skip complicated paths with more vertices than pixels, simply so we don't regress a couple testcases. Updates skpbench to do three draws before starting the timer, in order to prime the cache. Bug: skia: Change-Id: Ic3a0a2bdad8a22ff6431e77fa4da2b54d6bb9aba Reviewed-on: https://skia-review.googlesource.com/137207 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Move taskgroup initialization closer to where it is usedGravatar Robert Phillips2018-06-21
| | | | | | | | | This makes the vtune and instruments charts easier to understand/read. Change-Id: I0469b723699d174681f9e36b5ff12f7e9c3d1d34 Reviewed-on: https://skia-review.googlesource.com/136607 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Dest color space no longer impacts mipmaps or texture samplingGravatar Brian Osman2018-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PS5: Removes SkDestinationSurfaceColorMode, tracking of mipmap mode on GrTexture, sRGB decode state per-texture. Because we were often choosing sRGB configs for RGB color types, legacy rendering would then be incorrect (too dark). So... PS7: Stops ever using sRGB pixel configs when translating image info or color type. Also removes a bunch of GrCaps bits and a GrContextOption that are no longer relevant. PS9: Adjusts surface creation unit test expectations, and changes the raster rules accordingly. At this point, sRGB configs are (obviously) going to be broken. Locally, I ran 8888, gl, and the gbr- versions of both. Across all GMs x configs, there are 13 diffs. 12 are GMs that create surfaces with a color-space attached (and thus, the offscreen is no longer getting sRGB pixel config). The only remainder constructs an SkPictureImageGenerator, (with an attached color space) and renders it to the gbr-gl canvas, which triggers a a tagged surface inside the generator. Bug: skia: Change-Id: Ie5edfa157dd799f3121e8173fc4f97f6c8ed6789 Reviewed-on: https://skia-review.googlesource.com/131282 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add DDL skpbench bot for just DDL recording timeGravatar Robert Phillips2018-05-31
| | | | | | | | Change-Id: If75799bfd719ccc47c2064571723e6852c07bfaa Reviewed-on: https://skia-review.googlesource.com/131144 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Eric Boren <borenet@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* Add DDL to SKPBenchGravatar Robert Phillips2018-05-30
| | | | | | | | | | | Most of this CL is just repackaging the promise image and tile code from ViaDDL for reuse by SKPBench. Change-Id: Ie5003c36fe85cc5be9639552f9488b8e92dcdbbf Reviewed-on: https://skia-review.googlesource.com/129805 Reviewed-by: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Make GrCaps and GrShaderCaps private.Gravatar Brian Salomon2018-05-11
| | | | | | | | | Moves getCaps() from GrContext to GrContextPriv and removes unused refCaps(). Change-Id: Ic6a8951b656c0d1b2773eae73bff8e88af819866 Reviewed-on: https://skia-review.googlesource.com/127389 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add GM configs that test rendering to a GL backend texture and render targetGravatar Brian Salomon2018-03-09
| | | | | | | | | This also adds GrGpu::create/deleteTestingOnlyBackendRenderTarget. Implemented in GL only for now. Change-Id: I9e5fdc953c4a249959af89e08332f520cefe9d90 Reviewed-on: https://skia-review.googlesource.com/113305 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add checks for failed SkImageInfo2GrPixelConfig callsGravatar Greg Daniel2018-02-21
| | | | | | | | Bug: skia:7645 Change-Id: I32b9326fb43490ef6a7a99527243b68d89184ae1 Reviewed-on: https://skia-review.googlesource.com/109083 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Revert "Revert "Revert "Revert "Redefine the meaning of ↵Gravatar Brian Salomon2018-02-03
| | | | | | | | | | | | | sample counts in GPU backend."""""" This reverts commit 3a2cc2c2ec124de36d2544b2a523ef1dd317ca32. Fix code with samplecnt=0 that slipped in between trybots/CQ and landing of previous version Change-Id: Iab19f2e8d1e9901601c8c76244d7a88c5d707fab Reviewed-on: https://skia-review.googlesource.com/103181 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Revert "Revert "Revert "Redefine the meaning of sample ↵Gravatar Brian Salomon2018-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | counts in GPU backend.""""" This reverts commit 5bb82cbecd740d21b92e8d2944280ab6eb6af7a6. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Revert "Revert "Revert "Redefine the meaning of sample counts in GPU backend."""" > > This reverts commit 18c52a7b52211de5d0dcd86dc048adef758c6c75. > > Also relands "More sample count cleanup:" and "Add new GrContext queries for imagability, surfacability, and max sample count of color types" > > > Bug: skia: > Change-Id: I4028105a3a1f16ce3944e134619eb6245af6b947 > Reviewed-on: https://skia-review.googlesource.com/102940 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Idee23be2f1719f0bdc9305043e95a2d589bee8d1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/103220 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Revert "Revert "Redefine the meaning of sample counts in GPU ↵Gravatar Brian Salomon2018-02-02
| | | | | | | | | | | | | | | backend."""" This reverts commit 18c52a7b52211de5d0dcd86dc048adef758c6c75. Also relands "More sample count cleanup:" and "Add new GrContext queries for imagability, surfacability, and max sample count of color types" Bug: skia: Change-Id: I4028105a3a1f16ce3944e134619eb6245af6b947 Reviewed-on: https://skia-review.googlesource.com/102940 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Revert "Redefine the meaning of sample counts in GPU backend."""Gravatar Brian Salomon2018-02-02
| | | | | | | | | | | | | | | | | | | | This reverts commit d0d7270fcc32546005b8e847df516cb11592cd30. Revert "More sample count cleanup:" This reverts commit d653cac70ed17983125ceed053138c09f1401846. Revert "Add new GrContext queries for imagability, surfacability, and max sample count of color types" This reverts commit 85ae7159c9c8a9186a4c7e74304eabb35bca9a79. Need to understand NVPR perf changes before relanding Change-Id: I0db075fb42438ef2a1f9885df184dce52892ac4b Reviewed-on: https://skia-review.googlesource.com/102780 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* More sample count cleanup:Gravatar Brian Salomon2018-02-01
| | | | | | | | | | | | | | | | | | | rename getSampleCount -> getRenderTargetSampleCount because it will return 0 when a config is not renderable but *is* supported as a texture format. (Old name kept around until Chrome stops calling it) Add virtual GrCaps::maxRenderTargetSampleCount(GrPixelConfig). Devirtualize isConfigRenderable() and implement as maxRTSC != 0. Separate implementation for version with bool withMSAA param to be removed after Flutter is updated to no longer call. Consolidate various file static GrSurfaceDesc validators fns into GrCaps::validateSurfaceDesc(). Bug: skia: Change-Id: Ie30a291aa027e910df3bd90fac8518ccdb39e53f Reviewed-on: https://skia-review.googlesource.com/102141 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add a tools flag to suppress geometry shadersGravatar Chris Dalton2017-12-19
| | | | | | | | | Bug: skia: Change-Id: I38736c5d49e3b281c2d23af3908575274ff97b5c Reviewed-on: https://skia-review.googlesource.com/86282 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Add a tooling flag for path mask cachingGravatar Chris Dalton2017-10-13
| | | | | | | | | | | Adds the flag and a disables caching on the CCPR bots. Bug: skia: Change-Id: Icb85e77f89634dda1d419dacac5b8a93340723f0 Reviewed-on: https://skia-review.googlesource.com/59740 Reviewed-by: Eric Boren <borenet@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Update gpu caps for valid sample counts.Gravatar Greg Daniel2017-07-19
| | | | | | | | | | | | Instead of query and maxSampleCount and using that to cap, we now have each config store its supported values and when requested returns either the next highest or equal supported value, or if non the max config supported. Bug: skia: Change-Id: I8802d44c13b3b1703ee54a7e69b82102d4b8dc2d Reviewed-on: https://skia-review.googlesource.com/24302 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add support for GL 565 and 4444 configs to test toolsGravatar Brian Salomon2017-07-17
| | | | | | | Change-Id: I395e3387df44cf5370fef6ab73db73228225622f Reviewed-on: https://skia-review.googlesource.com/23946 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* deprecate odd variants of SkCanvas::readPixelsGravatar Mike Reed2017-04-17
| | | | | | | | | Bug: skia:6513 Change-Id: I51179a85f0912d3f899c368c30a943d346dd1d05 Reviewed-on: https://skia-review.googlesource.com/13589 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add the ability to enable/disable GPU path renderersGravatar csmartdalton2017-02-22
| | | | | | | | | | | | | | Adds a bitfield to GrContextOptions that masks out path renderers. Adds commandline flags support to set this bitfield in tools apps. Removes GrGLInterfaceRemoveNVPR since we can now accomplish the same thing in the context options. BUG=skia: Change-Id: Icf2a4df36374b3ba2f69ebf0db56e8aedd6cf65f Reviewed-on: https://skia-review.googlesource.com/8786 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Rename GrContextFactory::ContextOptions to ContextOverridesGravatar csmartdalton2017-02-21
| | | | | | | | | | | | | Also changes the behavior of these flags to only override their corresponding context options when set, and to leave them unchanged when not set. BUG=skia: Change-Id: I09f6be09997594fa888d9045dd4901354ef3f880 Reviewed-on: https://skia-review.googlesource.com/8780 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Move SkOSPath out of include/core.Gravatar Ben Wagner2016-11-08
| | | | | | | | | | | | | It is moved to src/utils. It is almost a tool, but has two uses in src/ports. The existing SkOSFile.cpp is left empty for the time being since it is mentioned in Chromium's BUILD.gn for Skia. Change-Id: I3bb7f7c4214359eb6ab906bfe76737d20bf1d6c7 Reviewed-on: https://skia-review.googlesource.com/4536 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com>
* skpbench: add warmup runGravatar csmartdalton2016-10-11
| | | | | | | | | | Does actual work while waiting for hardware settings to kick in, rather than just sleeping. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2410373002 Review-Url: https://codereview.chromium.org/2410373002
* skpbench: add option for gpu timingGravatar csmartdalton2016-10-05
| | | | | | | | | | Adds a gpu timing option with a GL implementation. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2388433003 Committed: https://skia.googlesource.com/skia/+/c06720d06faab3b01eba1b8693e0ac791f06dc96 Review-Url: https://codereview.chromium.org/2388433003
* Revert of skpbench: add option for gpu timing (patchset #7 id:120001 of ↵Gravatar mtklein2016-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2388433003/ ) Reason for revert: many bots failing Original issue's description: > skpbench: add option for gpu timing > > Adds a gpu timing option with a GL implementation. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2388433003 > > Committed: https://skia.googlesource.com/skia/+/c06720d06faab3b01eba1b8693e0ac791f06dc96 TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2390383002
* skpbench: add option for gpu timingGravatar csmartdalton2016-10-04
| | | | | | | | | Adds a gpu timing option with a GL implementation. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2388433003 Review-Url: https://codereview.chromium.org/2388433003
* Move GPU fences into sk_gpu_testGravatar csmartdalton2016-10-04
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2383383002 Review-Url: https://codereview.chromium.org/2383383002
* skpbench: use accumulative result as the defaultGravatar csmartdalton2016-09-29
| | | | | | | | | | | Uses accum instead of median for the first column in skpbench.cpp, and the default result for parseskpbench.py. The accum is empirically proving to be more repeatable than the median. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2378383002 Review-Url: https://codereview.chromium.org/2378383002
* skpbench: use double buffering instead of tripleGravatar csmartdalton2016-09-28
| | | | | | | | | | | We have no need for our command stream to get more than a couple of frames deep. Any more and we only increase our chances of sporadic flushing and unreliable timings. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2376043002 Review-Url: https://codereview.chromium.org/2376043002
* skpbench: run for a fixed durationGravatar csmartdalton2016-09-28
| | | | | | | | | Runs for a fixed amount of time instead of a fixed amount of samples. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2374093002 Review-Url: https://codereview.chromium.org/2374093002
* Add hardware monitoring to skpbenchGravatar csmartdalton2016-09-22
| | | | | | | | | | | | | | | Adds a Hardware class with hooks for entering and exiting "benchmarking" mode (e.g. locking clocks, etc.) as well as periodic polling of hardware to verify the environment is stable. Adds a partial implementation for generic Android hardware, but ultimately we will need to write specific classes tailored to each unique platform we need to test. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2360473002 Review-Url: https://codereview.chromium.org/2360473002
* skpbenchGravatar csmartdalton2016-09-19
skpbench is a benchmarking suite for skps that aims to generate 100% repeatable results. The initial commit consists of three parts: skpbench A minimalist program whose sole purpose is to open an skp file, benchmark it on a single config, and exit. No tiling, looping, or other fanciness is used; it just draws the skp whole into a size- matched render target and syncs the GPU after each draw. Limiting the entire process to a single config/skp pair helps to keep the results repeatable. skpbench.py A wrapper to execute the skpbench binary with various configs and skps. It also monitors the output in order to filter out and re-run results with an unacceptable stddev. In the future this script will lock down and monitor clocks and temperatures. parseskpbench.py A utility for parsing skpbench output into a spreadsheet. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2341823002 Review-Url: https://codereview.chromium.org/2341823002