| Index: chrome/browser/gpu_blacklist_unittest.cc
|
| ===================================================================
|
| --- chrome/browser/gpu_blacklist_unittest.cc (revision 148446)
|
| +++ chrome/browser/gpu_blacklist_unittest.cc (working copy)
|
| @@ -869,3 +869,88 @@
|
| GpuBlacklist::kOsLinux, &os_version, gpu_info);
|
| EXPECT_EQ(type, 0);
|
| }
|
| +
|
| +TEST_F(GpuBlacklistTest, MultipleGPUsAny) {
|
| + const std::string multi_gpu_json =
|
| + "{\n"
|
| + " \"name\": \"gpu blacklist\",\n"
|
| + " \"version\": \"0.1\",\n"
|
| + " \"entries\": [\n"
|
| + " {\n"
|
| + " \"id\": 1,\n"
|
| + " \"os\": {\n"
|
| + " \"type\": \"macosx\"\n"
|
| + " },\n"
|
| + " \"vendor_id\": \"0x8086\",\n"
|
| + " \"device_id\": [\"0x0166\"],\n"
|
| + " \"multi_gpu_category\": \"any\",\n"
|
| + " \"blacklist\": [\n"
|
| + " \"webgl\"\n"
|
| + " ]\n"
|
| + " }\n"
|
| + " ]\n"
|
| + "}";
|
| + Version os_version("10.6.4");
|
| +
|
| + content::GPUInfo gpu_info;
|
| + gpu_info.gpu.vendor_id = 0x10de;
|
| + gpu_info.gpu.device_id = 0x0fd5;
|
| +
|
| + scoped_ptr<GpuBlacklist> blacklist(Create());
|
| + EXPECT_TRUE(blacklist->LoadGpuBlacklist(
|
| + multi_gpu_json, GpuBlacklist::kAllOs));
|
| + GpuFeatureType type = blacklist->DetermineGpuFeatureType(
|
| + GpuBlacklist::kOsMacosx, &os_version, gpu_info);
|
| + EXPECT_EQ(type, 0);
|
| +
|
| + content::GPUInfo::GPUDevice gpu_device;
|
| + gpu_device.vendor_id = 0x8086;
|
| + gpu_device.device_id = 0x0166;
|
| + gpu_info.secondary_gpus.push_back(gpu_device);
|
| + type = blacklist->DetermineGpuFeatureType(
|
| + GpuBlacklist::kOsMacosx, &os_version, gpu_info);
|
| + EXPECT_EQ(type, content::GPU_FEATURE_TYPE_WEBGL);
|
| +}
|
| +
|
| +TEST_F(GpuBlacklistTest, MultipleGPUsSecondary) {
|
| + const std::string multi_gpu_json =
|
| + "{\n"
|
| + " \"name\": \"gpu blacklist\",\n"
|
| + " \"version\": \"0.1\",\n"
|
| + " \"entries\": [\n"
|
| + " {\n"
|
| + " \"id\": 1,\n"
|
| + " \"os\": {\n"
|
| + " \"type\": \"macosx\"\n"
|
| + " },\n"
|
| + " \"vendor_id\": \"0x8086\",\n"
|
| + " \"device_id\": [\"0x0166\"],\n"
|
| + " \"multi_gpu_category\": \"secondary\",\n"
|
| + " \"blacklist\": [\n"
|
| + " \"webgl\"\n"
|
| + " ]\n"
|
| + " }\n"
|
| + " ]\n"
|
| + "}";
|
| + Version os_version("10.6.4");
|
| +
|
| + content::GPUInfo gpu_info;
|
| + gpu_info.gpu.vendor_id = 0x10de;
|
| + gpu_info.gpu.device_id = 0x0fd5;
|
| +
|
| + scoped_ptr<GpuBlacklist> blacklist(Create());
|
| + EXPECT_TRUE(blacklist->LoadGpuBlacklist(
|
| + multi_gpu_json, GpuBlacklist::kAllOs));
|
| + GpuFeatureType type = blacklist->DetermineGpuFeatureType(
|
| + GpuBlacklist::kOsMacosx, &os_version, gpu_info);
|
| + EXPECT_EQ(type, 0);
|
| +
|
| + content::GPUInfo::GPUDevice gpu_device;
|
| + gpu_device.vendor_id = 0x8086;
|
| + gpu_device.device_id = 0x0166;
|
| + gpu_info.secondary_gpus.push_back(gpu_device);
|
| + type = blacklist->DetermineGpuFeatureType(
|
| + GpuBlacklist::kOsMacosx, &os_version, gpu_info);
|
| + EXPECT_EQ(type, content::GPU_FEATURE_TYPE_WEBGL);
|
| +}
|
| +
|
|
|