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, |