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 #if defined(ENABLE_GPU) | 5 #if defined(ENABLE_GPU) |
6 | 6 |
7 #include "content/common/gpu/image_transport_surface.h" | 7 #include "content/common/gpu/image_transport_surface.h" |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 | 89 |
90 bool ImageTransportHelper::OnMessageReceived(const IPC::Message& message) { | 90 bool ImageTransportHelper::OnMessageReceived(const IPC::Message& message) { |
91 bool handled = true; | 91 bool handled = true; |
92 IPC_BEGIN_MESSAGE_MAP(ImageTransportHelper, message) | 92 IPC_BEGIN_MESSAGE_MAP(ImageTransportHelper, message) |
93 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_BuffersSwappedACK, | 93 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_BuffersSwappedACK, |
94 OnBuffersSwappedACK) | 94 OnBuffersSwappedACK) |
95 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_PostSubBufferACK, | 95 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_PostSubBufferACK, |
96 OnPostSubBufferACK) | 96 OnPostSubBufferACK) |
97 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_NewACK, | 97 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_NewACK, |
98 OnNewSurfaceACK) | 98 OnNewSurfaceACK) |
| 99 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_DiscardSurface, |
| 100 OnDiscardSurface) |
99 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_ResizeViewACK, OnResizeViewACK); | 101 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_ResizeViewACK, OnResizeViewACK); |
100 IPC_MESSAGE_UNHANDLED(handled = false) | 102 IPC_MESSAGE_UNHANDLED(handled = false) |
101 IPC_END_MESSAGE_MAP() | 103 IPC_END_MESSAGE_MAP() |
102 return handled; | 104 return handled; |
103 } | 105 } |
104 | 106 |
105 void ImageTransportHelper::SendAcceleratedSurfaceNew( | 107 void ImageTransportHelper::SendAcceleratedSurfaceNew( |
106 GpuHostMsg_AcceleratedSurfaceNew_Params params) { | 108 GpuHostMsg_AcceleratedSurfaceNew_Params params) { |
107 params.surface_id = stub_->surface_id(); | 109 params.surface_id = stub_->surface_id(); |
108 params.route_id = route_id_; | 110 params.route_id = route_id_; |
(...skipping 23 matching lines...) Expand all Loading... |
132 manager_->Send(new GpuHostMsg_AcceleratedSurfacePostSubBuffer(params)); | 134 manager_->Send(new GpuHostMsg_AcceleratedSurfacePostSubBuffer(params)); |
133 } | 135 } |
134 | 136 |
135 void ImageTransportHelper::SendAcceleratedSurfaceRelease( | 137 void ImageTransportHelper::SendAcceleratedSurfaceRelease( |
136 GpuHostMsg_AcceleratedSurfaceRelease_Params params) { | 138 GpuHostMsg_AcceleratedSurfaceRelease_Params params) { |
137 params.surface_id = stub_->surface_id(); | 139 params.surface_id = stub_->surface_id(); |
138 params.route_id = route_id_; | 140 params.route_id = route_id_; |
139 manager_->Send(new GpuHostMsg_AcceleratedSurfaceRelease(params)); | 141 manager_->Send(new GpuHostMsg_AcceleratedSurfaceRelease(params)); |
140 } | 142 } |
141 | 143 |
| 144 void ImageTransportHelper::SendAcceleratedSurfaceSuggestDiscard( |
| 145 GpuHostMsg_AcceleratedSurfaceSuggestDiscard_Params params) { |
| 146 params.surface_id = stub_->surface_id(); |
| 147 params.route_id = route_id_; |
| 148 manager_->Send(new GpuHostMsg_AcceleratedSurfaceSuggestDiscard(params)); |
| 149 } |
| 150 |
142 void ImageTransportHelper::SendResizeView(const gfx::Size& size) { | 151 void ImageTransportHelper::SendResizeView(const gfx::Size& size) { |
143 manager_->Send(new GpuHostMsg_ResizeView(stub_->surface_id(), | 152 manager_->Send(new GpuHostMsg_ResizeView(stub_->surface_id(), |
144 route_id_, | 153 route_id_, |
145 size)); | 154 size)); |
146 } | 155 } |
147 | 156 |
148 void ImageTransportHelper::SetScheduled(bool is_scheduled) { | 157 void ImageTransportHelper::SetScheduled(bool is_scheduled) { |
149 gpu::GpuScheduler* scheduler = Scheduler(); | 158 gpu::GpuScheduler* scheduler = Scheduler(); |
150 if (!scheduler) | 159 if (!scheduler) |
151 return; | 160 return; |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 return NULL; | 203 return NULL; |
195 return stub_->decoder(); | 204 return stub_->decoder(); |
196 } | 205 } |
197 | 206 |
198 void ImageTransportHelper::OnNewSurfaceACK( | 207 void ImageTransportHelper::OnNewSurfaceACK( |
199 uint64 surface_handle, | 208 uint64 surface_handle, |
200 TransportDIB::Handle shm_handle) { | 209 TransportDIB::Handle shm_handle) { |
201 surface_->OnNewSurfaceACK(surface_handle, shm_handle); | 210 surface_->OnNewSurfaceACK(surface_handle, shm_handle); |
202 } | 211 } |
203 | 212 |
| 213 void ImageTransportHelper::OnDiscardSurface( |
| 214 uint64 surface_id) { |
| 215 surface_->OnDiscardSurface(surface_id); |
| 216 } |
| 217 |
204 void ImageTransportHelper::OnBuffersSwappedACK() { | 218 void ImageTransportHelper::OnBuffersSwappedACK() { |
205 surface_->OnBuffersSwappedACK(); | 219 surface_->OnBuffersSwappedACK(); |
206 } | 220 } |
207 | 221 |
208 void ImageTransportHelper::OnPostSubBufferACK() { | 222 void ImageTransportHelper::OnPostSubBufferACK() { |
209 surface_->OnPostSubBufferACK(); | 223 surface_->OnPostSubBufferACK(); |
210 } | 224 } |
211 | 225 |
212 void ImageTransportHelper::OnResizeViewACK() { | 226 void ImageTransportHelper::OnResizeViewACK() { |
213 surface_->OnResizeViewACK(); | 227 surface_->OnResizeViewACK(); |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
298 did_set_swap_interval_ = true; | 312 did_set_swap_interval_ = true; |
299 } | 313 } |
300 return true; | 314 return true; |
301 } | 315 } |
302 | 316 |
303 void PassThroughImageTransportSurface::OnNewSurfaceACK( | 317 void PassThroughImageTransportSurface::OnNewSurfaceACK( |
304 uint64 surface_handle, | 318 uint64 surface_handle, |
305 TransportDIB::Handle shm_handle) { | 319 TransportDIB::Handle shm_handle) { |
306 } | 320 } |
307 | 321 |
| 322 void PassThroughImageTransportSurface::OnDiscardSurface( |
| 323 uint64 surface_id) { |
| 324 } |
| 325 |
308 void PassThroughImageTransportSurface::OnBuffersSwappedACK() { | 326 void PassThroughImageTransportSurface::OnBuffersSwappedACK() { |
309 DCHECK(transport_); | 327 DCHECK(transport_); |
310 helper_->SetScheduled(true); | 328 helper_->SetScheduled(true); |
311 } | 329 } |
312 | 330 |
313 void PassThroughImageTransportSurface::OnPostSubBufferACK() { | 331 void PassThroughImageTransportSurface::OnPostSubBufferACK() { |
314 DCHECK(transport_); | 332 DCHECK(transport_); |
315 helper_->SetScheduled(true); | 333 helper_->SetScheduled(true); |
316 } | 334 } |
317 | 335 |
(...skipping 11 matching lines...) Expand all Loading... |
329 helper_->SendResizeView(size); | 347 helper_->SendResizeView(size); |
330 helper_->SetScheduled(false); | 348 helper_->SetScheduled(false); |
331 } else { | 349 } else { |
332 Resize(new_size_); | 350 Resize(new_size_); |
333 } | 351 } |
334 } | 352 } |
335 | 353 |
336 PassThroughImageTransportSurface::~PassThroughImageTransportSurface() {} | 354 PassThroughImageTransportSurface::~PassThroughImageTransportSurface() {} |
337 | 355 |
338 #endif // defined(ENABLE_GPU) | 356 #endif // defined(ENABLE_GPU) |
OLD | NEW |