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

Unified Diff: gpu/config/gpu_info_collector.cc

Issue 1874643003: Do not lose secondary gpus and make sure to have an active gpu on multiple gpu configurations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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: gpu/config/gpu_info_collector.cc
diff --git a/gpu/config/gpu_info_collector.cc b/gpu/config/gpu_info_collector.cc
index 44df9f1550b2b73ed58c3bc6b994130cbaca8498..daa20db45eed3ddd3715d935db12828b92a225a6 100644
--- a/gpu/config/gpu_info_collector.cc
+++ b/gpu/config/gpu_info_collector.cc
@@ -176,7 +176,6 @@ void MergeGPUInfoGL(GPUInfo* basic_gpu_info,
DCHECK(basic_gpu_info);
// Copy over GPUs because which one is active could change.
basic_gpu_info->gpu = context_gpu_info.gpu;
- basic_gpu_info->secondary_gpus = context_gpu_info.secondary_gpus;
basic_gpu_info->gl_renderer = context_gpu_info.gl_renderer;
basic_gpu_info->gl_vendor = context_gpu_info.gl_vendor;
@@ -194,6 +193,8 @@ void MergeGPUInfoGL(GPUInfo* basic_gpu_info,
basic_gpu_info->gl_reset_notification_strategy =
context_gpu_info.gl_reset_notification_strategy;
+ if (!context_gpu_info.secondary_gpus.empty())
+ basic_gpu_info->secondary_gpus = context_gpu_info.secondary_gpus;
if (!context_gpu_info.driver_vendor.empty())
basic_gpu_info->driver_vendor = context_gpu_info.driver_vendor;
if (!context_gpu_info.driver_version.empty())
@@ -215,17 +216,20 @@ void MergeGPUInfoGL(GPUInfo* basic_gpu_info,
void IdentifyActiveGPU(GPUInfo* gpu_info) {
const std::string kNVidiaName = "nvidia";
+ const std::string kNouveauName = "nouveau";
const std::string kIntelName = "intel";
const std::string kAMDName = "amd";
const std::string kATIName = "ati";
- const std::string kVendorNames[] = {
- kNVidiaName, kIntelName, kAMDName, kATIName};
+ const std::string kRadeonName = "radeon";
+ const std::string kVendorNames[] = {kNVidiaName, kNouveauName, kIntelName,
+ kAMDName, kATIName, kRadeonName};
const uint32_t kNVidiaID = 0x10de;
const uint32_t kIntelID = 0x8086;
const uint32_t kAMDID = 0x1002;
const uint32_t kATIID = 0x1002;
- const uint32_t kVendorIDs[] = {kNVidiaID, kIntelID, kAMDID, kATIID};
+ const uint32_t kVendorIDs[] = {kNVidiaID, kNVidiaID, kIntelID,
+ kAMDID, kATIID, kAMDID};
DCHECK(gpu_info);
if (gpu_info->secondary_gpus.size() == 0)

Powered by Google App Engine
This is Rietveld 408576698