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

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

Issue 1542513002: Switch to standard integer types in gpu/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 4 years, 12 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_unittest.cc ('k') | gpu/config/gpu_test_config.h » ('j') | 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 "gpu/config/gpu_info_collector.h" 5 #include "gpu/config/gpu_info_collector.h"
6 6
7 // This has to be included before windows.h. 7 // This has to be included before windows.h.
8 #include "third_party/re2/re2/re2.h" 8 #include "third_party/re2/re2/re2.h"
9 9
10 #include <windows.h> 10 #include <windows.h>
11 #include <cfgmgr32.h> 11 #include <cfgmgr32.h>
12 #include <d3d9.h> 12 #include <d3d9.h>
13 #include <d3d11.h> 13 #include <d3d11.h>
14 #include <dxgi.h> 14 #include <dxgi.h>
15 #include <setupapi.h> 15 #include <setupapi.h>
16 #include <stddef.h>
17 #include <stdint.h>
16 18
17 #include "base/command_line.h" 19 #include "base/command_line.h"
18 #include "base/files/file_enumerator.h" 20 #include "base/files/file_enumerator.h"
19 #include "base/files/file_path.h" 21 #include "base/files/file_path.h"
20 #include "base/files/file_util.h" 22 #include "base/files/file_util.h"
21 #include "base/logging.h" 23 #include "base/logging.h"
22 #include "base/message_loop/message_loop.h" 24 #include "base/message_loop/message_loop.h"
23 #include "base/metrics/field_trial.h" 25 #include "base/metrics/field_trial.h"
24 #include "base/metrics/histogram.h" 26 #include "base/metrics/histogram.h"
25 #include "base/scoped_native_library.h" 27 #include "base/scoped_native_library.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 if (key.OpenKey(L"Lenovo", KEY_READ | KEY_WOW64_64KEY)) 84 if (key.OpenKey(L"Lenovo", KEY_READ | KEY_WOW64_64KEY))
83 return false; 85 return false;
84 86
85 if (key.OpenKey(L"Lenovo dCute", KEY_READ | KEY_WOW64_64KEY)) 87 if (key.OpenKey(L"Lenovo dCute", KEY_READ | KEY_WOW64_64KEY))
86 return false; 88 return false;
87 89
88 return true; 90 return true;
89 } 91 }
90 92
91 void DeviceIDToVendorAndDevice(const std::wstring& id, 93 void DeviceIDToVendorAndDevice(const std::wstring& id,
92 uint32* vendor_id, 94 uint32_t* vendor_id,
93 uint32* device_id) { 95 uint32_t* device_id) {
94 *vendor_id = 0; 96 *vendor_id = 0;
95 *device_id = 0; 97 *device_id = 0;
96 if (id.length() < 21) 98 if (id.length() < 21)
97 return; 99 return;
98 base::string16 vendor_id_string = id.substr(8, 4); 100 base::string16 vendor_id_string = id.substr(8, 4);
99 base::string16 device_id_string = id.substr(17, 4); 101 base::string16 device_id_string = id.substr(17, 4);
100 int vendor = 0; 102 int vendor = 0;
101 int device = 0; 103 int device = 0;
102 base::HexStringToInt(base::UTF16ToASCII(vendor_id_string), &vendor); 104 base::HexStringToInt(base::UTF16ToASCII(vendor_id_string), &vendor);
103 base::HexStringToInt(base::UTF16ToASCII(device_id_string), &device); 105 base::HexStringToInt(base::UTF16ToASCII(device_id_string), &device);
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 GPUDriver driver; 212 GPUDriver driver;
211 213
212 driver.driver_vendor = driver_vendor; 214 driver.driver_vendor = driver_vendor;
213 driver.driver_version = driver_version; 215 driver.driver_version = driver_version;
214 driver.driver_date = driver_date; 216 driver.driver_date = driver_date;
215 std::wstring id = new_device_id; 217 std::wstring id = new_device_id;
216 218
217 if (id.compare(0, device_id.size(), device_id) == 0) 219 if (id.compare(0, device_id.size(), device_id) == 0)
218 primary_device = drivers.size(); 220 primary_device = drivers.size();
219 221
220 uint32 vendor_id = 0, device_id = 0; 222 uint32_t vendor_id = 0, device_id = 0;
221 DeviceIDToVendorAndDevice(id, &vendor_id, &device_id); 223 DeviceIDToVendorAndDevice(id, &vendor_id, &device_id);
222 driver.device.vendor_id = vendor_id; 224 driver.device.vendor_id = vendor_id;
223 driver.device.device_id = device_id; 225 driver.device.device_id = device_id;
224 drivers.push_back(driver); 226 drivers.push_back(driver);
225 227
226 if (vendor_id == 0x8086) 228 if (vendor_id == 0x8086)
227 found_intel = true; 229 found_intel = true;
228 if (vendor_id == 0x1002) 230 if (vendor_id == 0x1002)
229 found_amd = true; 231 found_amd = true;
230 } 232 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 // DirectX diagnostics are collected asynchronously because it takes a 349 // DirectX diagnostics are collected asynchronously because it takes a
348 // couple of seconds. 350 // couple of seconds.
349 } else { 351 } else {
350 gpu_info->dx_diagnostics_info_state = kCollectInfoNonFatalFailure; 352 gpu_info->dx_diagnostics_info_state = kCollectInfoNonFatalFailure;
351 } 353 }
352 354
353 gpu_info->context_info_state = kCollectInfoSuccess; 355 gpu_info->context_info_state = kCollectInfoSuccess;
354 return kCollectInfoSuccess; 356 return kCollectInfoSuccess;
355 } 357 }
356 358
357 CollectInfoResult CollectGpuID(uint32* vendor_id, uint32* device_id) { 359 CollectInfoResult CollectGpuID(uint32_t* vendor_id, uint32_t* device_id) {
358 DCHECK(vendor_id && device_id); 360 DCHECK(vendor_id && device_id);
359 *vendor_id = 0; 361 *vendor_id = 0;
360 *device_id = 0; 362 *device_id = 0;
361 363
362 // Taken from http://developer.nvidia.com/object/device_ids.html 364 // Taken from http://developer.nvidia.com/object/device_ids.html
363 DISPLAY_DEVICE dd; 365 DISPLAY_DEVICE dd;
364 dd.cb = sizeof(DISPLAY_DEVICE); 366 dd.cb = sizeof(DISPLAY_DEVICE);
365 std::wstring id; 367 std::wstring id;
366 for (int i = 0; EnumDisplayDevices(NULL, i, &dd, 0); ++i) { 368 for (int i = 0; EnumDisplayDevices(NULL, i, &dd, 0); ++i) {
367 if (dd.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE) { 369 if (dd.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE) {
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 } 495 }
494 496
495 MergeGPUInfoGL(basic_gpu_info, context_gpu_info); 497 MergeGPUInfoGL(basic_gpu_info, context_gpu_info);
496 498
497 basic_gpu_info->dx_diagnostics_info_state = 499 basic_gpu_info->dx_diagnostics_info_state =
498 context_gpu_info.dx_diagnostics_info_state; 500 context_gpu_info.dx_diagnostics_info_state;
499 basic_gpu_info->dx_diagnostics = context_gpu_info.dx_diagnostics; 501 basic_gpu_info->dx_diagnostics = context_gpu_info.dx_diagnostics;
500 } 502 }
501 503
502 } // namespace gpu 504 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/config/gpu_info_collector_unittest.cc ('k') | gpu/config/gpu_test_config.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698