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

Unified Diff: content/browser/gpu/gpu_data_manager_impl.cc

Issue 10909221: Implement blacklist's force GPU capability in dual GPU machines. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/gpu/gpu_data_manager_impl.cc
===================================================================
--- content/browser/gpu/gpu_data_manager_impl.cc (revision 156326)
+++ content/browser/gpu/gpu_data_manager_impl.cc (working copy)
@@ -48,7 +48,7 @@
: complete_gpu_info_already_requested_(false),
gpu_feature_type_(content::GPU_FEATURE_TYPE_UNKNOWN),
preliminary_gpu_feature_type_(content::GPU_FEATURE_TYPE_UNKNOWN),
- gpu_switching_(content::GPU_SWITCHING_AUTOMATIC),
+ gpu_switching_(content::GPU_SWITCHING_OPTION_AUTOMATIC),
observer_list_(new GpuDataManagerObserverList),
software_rendering_(false),
card_blacklisted_(false),
@@ -60,6 +60,14 @@
}
if (command_line->HasSwitch(switches::kDisableGpu))
BlacklistCard();
+ if (command_line->HasSwitch(switches::kGpuSwitching)) {
+ std::string option_string = command_line->GetSwitchValueASCII(
+ switches::kGpuSwitching);
+ GpuSwitchingOption option = gpu_util::StringToGpuSwitchingOption(
+ option_string);
+ if (option != content::GPU_SWITCHING_OPTION_UNKNOWN)
+ gpu_switching_ = option;
+ }
}
void GpuDataManagerImpl::Initialize(
@@ -137,7 +145,8 @@
decision.blacklisted_features);
}
UpdateBlacklistedFeatures(decision.blacklisted_features);
- gpu_switching_ = decision.gpu_switching;
+ if (decision.gpu_switching != content::GPU_SWITCHING_OPTION_UNKNOWN)
+ gpu_switching_ = decision.gpu_switching;
}
{
@@ -299,6 +308,18 @@
} else if (!use_gl.empty()) {
command_line->AppendSwitchASCII(switches::kUseGL, use_gl);
}
+ switch (gpu_switching_) {
+ case content::GPU_SWITCHING_OPTION_FORCE_DISCRETE:
+ command_line->AppendSwitchASCII(switches::kGpuSwitching,
+ switches::kGpuSwitchingOptionNameForceDiscrete);
+ break;
+ case content::GPU_SWITCHING_OPTION_FORCE_INTEGRATED:
+ command_line->AppendSwitchASCII(switches::kGpuSwitching,
+ switches::kGpuSwitchingOptionNameForceIntegrated);
+ break;
+ default:
+ break;
+ }
if (!swiftshader_path.empty())
command_line->AppendSwitchPath(switches::kSwiftShaderPath,

Powered by Google App Engine
This is Rietveld 408576698