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 d0a407bd5073238344b547341e82ce511f59536e..201e45765862165daba3dd3d8118730c5b486977 100644 |
--- a/content/browser/gpu/gpu_data_manager_impl_private.cc |
+++ b/content/browser/gpu/gpu_data_manager_impl_private.cc |
@@ -1032,8 +1032,14 @@ void GpuDataManagerImplPrivate::UpdatePreliminaryBlacklistedFeatures() { |
void GpuDataManagerImplPrivate::UpdateGpuSwitchingManager( |
const gpu::GPUInfo& gpu_info) { |
- ui::GpuSwitchingManager::GetInstance()->SetGpuCount( |
- gpu_info.secondary_gpus.size() + 1); |
+ // The vendor IDs might be 0 on non-PCI devices (like Android), but |
+ // the length of the vector is all we care about in most cases. |
+ std::vector<uint32> vendor_ids; |
+ vendor_ids.push_back(gpu_info.gpu.vendor_id); |
+ for (const auto& device : gpu_info.secondary_gpus) { |
+ vendor_ids.push_back(device.vendor_id); |
+ } |
+ ui::GpuSwitchingManager::GetInstance()->SetGpuVendorIds(vendor_ids); |
if (ui::GpuSwitchingManager::GetInstance()->SupportsDualGpus()) { |
if (gpu_driver_bugs_.count(gpu::FORCE_DISCRETE_GPU) == 1) |