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

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

Issue 1547793004: Make gpu black list work again on Linux (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove changes from gpu_info_collector files Created 4 years, 11 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 0a07e936bf5bbc23c5cc6c6b4d860352593d1de8..65f90f142d52fbb76d21fb39415880fb99a205f6 100644
--- a/content/browser/gpu/gpu_data_manager_impl_private.cc
+++ b/content/browser/gpu/gpu_data_manager_impl_private.cc
@@ -477,7 +477,11 @@ void GpuDataManagerImplPrivate::SetGLStrings(const std::string& gl_vendor,
gpu_info.gl_version = gl_version;
gpu::IdentifyActiveGPU(&gpu_info);
- gpu::CollectDriverInfoGL(&gpu_info);
+
+ // Give a chance to IsEssentialGpuInfoAvailable() to return true. Useful
+ // to prevent launching the gpu process from SystemInfoHandler::GetInfo
+ // from DevToolsHttpHandler when running python browser tests.
+ gpu_info.context_info_state = gpu::CollectDriverInfoGL(&gpu_info);
Zhenyao Mo 2016/02/01 20:25:39 Sorry that I didn't realize this in the first plac
UpdateGpuInfo(gpu_info);
UpdateGpuSwitchingManager(gpu_info);
@@ -523,6 +527,20 @@ void GpuDataManagerImplPrivate::Initialize() {
TRACE_EVENT0("startup",
"GpuDataManagerImpl::Initialize:CollectBasicGraphicsInfo");
gpu::CollectBasicGraphicsInfo(&gpu_info);
+
+ if (command_line->HasSwitch(switches::kGpuTestingVendorId)) {
Zhenyao Mo 2016/02/01 20:19:36 It should always be the case that we either specif
+ base::HexStringToUInt(
+ command_line->GetSwitchValueASCII(switches::kGpuTestingVendorId),
+ &gpu_info.gpu.vendor_id);
+ gpu_info.gpu.active = true;
+ }
+
+ if (command_line->HasSwitch(switches::kGpuTestingDeviceId)) {
+ base::HexStringToUInt(
+ command_line->GetSwitchValueASCII(switches::kGpuTestingDeviceId),
+ &gpu_info.gpu.device_id);
+ gpu_info.gpu.active = true;
+ }
}
#if defined(ARCH_CPU_X86_FAMILY)
if (!gpu_info.gpu.vendor_id || !gpu_info.gpu.device_id) {
@@ -556,9 +574,17 @@ void GpuDataManagerImplPrivate::Initialize() {
void GpuDataManagerImplPrivate::UpdateGpuInfoHelper() {
GetContentClient()->SetGpuInfo(gpu_info_);
+ const base::CommandLine* command_line =
+ base::CommandLine::ForCurrentProcess();
+
+ std::string os_version;
+ if (command_line->HasSwitch(switches::kGpuTestingOsVersion))
+ os_version =
+ command_line->GetSwitchValueASCII(switches::kGpuTestingOsVersion);
+
if (gpu_blacklist_) {
std::set<int> features = gpu_blacklist_->MakeDecision(
- gpu::GpuControlList::kOsAny, std::string(), gpu_info_);
+ gpu::GpuControlList::kOsAny, os_version, gpu_info_);
if (update_histograms_)
UpdateStats(gpu_info_, gpu_blacklist_.get(), features);
@@ -566,13 +592,11 @@ void GpuDataManagerImplPrivate::UpdateGpuInfoHelper() {
}
if (gpu_driver_bug_list_) {
gpu_driver_bugs_ = gpu_driver_bug_list_->MakeDecision(
- gpu::GpuControlList::kOsAny, std::string(), gpu_info_);
+ gpu::GpuControlList::kOsAny, os_version, gpu_info_);
std::set<std::string> disabled_ext_set;
// Merge disabled extensions from the command line with gpu driver bug list.
- const base::CommandLine* command_line =
- base::CommandLine::ForCurrentProcess();
if (command_line) {
const std::vector<std::string>& disabled_command_line_exts =
base::SplitString(

Powered by Google App Engine
This is Rietveld 408576698