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