Commit Graph

28 Commits

Author SHA1 Message Date
csmartdalton
008b9d80ab Add the ability to enable/disable GPU path renderers
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>
2017-02-22 20:29:56 +00:00
csmartdalton
e812d496aa Rename GrContextFactory::ContextOptions to ContextOverrides
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>
2017-02-21 21:45:45 +00:00
csmartdalton
27f05a2172 skpbench: fix parser script for bots
- emits the timings as numbers instead of strings.
- moves 'bench_type' and 'source_type' into the key.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4823

Change-Id: Ibf98891e21c5d4c8a794c207e60d0df78d8a063c
Reviewed-on: https://skia-review.googlesource.com/4823
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2016-11-15 18:52:10 +00:00
csmartdalton
2e27207eb4 skpbench: skiaperf.py modifications
- Appends the clock and unit to the result type (e.g. "accum_cpu_ms").
- Removes the "options" key.
- Adds "bench_type" and "source_type" keys to the properties.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4737

Change-Id: I2fd27eac4f42f443131fef6b1774f20e60571cd5
Reviewed-on: https://skia-review.googlesource.com/4737
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2016-11-14 20:28:51 +00:00
Kevin Lubick
9c2249f51c skpbench: add utility to format results for Skia Perf
Adds skiaperf.py for formatting skpbench.py outputs for Skia Perf.
Also renames parseskpbench.py to sheet.py.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4657

Change-Id: I758678e1c589b15ec2d07c43e4921663e919b47b
Reviewed-on: https://skia-review.googlesource.com/4657
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2016-11-10 20:00:56 +00:00
csmartdalton
49df770318 skpbench: add "resultsfile" option
BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4654

Change-Id: I1a26eddb40de1398cad5348d3fe0ba397a87dbb0
Reviewed-on: https://skia-review.googlesource.com/4654
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2016-11-10 16:08:12 +00:00
csmartdalton
2087dda163 skpbench: remove --path flag
Replaces the confusing --path flag with a positional argument that
gives the path to the skpbench binary.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4635

Change-Id: I2b5eeca61ec85e7fe45fd3370625eddf34a2fd0e
Reviewed-on: https://skia-review.googlesource.com/4635
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2016-11-10 12:52:14 +00:00
csmartdalton
a115129a46 skpbench: call adb wait-for-device after root
BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4632

Change-Id: I310600e79141d2eafd668c76b97a017b151ac0fd
Reviewed-on: https://skia-review.googlesource.com/4632
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2016-11-09 21:29:18 +00:00
csmartdalton
f2b024db67 skpbench: filter out junk spewed by Pixel C driver
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2488043003

Review-Url: https://codereview.chromium.org/2488043003
2016-11-09 13:25:24 -08:00
csmartdalton
b87642e018 skpbench: use 3 cores instead of 4 on Pixel C
Hopefully with less cores running we will produce less heat. 3 cores
should be enough to run Ganesh, the graphics driver, and the OS.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2491633002

Review-Url: https://codereview.chromium.org/2491633002
2016-11-09 12:26:31 -08:00
csmartdalton
e4fd0780ec skpbench: simplify adb and reduce number of invocations
This change reduces a bit of startup overhead by condensing more bash
into fewer invocations of 'adb shell'.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481413003

Review-Url: https://codereview.chromium.org/2481413003
2016-11-09 08:41:23 -08:00
csmartdalton
c8b15684fe skpbench: fix typo in 6P bash script
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2486973002

Review-Url: https://codereview.chromium.org/2486973002
2016-11-08 16:50:13 -08:00
Ben Wagner
bf111d7bc9 Move SkOSPath out of include/core.
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>
2016-11-08 20:20:15 +00:00
csmartdalton
310d72c5e2 skpbench: suppot Nexus 6P
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2415033002

Review-Url: https://codereview.chromium.org/2415033002
2016-10-18 09:19:50 -07:00
csmartdalton
5772eaa91d skpbench: add warmup run
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
2016-10-11 18:28:54 -07:00
csmartdalton
2a9610171b skpbench: add debug prints for thermal trip points
Prints thermal trip points that have been exceeded when a
HardwareException is raised, and verbosity is set to debug. This can
help us correlate thermal trip points with throttling and detect
future throttling before it occurs.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2408893002

Review-Url: https://codereview.chromium.org/2408893002
2016-10-11 12:15:13 -07:00
csmartdalton
c6618dd1da 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
Review-Url: https://codereview.chromium.org/2388433003
2016-10-05 08:42:03 -07:00
mtklein
56df2de7fb Revert of skpbench: add option for gpu timing (patchset #7 id:120001 of 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
2016-10-04 12:49:45 -07:00
csmartdalton
c06720d06f 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

Review-Url: https://codereview.chromium.org/2388433003
2016-10-04 12:33:44 -07:00
csmartdalton
421a3c1cc1 Move GPU fences into sk_gpu_test
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2383383002

Review-Url: https://codereview.chromium.org/2383383002
2016-10-04 11:08:45 -07:00
csmartdalton
6904b19f18 skpbench: use accumulative result as the default
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
2016-09-29 06:23:23 -07:00
csmartdalton
e038489a74 skpbench: use double buffering instead of triple
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
2016-09-28 14:53:07 -07:00
csmartdalton
037adf34f5 skpbench: run for a fixed duration
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
2016-09-28 13:56:01 -07:00
csmartdalton
bf41fa841b Add Pixel C knobs to skpbench
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369533002

Review-Url: https://codereview.chromium.org/2369533002
2016-09-23 11:36:11 -07:00
csmartdalton
5745d795a1 skpbench fixes for linux
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2354273004

Review-Url: https://codereview.chromium.org/2354273004
2016-09-22 12:37:22 -07:00
csmartdalton
d7a9db6444 Add hardware monitoring to skpbench
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
2016-09-22 05:10:03 -07:00
csmartdalton
0262b5c1a0 Add adb support to skpbench
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2350003002

Review-Url: https://codereview.chromium.org/2350003002
2016-09-19 12:04:56 -07:00
csmartdalton
4b5179b74c skpbench
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
2016-09-19 11:03:58 -07:00