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

Side by Side Diff: gpu/config/gpu_info_collector_unittest.cc

Issue 2153373002: On Linux rework driver_version/vendor extraction from gl version (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Just rebase Created 4 years, 4 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 unified diff | Download patch
« no previous file with comments | « gpu/config/gpu_info_collector_linux.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/strings/string_split.h" 10 #include "base/strings/string_split.h"
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 class CollectDriverInfoGLTest : public testing::Test { 239 class CollectDriverInfoGLTest : public testing::Test {
240 public: 240 public:
241 CollectDriverInfoGLTest() {} 241 CollectDriverInfoGLTest() {}
242 ~CollectDriverInfoGLTest() override {} 242 ~CollectDriverInfoGLTest() override {}
243 243
244 void SetUp() override {} 244 void SetUp() override {}
245 void TearDown() override {} 245 void TearDown() override {}
246 }; 246 };
247 247
248 TEST_F(CollectDriverInfoGLTest, CollectDriverInfoGL) { 248 TEST_F(CollectDriverInfoGLTest, CollectDriverInfoGL) {
249 // clang-format off
249 const struct { 250 const struct {
251 const char* driver_vendor;
252 const char* driver_version;
250 const char* gl_renderer; 253 const char* gl_renderer;
251 const char* gl_vendor; 254 const char* gl_vendor;
252 const char* gl_version; 255 const char* gl_version;
256 const char* expected_driver_vendor;
253 const char* expected_driver_version; 257 const char* expected_driver_version;
254 } kTestStrings[] = { 258 } kTestStrings[] = {
255 #if defined(OS_ANDROID) 259 #if defined(OS_ANDROID)
256 {"Adreno (TM) 320", 260 {"Unknown",
261 "-1",
262 "Adreno (TM) 320",
257 "Qualcomm", 263 "Qualcomm",
258 "OpenGL ES 2.0 V@14.0 AU@04.02 (CL@3206)", 264 "OpenGL ES 2.0 V@14.0 AU@04.02 (CL@3206)",
265 "Unknown",
259 "14.0"}, 266 "14.0"},
260 {"Adreno (TM) 420", "Qualcomm", "OpenGL ES 3.0 V@84.0 AU@ (CL@)", "84.0"}, 267 {"Unknown",
261 {"PowerVR Rogue G6430", 268 "-1",
269 "Adreno (TM) 420",
270 "Qualcomm",
271 "OpenGL ES 3.0 V@84.0 AU@ (CL@)",
272 "Unknown",
273 "84.0"},
274 {"Unknown",
275 "-1",
276 "PowerVR Rogue G6430",
262 "Imagination Technologies", 277 "Imagination Technologies",
263 "OpenGL ES 3.1 build 1.4@3283119", 278 "OpenGL ES 3.1 build 1.4@3283119",
279 "Unknown",
264 "1.4"}, 280 "1.4"},
265 {"Mali-T604", "ARM", "OpenGL ES 3.1", "0"}, 281 {"Unknown",
266 {"NVIDIA Tegra", 282 "-1",
283 "Mali-T604",
284 "ARM",
285 "OpenGL ES 3.1",
286 "Unknown",
287 "0"},
288 {"Unknown",
289 "-1",
290 "NVIDIA Tegra",
267 "NVIDIA Corporation", 291 "NVIDIA Corporation",
268 "OpenGL ES 3.1 NVIDIA 343.00", 292 "OpenGL ES 3.1 NVIDIA 343.00",
293 "Unknown",
269 "343.00"}, 294 "343.00"},
270 {"NVIDIA Tegra 3", 295 {"Unknown",
296 "-1",
297 "NVIDIA Tegra 3",
271 "NVIDIA Corporation", 298 "NVIDIA Corporation",
272 "OpenGL ES 2.0 14.01003", 299 "OpenGL ES 2.0 14.01003",
300 "Unknown",
273 "14.01003"}, 301 "14.01003"},
274 {"random GPU", 302 {"Unknown",
303 "-1",
304 "random GPU",
275 "random vendor", 305 "random vendor",
276 "OpenGL ES 2.0 with_long_version_string=1.2.3.4", 306 "OpenGL ES 2.0 with_long_version_string=1.2.3.4",
307 NULL,
277 "1.2"}, 308 "1.2"},
278 {"random GPU", 309 {"Unknown",
310 "-1",
311 "random GPU",
279 "random vendor", 312 "random vendor",
280 "OpenGL ES 2.0 with_short_version_string=1", 313 "OpenGL ES 2.0 with_short_version_string=1",
314 NULL,
281 "0"}, 315 "0"},
282 {"random GPU", 316 {"Unknown",
317 "-1",
318 "random GPU",
283 "random vendor", 319 "random vendor",
284 "OpenGL ES 2.0 with_no_version_string", 320 "OpenGL ES 2.0 with_no_version_string",
321 NULL,
285 "0"}, 322 "0"},
286 #elif defined(OS_MACOSX) 323 #elif defined(OS_MACOSX)
287 {"Intel Iris Pro OpenGL Engine", 324 {"Unknown",
325 "-1",
326 "Intel Iris Pro OpenGL Engine",
288 "Intel Inc.", 327 "Intel Inc.",
289 "2.1 INTEL-10.6.20", 328 "2.1 INTEL-10.6.20",
329 "Unknown",
290 "10.6.20"}, 330 "10.6.20"},
291 #elif defined(OS_LINUX) 331 #elif defined(OS_LINUX)
292 {"Quadro K2000/PCIe/SSE2", 332 {"",
333 "",
334 "Quadro K2000/PCIe/SSE2",
293 "NVIDIA Corporation", 335 "NVIDIA Corporation",
294 "4.4.0 NVIDIA 331.79", 336 "4.4.0 NVIDIA 331.79",
337 "NVIDIA",
295 "331.79"}, 338 "331.79"},
339 {"",
340 "",
341 "Gallium 0.4 on NVE7",
342 "nouveau",
343 "3.3 (Core Profile) Mesa 10.5.9",
344 "Mesa",
345 "10.5.9"},
346 {"",
347 "",
348 "Mesa DRI Intel(R) Haswell Mobile",
349 "Intel Open Source Technology Center",
350 "OpenGL ES 3.0 Mesa 12.1.0-devel (git-ed9dd3b)",
351 "Mesa",
352 "12.1.0"},
353 {"ATI / AMD",
354 "15.201.1151",
355 "ASUS R5 230 Series",
356 "ATI Technologies Inc.",
357 "4.5.13399 Compatibility Profile Context 14.0",
358 "ATI / AMD",
359 "15.201.1151"},
296 #endif 360 #endif
297 {NULL, NULL, NULL, NULL} 361 {NULL, NULL, NULL, NULL, NULL, NULL, NULL}
298 }; 362 };
363 // clang-format on
299 364
300 GPUInfo gpu_info;
301 for (int i = 0; kTestStrings[i].gl_renderer != NULL; ++i) { 365 for (int i = 0; kTestStrings[i].gl_renderer != NULL; ++i) {
302 gpu_info.gl_renderer = kTestStrings[i].gl_renderer; 366 GPUInfo gpu_info;
303 gpu_info.gl_vendor = kTestStrings[i].gl_vendor; 367 const auto& testStrings = kTestStrings[i];
304 gpu_info.gl_version = kTestStrings[i].gl_version; 368 gpu_info.driver_vendor = testStrings.driver_vendor;
305 EXPECT_EQ(CollectDriverInfoGL(&gpu_info), kCollectInfoSuccess); 369 gpu_info.driver_version = testStrings.driver_version;
306 EXPECT_EQ(gpu_info.driver_version, kTestStrings[i].expected_driver_version); 370 gpu_info.gl_renderer = testStrings.gl_renderer;
371 gpu_info.gl_vendor = testStrings.gl_vendor;
372 gpu_info.gl_version = testStrings.gl_version;
373 EXPECT_EQ(kCollectInfoSuccess, CollectDriverInfoGL(&gpu_info));
374 EXPECT_EQ(testStrings.expected_driver_version, gpu_info.driver_version);
375 if (testStrings.expected_driver_vendor) {
376 EXPECT_EQ(testStrings.expected_driver_vendor, gpu_info.driver_vendor);
377 }
307 } 378 }
308 } 379 }
309 380
310 TEST(MultiGPUsTest, IdentifyActiveGPU) { 381 TEST(MultiGPUsTest, IdentifyActiveGPU) {
311 GPUInfo::GPUDevice nvidia_gpu; 382 GPUInfo::GPUDevice nvidia_gpu;
312 nvidia_gpu.vendor_id = 0x10de; 383 nvidia_gpu.vendor_id = 0x10de;
313 nvidia_gpu.device_id = 0x0df8; 384 nvidia_gpu.device_id = 0x0df8;
314 GPUInfo::GPUDevice intel_gpu; 385 GPUInfo::GPUDevice intel_gpu;
315 intel_gpu.vendor_id = 0x8086; 386 intel_gpu.vendor_id = 0x8086;
316 intel_gpu.device_id = 0x0416; 387 intel_gpu.device_id = 0x0416;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 425
355 gpu_info.gl_vendor = "Google Corporation"; 426 gpu_info.gl_vendor = "Google Corporation";
356 gpu_info.gl_renderer = "Chrome GPU Team"; 427 gpu_info.gl_renderer = "Chrome GPU Team";
357 IdentifyActiveGPU(&gpu_info); 428 IdentifyActiveGPU(&gpu_info);
358 EXPECT_FALSE(gpu_info.gpu.active); 429 EXPECT_FALSE(gpu_info.gpu.active);
359 EXPECT_FALSE(gpu_info.secondary_gpus[0].active); 430 EXPECT_FALSE(gpu_info.secondary_gpus[0].active);
360 } 431 }
361 432
362 } // namespace gpu 433 } // namespace gpu
363 434
OLDNEW
« no previous file with comments | « gpu/config/gpu_info_collector_linux.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698