| 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 #if defined(ENABLE_GPU) | 5 #if defined(ENABLE_GPU) |
| 6 | 6 |
| 7 #include "base/process_util.h" | 7 #include "base/process_util.h" |
| 8 #include "base/shared_memory.h" | 8 #include "base/shared_memory.h" |
| 9 #include "build/build_config.h" | 9 #include "build/build_config.h" |
| 10 #include "chrome/common/child_thread.h" | 10 #include "chrome/common/child_thread.h" |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 *state = command_buffer_->GetState(); | 274 *state = command_buffer_->GetState(); |
| 275 } | 275 } |
| 276 | 276 |
| 277 void GpuCommandBufferStub::OnAsyncGetState() { | 277 void GpuCommandBufferStub::OnAsyncGetState() { |
| 278 gpu::CommandBuffer::State state = command_buffer_->GetState(); | 278 gpu::CommandBuffer::State state = command_buffer_->GetState(); |
| 279 Send(new GpuCommandBufferMsg_UpdateState(route_id_, state)); | 279 Send(new GpuCommandBufferMsg_UpdateState(route_id_, state)); |
| 280 } | 280 } |
| 281 | 281 |
| 282 void GpuCommandBufferStub::OnFlush(int32 put_offset, | 282 void GpuCommandBufferStub::OnFlush(int32 put_offset, |
| 283 gpu::CommandBuffer::State* state) { | 283 gpu::CommandBuffer::State* state) { |
| 284 #if defined(OS_MACOSX) |
| 285 // See comment in |DidDestroySurface()| in gpu_processor_mac.cc. |
| 286 if (channel_->IsRenderViewGone(render_view_id_)) |
| 287 processor_->DidDestroySurface(); |
| 288 #endif |
| 284 *state = command_buffer_->Flush(put_offset); | 289 *state = command_buffer_->Flush(put_offset); |
| 285 } | 290 } |
| 286 | 291 |
| 287 void GpuCommandBufferStub::OnAsyncFlush(int32 put_offset) { | 292 void GpuCommandBufferStub::OnAsyncFlush(int32 put_offset) { |
| 288 gpu::CommandBuffer::State state = command_buffer_->Flush(put_offset); | 293 gpu::CommandBuffer::State state = command_buffer_->Flush(put_offset); |
| 289 Send(new GpuCommandBufferMsg_UpdateState(route_id_, state)); | 294 Send(new GpuCommandBufferMsg_UpdateState(route_id_, state)); |
| 290 } | 295 } |
| 291 | 296 |
| 292 void GpuCommandBufferStub::OnCreateTransferBuffer(int32 size, int32* id) { | 297 void GpuCommandBufferStub::OnCreateTransferBuffer(int32 size, int32* id) { |
| 293 *id = command_buffer_->CreateTransferBuffer(size); | 298 *id = command_buffer_->CreateTransferBuffer(size); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 346 | 351 |
| 347 void GpuCommandBufferStub::SwapBuffersCallback() { | 352 void GpuCommandBufferStub::SwapBuffersCallback() { |
| 348 OnSwapBuffers(); | 353 OnSwapBuffers(); |
| 349 ChildThread* gpu_thread = ChildThread::current(); | 354 ChildThread* gpu_thread = ChildThread::current(); |
| 350 GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params; | 355 GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params; |
| 351 params.renderer_id = renderer_id_; | 356 params.renderer_id = renderer_id_; |
| 352 params.render_view_id = render_view_id_; | 357 params.render_view_id = render_view_id_; |
| 353 params.window = handle_; | 358 params.window = handle_; |
| 354 params.surface_id = processor_->GetSurfaceId(); | 359 params.surface_id = processor_->GetSurfaceId(); |
| 355 params.route_id = route_id(); | 360 params.route_id = route_id(); |
| 356 #if defined(OS_MACOSX) | |
| 357 params.swap_buffers_count = processor_->swap_buffers_count(); | 361 params.swap_buffers_count = processor_->swap_buffers_count(); |
| 358 #endif // defined(OS_MACOSX) | |
| 359 gpu_thread->Send(new GpuHostMsg_AcceleratedSurfaceBuffersSwapped(params)); | 362 gpu_thread->Send(new GpuHostMsg_AcceleratedSurfaceBuffersSwapped(params)); |
| 360 } | 363 } |
| 361 | 364 |
| 362 void GpuCommandBufferStub::AcceleratedSurfaceBuffersSwapped( | 365 void GpuCommandBufferStub::AcceleratedSurfaceBuffersSwapped( |
| 363 uint64 swap_buffers_count) { | 366 uint64 swap_buffers_count) { |
| 364 processor_->set_acknowledged_swap_buffers_count(swap_buffers_count); | 367 processor_->set_acknowledged_swap_buffers_count(swap_buffers_count); |
| 365 // Wake up the GpuProcessor to start doing work again. | 368 // Wake up the GpuProcessor to start doing work again. |
| 366 processor_->ScheduleProcessCommands(); | 369 processor_->ScheduleProcessCommands(); |
| 367 } | 370 } |
| 368 #endif // defined(OS_MACOSX) | 371 #endif // defined(OS_MACOSX) |
| 369 | 372 |
| 370 void GpuCommandBufferStub::ResizeCallback(gfx::Size size) { | 373 void GpuCommandBufferStub::ResizeCallback(gfx::Size size) { |
| 371 if (handle_ == gfx::kNullPluginWindow) | 374 if (handle_ == gfx::kNullPluginWindow) |
| 372 return; | 375 return; |
| 373 | 376 |
| 374 #if defined(OS_LINUX) | 377 #if defined(OS_LINUX) |
| 375 ChildThread* gpu_thread = ChildThread::current(); | 378 ChildThread* gpu_thread = ChildThread::current(); |
| 376 bool result = false; | 379 bool result = false; |
| 377 gpu_thread->Send( | 380 gpu_thread->Send( |
| 378 new GpuHostMsg_ResizeXID(handle_, size, &result)); | 381 new GpuHostMsg_ResizeXID(handle_, size, &result)); |
| 379 #elif defined(OS_WIN) | 382 #elif defined(OS_WIN) |
| 380 HWND hwnd = static_cast<HWND>(compositor_window_); | 383 HWND hwnd = static_cast<HWND>(compositor_window_); |
| 381 UINT swp_flags = SWP_NOSENDCHANGING | SWP_NOOWNERZORDER | SWP_NOCOPYBITS | | 384 UINT swp_flags = SWP_NOSENDCHANGING | SWP_NOOWNERZORDER | SWP_NOCOPYBITS | |
| 382 SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_DEFERERASE; | 385 SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_DEFERERASE; |
| 383 SetWindowPos(hwnd, NULL, 0, 0, size.width(), size.height(), swp_flags); | 386 SetWindowPos(hwnd, NULL, 0, 0, size.width(), size.height(), swp_flags); |
| 384 #endif // defined(OS_LINUX) | 387 #endif // defined(OS_LINUX) |
| 385 } | 388 } |
| 386 | 389 |
| 387 #endif // defined(ENABLE_GPU) | 390 #endif // defined(ENABLE_GPU) |
| OLD | NEW |