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

Side by Side Diff: bench/nanobench.cpp

Issue 2075133003: Respect color type and gamma settings in nanobench GPU configs (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 6 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 /* 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 "nanobench.h" 10 #include "nanobench.h"
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 #define kBogusContextOptions 0 395 #define kBogusContextOptions 0
396 #endif 396 #endif
397 397
398 static void create_config(const SkCommandLineConfig* config, SkTArray<Config>* c onfigs) { 398 static void create_config(const SkCommandLineConfig* config, SkTArray<Config>* c onfigs) {
399 399
400 #if SK_SUPPORT_GPU 400 #if SK_SUPPORT_GPU
401 if (const auto* gpuConfig = config->asConfigGpu()) { 401 if (const auto* gpuConfig = config->asConfigGpu()) {
402 if (!FLAGS_gpu) 402 if (!FLAGS_gpu)
403 return; 403 return;
404 404
405 const auto ctxOptions = gpuConfig->getUseNVPR() ? GrContextFactory::kEna bleNVPR_ContextOptions 405 auto ctxOptions = GrContextFactory::kNone_ContextOptions;
406 : GrContextFactory::kNon e_ContextOptions; 406 if (gpuConfig->getUseNVPR()) {
407 ctxOptions = static_cast<GrContextFactory::ContextOptions>(
408 ctxOptions | GrContextFactory::kEnableNVPR_ContextOptions);
409 }
410 if (SkColorAndColorSpaceAreGammaCorrect(gpuConfig->getColorType(),
411 gpuConfig->getColorSpace())) {
412 ctxOptions = static_cast<GrContextFactory::ContextOptions>(
413 ctxOptions | GrContextFactory::kRequireSRGBSupport_ContextOption s);
414 }
407 const auto ctxType = gpuConfig->getContextType(); 415 const auto ctxType = gpuConfig->getContextType();
408 const auto sampleCount = gpuConfig->getSamples(); 416 const auto sampleCount = gpuConfig->getSamples();
409 417
410 if (const GrContext* ctx = gGrFactory->get(ctxType, ctxOptions)) { 418 if (const GrContext* ctx = gGrFactory->get(ctxType, ctxOptions)) {
411 const auto maxSampleCount = ctx->caps()->maxSampleCount(); 419 const auto maxSampleCount = ctx->caps()->maxSampleCount();
412 if (sampleCount > ctx->caps()->maxSampleCount()) { 420 if (sampleCount > ctx->caps()->maxSampleCount()) {
413 SkDebugf("Configuration sample count %d exceeds maximum %d.\n", 421 SkDebugf("Configuration sample count %d exceeds maximum %d.\n",
414 sampleCount, maxSampleCount); 422 sampleCount, maxSampleCount);
415 return; 423 return;
416 } 424 }
417 } else { 425 } else {
418 SkDebugf("No context was available matching config type and options. \n"); 426 SkDebugf("No context was available matching config type and options. \n");
419 return; 427 return;
420 } 428 }
421 429
422 Config target = { 430 Config target = {
423 gpuConfig->getTag(), 431 gpuConfig->getTag(),
424 Benchmark::kGPU_Backend, 432 Benchmark::kGPU_Backend,
425 kN32_SkColorType, 433 gpuConfig->getColorType(),
426 kPremul_SkAlphaType, 434 kPremul_SkAlphaType,
427 nullptr, 435 sk_ref_sp(gpuConfig->getColorSpace()),
428 sampleCount, 436 sampleCount,
429 ctxType, 437 ctxType,
430 ctxOptions, 438 ctxOptions,
431 gpuConfig->getUseDIText() 439 gpuConfig->getUseDIText()
432 }; 440 };
433 441
434 configs->push_back(target); 442 configs->push_back(target);
435 return; 443 return;
436 } 444 }
437 #endif 445 #endif
(...skipping 850 matching lines...) Expand 10 before | Expand all | Expand 10 after
1288 1296
1289 return 0; 1297 return 0;
1290 } 1298 }
1291 1299
1292 #if !defined SK_BUILD_FOR_IOS 1300 #if !defined SK_BUILD_FOR_IOS
1293 int main(int argc, char** argv) { 1301 int main(int argc, char** argv) {
1294 SkCommandLineFlags::Parse(argc, argv); 1302 SkCommandLineFlags::Parse(argc, argv);
1295 return nanobench_main(); 1303 return nanobench_main();
1296 } 1304 }
1297 #endif 1305 #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