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" |
34 #include "content/common/gpu/gpu_memory_buffer_factory.h" | 35 #include "content/common/gpu/gpu_memory_buffer_factory.h" |
35 #include "content/common/gpu/gpu_messages.h" | 36 #include "content/common/gpu/gpu_messages.h" |
36 #include "content/common/gpu/media/gpu_jpeg_decode_accelerator.h" | 37 #include "content/common/gpu/media/gpu_jpeg_decode_accelerator.h" |
37 #include "content/public/common/content_switches.h" | 38 #include "content/public/common/content_switches.h" |
38 #include "gpu/command_buffer/common/mailbox.h" | 39 #include "gpu/command_buffer/common/mailbox.h" |
39 #include "gpu/command_buffer/common/value_state.h" | 40 #include "gpu/command_buffer/common/value_state.h" |
40 #include "gpu/command_buffer/service/gpu_scheduler.h" | 41 #include "gpu/command_buffer/service/gpu_scheduler.h" |
41 #include "gpu/command_buffer/service/image_factory.h" | 42 #include "gpu/command_buffer/service/image_factory.h" |
42 #include "gpu/command_buffer/service/mailbox_manager.h" | 43 #include "gpu/command_buffer/service/mailbox_manager.h" |
43 #include "gpu/command_buffer/service/sync_point_manager.h" | 44 #include "gpu/command_buffer/service/sync_point_manager.h" |
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
589 | 590 |
590 if (!channel_) { | 591 if (!channel_) { |
591 delete message; | 592 delete message; |
592 return false; | 593 return false; |
593 } | 594 } |
594 | 595 |
595 return channel_->Send(message); | 596 return channel_->Send(message); |
596 } | 597 } |
597 | 598 |
598 void GpuChannel::OnAddSubscription(unsigned int target) { | 599 void GpuChannel::OnAddSubscription(unsigned int target) { |
599 gpu_channel_manager()->Send( | 600 gpu_channel_manager()->delegate()->AddSubscription(client_id_, target); |
600 new GpuHostMsg_AddSubscription(client_id_, target)); | |
601 } | 601 } |
602 | 602 |
603 void GpuChannel::OnRemoveSubscription(unsigned int target) { | 603 void GpuChannel::OnRemoveSubscription(unsigned int target) { |
604 gpu_channel_manager()->Send( | 604 gpu_channel_manager()->delegate()->RemoveSubscription(client_id_, target); |
605 new GpuHostMsg_RemoveSubscription(client_id_, target)); | |
606 } | 605 } |
607 | 606 |
608 void GpuChannel::OnStubSchedulingChanged(GpuCommandBufferStub* stub, | 607 void GpuChannel::OnStubSchedulingChanged(GpuCommandBufferStub* stub, |
609 bool scheduled) { | 608 bool scheduled) { |
610 bool a_stub_was_descheduled = num_stubs_descheduled_ > 0; | 609 bool a_stub_was_descheduled = num_stubs_descheduled_ > 0; |
611 if (scheduled) { | 610 if (scheduled) { |
612 num_stubs_descheduled_--; | 611 num_stubs_descheduled_--; |
613 ScheduleHandleMessage(); | 612 ScheduleHandleMessage(); |
614 } else { | 613 } else { |
615 num_stubs_descheduled_++; | 614 num_stubs_descheduled_++; |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 void GpuChannel::OnCreateJpegDecoder(int32_t route_id, | 886 void GpuChannel::OnCreateJpegDecoder(int32_t route_id, |
888 IPC::Message* reply_msg) { | 887 IPC::Message* reply_msg) { |
889 if (!jpeg_decoder_) { | 888 if (!jpeg_decoder_) { |
890 jpeg_decoder_.reset(new GpuJpegDecodeAccelerator(this, io_task_runner_)); | 889 jpeg_decoder_.reset(new GpuJpegDecodeAccelerator(this, io_task_runner_)); |
891 } | 890 } |
892 jpeg_decoder_->AddClient(route_id, reply_msg); | 891 jpeg_decoder_->AddClient(route_id, reply_msg); |
893 } | 892 } |
894 | 893 |
895 void GpuChannel::CacheShader(const std::string& key, | 894 void GpuChannel::CacheShader(const std::string& key, |
896 const std::string& shader) { | 895 const std::string& shader) { |
897 gpu_channel_manager_->Send( | 896 gpu_channel_manager_->delegate()->StoreShaderToDisk(client_id_, key, shader); |
898 new GpuHostMsg_CacheShader(client_id_, key, shader)); | |
899 } | 897 } |
900 | 898 |
901 void GpuChannel::AddFilter(IPC::MessageFilter* filter) { | 899 void GpuChannel::AddFilter(IPC::MessageFilter* filter) { |
902 io_task_runner_->PostTask( | 900 io_task_runner_->PostTask( |
903 FROM_HERE, base::Bind(&GpuChannelMessageFilter::AddChannelFilter, | 901 FROM_HERE, base::Bind(&GpuChannelMessageFilter::AddChannelFilter, |
904 filter_, make_scoped_refptr(filter))); | 902 filter_, make_scoped_refptr(filter))); |
905 } | 903 } |
906 | 904 |
907 void GpuChannel::RemoveFilter(IPC::MessageFilter* filter) { | 905 void GpuChannel::RemoveFilter(IPC::MessageFilter* filter) { |
908 io_task_runner_->PostTask( | 906 io_task_runner_->PostTask( |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
959 } | 957 } |
960 } | 958 } |
961 } | 959 } |
962 | 960 |
963 void GpuChannel::HandleUpdateValueState( | 961 void GpuChannel::HandleUpdateValueState( |
964 unsigned int target, const gpu::ValueState& state) { | 962 unsigned int target, const gpu::ValueState& state) { |
965 pending_valuebuffer_state_->UpdateState(target, state); | 963 pending_valuebuffer_state_->UpdateState(target, state); |
966 } | 964 } |
967 | 965 |
968 } // namespace content | 966 } // namespace content |
OLD | NEW |