| 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..53aabc9b43994ff91eb2be33c5b801aa3b3d9607 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,9 +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)
|
| - return true;
|
| - return false;
|
| + return (feature == gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS ||
|
| + feature == gpu::GPU_FEATURE_TYPE_WEBGL2);
|
| }
|
|
|
| return (blacklisted_features_.count(feature) == 1);
|
| @@ -316,7 +316,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 +441,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);
|
| @@ -754,11 +749,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 +1129,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 +1231,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)
|
| + if (blacklisted_features_.count(gpu::GPU_FEATURE_TYPE_WEBGL) &&
|
| + !base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kDisableSoftwareRasterizer)) {
|
| + use_swiftshader_ = true;
|
| }
|
| +#endif
|
| }
|
|
|
| std::string GpuDataManagerImplPrivate::GetDomainFromURL(
|
|
|