Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(674)

Unified Diff: content/common/gpu_messages.h

Issue 6673003: Move GPU messages to content. I've also switched the IPC structs to use the ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/common/gpu_info_unittest.cc ('k') | content/content_common.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/common/gpu_messages.h
===================================================================
--- content/common/gpu_messages.h (revision 77652)
+++ content/common/gpu_messages.h (working copy)
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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.
@@ -6,23 +6,112 @@
#include <string>
#include "base/shared_memory.h"
-#include "chrome/common/gpu_info.h"
-#include "chrome/common/gpu_video_common.h"
+#include "content/common/common_param_traits.h"
+#include "content/common/gpu_info.h"
+#include "gpu/ipc/gpu_command_buffer_traits.h"
+#include "gpu/command_buffer/common/command_buffer.h"
+#include "ipc/ipc_channel_handle.h"
#include "ipc/ipc_message_macros.h"
+#include "ui/gfx/native_widget_types.h"
+#include "ui/gfx/size.h"
+// Multiply-included message file, hence no include guard.
+
#define IPC_MESSAGE_START GpuMsgStart
-namespace gfx {
-class Size;
-}
+// Flag assigned to a video buffer for both input and output.
+#define kGpuVideoEndOfStream (1 << 0)
-namespace IPC {
-struct ChannelHandle;
-}
+IPC_STRUCT_BEGIN(GPUCreateCommandBufferConfig)
+ IPC_STRUCT_MEMBER(std::string, allowed_extensions)
+ IPC_STRUCT_MEMBER(std::vector<int>, attribs)
+IPC_STRUCT_END()
-struct GPUCreateCommandBufferConfig;
-struct GPUInfo;
+IPC_STRUCT_BEGIN(GpuVideoDecoderInitParam)
+ IPC_STRUCT_MEMBER(int32, codec_id)
+ IPC_STRUCT_MEMBER(int32, width)
+ IPC_STRUCT_MEMBER(int32, height)
+ IPC_STRUCT_MEMBER(int32, profile)
+ IPC_STRUCT_MEMBER(int32, level)
+ IPC_STRUCT_MEMBER(int32, frame_rate_den)
+ IPC_STRUCT_MEMBER(int32, frame_rate_num)
+ IPC_STRUCT_MEMBER(int32, aspect_ratio_den)
+ IPC_STRUCT_MEMBER(int32, aspect_ratio_num)
+IPC_STRUCT_END()
+IPC_STRUCT_BEGIN(GpuVideoDecoderInitDoneParam)
+ // other parameter is only meaningful when this is true.
+ IPC_STRUCT_MEMBER(int32, success)
+ IPC_STRUCT_MEMBER(int32, input_buffer_size)
+ IPC_STRUCT_MEMBER(base::SharedMemoryHandle, input_buffer_handle)
+IPC_STRUCT_END()
+
+IPC_STRUCT_BEGIN(GpuVideoDecoderInputBufferParam)
+ IPC_STRUCT_MEMBER(int64, timestamp) // In unit of microseconds.
+ IPC_STRUCT_MEMBER(int32, offset)
+ IPC_STRUCT_MEMBER(int32, size)
+ IPC_STRUCT_MEMBER(int32, flags) // Miscellaneous flag bit mask.
+IPC_STRUCT_END()
+
+IPC_STRUCT_BEGIN(GpuVideoDecoderErrorInfoParam)
+ IPC_STRUCT_MEMBER(int32, error_id) // TODO(jiesun): define enum.
+IPC_STRUCT_END()
+
+// TODO(jiesun): define this.
+IPC_STRUCT_BEGIN(GpuVideoDecoderFormatChangeParam)
+ IPC_STRUCT_MEMBER(int32, input_buffer_size)
+ IPC_STRUCT_MEMBER(base::SharedMemoryHandle, input_buffer_handle)
+IPC_STRUCT_END()
+
+#if defined(OS_MACOSX)
+IPC_STRUCT_BEGIN(GpuHostMsg_AcceleratedSurfaceSetIOSurface_Params)
+ IPC_STRUCT_MEMBER(int32, renderer_id)
+ IPC_STRUCT_MEMBER(int32, render_view_id)
+ IPC_STRUCT_MEMBER(gfx::PluginWindowHandle, window)
+ IPC_STRUCT_MEMBER(int32, width)
+ IPC_STRUCT_MEMBER(int32, height)
+ IPC_STRUCT_MEMBER(uint64, identifier)
+IPC_STRUCT_END()
+
+IPC_STRUCT_BEGIN(GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params)
+ IPC_STRUCT_MEMBER(int32, renderer_id)
+ IPC_STRUCT_MEMBER(int32, render_view_id)
+ IPC_STRUCT_MEMBER(gfx::PluginWindowHandle, window)
+ IPC_STRUCT_MEMBER(uint64, surface_id)
+ IPC_STRUCT_MEMBER(int32, route_id)
+ IPC_STRUCT_MEMBER(uint64, swap_buffers_count)
+IPC_STRUCT_END()
+#endif
+
+IPC_STRUCT_TRAITS_BEGIN(DxDiagNode)
+ IPC_STRUCT_TRAITS_MEMBER(values)
+ IPC_STRUCT_TRAITS_MEMBER(children)
+IPC_STRUCT_TRAITS_END()
+
+IPC_ENUM_TRAITS(GPUInfo::Level)
+
+IPC_STRUCT_TRAITS_BEGIN(GPUInfo)
+ IPC_STRUCT_TRAITS_MEMBER(level)
+ IPC_STRUCT_TRAITS_MEMBER(initialization_time)
+ IPC_STRUCT_TRAITS_MEMBER(vendor_id)
+ IPC_STRUCT_TRAITS_MEMBER(device_id)
+ IPC_STRUCT_TRAITS_MEMBER(driver_vendor)
+ IPC_STRUCT_TRAITS_MEMBER(driver_version)
+ IPC_STRUCT_TRAITS_MEMBER(driver_date)
+ IPC_STRUCT_TRAITS_MEMBER(pixel_shader_version)
+ IPC_STRUCT_TRAITS_MEMBER(vertex_shader_version)
+ IPC_STRUCT_TRAITS_MEMBER(gl_version)
+ IPC_STRUCT_TRAITS_MEMBER(gl_version_string)
+ IPC_STRUCT_TRAITS_MEMBER(gl_vendor)
+ IPC_STRUCT_TRAITS_MEMBER(gl_renderer)
+ IPC_STRUCT_TRAITS_MEMBER(gl_extensions)
+ IPC_STRUCT_TRAITS_MEMBER(can_lose_context)
+ IPC_STRUCT_TRAITS_MEMBER(collection_error)
+#if defined(OS_WIN)
+ IPC_STRUCT_TRAITS_MEMBER(dx_diagnostics)
+#endif
+IPC_STRUCT_TRAITS_END()
+
//------------------------------------------------------------------------------
// GPU Messages
// These are messages from the browser to the GPU process.
@@ -92,6 +181,13 @@
// Tells the GPU process to hang.
IPC_MESSAGE_CONTROL0(GpuMsg_Hang)
+// The browser sends this to a renderer process in response to a
+// GpuHostMsg_EstablishGpuChannel message.
+IPC_MESSAGE_CONTROL3(GpuMsg_GpuChannelEstablished,
+ IPC::ChannelHandle /* handle to channel */,
+ base::ProcessHandle /* renderer_process_for_gpu */,
+ GPUInfo /* stats about GPU process*/)
+
//------------------------------------------------------------------------------
// GPU Host Messages
// These are messages to the browser.
« no previous file with comments | « content/common/gpu_info_unittest.cc ('k') | content/content_common.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698