Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(340)

Side by Side Diff: dm/DM.cpp

Issue 196633005: Add NVPR configs to DM (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Main binary for DM. 1 // Main binary for DM.
2 // For a high-level overview, please see dm/README. 2 // For a high-level overview, please see dm/README.
3 3
4 #include "GrContext.h" 4 #include "GrContext.h"
5 #include "GrContextFactory.h" 5 #include "GrContextFactory.h"
6 #include "SkBenchmark.h" 6 #include "SkBenchmark.h"
7 #include "SkCommandLineFlags.h" 7 #include "SkCommandLineFlags.h"
8 #include "SkForceLinking.h" 8 #include "SkForceLinking.h"
9 #include "SkGraphics.h" 9 #include "SkGraphics.h"
10 #include "SkString.h" 10 #include "SkString.h"
(...skipping 24 matching lines...) Expand all
35 DEFINE_string2(resources, i, "resources", "Path to resources directory."); 35 DEFINE_string2(resources, i, "resources", "Path to resources directory.");
36 DEFINE_string(match, "", "[~][^]substring[$] [...] of GM name to run.\n" 36 DEFINE_string(match, "", "[~][^]substring[$] [...] of GM name to run.\n"
37 "Multiple matches may be separated by spaces.\n" 37 "Multiple matches may be separated by spaces.\n"
38 "~ causes a matching GM to always be skipped\n" 38 "~ causes a matching GM to always be skipped\n"
39 "^ requires the start of the GM to match\n" 39 "^ requires the start of the GM to match\n"
40 "$ requires the end of the GM to match\n" 40 "$ requires the end of the GM to match\n"
41 "^ and $ requires an exact match\n" 41 "^ and $ requires an exact match\n"
42 "If a GM does not match any list entry,\n" 42 "If a GM does not match any list entry,\n"
43 "it is skipped unless some list entry starts with ~"); 43 "it is skipped unless some list entry starts with ~");
44 DEFINE_string(config, "565 8888 gpu nonrendering", 44 DEFINE_string(config, "565 8888 gpu nonrendering",
45 "Options: 565 8888 gpu nonrendering msaa4 msaa16 gpunull gpudebug angle mesa"); 45 "Options: 565 8888 gpu nonrendering msaa4 msaa16 nvprmsaa4 nvprmsa a16 gpunull gpudebug angle mesa");
46 DEFINE_bool(leaks, false, "Print leaked instance-counted objects at exit?"); 46 DEFINE_bool(leaks, false, "Print leaked instance-counted objects at exit?");
47 47
48 DEFINE_bool(gms, true, "Run GMs?"); 48 DEFINE_bool(gms, true, "Run GMs?");
49 DEFINE_bool(benches, true, "Run benches? Does not run GMs-as-benches."); 49 DEFINE_bool(benches, true, "Run benches? Does not run GMs-as-benches.");
50 DEFINE_bool(tests, true, "Run tests?"); 50 DEFINE_bool(tests, true, "Run tests?");
51 51
52 __SK_FORCE_IMAGE_DECODER_LINKING; 52 __SK_FORCE_IMAGE_DECODER_LINKING;
53 53
54 // "FooBar" -> "foobar". Obviously, ASCII only. 54 // "FooBar" -> "foobar". Obviously, ASCII only.
55 static SkString lowercase(SkString s) { 55 static SkString lowercase(SkString s) {
56 for (size_t i = 0; i < s.size(); i++) { 56 for (size_t i = 0; i < s.size(); i++) {
57 s[i] = tolower(s[i]); 57 s[i] = tolower(s[i]);
58 } 58 }
59 return s; 59 return s;
60 } 60 }
61 61
62 static const GrContextFactory::GLContextType native = GrContextFactory::kNative_ GLContextType; 62 static const GrContextFactory::GLContextType native = GrContextFactory::kNative_ GLContextType;
63 static const GrContextFactory::GLContextType nvpr = GrContextFactory::kNVPR_GLCo ntextType;
63 static const GrContextFactory::GLContextType null = GrContextFactory::kNull_GL ContextType; 64 static const GrContextFactory::GLContextType null = GrContextFactory::kNull_GL ContextType;
64 static const GrContextFactory::GLContextType debug = GrContextFactory::kDebug_G LContextType; 65 static const GrContextFactory::GLContextType debug = GrContextFactory::kDebug_G LContextType;
65 static const GrContextFactory::GLContextType angle = 66 static const GrContextFactory::GLContextType angle =
66 #if SK_ANGLE 67 #if SK_ANGLE
67 GrContextFactory::kANGLE_GLContextType; 68 GrContextFactory::kANGLE_GLContextType;
68 #else 69 #else
69 native; 70 native;
70 #endif 71 #endif
71 static const GrContextFactory::GLContextType mesa = 72 static const GrContextFactory::GLContextType mesa =
72 #if SK_MESA 73 #if SK_MESA
(...skipping 12 matching lines...) Expand all
85 tasks->add(SkNEW_ARGS(DM::type, \ 86 tasks->add(SkNEW_ARGS(DM::type, \
86 (name, reporter, tasks, expectations, gms[i], ## __VA_ARGS__ ))); \ 87 (name, reporter, tasks, expectations, gms[i], ## __VA_ARGS__ ))); \
87 } 88 }
88 for (int i = 0; i < gms.count(); i++) { 89 for (int i = 0; i < gms.count(); i++) {
89 for (int j = 0; j < configs.count(); j++) { 90 for (int j = 0; j < configs.count(); j++) {
90 START("565", CpuGMTask, kRGB_565_SkColorType); 91 START("565", CpuGMTask, kRGB_565_SkColorType);
91 START("8888", CpuGMTask, kPMColor_SkColorType); 92 START("8888", CpuGMTask, kPMColor_SkColorType);
92 START("gpu", GpuGMTask, native, 0); 93 START("gpu", GpuGMTask, native, 0);
93 START("msaa4", GpuGMTask, native, 4); 94 START("msaa4", GpuGMTask, native, 4);
94 START("msaa16", GpuGMTask, native, 16); 95 START("msaa16", GpuGMTask, native, 16);
96 START("nvprmsaa4", GpuGMTask, nvpr, 4);
97 START("nvprmsaa16", GpuGMTask, nvpr, 16);
95 START("gpunull", GpuGMTask, null, 0); 98 START("gpunull", GpuGMTask, null, 0);
96 START("gpudebug", GpuGMTask, debug, 0); 99 START("gpudebug", GpuGMTask, debug, 0);
97 START("angle", GpuGMTask, angle, 0); 100 START("angle", GpuGMTask, angle, 0);
98 START("mesa", GpuGMTask, mesa, 0); 101 START("mesa", GpuGMTask, mesa, 0);
99 } 102 }
100 } 103 }
101 #undef START 104 #undef START
102 } 105 }
103 106
104 static void kick_off_benches(const SkTDArray<BenchRegistry::Factory>& benches, 107 static void kick_off_benches(const SkTDArray<BenchRegistry::Factory>& benches,
105 const SkTArray<SkString>& configs, 108 const SkTArray<SkString>& configs,
106 DM::Reporter* reporter, 109 DM::Reporter* reporter,
107 DM::TaskRunner* tasks) { 110 DM::TaskRunner* tasks) {
108 #define START(name, type, ...) \ 111 #define START(name, type, ...) \
109 if (lowercase(configs[j]).equals(name)) { \ 112 if (lowercase(configs[j]).equals(name)) { \
110 tasks->add(SkNEW_ARGS(DM::type, (name, reporter, tasks, benches[i], ## _ _VA_ARGS__))); \ 113 tasks->add(SkNEW_ARGS(DM::type, (name, reporter, tasks, benches[i], ## _ _VA_ARGS__))); \
111 } 114 }
112 for (int i = 0; i < benches.count(); i++) { 115 for (int i = 0; i < benches.count(); i++) {
113 for (int j = 0; j < configs.count(); j++) { 116 for (int j = 0; j < configs.count(); j++) {
114 START("nonrendering", NonRenderingBenchTask); 117 START("nonrendering", NonRenderingBenchTask);
115 START("565", CpuBenchTask, kRGB_565_SkColorType); 118 START("565", CpuBenchTask, kRGB_565_SkColorType);
116 START("8888", CpuBenchTask, kPMColor_SkColorType); 119 START("8888", CpuBenchTask, kPMColor_SkColorType);
117 START("gpu", GpuBenchTask, native, 0); 120 START("gpu", GpuBenchTask, native, 0);
118 START("msaa4", GpuBenchTask, native, 4); 121 START("msaa4", GpuBenchTask, native, 4);
119 START("msaa16", GpuBenchTask, native, 16); 122 START("msaa16", GpuBenchTask, native, 16);
123 START("nvprmsaa4", GpuBenchTask, nvpr, 4);
124 START("nvprmsaa16", GpuBenchTask, nvpr, 16);
120 START("gpunull", GpuBenchTask, null, 0); 125 START("gpunull", GpuBenchTask, null, 0);
121 START("gpudebug", GpuBenchTask, debug, 0); 126 START("gpudebug", GpuBenchTask, debug, 0);
122 START("angle", GpuBenchTask, angle, 0); 127 START("angle", GpuBenchTask, angle, 0);
123 START("mesa", GpuBenchTask, mesa, 0); 128 START("mesa", GpuBenchTask, mesa, 0);
124 } 129 }
125 } 130 }
126 #undef START 131 #undef START
127 } 132 }
128 133
129 static void kick_off_tests(const SkTDArray<TestRegistry::Factory>& tests, 134 static void kick_off_tests(const SkTDArray<TestRegistry::Factory>& tests,
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 SkGraphics::Term(); 224 SkGraphics::Term();
220 225
221 return reporter.failed() > 0; 226 return reporter.failed() > 0;
222 } 227 }
223 228
224 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) 229 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL)
225 int main(int argc, char** argv) { 230 int main(int argc, char** argv) {
226 return tool_main(argc, argv); 231 return tool_main(argc, argv);
227 } 232 }
228 #endif 233 #endif
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698