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

Side by Side Diff: chrome/common/gpu_messages.cc

Issue 4860001: Collect DirectX diagnostic information asynchronously.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « chrome/common/gpu_info.cc ('k') | chrome/common/gpu_messages_unittest.cc » ('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) 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/common/gpu_messages.h" 5 #include "chrome/common/gpu_messages.h"
6 6
7 #include "chrome/common/gpu_create_command_buffer_config.h" 7 #include "chrome/common/gpu_create_command_buffer_config.h"
8 #include "chrome/common/gpu_info.h" 8 #include "chrome/common/gpu_info.h"
9 #include "chrome/common/dx_diag_node.h" 9 #include "chrome/common/dx_diag_node.h"
10 #include "gfx/rect.h" 10 #include "gfx/rect.h"
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 l->append(", "); 74 l->append(", ");
75 LogParam(p.height, l); 75 LogParam(p.height, l);
76 l->append(", "); 76 l->append(", ");
77 LogParam(p.identifier, l); 77 LogParam(p.identifier, l);
78 l->append(")"); 78 l->append(")");
79 } 79 }
80 80
81 #endif // if defined(OS_MACOSX) 81 #endif // if defined(OS_MACOSX)
82 82
83 void ParamTraits<GPUInfo> ::Write(Message* m, const param_type& p) { 83 void ParamTraits<GPUInfo> ::Write(Message* m, const param_type& p) {
84 ParamTraits<base::TimeDelta> ::Write(m, p.initialization_time()); 84 WriteParam(m, static_cast<int32>(p.progress()));
85 m->WriteUInt32(p.vendor_id()); 85 WriteParam(m, p.initialization_time());
86 m->WriteUInt32(p.device_id()); 86 WriteParam(m, p.vendor_id());
87 m->WriteWString(p.driver_version()); 87 WriteParam(m, p.device_id());
88 m->WriteUInt32(p.pixel_shader_version()); 88 WriteParam(m, p.driver_version());
89 m->WriteUInt32(p.vertex_shader_version()); 89 WriteParam(m, p.pixel_shader_version());
90 m->WriteUInt32(p.gl_version()); 90 WriteParam(m, p.vertex_shader_version());
91 m->WriteBool(p.can_lose_context()); 91 WriteParam(m, p.gl_version());
92 WriteParam(m, p.can_lose_context());
92 93
93 #if defined(OS_WIN) 94 #if defined(OS_WIN)
94 ParamTraits<DxDiagNode> ::Write(m, p.dx_diagnostics()); 95 ParamTraits<DxDiagNode> ::Write(m, p.dx_diagnostics());
95 #endif 96 #endif
96 } 97 }
97 98
98 bool ParamTraits<GPUInfo> ::Read(const Message* m, void** iter, param_type* p) { 99 bool ParamTraits<GPUInfo> ::Read(const Message* m, void** iter, param_type* p) {
100 int32 progress;
99 base::TimeDelta initialization_time; 101 base::TimeDelta initialization_time;
100 uint32 vendor_id; 102 uint32 vendor_id;
101 uint32 device_id; 103 uint32 device_id;
102 std::wstring driver_version; 104 std::wstring driver_version;
103 uint32 pixel_shader_version; 105 uint32 pixel_shader_version;
104 uint32 vertex_shader_version; 106 uint32 vertex_shader_version;
105 uint32 gl_version; 107 uint32 gl_version;
106 bool can_lose_context; 108 bool can_lose_context;
107 bool ret = ParamTraits<base::TimeDelta> ::Read(m, iter, &initialization_time); 109 bool ret = ReadParam(m, iter, &progress);
108 ret = ret && m->ReadUInt32(iter, &vendor_id); 110 ret = ret && ReadParam(m, iter, &initialization_time);
109 ret = ret && m->ReadUInt32(iter, &device_id); 111 ret = ret && ReadParam(m, iter, &vendor_id);
110 ret = ret && m->ReadWString(iter, &driver_version); 112 ret = ret && ReadParam(m, iter, &device_id);
111 ret = ret && m->ReadUInt32(iter, &pixel_shader_version); 113 ret = ret && ReadParam(m, iter, &driver_version);
112 ret = ret && m->ReadUInt32(iter, &vertex_shader_version); 114 ret = ret && ReadParam(m, iter, &pixel_shader_version);
113 ret = ret && m->ReadUInt32(iter, &gl_version); 115 ret = ret && ReadParam(m, iter, &vertex_shader_version);
114 ret = ret && m->ReadBool(iter, &can_lose_context); 116 ret = ret && ReadParam(m, iter, &gl_version);
117 ret = ret && ReadParam(m, iter, &can_lose_context);
118 p->SetProgress(static_cast<GPUInfo::Progress>(progress));
115 if (!ret) 119 if (!ret)
116 return false; 120 return false;
117 121
118 p->SetInitializationTime(initialization_time); 122 p->SetInitializationTime(initialization_time);
119 p->SetGraphicsInfo(vendor_id, 123 p->SetGraphicsInfo(vendor_id,
120 device_id, 124 device_id,
121 driver_version, 125 driver_version,
122 pixel_shader_version, 126 pixel_shader_version,
123 vertex_shader_version, 127 vertex_shader_version,
124 gl_version, 128 gl_version,
125 can_lose_context); 129 can_lose_context);
126 130
127 #if defined(OS_WIN) 131 #if defined(OS_WIN)
128 DxDiagNode dx_diagnostics; 132 DxDiagNode dx_diagnostics;
129 ret = ret && ParamTraits<DxDiagNode> ::Read(m, iter, &dx_diagnostics); 133 if (!ReadParam(m, iter, &dx_diagnostics))
134 return false;
135
130 p->SetDxDiagnostics(dx_diagnostics); 136 p->SetDxDiagnostics(dx_diagnostics);
131 #endif 137 #endif
132 138
133 return ret; 139 return true;
134 } 140 }
135 141
136 void ParamTraits<GPUInfo> ::Log(const param_type& p, std::string* l) { 142 void ParamTraits<GPUInfo> ::Log(const param_type& p, std::string* l) {
137 l->append(base::StringPrintf("<GPUInfo> %d %x %x %ls %d", 143 l->append(base::StringPrintf("<GPUInfo> %d %d %x %x %ls %d",
144 p.progress(),
138 static_cast<int32>( 145 static_cast<int32>(
139 p.initialization_time().InMilliseconds()), 146 p.initialization_time().InMilliseconds()),
140 p.vendor_id(), 147 p.vendor_id(),
141 p.device_id(), 148 p.device_id(),
142 p.driver_version().c_str(), 149 p.driver_version().c_str(),
143 p.can_lose_context())); 150 p.can_lose_context()));
144 } 151 }
145 152
146 void ParamTraits<DxDiagNode> ::Write(Message* m, const param_type& p) { 153 void ParamTraits<DxDiagNode> ::Write(Message* m, const param_type& p) {
147 ParamTraits<std::map<std::string, std::string> >::Write(m, p.values); 154 WriteParam(m, p.values);
148 ParamTraits<std::map<std::string, DxDiagNode> >::Write(m, p.children); 155 WriteParam(m, p.children);
149 } 156 }
150 157
151 bool ParamTraits<DxDiagNode> ::Read(const Message* m, 158 bool ParamTraits<DxDiagNode> ::Read(const Message* m,
152 void** iter, 159 void** iter,
153 param_type* p) { 160 param_type* p) {
154 bool ret = ParamTraits<std::map<std::string, std::string> >::Read( 161 bool ret = ReadParam(m, iter, &p->values);
155 m, 162 ret = ret && ReadParam(m, iter, &p->children);
156 iter,
157 &p->values);
158 ret = ret && ParamTraits<std::map<std::string, DxDiagNode> >::Read(
159 m,
160 iter,
161 &p->children);
162 return ret; 163 return ret;
163 } 164 }
164 165
165 void ParamTraits<DxDiagNode> ::Log(const param_type& p, std::string* l) { 166 void ParamTraits<DxDiagNode> ::Log(const param_type& p, std::string* l) {
166 l->append("<DxDiagNode>"); 167 l->append("<DxDiagNode>");
167 } 168 }
168 169
169 void ParamTraits<gpu::CommandBuffer::State> ::Write(Message* m, 170 void ParamTraits<gpu::CommandBuffer::State> ::Write(Message* m,
170 const param_type& p) { 171 const param_type& p) {
171 m->WriteInt(p.num_entries); 172 WriteParam(m, p.num_entries);
172 m->WriteInt(p.get_offset); 173 WriteParam(m, p.get_offset);
173 m->WriteInt(p.put_offset); 174 WriteParam(m, p.put_offset);
174 m->WriteInt(p.token); 175 WriteParam(m, p.token);
175 m->WriteInt(p.error); 176 WriteParam(m, static_cast<int32>(p.error));
176 } 177 }
177 178
178 bool ParamTraits<gpu::CommandBuffer::State> ::Read(const Message* m, 179 bool ParamTraits<gpu::CommandBuffer::State> ::Read(const Message* m,
179 void** iter, 180 void** iter,
180 param_type* p) { 181 param_type* p) {
181 int32 temp; 182 int32 temp;
182 if (m->ReadInt(iter, &p->num_entries) && 183 if (ReadParam(m, iter, &p->num_entries) &&
183 m->ReadInt(iter, &p->get_offset) && 184 ReadParam(m, iter, &p->get_offset) &&
184 m->ReadInt(iter, &p->put_offset) && 185 ReadParam(m, iter, &p->put_offset) &&
185 m->ReadInt(iter, &p->token) && 186 ReadParam(m, iter, &p->token) &&
186 m->ReadInt(iter, &temp)) { 187 ReadParam(m, iter, &temp)) {
187 p->error = static_cast<gpu::error::Error>(temp); 188 p->error = static_cast<gpu::error::Error>(temp);
188 return true; 189 return true;
189 } else { 190 } else {
190 return false; 191 return false;
191 } 192 }
192 } 193 }
193 194
194 void ParamTraits<gpu::CommandBuffer::State> ::Log(const param_type& p, 195 void ParamTraits<gpu::CommandBuffer::State> ::Log(const param_type& p,
195 std::string* l) { 196 std::string* l) {
196 l->append("<CommandBuffer::State>"); 197 l->append("<CommandBuffer::State>");
197 } 198 }
198 199
199 void ParamTraits<GPUCreateCommandBufferConfig> ::Write( 200 void ParamTraits<GPUCreateCommandBufferConfig> ::Write(
200 Message* m, const param_type& p) { 201 Message* m, const param_type& p) {
201 m->WriteString(p.allowed_extensions); 202 WriteParam(m, p.allowed_extensions);
202 ParamTraits<std::vector<int> > ::Write(m, p.attribs); 203 WriteParam(m, p.attribs);
203 } 204 }
204 205
205 bool ParamTraits<GPUCreateCommandBufferConfig> ::Read( 206 bool ParamTraits<GPUCreateCommandBufferConfig> ::Read(
206 const Message* m, void** iter, param_type* p) { 207 const Message* m, void** iter, param_type* p) {
207 if (!m->ReadString(iter, &p->allowed_extensions) || 208 if (!ReadParam(m, iter, &p->allowed_extensions) ||
208 !ParamTraits<std::vector<int> > ::Read(m, iter, &p->attribs)) { 209 !ReadParam(m, iter, &p->attribs)) {
209 return false; 210 return false;
210 } 211 }
211 return true; 212 return true;
212 } 213 }
213 214
214 void ParamTraits<GPUCreateCommandBufferConfig> ::Log( 215 void ParamTraits<GPUCreateCommandBufferConfig> ::Log(
215 const param_type& p, std::string* l) { 216 const param_type& p, std::string* l) {
216 l->append("<GPUCreateCommandBufferConfig>"); 217 l->append("<GPUCreateCommandBufferConfig>");
217 } 218 }
218 219
219 } // namespace IPC 220 } // namespace IPC
OLDNEW
« no previous file with comments | « chrome/common/gpu_info.cc ('k') | chrome/common/gpu_messages_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698