Chromium Code Reviews| Index: content/browser/gpu/gpu_data_manager_impl_private.cc |
| diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc |
| index 8d21371fd09cb5f40b3f03622d96e787eb5c1ab4..826d2469f2c0eaad827f8c4a0e2d2146be28404c 100644 |
| --- a/content/browser/gpu/gpu_data_manager_impl_private.cc |
| +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc |
| @@ -43,6 +43,7 @@ |
| #include "gpu/ipc/service/switches.h" |
| #include "media/media_features.h" |
| #include "ui/base/ui_base_switches.h" |
| +#include "ui/gl/gl_features.h" |
| #include "ui/gl/gl_implementation.h" |
| #include "ui/gl/gl_switches.h" |
| #include "ui/gl/gpu_switching_manager.h" |
| @@ -295,7 +296,8 @@ bool GpuDataManagerImplPrivate::IsFeatureBlacklisted(int feature) const { |
| if (use_swiftshader_) { |
| // Skia's software rendering is probably more efficient than going through |
| // software emulation of the GPU, so use that. |
| - if (feature == gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS) |
| + if (feature == gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS || |
| + feature == gpu::GPU_FEATURE_TYPE_WEBGL2) |
|
grt (UTC plus 2)
2017/02/27 09:31:55
nit: add braces since the condition now spans two
sugoi
2017/02/28 16:45:10
Done.
|
| return true; |
| return false; |
| } |
| @@ -316,7 +318,8 @@ bool GpuDataManagerImplPrivate::IsDriverBugWorkaroundActive(int feature) const { |
| size_t GpuDataManagerImplPrivate::GetBlacklistedFeatureCount() const { |
| if (use_swiftshader_) |
| - return 1; |
| + return 2; // GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS and |
| + // GPU_FEATURE_TYPE_WEBGL2 |
| return blacklisted_features_.size(); |
| } |
| @@ -440,12 +443,6 @@ bool GpuDataManagerImplPrivate::ShouldUseSwiftShader() const { |
| return use_swiftshader_; |
| } |
| -void GpuDataManagerImplPrivate::RegisterSwiftShaderPath( |
| - const base::FilePath& path) { |
| - swiftshader_path_ = path; |
| - EnableSwiftShaderIfNecessary(); |
| -} |
| - |
| void GpuDataManagerImplPrivate::AddObserver(GpuDataManagerObserver* observer) { |
| GpuDataManagerImpl::UnlockedSession session(owner_); |
| observer_list_->AddObserver(observer); |
| @@ -670,10 +667,6 @@ void GpuDataManagerImplPrivate::UpdateGpuInfoHelper() { |
| } |
| void GpuDataManagerImplPrivate::UpdateGpuInfo(const gpu::GPUInfo& gpu_info) { |
| - // No further update of gpu_info if falling back to SwiftShader. |
| - if (use_swiftshader_) |
|
jbauman
2017/02/25 00:30:15
I think we still need this so we don't try to upda
sugoi
2017/02/28 16:45:10
Done.
|
| - return; |
| - |
| bool was_info_available = IsCompleteGpuInfoAvailable(); |
| gpu::MergeGPUInfo(&gpu_info_, gpu_info); |
| if (IsCompleteGpuInfoAvailable()) { |
| @@ -754,11 +747,6 @@ void GpuDataManagerImplPrivate::AppendGpuCommandLine( |
| else |
| command_line->AppendSwitchASCII(switches::kSupportsDualGpus, "false"); |
| - if (!swiftshader_path_.empty()) { |
| - command_line->AppendSwitchPath(switches::kSwiftShaderPath, |
| - swiftshader_path_); |
| - } |
| - |
| if (!gpu_driver_bugs_.empty()) { |
| command_line->AppendSwitchASCII(switches::kGpuDriverBugWorkarounds, |
| IntSetToString(gpu_driver_bugs_)); |
| @@ -1139,8 +1127,6 @@ GpuDataManagerImplPrivate::GpuDataManagerImplPrivate(GpuDataManagerImpl* owner) |
| DCHECK(owner_); |
| const base::CommandLine* command_line = |
| base::CommandLine::ForCurrentProcess(); |
| - swiftshader_path_ = command_line->GetSwitchValuePath( |
| - switches::kSwiftShaderPath); |
| if (ShouldDisableHardwareAcceleration()) |
| DisableHardwareAcceleration(); |
| @@ -1243,13 +1229,13 @@ void GpuDataManagerImplPrivate::NotifyGpuInfoUpdate() { |
| } |
| void GpuDataManagerImplPrivate::EnableSwiftShaderIfNecessary() { |
| - if (!GpuAccessAllowed(NULL) || |
| - blacklisted_features_.count(gpu::GPU_FEATURE_TYPE_WEBGL)) { |
| - if (!swiftshader_path_.empty() && |
| - !base::CommandLine::ForCurrentProcess()->HasSwitch( |
| - switches::kDisableSoftwareRasterizer)) |
| - use_swiftshader_ = true; |
| - } |
| +#if BUILDFLAG(ENABLE_SWIFTSHADER) |
| + use_swiftshader_ = |
| + (!GpuAccessAllowed(NULL) || |
|
grt (UTC plus 2)
2017/02/27 09:31:55
nit: NULL -> nullptr
sugoi
2017/02/28 16:45:09
Done.
|
| + blacklisted_features_.count(gpu::GPU_FEATURE_TYPE_WEBGL)) && |
| + !base::CommandLine::ForCurrentProcess()->HasSwitch( |
| + switches::kDisableSoftwareRasterizer); |
| +#endif |
| } |
| std::string GpuDataManagerImplPrivate::GetDomainFromURL( |