OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 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 "SkCommonFlagsConfig.h" | 8 #include "SkCommonFlagsConfig.h" |
9 #include "SkColorSpace.h" | 9 #include "SkColorSpace.h" |
10 #include "Test.h" | 10 #include "Test.h" |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 REPORTER_ASSERT(reporter, configs[31]->asConfigGpu()); | 199 REPORTER_ASSERT(reporter, configs[31]->asConfigGpu()); |
200 REPORTER_ASSERT(reporter, configs[31]->asConfigGpu()->getSamples() == 4); | 200 REPORTER_ASSERT(reporter, configs[31]->asConfigGpu()->getSamples() == 4); |
201 #ifdef SK_VULKAN | 201 #ifdef SK_VULKAN |
202 REPORTER_ASSERT(reporter, configs[32]->asConfigGpu()); | 202 REPORTER_ASSERT(reporter, configs[32]->asConfigGpu()); |
203 #endif | 203 #endif |
204 #endif | 204 #endif |
205 } | 205 } |
206 | 206 |
207 DEF_TEST(ParseConfigs_ExtendedGpuConfigsCorrect, reporter) { | 207 DEF_TEST(ParseConfigs_ExtendedGpuConfigsCorrect, reporter) { |
208 SkCommandLineFlags::StringArray config1 = make_string_array({ | 208 SkCommandLineFlags::StringArray config1 = make_string_array({ |
209 "gpu(nvpr=true,dit=false)", | 209 "gpu[nvpr=true,dit=false]", |
210 "gpu(api=angle)", | 210 "gpu[api=angle]", |
211 "gpu(api=angle-gl)", | 211 "gpu[api=angle-gl]", |
212 "gpu(api=mesa,samples=77)", | 212 "gpu[api=mesa,samples=77]", |
213 "gpu(dit=true,api=commandbuffer)", | 213 "gpu[dit=true,api=commandbuffer]", |
214 "gpu()", | 214 "gpu[]", |
215 "gpu(api=gles)", | 215 "gpu[api=gles]", |
216 "gpu(api=gl)", | 216 "gpu[api=gl]", |
217 "gpu(api=vulkan)", | 217 "gpu[api=vulkan]", |
218 }); | 218 }); |
219 | 219 |
220 SkCommandLineConfigArray configs; | 220 SkCommandLineConfigArray configs; |
221 ParseConfigs(config1, &configs); | 221 ParseConfigs(config1, &configs); |
222 REPORTER_ASSERT(reporter, configs.count() == config1.count()); | 222 REPORTER_ASSERT(reporter, configs.count() == config1.count()); |
223 for (int i = 0; i < config1.count(); ++i) { | 223 for (int i = 0; i < config1.count(); ++i) { |
224 REPORTER_ASSERT(reporter, configs[i]->getTag().equals(config1[i])); | 224 REPORTER_ASSERT(reporter, configs[i]->getTag().equals(config1[i])); |
225 } | 225 } |
226 #if SK_SUPPORT_GPU | 226 #if SK_SUPPORT_GPU |
227 REPORTER_ASSERT(reporter, configs[0]->asConfigGpu()->getContextType() == | 227 REPORTER_ASSERT(reporter, configs[0]->asConfigGpu()->getContextType() == |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 GrContextFactory::kVulkan_ContextType); | 271 GrContextFactory::kVulkan_ContextType); |
272 REPORTER_ASSERT(reporter, !configs[7]->asConfigGpu()->getUseNVPR()); | 272 REPORTER_ASSERT(reporter, !configs[7]->asConfigGpu()->getUseNVPR()); |
273 REPORTER_ASSERT(reporter, !configs[7]->asConfigGpu()->getUseDIText()); | 273 REPORTER_ASSERT(reporter, !configs[7]->asConfigGpu()->getUseDIText()); |
274 REPORTER_ASSERT(reporter, configs[7]->asConfigGpu()->getSamples() == 0); | 274 REPORTER_ASSERT(reporter, configs[7]->asConfigGpu()->getSamples() == 0); |
275 #endif | 275 #endif |
276 #endif | 276 #endif |
277 } | 277 } |
278 | 278 |
279 DEF_TEST(ParseConfigs_ExtendedGpuConfigsIncorrect, reporter) { | 279 DEF_TEST(ParseConfigs_ExtendedGpuConfigsIncorrect, reporter) { |
280 SkCommandLineFlags::StringArray config1 = make_string_array({ | 280 SkCommandLineFlags::StringArray config1 = make_string_array({ |
281 "gpu(nvpr=1)", // Number as bool. | 281 "gpu[nvpr=1]", // Number as bool. |
282 "gpu(api=gl,)", // Trailing in comma. | 282 "gpu[api=gl,]", // Trailing in comma. |
283 "gpu(api=angle-glu)", // Unknown api. | 283 "gpu[api=angle-glu]", // Unknown api. |
284 "gpu(api=,samples=0)", // Empty api. | 284 "gpu[api=,samples=0]", // Empty api. |
285 "gpu(samples=true)", // Value true as a number. | 285 "gpu[samples=true]", // Value true as a number. |
286 "gpu(samples=0,samples=0)", // Duplicate option key. | 286 "gpu[samples=0,samples=0]", // Duplicate option key. |
287 "gpu(,samples=0)", // Leading comma. | 287 "gpu[,samples=0]", // Leading comma. |
288 "gpu(samples=54", // Missing closing parenthesis. | 288 "gpu[samples=54", // Missing closing parenthesis. |
289 ",,", | 289 ",,", |
290 "gpu(", // Missing parenthesis. | 290 "gpu[", // Missing bracket. |
291 "samples=54" // No backend. | 291 "samples=54" // No backend. |
292 "gpu(nvpr=true )", // Space. | 292 "gpu[nvpr=true ]", // Space. |
293 }); | 293 }); |
294 | 294 |
295 SkCommandLineConfigArray configs; | 295 SkCommandLineConfigArray configs; |
296 ParseConfigs(config1, &configs); | 296 ParseConfigs(config1, &configs); |
297 REPORTER_ASSERT(reporter, configs.count() == config1.count()); | 297 REPORTER_ASSERT(reporter, configs.count() == config1.count()); |
298 for (int i = 0; i < config1.count(); ++i) { | 298 for (int i = 0; i < config1.count(); ++i) { |
299 REPORTER_ASSERT(reporter, configs[i]->getTag().equals(config1[i])); | 299 REPORTER_ASSERT(reporter, configs[i]->getTag().equals(config1[i])); |
300 REPORTER_ASSERT(reporter, configs[i]->getBackend().equals(config1[i])); | 300 REPORTER_ASSERT(reporter, configs[i]->getBackend().equals(config1[i])); |
301 #if SK_SUPPORT_GPU | 301 #if SK_SUPPORT_GPU |
302 REPORTER_ASSERT(reporter, !configs[i]->asConfigGpu()); | 302 REPORTER_ASSERT(reporter, !configs[i]->asConfigGpu()); |
303 #endif | 303 #endif |
304 } | 304 } |
305 } | 305 } |
306 | 306 |
307 DEF_TEST(ParseConfigs_ExtendedGpuConfigsSurprises, reporter) { | 307 DEF_TEST(ParseConfigs_ExtendedGpuConfigsSurprises, reporter) { |
308 // These just list explicitly some properties of the system. | 308 // These just list explicitly some properties of the system. |
309 SkCommandLineFlags::StringArray config1 = make_string_array({ | 309 SkCommandLineFlags::StringArray config1 = make_string_array({ |
310 // Options are not canonized -> two same configs have a different tag. | 310 // Options are not canonized -> two same configs have a different tag. |
311 "gpu(nvpr=true,dit=true)", "gpu(dit=true,nvpr=true)", | 311 "gpu[nvpr=true,dit=true]", "gpu[dit=true,nvpr=true]", |
312 "gpu(api=debug)", "gpu(api=gl)", "gpu(api=gles)", "" | 312 "gpu[api=debug]", "gpu[api=gl]", "gpu[api=gles]", "" |
313 "gpu", "gpu()", "gpu(samples=0)", "gpu(api=gles,samples=0)" | 313 "gpu", "gpu[]", "gpu[samples=0]", "gpu[api=gles,samples=0]" |
314 }); | 314 }); |
315 SkCommandLineConfigArray configs; | 315 SkCommandLineConfigArray configs; |
316 ParseConfigs(config1, &configs); | 316 ParseConfigs(config1, &configs); |
317 REPORTER_ASSERT(reporter, configs.count() == config1.count()); | 317 REPORTER_ASSERT(reporter, configs.count() == config1.count()); |
318 for (int i = 0; i < config1.count(); ++i) { | 318 for (int i = 0; i < config1.count(); ++i) { |
319 REPORTER_ASSERT(reporter, configs[i]->getTag().equals(config1[i])); | 319 REPORTER_ASSERT(reporter, configs[i]->getTag().equals(config1[i])); |
320 #if SK_SUPPORT_GPU | 320 #if SK_SUPPORT_GPU |
321 REPORTER_ASSERT(reporter, configs[i]->getBackend().equals("gpu")); | 321 REPORTER_ASSERT(reporter, configs[i]->getBackend().equals("gpu")); |
322 REPORTER_ASSERT(reporter, configs[i]->asConfigGpu()); | 322 REPORTER_ASSERT(reporter, configs[i]->asConfigGpu()); |
323 #else | 323 #else |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
356 break; | 356 break; |
357 } | 357 } |
358 REPORTER_ASSERT(reporter, | 358 REPORTER_ASSERT(reporter, |
359 configs[i]->getViaParts()[j].equals(expectedConfigs[
i].vias[j])); | 359 configs[i]->getViaParts()[j].equals(expectedConfigs[
i].vias[j])); |
360 } | 360 } |
361 } | 361 } |
362 } | 362 } |
363 | 363 |
364 DEF_TEST(ParseConfigs_ViaParsingExtendedForm, reporter) { | 364 DEF_TEST(ParseConfigs_ViaParsingExtendedForm, reporter) { |
365 SkCommandLineFlags::StringArray config1 = make_string_array({ | 365 SkCommandLineFlags::StringArray config1 = make_string_array({ |
366 "zz-qq-gpu(api=gles)", | 366 "zz-qq-gpu[api=gles]", |
367 "a-gpu(samples=1", | 367 "a-gpu[samples=1", |
368 "abc-def-angle-gl(samples=1)", | 368 "abc-def-angle-gl[samples=1]", |
369 }); | 369 }); |
370 | 370 |
371 SkCommandLineConfigArray configs; | 371 SkCommandLineConfigArray configs; |
372 ParseConfigs(config1, &configs); | 372 ParseConfigs(config1, &configs); |
373 const struct { | 373 const struct { |
374 const char* backend; | 374 const char* backend; |
375 const char* vias[3]; | 375 const char* vias[3]; |
376 } expectedConfigs[] = { | 376 } expectedConfigs[] = { |
377 #if SK_SUPPORT_GPU | 377 #if SK_SUPPORT_GPU |
378 {"gpu", {"zz", "qq", nullptr}}, | 378 {"gpu", {"zz", "qq", nullptr}}, |
379 #else | 379 #else |
380 {"gpu(api=gles)", {"zz", "qq", nullptr}}, | 380 {"gpu[api=gles]", {"zz", "qq", nullptr}}, |
381 #endif | 381 #endif |
382 {"gpu(samples=1", {"a", nullptr, nullptr}}, // This is not extended form
, but via still | 382 {"gpu[samples=1", {"a", nullptr, nullptr}}, // This is not extended form
, but via still |
383 // works as expected. | 383 // works as expected. |
384 {"gl(samples=1)", {"abc", "def", "angle"}} // This is not extended form
. Also | 384 {"gl[samples=1]", {"abc", "def", "angle"}} // This is not extended form
. Also |
385 // angle-gl is not a "backen
d" in this case. | 385 // angle-gl is not a "backen
d" in this case. |
386 }; | 386 }; |
387 for (int i = 0; i < config1.count(); ++i) { | 387 for (int i = 0; i < config1.count(); ++i) { |
388 REPORTER_ASSERT(reporter, configs[i]->getTag().equals(config1[i])); | 388 REPORTER_ASSERT(reporter, configs[i]->getTag().equals(config1[i])); |
389 REPORTER_ASSERT(reporter, configs[i]->getBackend().equals(expectedConfig
s[i].backend)); | 389 REPORTER_ASSERT(reporter, configs[i]->getBackend().equals(expectedConfig
s[i].backend)); |
390 for (int j = 0; j < static_cast<int>(SK_ARRAY_COUNT(expectedConfigs[i].v
ias)); ++j) { | 390 for (int j = 0; j < static_cast<int>(SK_ARRAY_COUNT(expectedConfigs[i].v
ias)); ++j) { |
391 if (!expectedConfigs[i].vias[j]) { | 391 if (!expectedConfigs[i].vias[j]) { |
392 REPORTER_ASSERT(reporter, configs[i]->getViaParts().count() == | 392 REPORTER_ASSERT(reporter, configs[i]->getViaParts().count() == |
393 static_cast<int>(j)); | 393 static_cast<int>(j)); |
394 break; | 394 break; |
395 } | 395 } |
396 REPORTER_ASSERT(reporter, | 396 REPORTER_ASSERT(reporter, |
397 configs[i]->getViaParts()[j].equals(expectedConfigs[
i].vias[j])); | 397 configs[i]->getViaParts()[j].equals(expectedConfigs[
i].vias[j])); |
398 } | 398 } |
399 } | 399 } |
400 #if SK_SUPPORT_GPU | 400 #if SK_SUPPORT_GPU |
401 REPORTER_ASSERT(reporter, configs[0]->asConfigGpu()); | 401 REPORTER_ASSERT(reporter, configs[0]->asConfigGpu()); |
402 REPORTER_ASSERT(reporter, !configs[1]->asConfigGpu()); | 402 REPORTER_ASSERT(reporter, !configs[1]->asConfigGpu()); |
403 REPORTER_ASSERT(reporter, !configs[2]->asConfigGpu()); | 403 REPORTER_ASSERT(reporter, !configs[2]->asConfigGpu()); |
404 #endif | 404 #endif |
405 } | 405 } |
OLD | NEW |