OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "BenchTimer.h" | 8 #include "BenchTimer.h" |
9 #include "ResultsWriter.h" | 9 #include "ResultsWriter.h" |
10 #include "SkBenchLogger.h" | 10 #include "SkBenchLogger.h" |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 } | 71 } |
72 | 72 |
73 return NULL; | 73 return NULL; |
74 } | 74 } |
75 | 75 |
76 private: | 76 private: |
77 const BenchRegistry* fBenches; | 77 const BenchRegistry* fBenches; |
78 const skiagm::GMRegistry* fGMs; | 78 const skiagm::GMRegistry* fGMs; |
79 }; | 79 }; |
80 | 80 |
81 class AutoPrePostDraw { | |
82 public: | |
83 AutoPrePostDraw(SkBenchmark* bench) : fBench(bench) { | |
84 fBench->preDraw(); | |
85 } | |
86 ~AutoPrePostDraw() { | |
87 fBench->postDraw(); | |
88 } | |
89 private: | |
90 SkBenchmark* fBench; | |
91 }; | |
92 | |
93 static void make_filename(const char name[], SkString* path) { | 81 static void make_filename(const char name[], SkString* path) { |
94 path->set(name); | 82 path->set(name); |
95 for (int i = 0; name[i]; i++) { | 83 for (int i = 0; name[i]; i++) { |
96 switch (name[i]) { | 84 switch (name[i]) { |
97 case '/': | 85 case '/': |
98 case '\\': | 86 case '\\': |
99 case ' ': | 87 case ' ': |
100 case ':': | 88 case ':': |
101 path->writable_str()[i] = '-'; | 89 path->writable_str()[i] = '-'; |
102 break; | 90 break; |
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 while ((bench = iter.next()) != NULL) { | 443 while ((bench = iter.next()) != NULL) { |
456 SkAutoTUnref<SkBenchmark> benchUnref(bench); | 444 SkAutoTUnref<SkBenchmark> benchUnref(bench); |
457 if (SkCommandLineFlags::ShouldSkip(FLAGS_match, bench->getName())) { | 445 if (SkCommandLineFlags::ShouldSkip(FLAGS_match, bench->getName())) { |
458 continue; | 446 continue; |
459 } | 447 } |
460 | 448 |
461 bench->setForceAlpha(alpha); | 449 bench->setForceAlpha(alpha); |
462 bench->setForceAA(FLAGS_forceAA); | 450 bench->setForceAA(FLAGS_forceAA); |
463 bench->setForceFilter(FLAGS_forceFilter); | 451 bench->setForceFilter(FLAGS_forceFilter); |
464 bench->setDither(dither); | 452 bench->setDither(dither); |
465 AutoPrePostDraw appd(bench); | 453 bench->preDraw(); |
466 | 454 |
467 bool loggedBenchName = false; | 455 bool loggedBenchName = false; |
468 for (int i = 0; i < configs.count(); ++i) { | 456 for (int i = 0; i < configs.count(); ++i) { |
469 const int configIndex = configs[i]; | 457 const int configIndex = configs[i]; |
470 const Config& config = gConfigs[configIndex]; | 458 const Config& config = gConfigs[configIndex]; |
471 | 459 |
472 if (!bench->isSuitableFor(config.backend)) { | 460 if (!bench->isSuitableFor(config.backend)) { |
473 continue; | 461 continue; |
474 } | 462 } |
475 | 463 |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
696 gContextFactory.destroyContexts(); | 684 gContextFactory.destroyContexts(); |
697 #endif | 685 #endif |
698 return 0; | 686 return 0; |
699 } | 687 } |
700 | 688 |
701 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) | 689 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) |
702 int main(int argc, char * const argv[]) { | 690 int main(int argc, char * const argv[]) { |
703 return tool_main(argc, (char**) argv); | 691 return tool_main(argc, (char**) argv); |
704 } | 692 } |
705 #endif | 693 #endif |
OLD | NEW |