| 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/gpu_channel.h" | 5 #include "content/common/gpu/gpu_channel.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #if defined(OS_WIN) | 9 #if defined(OS_WIN) |
| 10 #include <windows.h> | 10 #include <windows.h> |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 #include "base/stl_util.h" | 24 #include "base/stl_util.h" |
| 25 #include "base/strings/string_util.h" | 25 #include "base/strings/string_util.h" |
| 26 #include "base/synchronization/lock.h" | 26 #include "base/synchronization/lock.h" |
| 27 #include "base/thread_task_runner_handle.h" | 27 #include "base/thread_task_runner_handle.h" |
| 28 #include "base/timer/timer.h" | 28 #include "base/timer/timer.h" |
| 29 #include "base/trace_event/memory_dump_manager.h" | 29 #include "base/trace_event/memory_dump_manager.h" |
| 30 #include "base/trace_event/process_memory_dump.h" | 30 #include "base/trace_event/process_memory_dump.h" |
| 31 #include "base/trace_event/trace_event.h" | 31 #include "base/trace_event/trace_event.h" |
| 32 #include "build/build_config.h" | 32 #include "build/build_config.h" |
| 33 #include "content/common/gpu/gpu_channel_manager.h" | 33 #include "content/common/gpu/gpu_channel_manager.h" |
| 34 #include "content/common/gpu/gpu_channel_manager_delegate.h" | |
| 35 #include "content/common/gpu/gpu_memory_buffer_factory.h" | 34 #include "content/common/gpu/gpu_memory_buffer_factory.h" |
| 36 #include "content/common/gpu/gpu_messages.h" | 35 #include "content/common/gpu/gpu_messages.h" |
| 37 #include "content/common/gpu/media/gpu_jpeg_decode_accelerator.h" | 36 #include "content/common/gpu/media/gpu_jpeg_decode_accelerator.h" |
| 38 #include "content/public/common/content_switches.h" | 37 #include "content/public/common/content_switches.h" |
| 39 #include "gpu/command_buffer/common/mailbox.h" | 38 #include "gpu/command_buffer/common/mailbox.h" |
| 40 #include "gpu/command_buffer/common/value_state.h" | 39 #include "gpu/command_buffer/common/value_state.h" |
| 41 #include "gpu/command_buffer/service/gpu_scheduler.h" | 40 #include "gpu/command_buffer/service/gpu_scheduler.h" |
| 42 #include "gpu/command_buffer/service/image_factory.h" | 41 #include "gpu/command_buffer/service/image_factory.h" |
| 43 #include "gpu/command_buffer/service/mailbox_manager.h" | 42 #include "gpu/command_buffer/service/mailbox_manager.h" |
| 44 #include "gpu/command_buffer/service/sync_point_manager.h" | 43 #include "gpu/command_buffer/service/sync_point_manager.h" |
| (...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 694 | 693 |
| 695 if (!channel_) { | 694 if (!channel_) { |
| 696 delete message; | 695 delete message; |
| 697 return false; | 696 return false; |
| 698 } | 697 } |
| 699 | 698 |
| 700 return channel_->Send(message); | 699 return channel_->Send(message); |
| 701 } | 700 } |
| 702 | 701 |
| 703 void GpuChannel::OnAddSubscription(unsigned int target) { | 702 void GpuChannel::OnAddSubscription(unsigned int target) { |
| 704 gpu_channel_manager()->delegate()->AddSubscription(client_id_, target); | 703 gpu_channel_manager()->Send( |
| 704 new GpuHostMsg_AddSubscription(client_id_, target)); |
| 705 } | 705 } |
| 706 | 706 |
| 707 void GpuChannel::OnRemoveSubscription(unsigned int target) { | 707 void GpuChannel::OnRemoveSubscription(unsigned int target) { |
| 708 gpu_channel_manager()->delegate()->RemoveSubscription(client_id_, target); | 708 gpu_channel_manager()->Send( |
| 709 new GpuHostMsg_RemoveSubscription(client_id_, target)); |
| 709 } | 710 } |
| 710 | 711 |
| 711 void GpuChannel::OnStreamRescheduled(int32_t stream_id, bool scheduled) { | 712 void GpuChannel::OnStreamRescheduled(int32_t stream_id, bool scheduled) { |
| 712 scoped_refptr<GpuChannelMessageQueue> queue = LookupStream(stream_id); | 713 scoped_refptr<GpuChannelMessageQueue> queue = LookupStream(stream_id); |
| 713 DCHECK(queue); | 714 DCHECK(queue); |
| 714 queue->OnRescheduled(scheduled); | 715 queue->OnRescheduled(scheduled); |
| 715 } | 716 } |
| 716 | 717 |
| 717 GpuCommandBufferStub* GpuChannel::LookupCommandBuffer(int32_t route_id) { | 718 GpuCommandBufferStub* GpuChannel::LookupCommandBuffer(int32_t route_id) { |
| 718 return stubs_.get(route_id); | 719 return stubs_.get(route_id); |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 992 void GpuChannel::OnCreateJpegDecoder(int32_t route_id, | 993 void GpuChannel::OnCreateJpegDecoder(int32_t route_id, |
| 993 IPC::Message* reply_msg) { | 994 IPC::Message* reply_msg) { |
| 994 if (!jpeg_decoder_) { | 995 if (!jpeg_decoder_) { |
| 995 jpeg_decoder_.reset(new GpuJpegDecodeAccelerator(this, io_task_runner_)); | 996 jpeg_decoder_.reset(new GpuJpegDecodeAccelerator(this, io_task_runner_)); |
| 996 } | 997 } |
| 997 jpeg_decoder_->AddClient(route_id, reply_msg); | 998 jpeg_decoder_->AddClient(route_id, reply_msg); |
| 998 } | 999 } |
| 999 | 1000 |
| 1000 void GpuChannel::CacheShader(const std::string& key, | 1001 void GpuChannel::CacheShader(const std::string& key, |
| 1001 const std::string& shader) { | 1002 const std::string& shader) { |
| 1002 gpu_channel_manager_->delegate()->StoreShaderToDisk(client_id_, key, shader); | 1003 gpu_channel_manager_->Send( |
| 1004 new GpuHostMsg_CacheShader(client_id_, key, shader)); |
| 1003 } | 1005 } |
| 1004 | 1006 |
| 1005 void GpuChannel::AddFilter(IPC::MessageFilter* filter) { | 1007 void GpuChannel::AddFilter(IPC::MessageFilter* filter) { |
| 1006 io_task_runner_->PostTask( | 1008 io_task_runner_->PostTask( |
| 1007 FROM_HERE, base::Bind(&GpuChannelMessageFilter::AddChannelFilter, | 1009 FROM_HERE, base::Bind(&GpuChannelMessageFilter::AddChannelFilter, |
| 1008 filter_, make_scoped_refptr(filter))); | 1010 filter_, make_scoped_refptr(filter))); |
| 1009 } | 1011 } |
| 1010 | 1012 |
| 1011 void GpuChannel::RemoveFilter(IPC::MessageFilter* filter) { | 1013 void GpuChannel::RemoveFilter(IPC::MessageFilter* filter) { |
| 1012 io_task_runner_->PostTask( | 1014 io_task_runner_->PostTask( |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1063 } | 1065 } |
| 1064 } | 1066 } |
| 1065 } | 1067 } |
| 1066 | 1068 |
| 1067 void GpuChannel::HandleUpdateValueState( | 1069 void GpuChannel::HandleUpdateValueState( |
| 1068 unsigned int target, const gpu::ValueState& state) { | 1070 unsigned int target, const gpu::ValueState& state) { |
| 1069 pending_valuebuffer_state_->UpdateState(target, state); | 1071 pending_valuebuffer_state_->UpdateState(target, state); |
| 1070 } | 1072 } |
| 1071 | 1073 |
| 1072 } // namespace content | 1074 } // namespace content |
| OLD | NEW |