| Index: tools/VisualBench/VisualBenchmarkStream.cpp | 
| diff --git a/tools/VisualBench/VisualBenchmarkStream.cpp b/tools/VisualBench/VisualBenchmarkStream.cpp | 
| index 49bafbfceece254481e2a8a92e1196ba7656baa8..c520eeed05510f6197152a4844f8d2cc1f72d81a 100644 | 
| --- a/tools/VisualBench/VisualBenchmarkStream.cpp | 
| +++ b/tools/VisualBench/VisualBenchmarkStream.cpp | 
| @@ -74,9 +74,6 @@ | 
| } | 
| } | 
| } | 
| - | 
| -    // seed with an initial benchmark | 
| -    this->next(); | 
| } | 
|  | 
| bool VisualBenchmarkStream::ReadPicture(const char* path, SkAutoTUnref<SkPicture>* pic) { | 
| @@ -101,24 +98,23 @@ | 
| } | 
|  | 
| Benchmark* VisualBenchmarkStream::next() { | 
| -    Benchmark* bench; | 
| if (!fIsWarmedUp) { | 
| fIsWarmedUp = true; | 
| -        bench = new WarmupBench; | 
| -    } else { | 
| -        // skips non matching benches | 
| -        while ((bench = this->innerNext()) && | 
| -               (SkCommandLineFlags::ShouldSkip(FLAGS_match, bench->getUniqueName()) || | 
| -                !bench->isSuitableFor(Benchmark::kGPU_Backend))) { | 
| -            bench->unref(); | 
| -        } | 
| -    } | 
| -    if (bench && FLAGS_cpu) { | 
| -        bench = new CpuWrappedBenchmark(bench); | 
| +        return new WarmupBench; | 
| } | 
|  | 
| -    fBenchmark.reset(bench); | 
| -    return fBenchmark; | 
| +    Benchmark* bench; | 
| + | 
| +    // skips non matching benches | 
| +    while ((bench = this->innerNext()) && | 
| +           (SkCommandLineFlags::ShouldSkip(FLAGS_match, bench->getUniqueName()) || | 
| +            !bench->isSuitableFor(Benchmark::kGPU_Backend))) { | 
| +        bench->unref(); | 
| +    } | 
| +    if (FLAGS_cpu) { | 
| +        return new CpuWrappedBenchmark(bench); | 
| +    } | 
| +    return bench; | 
| } | 
|  | 
| Benchmark* VisualBenchmarkStream::innerNext() { | 
|  |