OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/gpu/gpu_info_collector.h" | 5 #include "chrome/gpu/gpu_info_collector.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 #include <d3d9.h> | 8 #include <d3d9.h> |
9 | 9 |
10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 driver_major_version_lo, | 63 driver_major_version_lo, |
64 driver_minor_version_hi, | 64 driver_minor_version_hi, |
65 driver_minor_version_lo); | 65 driver_minor_version_lo); |
66 d3d->Release(); | 66 d3d->Release(); |
67 | 67 |
68 // Get shader versions | 68 // Get shader versions |
69 uint32 pixel_shader_version = d3d_caps.PixelShaderVersion; | 69 uint32 pixel_shader_version = d3d_caps.PixelShaderVersion; |
70 uint32 vertex_shader_version = d3d_caps.VertexShaderVersion; | 70 uint32 vertex_shader_version = d3d_caps.VertexShaderVersion; |
71 | 71 |
72 gpu_info.SetGraphicsInfo(vendor_id, device_id, driver_version, | 72 gpu_info.SetGraphicsInfo(vendor_id, device_id, driver_version, |
73 pixel_shader_version, vertex_shader_version); | 73 pixel_shader_version, vertex_shader_version, 0); |
74 return true; | 74 return true; |
75 } | 75 } |
76 | 76 |
77 bool CollectGraphicsInfoGL(GPUInfo& gpu_info) { | 77 bool CollectGraphicsInfoGL(GPUInfo& gpu_info) { |
78 // Taken from http://developer.nvidia.com/object/device_ids.html | 78 // Taken from http://developer.nvidia.com/object/device_ids.html |
79 DISPLAY_DEVICE dd; | 79 DISPLAY_DEVICE dd; |
80 dd.cb = sizeof(DISPLAY_DEVICE); | 80 dd.cb = sizeof(DISPLAY_DEVICE); |
81 int i = 0; | 81 int i = 0; |
82 std::wstring id; | 82 std::wstring id; |
83 for (int i = 0; EnumDisplayDevices(NULL, i, &dd, 0); ++i) { | 83 for (int i = 0; EnumDisplayDevices(NULL, i, &dd, 0); ++i) { |
84 if (dd.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE) { | 84 if (dd.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE) { |
85 id = dd.DeviceID; | 85 id = dd.DeviceID; |
86 break; | 86 break; |
87 } | 87 } |
88 } | 88 } |
89 if (id.empty()) { | 89 if (id.empty()) { |
90 return false; | 90 return false; |
91 } | 91 } |
92 uint32 vendor_id; | 92 uint32 vendor_id; |
93 uint32 device_id; | 93 uint32 device_id; |
94 std::wstring vendorid = id.substr(8, 4); | 94 std::wstring vendorid = id.substr(8, 4); |
95 std::wstring deviceid = id.substr(17, 4); | 95 std::wstring deviceid = id.substr(17, 4); |
96 swscanf_s(vendorid.c_str(), L"%x", &vendor_id); | 96 swscanf_s(vendorid.c_str(), L"%x", &vendor_id); |
97 swscanf_s(deviceid.c_str(), L"%x", &device_id); | 97 swscanf_s(deviceid.c_str(), L"%x", &device_id); |
98 | 98 |
99 std::wstring driver_version = L""; | 99 std::wstring driver_version = L""; |
100 uint32 pixel_shader_version = 0; | 100 uint32 pixel_shader_version = 0; |
101 uint32 vertex_shader_version = 0; | 101 uint32 vertex_shader_version = 0; |
102 gpu_info.SetGraphicsInfo(vendor_id, device_id, driver_version, | 102 gpu_info.SetGraphicsInfo(vendor_id, device_id, driver_version, |
103 pixel_shader_version, vertex_shader_version); | 103 pixel_shader_version, vertex_shader_version, 0); |
104 return true; | 104 return true; |
105 | 105 |
106 // TODO(rlp): Add driver and pixel versions | 106 // TODO(rlp): Add driver and pixel versions |
107 } | 107 } |
108 | 108 |
109 } // namespace gpu_info_collector | 109 } // namespace gpu_info_collector |
OLD | NEW |