| 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/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 Loading... |
| 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 |
| OLD | NEW |