| 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()->CacheShader(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 |