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

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

Issue 2715563002: Moving SwiftShader from component to bundled library (Closed)
Patch Set: Fixed nits and some unit tests Created 3 years, 10 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_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..a3de36401c71ae5ee1dccf4033d69d66c9d11069 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,14 @@ void GpuDataManagerImplPrivate::NotifyGpuInfoUpdate() {
}
void GpuDataManagerImplPrivate::EnableSwiftShaderIfNecessary() {
- if (!GpuAccessAllowed(NULL) ||
+#if BUILDFLAG(ENABLE_SWIFTSHADER)
+ if (!GpuAccessAllowed(nullptr) ||
sugoi1 2017/03/01 16:50:22 This call to GpuAccessAllowed() causes SwiftShader
blacklisted_features_.count(gpu::GPU_FEATURE_TYPE_WEBGL)) {
- if (!swiftshader_path_.empty() &&
- !base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kDisableSoftwareRasterizer))
+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kDisableSoftwareRasterizer))
use_swiftshader_ = true;
}
+#endif
}
std::string GpuDataManagerImplPrivate::GetDomainFromURL(

Powered by Google App Engine
This is Rietveld 408576698