diff options
author | kbr@google.com <kbr@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-04 17:46:23 +0000 |
---|---|---|
committer | kbr@google.com <kbr@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-04 17:46:23 +0000 |
commit | 77e74dbed3b57987515c260b651b72cec15825dc (patch) | |
tree | 66685b53d127093075f720f99fbb0869ab74c01d /chrome/browser/gpu_process_host.h | |
parent | 1ad13a2d0dd8d03b50e6fbadd6a26ea72712d2d9 (diff) | |
download | chromium_src-77e74dbed3b57987515c260b651b72cec15825dc.zip chromium_src-77e74dbed3b57987515c260b651b72cec15825dc.tar.gz chromium_src-77e74dbed3b57987515c260b651b72cec15825dc.tar.bz2 |
Initial port of accelerated compositor to Mac OS X 10.6. Reused
infrastructure added for Pepper 3D and Core Animation plugins to
render the compositor's output. The implementation allocates a fake
"plugin window handle" on the browser side which is the "root" handle,
containing the compositor's output, and which, if present, is drawn
before any other accelerated plugin instances.
Added messages from GPU process to browser process for handling window
resizing and presentation of output. Added support to GGL for "view"
contexts on Mac OS X, used only for the accelerated compositor, and
requiring explicit resize notifications.
The remainder of this port will go into the WebKit repository under
https://bugs.webkit.org/show_bug.cgi?id=43398 after this for
dependency reasons.
Tested manually with CSS 3D and WebGL demos. Several stability and
correctness issues remain and will be addressed in following CLs;
however, the current code works for the majority of basic use cases
including switching between accelerated compositing on and off, and
scrolling of content.
BUG=38969
TEST=none
Review URL: http://codereview.chromium.org/3067026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54923 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gpu_process_host.h')
-rw-r--r-- | chrome/browser/gpu_process_host.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/browser/gpu_process_host.h b/chrome/browser/gpu_process_host.h index c81b565..ddc10a4 100644 --- a/chrome/browser/gpu_process_host.h +++ b/chrome/browser/gpu_process_host.h @@ -16,6 +16,7 @@ #include "gfx/native_widget_types.h" class CommandBufferProxy; +struct GpuHostMsg_AcceleratedSurfaceSetIOSurface_Params; namespace IPC { struct ChannelHandle; @@ -87,6 +88,12 @@ class GpuProcessHost : public BrowserChildProcessHost { void OnSynchronizeReply(); #if defined(OS_LINUX) void OnGetViewXID(gfx::NativeViewId id, unsigned long* xid); +#elif defined(OS_MACOSX) + void OnAcceleratedSurfaceSetIOSurface( + const GpuHostMsg_AcceleratedSurfaceSetIOSurface_Params& params); + void OnAcceleratedSurfaceBuffersSwapped(int32 renderer_id, + int32 render_view_id, + gfx::PluginWindowHandle window); #endif void ReplyToRenderer(const IPC::ChannelHandle& channel, |