| 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 // Multiply-included message file, hence no include guard here, but see below | 5 // Multiply-included message file, hence no include guard here, but see below |
| 6 // for a much smaller-than-usual include guard section. | 6 // for a much smaller-than-usual include guard section. |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "base/memory/shared_memory.h" | 11 #include "base/memory/shared_memory.h" |
| 12 #include "content/common/content_export.h" | 12 #include "content/common/content_export.h" |
| 13 #include "content/common/gpu/gpu_memory_allocation.h" | 13 #include "content/common/gpu/gpu_memory_allocation.h" |
| 14 #include "content/common/gpu/gpu_memory_uma_stats.h" | 14 #include "content/common/gpu/gpu_memory_uma_stats.h" |
| 15 #include "content/common/gpu/gpu_process_launch_causes.h" | 15 #include "content/common/gpu/gpu_process_launch_causes.h" |
| 16 #include "content/common/gpu/gpu_rendering_stats.h" | 16 #include "content/common/gpu/gpu_rendering_stats.h" |
| 17 #include "content/common/gpu/surface_capturer.h" |
| 17 #include "content/public/common/common_param_traits.h" | 18 #include "content/public/common/common_param_traits.h" |
| 18 #include "content/public/common/gpu_memory_stats.h" | 19 #include "content/public/common/gpu_memory_stats.h" |
| 19 #include "gpu/command_buffer/common/command_buffer.h" | 20 #include "gpu/command_buffer/common/command_buffer.h" |
| 20 #include "gpu/command_buffer/common/constants.h" | 21 #include "gpu/command_buffer/common/constants.h" |
| 21 #include "gpu/command_buffer/common/mailbox.h" | 22 #include "gpu/command_buffer/common/mailbox.h" |
| 22 #include "gpu/config/gpu_info.h" | 23 #include "gpu/config/gpu_info.h" |
| 23 #include "gpu/ipc/gpu_command_buffer_traits.h" | 24 #include "gpu/ipc/gpu_command_buffer_traits.h" |
| 24 #include "ipc/ipc_channel_handle.h" | 25 #include "ipc/ipc_channel_handle.h" |
| 25 #include "ipc/ipc_message_macros.h" | 26 #include "ipc/ipc_message_macros.h" |
| 26 #include "media/base/video_frame.h" | 27 #include "media/base/video_frame.h" |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 IPC_STRUCT_TRAITS_MEMBER(texture_upload_count) | 217 IPC_STRUCT_TRAITS_MEMBER(texture_upload_count) |
| 217 IPC_STRUCT_TRAITS_MEMBER(total_texture_upload_time) | 218 IPC_STRUCT_TRAITS_MEMBER(total_texture_upload_time) |
| 218 IPC_STRUCT_TRAITS_MEMBER(global_total_processing_commands_time) | 219 IPC_STRUCT_TRAITS_MEMBER(global_total_processing_commands_time) |
| 219 IPC_STRUCT_TRAITS_MEMBER(total_processing_commands_time) | 220 IPC_STRUCT_TRAITS_MEMBER(total_processing_commands_time) |
| 220 IPC_STRUCT_TRAITS_END() | 221 IPC_STRUCT_TRAITS_END() |
| 221 | 222 |
| 222 IPC_ENUM_TRAITS(media::VideoFrame::Format) | 223 IPC_ENUM_TRAITS(media::VideoFrame::Format) |
| 223 | 224 |
| 224 IPC_ENUM_TRAITS(media::VideoEncodeAccelerator::Error) | 225 IPC_ENUM_TRAITS(media::VideoEncodeAccelerator::Error) |
| 225 | 226 |
| 227 IPC_ENUM_TRAITS(content::SurfaceCapturer::Error) |
| 228 |
| 226 //------------------------------------------------------------------------------ | 229 //------------------------------------------------------------------------------ |
| 227 // GPU Messages | 230 // GPU Messages |
| 228 // These are messages from the browser to the GPU process. | 231 // These are messages from the browser to the GPU process. |
| 229 | 232 |
| 230 // Tells the GPU process to initialize itself. The browser explicitly | 233 // Tells the GPU process to initialize itself. The browser explicitly |
| 231 // requests this be done so that we are guaranteed that the channel is set | 234 // requests this be done so that we are guaranteed that the channel is set |
| 232 // up between the browser and GPU process before doing any work that might | 235 // up between the browser and GPU process before doing any work that might |
| 233 // potentially crash the GPU process. Detection of the child process | 236 // potentially crash the GPU process. Detection of the child process |
| 234 // exiting abruptly is predicated on having the IPC channel set up. | 237 // exiting abruptly is predicated on having the IPC channel set up. |
| 235 IPC_MESSAGE_CONTROL0(GpuMsg_Initialize) | 238 IPC_MESSAGE_CONTROL0(GpuMsg_Initialize) |
| (...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 564 base::SharedMemoryHandle /* transfer_buffer */, | 567 base::SharedMemoryHandle /* transfer_buffer */, |
| 565 uint32 /* size */) | 568 uint32 /* size */) |
| 566 | 569 |
| 567 // Create and initialize a hardware video decoder, returning its new route_id. | 570 // Create and initialize a hardware video decoder, returning its new route_id. |
| 568 // Created decoders should be freed with AcceleratedVideoDecoderMsg_Destroy when | 571 // Created decoders should be freed with AcceleratedVideoDecoderMsg_Destroy when |
| 569 // no longer needed. | 572 // no longer needed. |
| 570 IPC_SYNC_MESSAGE_ROUTED1_1(GpuCommandBufferMsg_CreateVideoDecoder, | 573 IPC_SYNC_MESSAGE_ROUTED1_1(GpuCommandBufferMsg_CreateVideoDecoder, |
| 571 media::VideoCodecProfile /* profile */, | 574 media::VideoCodecProfile /* profile */, |
| 572 int /* route_id */) | 575 int /* route_id */) |
| 573 | 576 |
| 577 // Create and initialize a surface capturer, returning its new route_id. |
| 578 // Created capturers should be freed with SurfaceCapturerMsg_Destroy when no |
| 579 // longer needed. |
| 580 IPC_SYNC_MESSAGE_ROUTED0_1(GpuCommandBufferMsg_CreateSurfaceCapturer, |
| 581 int /* route_id */) |
| 582 |
| 574 // Tells the proxy that there was an error and the command buffer had to be | 583 // Tells the proxy that there was an error and the command buffer had to be |
| 575 // destroyed for some reason. | 584 // destroyed for some reason. |
| 576 IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_Destroyed, | 585 IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_Destroyed, |
| 577 gpu::error::ContextLostReason /* reason */) | 586 gpu::error::ContextLostReason /* reason */) |
| 578 | 587 |
| 579 // Request that the GPU process reply with the given message. Reply may be | 588 // Request that the GPU process reply with the given message. Reply may be |
| 580 // delayed. | 589 // delayed. |
| 581 IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_Echo, | 590 IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_Echo, |
| 582 IPC::Message /* reply */) | 591 IPC::Message /* reply */) |
| 583 | 592 |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 756 | 765 |
| 757 // Notify the renderer that an output buffer has been filled with encoded data. | 766 // Notify the renderer that an output buffer has been filled with encoded data. |
| 758 IPC_MESSAGE_ROUTED3(AcceleratedVideoEncoderHostMsg_BitstreamBufferReady, | 767 IPC_MESSAGE_ROUTED3(AcceleratedVideoEncoderHostMsg_BitstreamBufferReady, |
| 759 int32 /* bitstream_buffer_id */, | 768 int32 /* bitstream_buffer_id */, |
| 760 uint32 /* payload_size */, | 769 uint32 /* payload_size */, |
| 761 bool /* key_frame */) | 770 bool /* key_frame */) |
| 762 | 771 |
| 763 // Report error condition. | 772 // Report error condition. |
| 764 IPC_MESSAGE_ROUTED1(AcceleratedVideoEncoderHostMsg_NotifyError, | 773 IPC_MESSAGE_ROUTED1(AcceleratedVideoEncoderHostMsg_NotifyError, |
| 765 media::VideoEncodeAccelerator::Error /* error */) | 774 media::VideoEncodeAccelerator::Error /* error */) |
| 775 |
| 776 //------------------------------------------------------------------------------ |
| 777 // Gpu Surface Capturer Messages |
| 778 // These messages are sent from the Browser process to the GPU process. |
| 779 |
| 780 // Initialize the capturer. |
| 781 IPC_MESSAGE_ROUTED1(SurfaceCapturerMsg_Initialize, |
| 782 media::VideoFrame::Format /* format */) |
| 783 |
| 784 // Attempt to start a capture. |
| 785 IPC_MESSAGE_ROUTED0(SurfaceCapturerMsg_TryCapture) |
| 786 |
| 787 // Copy captured contents to a video frame. |
| 788 IPC_MESSAGE_ROUTED3(SurfaceCapturerMsg_CopyCaptureToVideoFrame, |
| 789 int32 /* buffer_id */, |
| 790 base::SharedMemoryHandle /* buffer_shm */, |
| 791 uint32 /* buffer_size */) |
| 792 |
| 793 // Destroy the capturer. |
| 794 IPC_MESSAGE_ROUTED0(SurfaceCapturerMsg_Destroy) |
| 795 |
| 796 //------------------------------------------------------------------------------ |
| 797 // Gpu Surface Capturer Host Messages |
| 798 // These messages are sent from GPU process to Browser process. |
| 799 |
| 800 // Report the capture output parameters to the Browser process. |
| 801 IPC_MESSAGE_ROUTED2(SurfaceCapturerHostMsg_NotifyCaptureParameters, |
| 802 gfx::Size /* buffer_size */, |
| 803 gfx::Rect /* visible_rect */) |
| 804 |
| 805 // Report successful copy of a capture of a surface. |
| 806 IPC_MESSAGE_ROUTED1(SurfaceCapturerHostMsg_NotifyCopyCaptureDone, |
| 807 int32 /* frame_id */) |
| 808 |
| 809 // Report error. |
| 810 IPC_MESSAGE_ROUTED1(SurfaceCapturerHostMsg_NotifyError, |
| 811 content::SurfaceCapturer::Error /* error */) |
| OLD | NEW |