OLD | NEW |
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 "content/common/gpu/client/gpu_channel_host.h" | 5 #include "content/common/gpu/client/gpu_channel_host.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 const gpu::GPUInfo& gpu_info) | 66 const gpu::GPUInfo& gpu_info) |
67 : factory_(factory), | 67 : factory_(factory), |
68 gpu_info_(gpu_info) { | 68 gpu_info_(gpu_info) { |
69 next_transfer_buffer_id_.GetNext(); | 69 next_transfer_buffer_id_.GetNext(); |
70 next_gpu_memory_buffer_id_.GetNext(); | 70 next_gpu_memory_buffer_id_.GetNext(); |
71 next_route_id_.GetNext(); | 71 next_route_id_.GetNext(); |
72 } | 72 } |
73 | 73 |
74 void GpuChannelHost::Connect(const IPC::ChannelHandle& channel_handle, | 74 void GpuChannelHost::Connect(const IPC::ChannelHandle& channel_handle, |
75 base::WaitableEvent* shutdown_event) { | 75 base::WaitableEvent* shutdown_event) { |
76 // Open a channel to the GPU process. We pass NULL as the main listener here | 76 // Open a channel to the GPU process. We pass nullptr as the main listener |
77 // since we need to filter everything to route it to the right thread. | 77 // here since we need to filter everything to route it to the right thread. |
78 scoped_refptr<base::MessageLoopProxy> io_loop = factory_->GetIOLoopProxy(); | 78 scoped_refptr<base::MessageLoopProxy> io_loop = factory_->GetIOLoopProxy(); |
79 channel_ = IPC::SyncChannel::Create(channel_handle, | 79 channel_ = IPC::SyncChannel::Create(channel_handle, |
80 IPC::Channel::MODE_CLIENT, | 80 IPC::Channel::MODE_CLIENT, |
81 NULL, | 81 nullptr, |
82 io_loop.get(), | 82 io_loop.get(), |
83 true, | 83 true, |
84 shutdown_event); | 84 shutdown_event); |
85 | 85 |
86 sync_filter_ = new IPC::SyncMessageFilter(shutdown_event); | 86 sync_filter_ = new IPC::SyncMessageFilter(shutdown_event); |
87 | 87 |
88 channel_->AddFilter(sync_filter_.get()); | 88 channel_->AddFilter(sync_filter_.get()); |
89 | 89 |
90 channel_filter_ = new MessageFilter(); | 90 channel_filter_ = new MessageFilter(); |
91 | 91 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 DCHECK(MessageLoopProxy::current().get()); | 158 DCHECK(MessageLoopProxy::current().get()); |
159 | 159 |
160 scoped_refptr<base::MessageLoopProxy> io_loop = | 160 scoped_refptr<base::MessageLoopProxy> io_loop = |
161 factory_->GetIOLoopProxy(); | 161 factory_->GetIOLoopProxy(); |
162 io_loop->PostTask( | 162 io_loop->PostTask( |
163 FROM_HERE, | 163 FROM_HERE, |
164 base::Bind(&GpuChannelHost::MessageFilter::OnChannelError, | 164 base::Bind(&GpuChannelHost::MessageFilter::OnChannelError, |
165 channel_filter_.get())); | 165 channel_filter_.get())); |
166 } | 166 } |
167 | 167 |
168 return NULL; | 168 return nullptr; |
169 } | 169 } |
170 | 170 |
171 CommandBufferProxyImpl* command_buffer = | 171 CommandBufferProxyImpl* command_buffer = |
172 new CommandBufferProxyImpl(this, route_id); | 172 new CommandBufferProxyImpl(this, route_id); |
173 AddRoute(route_id, command_buffer->AsWeakPtr()); | 173 AddRoute(route_id, command_buffer->AsWeakPtr()); |
174 | 174 |
175 AutoLock lock(context_lock_); | 175 AutoLock lock(context_lock_); |
176 proxies_[route_id] = command_buffer; | 176 proxies_[route_id] = command_buffer; |
177 return command_buffer; | 177 return command_buffer; |
178 } | 178 } |
(...skipping 12 matching lines...) Expand all Loading... |
191 init_params.attribs = attribs; | 191 init_params.attribs = attribs; |
192 init_params.active_url = active_url; | 192 init_params.active_url = active_url; |
193 init_params.gpu_preference = gpu_preference; | 193 init_params.gpu_preference = gpu_preference; |
194 int32 route_id = GenerateRouteID(); | 194 int32 route_id = GenerateRouteID(); |
195 bool succeeded = false; | 195 bool succeeded = false; |
196 if (!Send(new GpuChannelMsg_CreateOffscreenCommandBuffer(size, | 196 if (!Send(new GpuChannelMsg_CreateOffscreenCommandBuffer(size, |
197 init_params, | 197 init_params, |
198 route_id, | 198 route_id, |
199 &succeeded))) { | 199 &succeeded))) { |
200 LOG(ERROR) << "Failed to send GpuChannelMsg_CreateOffscreenCommandBuffer."; | 200 LOG(ERROR) << "Failed to send GpuChannelMsg_CreateOffscreenCommandBuffer."; |
201 return NULL; | 201 return nullptr; |
202 } | 202 } |
203 | 203 |
204 if (!succeeded) { | 204 if (!succeeded) { |
205 LOG(ERROR) | 205 LOG(ERROR) |
206 << "GpuChannelMsg_CreateOffscreenCommandBuffer returned failure."; | 206 << "GpuChannelMsg_CreateOffscreenCommandBuffer returned failure."; |
207 return NULL; | 207 return nullptr; |
208 } | 208 } |
209 | 209 |
210 CommandBufferProxyImpl* command_buffer = | 210 CommandBufferProxyImpl* command_buffer = |
211 new CommandBufferProxyImpl(this, route_id); | 211 new CommandBufferProxyImpl(this, route_id); |
212 AddRoute(route_id, command_buffer->AsWeakPtr()); | 212 AddRoute(route_id, command_buffer->AsWeakPtr()); |
213 | 213 |
214 AutoLock lock(context_lock_); | 214 AutoLock lock(context_lock_); |
215 proxies_[route_id] = command_buffer; | 215 proxies_[route_id] = command_buffer; |
216 return command_buffer; | 216 return command_buffer; |
217 } | 217 } |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
406 | 406 |
407 listeners_.clear(); | 407 listeners_.clear(); |
408 } | 408 } |
409 | 409 |
410 bool GpuChannelHost::MessageFilter::IsLost() const { | 410 bool GpuChannelHost::MessageFilter::IsLost() const { |
411 AutoLock lock(lock_); | 411 AutoLock lock(lock_); |
412 return lost_; | 412 return lost_; |
413 } | 413 } |
414 | 414 |
415 } // namespace content | 415 } // namespace content |
OLD | NEW |