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 "base/string_piece.h" |
| 6 #include "base/sys_string_conversions.h" |
5 #include "chrome/common/gpu_create_command_buffer_config.h" | 7 #include "chrome/common/gpu_create_command_buffer_config.h" |
6 #include "chrome/common/gpu_info.h" | 8 #include "chrome/common/gpu_info.h" |
7 #include "chrome/common/dx_diag_node.h" | 9 #include "chrome/common/dx_diag_node.h" |
8 #include "gfx/rect.h" | 10 #include "gfx/rect.h" |
9 #include "gfx/size.h" | 11 #include "gfx/size.h" |
10 #include "ipc/ipc_channel_handle.h" | 12 #include "ipc/ipc_channel_handle.h" |
11 | 13 |
12 #define IPC_MESSAGE_IMPL | 14 #define IPC_MESSAGE_IMPL |
13 #include "chrome/common/gpu_messages.h" | 15 #include "chrome/common/gpu_messages.h" |
14 | 16 |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 LogParam(p.swap_buffers_count, l); | 125 LogParam(p.swap_buffers_count, l); |
124 l->append(")"); | 126 l->append(")"); |
125 } | 127 } |
126 #endif // if defined(OS_MACOSX) | 128 #endif // if defined(OS_MACOSX) |
127 | 129 |
128 void ParamTraits<GPUInfo> ::Write(Message* m, const param_type& p) { | 130 void ParamTraits<GPUInfo> ::Write(Message* m, const param_type& p) { |
129 WriteParam(m, static_cast<int32>(p.progress())); | 131 WriteParam(m, static_cast<int32>(p.progress())); |
130 WriteParam(m, p.initialization_time()); | 132 WriteParam(m, p.initialization_time()); |
131 WriteParam(m, p.vendor_id()); | 133 WriteParam(m, p.vendor_id()); |
132 WriteParam(m, p.device_id()); | 134 WriteParam(m, p.device_id()); |
| 135 WriteParam(m, p.driver_vendor()); |
133 WriteParam(m, p.driver_version()); | 136 WriteParam(m, p.driver_version()); |
134 WriteParam(m, p.pixel_shader_version()); | 137 WriteParam(m, p.pixel_shader_version()); |
135 WriteParam(m, p.vertex_shader_version()); | 138 WriteParam(m, p.vertex_shader_version()); |
136 WriteParam(m, p.gl_version()); | 139 WriteParam(m, p.gl_version()); |
| 140 WriteParam(m, p.gl_version_string()); |
| 141 WriteParam(m, p.gl_vendor()); |
| 142 WriteParam(m, p.gl_renderer()); |
137 WriteParam(m, p.can_lose_context()); | 143 WriteParam(m, p.can_lose_context()); |
138 | 144 |
139 #if defined(OS_WIN) | 145 #if defined(OS_WIN) |
140 ParamTraits<DxDiagNode> ::Write(m, p.dx_diagnostics()); | 146 ParamTraits<DxDiagNode> ::Write(m, p.dx_diagnostics()); |
141 #endif | 147 #endif |
142 } | 148 } |
143 | 149 |
144 bool ParamTraits<GPUInfo> ::Read(const Message* m, void** iter, param_type* p) { | 150 bool ParamTraits<GPUInfo> ::Read(const Message* m, void** iter, param_type* p) { |
145 int32 progress; | 151 int32 progress; |
146 base::TimeDelta initialization_time; | 152 base::TimeDelta initialization_time; |
147 uint32 vendor_id; | 153 uint32 vendor_id; |
148 uint32 device_id; | 154 uint32 device_id; |
149 std::wstring driver_version; | 155 std::string driver_vendor; |
| 156 std::string driver_version; |
150 uint32 pixel_shader_version; | 157 uint32 pixel_shader_version; |
151 uint32 vertex_shader_version; | 158 uint32 vertex_shader_version; |
152 uint32 gl_version; | 159 uint32 gl_version; |
| 160 std::string gl_version_string; |
| 161 std::string gl_vendor; |
| 162 std::string gl_renderer; |
153 bool can_lose_context; | 163 bool can_lose_context; |
154 bool ret = ReadParam(m, iter, &progress); | 164 bool ret = ReadParam(m, iter, &progress); |
155 ret = ret && ReadParam(m, iter, &initialization_time); | 165 ret = ret && ReadParam(m, iter, &initialization_time); |
156 ret = ret && ReadParam(m, iter, &vendor_id); | 166 ret = ret && ReadParam(m, iter, &vendor_id); |
157 ret = ret && ReadParam(m, iter, &device_id); | 167 ret = ret && ReadParam(m, iter, &device_id); |
| 168 ret = ret && ReadParam(m, iter, &driver_vendor); |
158 ret = ret && ReadParam(m, iter, &driver_version); | 169 ret = ret && ReadParam(m, iter, &driver_version); |
159 ret = ret && ReadParam(m, iter, &pixel_shader_version); | 170 ret = ret && ReadParam(m, iter, &pixel_shader_version); |
160 ret = ret && ReadParam(m, iter, &vertex_shader_version); | 171 ret = ret && ReadParam(m, iter, &vertex_shader_version); |
161 ret = ret && ReadParam(m, iter, &gl_version); | 172 ret = ret && ReadParam(m, iter, &gl_version); |
| 173 ret = ret && ReadParam(m, iter, &gl_version_string); |
| 174 ret = ret && ReadParam(m, iter, &gl_vendor); |
| 175 ret = ret && ReadParam(m, iter, &gl_renderer); |
162 ret = ret && ReadParam(m, iter, &can_lose_context); | 176 ret = ret && ReadParam(m, iter, &can_lose_context); |
163 p->SetProgress(static_cast<GPUInfo::Progress>(progress)); | 177 p->SetProgress(static_cast<GPUInfo::Progress>(progress)); |
164 if (!ret) | 178 if (!ret) |
165 return false; | 179 return false; |
166 | 180 |
167 p->SetInitializationTime(initialization_time); | 181 p->SetInitializationTime(initialization_time); |
168 p->SetGraphicsInfo(vendor_id, | 182 p->SetVideoCardInfo(vendor_id, device_id); |
169 device_id, | 183 p->SetDriverInfo(driver_vendor, driver_version); |
170 driver_version, | 184 p->SetShaderVersion(pixel_shader_version, vertex_shader_version); |
171 pixel_shader_version, | 185 p->SetGLVersion(gl_version); |
172 vertex_shader_version, | 186 p->SetGLVersionString(gl_version_string); |
173 gl_version, | 187 p->SetGLVendor(gl_vendor); |
174 can_lose_context); | 188 p->SetGLRenderer(gl_renderer); |
| 189 p->SetCanLoseContext(can_lose_context); |
175 | 190 |
176 #if defined(OS_WIN) | 191 #if defined(OS_WIN) |
177 DxDiagNode dx_diagnostics; | 192 DxDiagNode dx_diagnostics; |
178 if (!ReadParam(m, iter, &dx_diagnostics)) | 193 if (!ReadParam(m, iter, &dx_diagnostics)) |
179 return false; | 194 return false; |
180 | 195 |
181 p->SetDxDiagnostics(dx_diagnostics); | 196 p->SetDxDiagnostics(dx_diagnostics); |
182 #endif | 197 #endif |
183 | 198 |
184 return true; | 199 return true; |
185 } | 200 } |
186 | 201 |
187 void ParamTraits<GPUInfo> ::Log(const param_type& p, std::string* l) { | 202 void ParamTraits<GPUInfo> ::Log(const param_type& p, std::string* l) { |
188 l->append(base::StringPrintf("<GPUInfo> %d %d %x %x %ls %d", | 203 l->append(base::StringPrintf("<GPUInfo> %d %d %x %x %s %s %x %x %x %d", |
189 p.progress(), | 204 p.progress(), |
190 static_cast<int32>( | 205 static_cast<int32>( |
191 p.initialization_time().InMilliseconds()), | 206 p.initialization_time().InMilliseconds()), |
192 p.vendor_id(), | 207 p.vendor_id(), |
193 p.device_id(), | 208 p.device_id(), |
| 209 p.driver_vendor().c_str(), |
194 p.driver_version().c_str(), | 210 p.driver_version().c_str(), |
| 211 p.pixel_shader_version(), |
| 212 p.vertex_shader_version(), |
| 213 p.gl_version(), |
195 p.can_lose_context())); | 214 p.can_lose_context())); |
196 } | 215 } |
197 | 216 |
198 void ParamTraits<DxDiagNode> ::Write(Message* m, const param_type& p) { | 217 void ParamTraits<DxDiagNode> ::Write(Message* m, const param_type& p) { |
199 WriteParam(m, p.values); | 218 WriteParam(m, p.values); |
200 WriteParam(m, p.children); | 219 WriteParam(m, p.children); |
201 } | 220 } |
202 | 221 |
203 bool ParamTraits<DxDiagNode> ::Read(const Message* m, | 222 bool ParamTraits<DxDiagNode> ::Read(const Message* m, |
204 void** iter, | 223 void** iter, |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 } | 275 } |
257 return true; | 276 return true; |
258 } | 277 } |
259 | 278 |
260 void ParamTraits<GPUCreateCommandBufferConfig> ::Log( | 279 void ParamTraits<GPUCreateCommandBufferConfig> ::Log( |
261 const param_type& p, std::string* l) { | 280 const param_type& p, std::string* l) { |
262 l->append("<GPUCreateCommandBufferConfig>"); | 281 l->append("<GPUCreateCommandBufferConfig>"); |
263 } | 282 } |
264 | 283 |
265 } // namespace IPC | 284 } // namespace IPC |
OLD | NEW |