Index: chrome/common/gpu_messages_internal.h |
=================================================================== |
--- chrome/common/gpu_messages_internal.h (revision 77320) |
+++ chrome/common/gpu_messages_internal.h (working copy) |
@@ -1,381 +0,0 @@ |
-// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include <vector> |
-#include <string> |
- |
-#include "base/shared_memory.h" |
-#include "chrome/common/gpu_info.h" |
-#include "chrome/common/gpu_video_common.h" |
-#include "ipc/ipc_message_macros.h" |
- |
-#define IPC_MESSAGE_START GpuMsgStart |
- |
-namespace gfx { |
-class Size; |
-} |
- |
-namespace IPC { |
-struct ChannelHandle; |
-} |
- |
-struct GPUCreateCommandBufferConfig; |
-struct GPUInfo; |
- |
-//------------------------------------------------------------------------------ |
-// GPU Messages |
-// These are messages from the browser to the GPU process. |
- |
-// Tells the GPU process to initialize itself. The browser explicitly |
-// requests this be done so that we are guaranteed that the channel is set |
-// up between the browser and GPU process before doing any work that might |
-// potentially crash the GPU process. Detection of the child process |
-// exiting abruptly is predicated on having the IPC channel set up. |
-IPC_MESSAGE_CONTROL0(GpuMsg_Initialize) |
- |
-// Tells the GPU process to create a new channel for communication with a |
-// given renderer. The channel name is returned in a |
-// GpuHostMsg_ChannelEstablished message. The renderer ID is passed so that |
-// the GPU process reuses an existing channel to that process if it exists. |
-// This ID is a unique opaque identifier generated by the browser process. |
-IPC_MESSAGE_CONTROL1(GpuMsg_EstablishChannel, |
- int /* renderer_id */) |
- |
-// Tells the GPU process to close the channel identified by IPC channel |
-// handle. If no channel can be identified, do nothing. |
-IPC_MESSAGE_CONTROL1(GpuMsg_CloseChannel, |
- IPC::ChannelHandle /* channel_handle */) |
- |
-// Provides a synchronization point to guarantee that the processing of |
-// previous asynchronous messages (i.e., GpuMsg_EstablishChannel) has |
-// completed. (This message can't be synchronous because the |
-// GpuProcessHost uses an IPC::ChannelProxy, which sends all messages |
-// asynchronously.) Results in a GpuHostMsg_SynchronizeReply. |
-IPC_MESSAGE_CONTROL0(GpuMsg_Synchronize) |
- |
-// Tells the GPU process to create a new command buffer that renders directly |
-// to a native view. A corresponding GpuCommandBufferStub is created. |
-IPC_MESSAGE_CONTROL4(GpuMsg_CreateViewCommandBuffer, |
- gfx::PluginWindowHandle, /* view */ |
- int32, /* render_view_id */ |
- int32, /* renderer_id */ |
- GPUCreateCommandBufferConfig /* init_params */) |
- |
-// Tells the GPU process to create a context for collecting graphics card |
-// information. |
-IPC_MESSAGE_CONTROL1(GpuMsg_CollectGraphicsInfo, |
- GPUInfo::Level /* level */) |
- |
-#if defined(OS_MACOSX) |
-// Tells the GPU process that the browser process handled the swap |
-// buffers request with the given number. Note that it is possible |
-// for the browser process to coalesce frames; it is not guaranteed |
-// that every GpuHostMsg_AcceleratedSurfaceBuffersSwapped message |
-// will result in a buffer swap on the browser side. |
-IPC_MESSAGE_CONTROL3(GpuMsg_AcceleratedSurfaceBuffersSwappedACK, |
- int /* renderer_id */, |
- int32 /* route_id */, |
- uint64 /* swap_buffers_count */) |
- |
-// Tells the GPU process that the IOSurface of the buffer belonging to |
-// |renderer_route_id| a given id was destroyed, either by the user closing the |
-// tab hosting the surface, or by the renderer navigating to a new page. |
-IPC_MESSAGE_CONTROL2(GpuMsg_DidDestroyAcceleratedSurface, |
- int /* renderer_id */, |
- int32 /* renderer_route_id */) |
-#endif |
- |
-// Tells the GPU process to crash. |
-IPC_MESSAGE_CONTROL0(GpuMsg_Crash) |
- |
-// Tells the GPU process to hang. |
-IPC_MESSAGE_CONTROL0(GpuMsg_Hang) |
- |
-//------------------------------------------------------------------------------ |
-// GPU Host Messages |
-// These are messages to the browser. |
- |
-// A renderer sends this when it wants to create a connection to the GPU |
-// process. The browser will create the GPU process if necessary, and will |
-// return a handle to the channel via a GpuChannelEstablished message. |
-IPC_MESSAGE_CONTROL0(GpuHostMsg_EstablishGpuChannel) |
- |
-// A renderer sends this to the browser process to provide a synchronization |
-// point for GPU operations, in particular to make sure the GPU channel has |
-// been established. |
-IPC_SYNC_MESSAGE_CONTROL0_0(GpuHostMsg_SynchronizeGpu) |
- |
-// A renderer sends this to the browser process when it wants to |
-// create a GL context associated with the given view_id. |
-IPC_SYNC_MESSAGE_CONTROL2_1(GpuHostMsg_CreateViewCommandBuffer, |
- int32, /* render_view_id */ |
- GPUCreateCommandBufferConfig, /* init_params */ |
- int32 /* route_id */) |
- |
-// Response from GPU to a GpuHostMsg_EstablishChannel message. |
-IPC_MESSAGE_CONTROL2(GpuHostMsg_ChannelEstablished, |
- IPC::ChannelHandle, /* channel_handle */ |
- GPUInfo /* GPU logging stats */) |
- |
-// Respond from GPU to a GpuMsg_CreateViewCommandBuffer message. |
-IPC_MESSAGE_CONTROL1(GpuHostMsg_CommandBufferCreated, |
- int32 /* route_id */) |
- |
-// Request from GPU to free the browser resources associated with the |
-// command buffer. |
-IPC_MESSAGE_CONTROL3(GpuHostMsg_DestroyCommandBuffer, |
- gfx::PluginWindowHandle, /* view */ |
- int32, /* render_view_id */ |
- int32 /* renderer_id */) |
- |
-// Response from GPU to a GpuMsg_CollectGraphicsInfo. |
-IPC_MESSAGE_CONTROL1(GpuHostMsg_GraphicsInfoCollected, |
- GPUInfo /* GPU logging stats */) |
- |
-// Message from GPU to add a GPU log message to the about:gpu page. |
-IPC_MESSAGE_CONTROL3(GpuHostMsg_OnLogMessage, |
- int /*severity*/, |
- std::string /* header */, |
- std::string /* message */) |
- |
-// Response from GPU to a GpuMsg_Synchronize message. |
-IPC_MESSAGE_CONTROL0(GpuHostMsg_SynchronizeReply) |
- |
-#if defined(OS_LINUX) && !defined(TOUCH_UI) |
-// Resize the window that is being drawn into. It's important that this |
-// resize be synchronized with the swapping of the front and back buffers. |
-IPC_SYNC_MESSAGE_CONTROL2_1(GpuHostMsg_ResizeXID, |
- unsigned long, /* xid */ |
- gfx::Size, /* size */ |
- bool /* success */) |
-#elif defined(OS_MACOSX) |
-// This message, used on Mac OS X 10.6 and later (where IOSurface is |
-// supported), is sent from the GPU process to the browser to indicate that a |
-// new backing store was allocated for the given "window" (fake |
-// PluginWindowHandle). The renderer ID and render view ID are needed in |
-// order to uniquely identify the RenderWidgetHostView on the browser side. |
-IPC_MESSAGE_CONTROL1(GpuHostMsg_AcceleratedSurfaceSetIOSurface, |
- GpuHostMsg_AcceleratedSurfaceSetIOSurface_Params) |
- |
-// This message notifies the browser process that the renderer |
-// swapped the buffers associated with the given "window", which |
-// should cause the browser to redraw the compositor's contents. |
-IPC_MESSAGE_CONTROL1(GpuHostMsg_AcceleratedSurfaceBuffersSwapped, |
- GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params) |
-#elif defined(OS_WIN) |
-IPC_MESSAGE_CONTROL2(GpuHostMsg_ScheduleComposite, |
- int32, /* renderer_id */ |
- int32 /* render_view_id */) |
-#endif |
- |
-//------------------------------------------------------------------------------ |
-// GPU Channel Messages |
-// These are messages from a renderer process to the GPU process. |
- |
-// Initialize a channel between a renderer process and a GPU process. The |
-// renderer passes its process handle to the GPU process, which gives gives the |
-// GPU process the ability to map handles from the renderer process. This must |
-// be the first message sent on a newly connected channel. |
-IPC_MESSAGE_CONTROL1(GpuChannelMsg_Initialize, |
- base::ProcessHandle /* renderer_process_for_gpu */) |
- |
-// Tells the GPU process to create a new command buffer that renders to an |
-// offscreen frame buffer. If parent_route_id is not zero, the texture backing |
-// the frame buffer is mapped into the corresponding parent command buffer's |
-// namespace, with the name of parent_texture_id. This ID is in the parent's |
-// namespace. |
-IPC_SYNC_MESSAGE_CONTROL4_1(GpuChannelMsg_CreateOffscreenCommandBuffer, |
- int32, /* parent_route_id */ |
- gfx::Size, /* size */ |
- GPUCreateCommandBufferConfig, /* init_params */ |
- uint32, /* parent_texture_id */ |
- int32 /* route_id */) |
- |
-// The CommandBufferProxy sends this to the GpuCommandBufferStub in its |
-// destructor, so that the stub deletes the actual CommandBufferService |
-// object that it's hosting. |
-// TODO(apatrick): Implement this. |
-IPC_SYNC_MESSAGE_CONTROL1_0(GpuChannelMsg_DestroyCommandBuffer, |
- int32 /* instance_id */) |
- |
-// Create hardware video decoder && associate it with the output |decoder_id|; |
-// We need this to be control message because we had to map the GpuChannel and |
-// |decoder_id|. |
-IPC_MESSAGE_CONTROL2(GpuChannelMsg_CreateVideoDecoder, |
- int32, /* context_route_id */ |
- int32) /* decoder_id */ |
- |
-// Release all resource of the hardware video decoder which was assocaited |
-// with the input |decoder_id|. |
-// TODO(hclam): This message needs to be asynchronous. |
-IPC_SYNC_MESSAGE_CONTROL1_0(GpuChannelMsg_DestroyVideoDecoder, |
- int32 /* decoder_id */) |
- |
-//------------------------------------------------------------------------------ |
-// GPU Command Buffer Messages |
-// These are messages between a renderer process to the GPU process relating to |
-// a single OpenGL context. |
-// Initialize a command buffer with the given number of command entries. |
-// Returns the shared memory handle for the command buffer mapped to the |
-// calling process. |
-IPC_SYNC_MESSAGE_ROUTED2_1(GpuCommandBufferMsg_Initialize, |
- base::SharedMemoryHandle /* ring_buffer */, |
- int32 /* size */, |
- bool /* result */) |
- |
-// Get the current state of the command buffer. |
-IPC_SYNC_MESSAGE_ROUTED0_1(GpuCommandBufferMsg_GetState, |
- gpu::CommandBuffer::State /* state */) |
- |
-// Get the current state of the command buffer asynchronously. State is |
-// returned via UpdateState message. |
-IPC_MESSAGE_ROUTED0(GpuCommandBufferMsg_AsyncGetState) |
- |
-// Synchronize the put and get offsets of both processes. Caller passes its |
-// current put offset. Current state (including get offset) is returned. |
-IPC_SYNC_MESSAGE_ROUTED1_1(GpuCommandBufferMsg_Flush, |
- int32 /* put_offset */, |
- gpu::CommandBuffer::State /* state */) |
- |
-// Asynchronously synchronize the put and get offsets of both processes. |
-// Caller passes its current put offset. Current state (including get offset) |
-// is returned via an UpdateState message. |
-IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_AsyncFlush, |
- int32 /* put_offset */) |
- |
-// Return the current state of the command buffer following a request via |
-// an AsyncGetState or AsyncFlush message. (This message is sent from the |
-// GPU process to the renderer process.) |
-IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_UpdateState, |
- gpu::CommandBuffer::State /* state */) |
- |
-// Indicates that a SwapBuffers call has been issued. |
-IPC_MESSAGE_ROUTED0(GpuCommandBufferMsg_SwapBuffers) |
- |
-// Create a shared memory transfer buffer. Returns an id that can be used to |
-// identify the transfer buffer from a comment. |
-IPC_SYNC_MESSAGE_ROUTED1_1(GpuCommandBufferMsg_CreateTransferBuffer, |
- int32 /* size */, |
- int32 /* id */) |
- |
-// Register an existing shared memory transfer buffer. Returns an id that can be |
-// used to identify the transfer buffer from a command buffer. |
-IPC_SYNC_MESSAGE_ROUTED2_1(GpuCommandBufferMsg_RegisterTransferBuffer, |
- base::SharedMemoryHandle /* transfer_buffer */, |
- size_t /* size */, |
- int32 /* id */) |
- |
-// Destroy a previously created transfer buffer. |
-IPC_SYNC_MESSAGE_ROUTED1_0(GpuCommandBufferMsg_DestroyTransferBuffer, |
- int32 /* id */) |
- |
-// Get the shared memory handle for a transfer buffer mapped to the callers |
-// process. |
-IPC_SYNC_MESSAGE_ROUTED1_2(GpuCommandBufferMsg_GetTransferBuffer, |
- int32 /* id */, |
- base::SharedMemoryHandle /* transfer_buffer */, |
- uint32 /* size */) |
- |
-// Send from command buffer stub to proxy when window is invalid and must be |
-// repainted. |
-IPC_MESSAGE_ROUTED0(GpuCommandBufferMsg_NotifyRepaint) |
- |
-// Tells the GPU process to resize an offscreen frame buffer. |
-IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_ResizeOffscreenFrameBuffer, |
- gfx::Size /* size */) |
- |
-#if defined(OS_MACOSX) |
-// On Mac OS X the GPU plugin must be offscreen, because there is no |
-// true cross-process window hierarchy. For this reason we must send |
-// resize events explicitly to the command buffer stub so it can |
-// reallocate its backing store and send the new one back to the |
-// browser. This message is currently used only on 10.6 and later. |
-IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_SetWindowSize, |
- gfx::Size /* size */) |
-#endif |
- |
-//------------------------------------------------------------------------------ |
-// GPU Video Decoder Messages |
-// These messages are sent from Renderer process to GPU process. |
-// Initialize and configure GpuVideoDecoder asynchronously. |
-IPC_MESSAGE_ROUTED1(GpuVideoDecoderMsg_Initialize, |
- GpuVideoDecoderInitParam) |
- |
-// Destroy and release GpuVideoDecoder asynchronously. |
-IPC_MESSAGE_ROUTED0(GpuVideoDecoderMsg_Destroy) |
- |
-// Start decoder flushing operation. |
-IPC_MESSAGE_ROUTED0(GpuVideoDecoderMsg_Flush) |
- |
-// Tell the decoder to start prerolling. |
-IPC_MESSAGE_ROUTED0(GpuVideoDecoderMsg_Preroll) |
- |
-// Send input buffer to GpuVideoDecoder. |
-IPC_MESSAGE_ROUTED1(GpuVideoDecoderMsg_EmptyThisBuffer, |
- GpuVideoDecoderInputBufferParam) |
- |
-// Ask the GPU process to produce a video frame with the ID. |
-IPC_MESSAGE_ROUTED1(GpuVideoDecoderMsg_ProduceVideoFrame, |
- int32) /* Video Frame ID */ |
- |
-// Sent from Renderer process to the GPU process to notify that textures are |
-// generated for a video frame. |
-IPC_MESSAGE_ROUTED2(GpuVideoDecoderMsg_VideoFrameAllocated, |
- int32, /* Video Frame ID */ |
- std::vector<uint32>) /* Textures for video frame */ |
- |
-//------------------------------------------------------------------------------ |
-// GPU Video Decoder Host Messages |
-// These messages are sent from GPU process to Renderer process. |
-// Inform GpuVideoDecoderHost that a GpuVideoDecoder is created. |
-IPC_MESSAGE_ROUTED1(GpuVideoDecoderHostMsg_CreateVideoDecoderDone, |
- int32) /* decoder_id */ |
- |
-// Confirm GpuVideoDecoder had been initialized or failed to initialize. |
-// TODO(hclam): Change this to Done instead of ACK. |
-IPC_MESSAGE_ROUTED1(GpuVideoDecoderHostMsg_InitializeACK, |
- GpuVideoDecoderInitDoneParam) |
- |
-// Confrim GpuVideoDecoder had been destroyed properly. |
-// TODO(hclam): Change this to Done instead of ACK. |
-IPC_MESSAGE_ROUTED0(GpuVideoDecoderHostMsg_DestroyACK) |
- |
-// Confirm decoder had been flushed. |
-// TODO(hclam): Change this to Done instead of ACK. |
-IPC_MESSAGE_ROUTED0(GpuVideoDecoderHostMsg_FlushACK) |
- |
-// Confirm preroll operation is done. |
-IPC_MESSAGE_ROUTED0(GpuVideoDecoderHostMsg_PrerollDone) |
- |
-// GpuVideoDecoder has consumed input buffer from transfer buffer. |
-// TODO(hclam): Change this to Done instead of ACK. |
-IPC_MESSAGE_ROUTED0(GpuVideoDecoderHostMsg_EmptyThisBufferACK) |
- |
-// GpuVideoDecoder require new input buffer. |
-IPC_MESSAGE_ROUTED0(GpuVideoDecoderHostMsg_EmptyThisBufferDone) |
- |
-// GpuVideoDecoder reports that a video frame is ready to be consumed. |
-IPC_MESSAGE_ROUTED4(GpuVideoDecoderHostMsg_ConsumeVideoFrame, |
- int32, /* Video Frame ID */ |
- int64, /* Timestamp in microseconds */ |
- int64, /* Duration in microseconds */ |
- int32) /* Flags */ |
- |
-// Allocate video frames for output of the hardware video decoder. |
-IPC_MESSAGE_ROUTED4(GpuVideoDecoderHostMsg_AllocateVideoFrames, |
- int32, /* Number of video frames to generate */ |
- uint32, /* Width of the video frame */ |
- uint32, /* Height of the video frame */ |
- int32 /* Format of the video frame */) |
- |
-// Release all video frames allocated for a hardware video decoder. |
-IPC_MESSAGE_ROUTED0(GpuVideoDecoderHostMsg_ReleaseAllVideoFrames) |
- |
-// GpuVideoDecoder report output format change. |
-IPC_MESSAGE_ROUTED1(GpuVideoDecoderHostMsg_MediaFormatChange, |
- GpuVideoDecoderFormatChangeParam) |
- |
-// GpuVideoDecoder report error. |
-IPC_MESSAGE_ROUTED1(GpuVideoDecoderHostMsg_ErrorNotification, |
- GpuVideoDecoderErrorInfoParam) |