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/command_buffer_proxy_impl.h" | 5 #include "content/common/gpu/client/command_buffer_proxy_impl.h" |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/debug/trace_event.h" | 8 #include "base/debug/trace_event.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/process_util.h" | 10 #include "base/process_util.h" |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 bool CommandBufferProxyImpl::OnMessageReceived(const IPC::Message& message) { | 51 bool CommandBufferProxyImpl::OnMessageReceived(const IPC::Message& message) { |
52 bool handled = true; | 52 bool handled = true; |
53 IPC_BEGIN_MESSAGE_MAP(CommandBufferProxyImpl, message) | 53 IPC_BEGIN_MESSAGE_MAP(CommandBufferProxyImpl, message) |
54 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_Destroyed, OnDestroyed); | 54 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_Destroyed, OnDestroyed); |
55 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_EchoAck, OnEchoAck); | 55 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_EchoAck, OnEchoAck); |
56 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_ConsoleMsg, OnConsoleMessage); | 56 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_ConsoleMsg, OnConsoleMessage); |
57 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SetMemoryAllocation, | 57 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SetMemoryAllocation, |
58 OnSetMemoryAllocation); | 58 OnSetMemoryAllocation); |
59 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SignalSyncPointAck, | 59 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SignalSyncPointAck, |
60 OnSignalSyncPointAck); | 60 OnSignalSyncPointAck); |
| 61 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SetLatencyInfo, |
| 62 OnSetLatencyInfo); |
61 IPC_MESSAGE_UNHANDLED(handled = false) | 63 IPC_MESSAGE_UNHANDLED(handled = false) |
62 IPC_END_MESSAGE_MAP() | 64 IPC_END_MESSAGE_MAP() |
63 | 65 |
64 DCHECK(handled); | 66 DCHECK(handled); |
65 return handled; | 67 return handled; |
66 } | 68 } |
67 | 69 |
68 void CommandBufferProxyImpl::OnChannelError() { | 70 void CommandBufferProxyImpl::OnChannelError() { |
69 OnDestroyed(gpu::error::kUnknown); | 71 OnDestroyed(gpu::error::kUnknown); |
70 } | 72 } |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 if (last_put_offset_ == put_offset) | 192 if (last_put_offset_ == put_offset) |
191 return; | 193 return; |
192 | 194 |
193 last_put_offset_ = put_offset; | 195 last_put_offset_ = put_offset; |
194 | 196 |
195 Send(new GpuCommandBufferMsg_AsyncFlush(route_id_, | 197 Send(new GpuCommandBufferMsg_AsyncFlush(route_id_, |
196 put_offset, | 198 put_offset, |
197 ++flush_count_)); | 199 ++flush_count_)); |
198 } | 200 } |
199 | 201 |
| 202 void CommandBufferProxyImpl::SetLatencyInfo( |
| 203 const cc::LatencyInfo& latency_info) { |
| 204 Send(new GpuCommandBufferMsg_SetLatencyInfo(route_id_, latency_info)); |
| 205 } |
| 206 |
| 207 void CommandBufferProxyImpl::SetLatencyInfoCallback( |
| 208 const GpuLatencyInfoCallback& callback) { |
| 209 latency_info_callback_ = callback; |
| 210 } |
| 211 |
| 212 void CommandBufferProxyImpl::OnSetLatencyInfo( |
| 213 const cc::LatencyInfo& latency_info) { |
| 214 if (!latency_info_callback_.is_null()) |
| 215 latency_info_callback_.Run(latency_info); |
| 216 } |
| 217 |
200 gpu::CommandBuffer::State CommandBufferProxyImpl::FlushSync( | 218 gpu::CommandBuffer::State CommandBufferProxyImpl::FlushSync( |
201 int32 put_offset, | 219 int32 put_offset, |
202 int32 last_known_get) { | 220 int32 last_known_get) { |
203 TRACE_EVENT1("gpu", "CommandBufferProxyImpl::FlushSync", "put_offset", | 221 TRACE_EVENT1("gpu", "CommandBufferProxyImpl::FlushSync", "put_offset", |
204 put_offset); | 222 put_offset); |
205 Flush(put_offset); | 223 Flush(put_offset); |
206 TryUpdateState(); | 224 TryUpdateState(); |
207 if (last_known_get == last_state_.get_offset) { | 225 if (last_known_get == last_state_.get_offset) { |
208 // Send will flag state with lost context if IPC fails. | 226 // Send will flag state with lost context if IPC fails. |
209 if (last_state_.error == gpu::error::kNoError) { | 227 if (last_state_.error == gpu::error::kNoError) { |
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
524 void CommandBufferProxyImpl::SendManagedMemoryStats( | 542 void CommandBufferProxyImpl::SendManagedMemoryStats( |
525 const GpuManagedMemoryStats& stats) { | 543 const GpuManagedMemoryStats& stats) { |
526 if (last_state_.error != gpu::error::kNoError) | 544 if (last_state_.error != gpu::error::kNoError) |
527 return; | 545 return; |
528 | 546 |
529 Send(new GpuCommandBufferMsg_SendClientManagedMemoryStats(route_id_, | 547 Send(new GpuCommandBufferMsg_SendClientManagedMemoryStats(route_id_, |
530 stats)); | 548 stats)); |
531 } | 549 } |
532 | 550 |
533 } // namespace content | 551 } // namespace content |
OLD | NEW |