OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 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 <ctype.h> | 8 #include <ctype.h> |
9 | 9 |
10 #include "Benchmark.h" | 10 #include "Benchmark.h" |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 } | 49 } |
50 | 50 |
51 DEFINE_int32(loops, kDefaultLoops, loops_help_txt().c_str()); | 51 DEFINE_int32(loops, kDefaultLoops, loops_help_txt().c_str()); |
52 | 52 |
53 DEFINE_int32(samples, 10, "Number of samples to measure for each bench."); | 53 DEFINE_int32(samples, 10, "Number of samples to measure for each bench."); |
54 DEFINE_int32(overheadLoops, 100000, "Loops to estimate timer overhead."); | 54 DEFINE_int32(overheadLoops, 100000, "Loops to estimate timer overhead."); |
55 DEFINE_double(overheadGoal, 0.0001, | 55 DEFINE_double(overheadGoal, 0.0001, |
56 "Loop until timer overhead is at most this fraction of our measurm
ents."); | 56 "Loop until timer overhead is at most this fraction of our measurm
ents."); |
57 DEFINE_double(gpuMs, 5, "Target bench time in millseconds for GPU."); | 57 DEFINE_double(gpuMs, 5, "Target bench time in millseconds for GPU."); |
58 DEFINE_int32(gpuFrameLag, 5, "Overestimate of maximum number of frames GPU allow
s to lag."); | 58 DEFINE_int32(gpuFrameLag, 5, "Overestimate of maximum number of frames GPU allow
s to lag."); |
| 59 DEFINE_bool(gpuCompressAlphaMasks, false, "Compress masks generated from falling
back to " |
| 60 "software path rendering."); |
59 | 61 |
60 DEFINE_string(outResultsFile, "", "If given, write results here as JSON."); | 62 DEFINE_string(outResultsFile, "", "If given, write results here as JSON."); |
61 DEFINE_int32(maxCalibrationAttempts, 3, | 63 DEFINE_int32(maxCalibrationAttempts, 3, |
62 "Try up to this many times to guess loops for a bench, or skip the
bench."); | 64 "Try up to this many times to guess loops for a bench, or skip the
bench."); |
63 DEFINE_int32(maxLoops, 1000000, "Never run a bench more times than this."); | 65 DEFINE_int32(maxLoops, 1000000, "Never run a bench more times than this."); |
64 DEFINE_string(key, "", "Space-separated key/value pairs to add to JSON."); | 66 DEFINE_string(key, "", "Space-separated key/value pairs to add to JSON."); |
65 DEFINE_string(gitHash, "", "Git hash to add to JSON."); | 67 DEFINE_string(gitHash, "", "Git hash to add to JSON."); |
66 | 68 |
67 DEFINE_string(clip, "0,0,1000,1000", "Clip for SKPs."); | 69 DEFINE_string(clip, "0,0,1000,1000", "Clip for SKPs."); |
68 DEFINE_string(scales, "1.0", "Space-separated scales for SKPs."); | 70 DEFINE_string(scales, "1.0", "Space-separated scales for SKPs."); |
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
522 int fCurrentScale; | 524 int fCurrentScale; |
523 int fCurrentSKP; | 525 int fCurrentSKP; |
524 }; | 526 }; |
525 | 527 |
526 int nanobench_main(); | 528 int nanobench_main(); |
527 int nanobench_main() { | 529 int nanobench_main() { |
528 SetupCrashHandler(); | 530 SetupCrashHandler(); |
529 SkAutoGraphics ag; | 531 SkAutoGraphics ag; |
530 | 532 |
531 #if SK_SUPPORT_GPU | 533 #if SK_SUPPORT_GPU |
532 gGrFactory.reset(SkNEW_ARGS(GrContextFactory, (GrContext::Options()))); | 534 GrContext::Options grContextOpts; |
| 535 grContextOpts.fDrawPathToCompressedTexture = FLAGS_gpuCompressAlphaMasks; |
| 536 gGrFactory.reset(SkNEW_ARGS(GrContextFactory, (grContextOpts))); |
533 #endif | 537 #endif |
534 | 538 |
535 if (kAutoTuneLoops != FLAGS_loops) { | 539 if (kAutoTuneLoops != FLAGS_loops) { |
536 FLAGS_samples = 1; | 540 FLAGS_samples = 1; |
537 FLAGS_gpuFrameLag = 0; | 541 FLAGS_gpuFrameLag = 0; |
538 } | 542 } |
539 | 543 |
540 if (!FLAGS_writePath.isEmpty()) { | 544 if (!FLAGS_writePath.isEmpty()) { |
541 SkDebugf("Writing files to %s.\n", FLAGS_writePath[0]); | 545 SkDebugf("Writing files to %s.\n", FLAGS_writePath[0]); |
542 if (!sk_mkdir(FLAGS_writePath[0])) { | 546 if (!sk_mkdir(FLAGS_writePath[0])) { |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 | 689 |
686 return 0; | 690 return 0; |
687 } | 691 } |
688 | 692 |
689 #if !defined SK_BUILD_FOR_IOS | 693 #if !defined SK_BUILD_FOR_IOS |
690 int main(int argc, char** argv) { | 694 int main(int argc, char** argv) { |
691 SkCommandLineFlags::Parse(argc, argv); | 695 SkCommandLineFlags::Parse(argc, argv); |
692 return nanobench_main(); | 696 return nanobench_main(); |
693 } | 697 } |
694 #endif | 698 #endif |
OLD | NEW |