aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorGravatar joshualitt <joshualitt@chromium.org>2015-07-15 08:38:02 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-07-15 08:38:02 -0700
commit82874f8b28f2d04bf5a88f4203ca087b2b8684ce (patch)
treede37512f051790f3f3f45eddac766ee78c5bd5fa /tools
parent4524813cbc34368b640af7ad4a5ce6901d0a7388 (diff)
Match works correctly on visualbench
Diffstat (limited to 'tools')
-rw-r--r--tools/VisualBench/VisualBenchmarkStream.cpp9
-rw-r--r--tools/VisualBench/VisualBenchmarkStream.h2
2 files changed, 11 insertions, 0 deletions
diff --git a/tools/VisualBench/VisualBenchmarkStream.cpp b/tools/VisualBench/VisualBenchmarkStream.cpp
index 841fb5d11b..1f16664081 100644
--- a/tools/VisualBench/VisualBenchmarkStream.cpp
+++ b/tools/VisualBench/VisualBenchmarkStream.cpp
@@ -65,6 +65,15 @@ bool VisualBenchmarkStream::ReadPicture(const char* path, SkAutoTUnref<SkPicture
}
Benchmark* VisualBenchmarkStream::next() {
+ Benchmark* bench;
+ // skips non matching benches
+ while ((bench = this->innerNext()) &&
+ SkCommandLineFlags::ShouldSkip(FLAGS_match, bench->getUniqueName())) {
+ }
+ return bench;
+}
+
+Benchmark* VisualBenchmarkStream::innerNext() {
while (fBenches) {
Benchmark* bench = fBenches->factory()(NULL);
fBenches = fBenches->next();
diff --git a/tools/VisualBench/VisualBenchmarkStream.h b/tools/VisualBench/VisualBenchmarkStream.h
index 4c6a1eb262..e8d2cbe524 100644
--- a/tools/VisualBench/VisualBenchmarkStream.h
+++ b/tools/VisualBench/VisualBenchmarkStream.h
@@ -25,6 +25,8 @@ public:
Benchmark* next();
private:
+ Benchmark* innerNext();
+
const BenchRegistry* fBenches;
const skiagm::GMRegistry* fGMs;
SkTArray<SkString> fSKPs;