Index: gpu/config/gpu_info_collector_unittest.cc |
diff --git a/gpu/config/gpu_info_collector_unittest.cc b/gpu/config/gpu_info_collector_unittest.cc |
index 76fc31b2a6e589aa818f0d7bdea105ec5ad327fe..e4a0f66cebf966732ef5680c55ba771619ac9b92 100644 |
--- a/gpu/config/gpu_info_collector_unittest.cc |
+++ b/gpu/config/gpu_info_collector_unittest.cc |
@@ -302,5 +302,37 @@ TEST_F(CollectDriverInfoGLTest, CollectDriverInfoGL) { |
} |
} |
+TEST(MultiGPUsTest, IdentifyActiveGPU) { |
+ GPUInfo::GPUDevice nvidia_gpu; |
+ nvidia_gpu.vendor_id = 0x10de; |
+ nvidia_gpu.device_id = 0x0df8; |
+ GPUInfo::GPUDevice intel_gpu; |
+ intel_gpu.vendor_id = 0x8086; |
+ intel_gpu.device_id = 0x0416; |
+ |
+ GPUInfo gpu_info; |
+ gpu_info.gpu = nvidia_gpu; |
+ gpu_info.secondary_gpus.push_back(intel_gpu); |
+ |
+ EXPECT_FALSE(gpu_info.gpu.active); |
+ EXPECT_FALSE(gpu_info.secondary_gpus[0].active); |
+ |
+ IdentifyActiveGPU(&gpu_info); |
+ EXPECT_FALSE(gpu_info.gpu.active); |
+ EXPECT_FALSE(gpu_info.secondary_gpus[0].active); |
+ |
+ gpu_info.gl_vendor = "Intel Open Source Technology Center"; |
+ gpu_info.gl_renderer = "Mesa DRI Intel(R) Haswell Mobile"; |
+ IdentifyActiveGPU(&gpu_info); |
+ EXPECT_FALSE(gpu_info.gpu.active); |
+ EXPECT_TRUE(gpu_info.secondary_gpus[0].active); |
+ |
+ gpu_info.gl_vendor = "NVIDIA Corporation"; |
+ gpu_info.gl_renderer = "Quadro 600/PCIe/SSE2"; |
+ IdentifyActiveGPU(&gpu_info); |
+ EXPECT_TRUE(gpu_info.gpu.active); |
+ EXPECT_FALSE(gpu_info.secondary_gpus[0].active); |
+} |
+ |
} // namespace gpu |