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/image_transport_surface.h" | 5 #include "content/common/gpu/image_transport_surface.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 | 79 |
80 manager_->Send(new GpuHostMsg_AcceleratedSurfaceInitialized( | 80 manager_->Send(new GpuHostMsg_AcceleratedSurfaceInitialized( |
81 stub_->surface_id(), route_id_)); | 81 stub_->surface_id(), route_id_)); |
82 | 82 |
83 return true; | 83 return true; |
84 } | 84 } |
85 | 85 |
86 bool ImageTransportHelper::OnMessageReceived(const IPC::Message& message) { | 86 bool ImageTransportHelper::OnMessageReceived(const IPC::Message& message) { |
87 bool handled = true; | 87 bool handled = true; |
88 IPC_BEGIN_MESSAGE_MAP(ImageTransportHelper, message) | 88 IPC_BEGIN_MESSAGE_MAP(ImageTransportHelper, message) |
| 89 #if defined(OS_MACOSX) |
89 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_BufferPresented, | 90 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_BufferPresented, |
90 OnBufferPresented) | 91 OnBufferPresented) |
| 92 #endif |
91 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_WakeUpGpu, OnWakeUpGpu); | 93 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_WakeUpGpu, OnWakeUpGpu); |
92 IPC_MESSAGE_UNHANDLED(handled = false) | 94 IPC_MESSAGE_UNHANDLED(handled = false) |
93 IPC_END_MESSAGE_MAP() | 95 IPC_END_MESSAGE_MAP() |
94 return handled; | 96 return handled; |
95 } | 97 } |
96 | 98 |
97 void ImageTransportHelper::SendAcceleratedSurfaceBuffersSwapped( | 99 void ImageTransportHelper::SendAcceleratedSurfaceBuffersSwapped( |
98 GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params) { | 100 GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params) { |
99 // TRACE_EVENT for gpu tests: | 101 // TRACE_EVENT for gpu tests: |
100 TRACE_EVENT_INSTANT2("test_gpu", "SwapBuffers", | 102 TRACE_EVENT_INSTANT2("test_gpu", "SwapBuffers", |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 return NULL; | 167 return NULL; |
166 return stub_->scheduler(); | 168 return stub_->scheduler(); |
167 } | 169 } |
168 | 170 |
169 gpu::gles2::GLES2Decoder* ImageTransportHelper::Decoder() { | 171 gpu::gles2::GLES2Decoder* ImageTransportHelper::Decoder() { |
170 if (!stub_.get()) | 172 if (!stub_.get()) |
171 return NULL; | 173 return NULL; |
172 return stub_->decoder(); | 174 return stub_->decoder(); |
173 } | 175 } |
174 | 176 |
| 177 #if defined(OS_MACOSX) |
175 void ImageTransportHelper::OnBufferPresented( | 178 void ImageTransportHelper::OnBufferPresented( |
176 const AcceleratedSurfaceMsg_BufferPresented_Params& params) { | 179 const AcceleratedSurfaceMsg_BufferPresented_Params& params) { |
177 surface_->OnBufferPresented(params); | 180 surface_->OnBufferPresented(params); |
178 } | 181 } |
| 182 #endif |
179 | 183 |
180 void ImageTransportHelper::OnWakeUpGpu() { | 184 void ImageTransportHelper::OnWakeUpGpu() { |
181 surface_->WakeUpGpu(); | 185 surface_->WakeUpGpu(); |
182 } | 186 } |
183 | 187 |
184 void ImageTransportHelper::Resize(gfx::Size size, float scale_factor) { | 188 void ImageTransportHelper::Resize(gfx::Size size, float scale_factor) { |
185 surface_->OnResize(size, scale_factor); | 189 surface_->OnResize(size, scale_factor); |
186 | 190 |
187 #if defined(OS_ANDROID) | 191 #if defined(OS_ANDROID) |
188 manager_->gpu_memory_manager()->ScheduleManage( | 192 manager_->gpu_memory_manager()->ScheduleManage( |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 } | 260 } |
257 | 261 |
258 bool PassThroughImageTransportSurface::OnMakeCurrent(gfx::GLContext* context) { | 262 bool PassThroughImageTransportSurface::OnMakeCurrent(gfx::GLContext* context) { |
259 if (!did_set_swap_interval_) { | 263 if (!did_set_swap_interval_) { |
260 ImageTransportHelper::SetSwapInterval(context); | 264 ImageTransportHelper::SetSwapInterval(context); |
261 did_set_swap_interval_ = true; | 265 did_set_swap_interval_ = true; |
262 } | 266 } |
263 return true; | 267 return true; |
264 } | 268 } |
265 | 269 |
| 270 #if defined(OS_MACOSX) |
266 void PassThroughImageTransportSurface::OnBufferPresented( | 271 void PassThroughImageTransportSurface::OnBufferPresented( |
267 const AcceleratedSurfaceMsg_BufferPresented_Params& /* params */) { | 272 const AcceleratedSurfaceMsg_BufferPresented_Params& /* params */) { |
268 NOTREACHED(); | 273 NOTREACHED(); |
269 } | 274 } |
| 275 #endif |
270 | 276 |
271 void PassThroughImageTransportSurface::OnResize(gfx::Size size, | 277 void PassThroughImageTransportSurface::OnResize(gfx::Size size, |
272 float scale_factor) { | 278 float scale_factor) { |
273 Resize(size); | 279 Resize(size); |
274 } | 280 } |
275 | 281 |
276 gfx::Size PassThroughImageTransportSurface::GetSize() { | 282 gfx::Size PassThroughImageTransportSurface::GetSize() { |
277 return GLSurfaceAdapter::GetSize(); | 283 return GLSurfaceAdapter::GetSize(); |
278 } | 284 } |
279 | 285 |
280 void PassThroughImageTransportSurface::WakeUpGpu() { | 286 void PassThroughImageTransportSurface::WakeUpGpu() { |
281 NOTIMPLEMENTED(); | 287 NOTIMPLEMENTED(); |
282 } | 288 } |
283 | 289 |
284 PassThroughImageTransportSurface::~PassThroughImageTransportSurface() {} | 290 PassThroughImageTransportSurface::~PassThroughImageTransportSurface() {} |
285 | 291 |
286 void PassThroughImageTransportSurface::SendVSyncUpdateIfAvailable() { | 292 void PassThroughImageTransportSurface::SendVSyncUpdateIfAvailable() { |
287 gfx::VSyncProvider* vsync_provider = GetVSyncProvider(); | 293 gfx::VSyncProvider* vsync_provider = GetVSyncProvider(); |
288 if (vsync_provider) { | 294 if (vsync_provider) { |
289 vsync_provider->GetVSyncParameters( | 295 vsync_provider->GetVSyncParameters( |
290 base::Bind(&ImageTransportHelper::SendUpdateVSyncParameters, | 296 base::Bind(&ImageTransportHelper::SendUpdateVSyncParameters, |
291 helper_->AsWeakPtr())); | 297 helper_->AsWeakPtr())); |
292 } | 298 } |
293 } | 299 } |
294 | 300 |
295 } // namespace content | 301 } // namespace content |
OLD | NEW |