diff options
author | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-05 21:53:50 +0000 |
---|---|---|
committer | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-05 21:53:50 +0000 |
commit | 246a7045b9c45620fd725210aac51322e611c83f (patch) | |
tree | 6bdce605ae758c282a2b27e92a6b223d98b8d46a /chrome/browser/renderer_host | |
parent | c3240722a63ff142684575e3ea4eb89915edae72 (diff) | |
download | chromium_src-246a7045b9c45620fd725210aac51322e611c83f.zip chromium_src-246a7045b9c45620fd725210aac51322e611c83f.tar.gz chromium_src-246a7045b9c45620fd725210aac51322e611c83f.tar.bz2 |
Added support for opening a GPU command buffer from a renderer processes through a GPU channel.
Probably only works in windows only so far.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/657046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40783 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host')
-rw-r--r-- | chrome/browser/renderer_host/backing_store.h | 1 | ||||
-rw-r--r-- | chrome/browser/renderer_host/render_widget_host.cc | 8 | ||||
-rw-r--r-- | chrome/browser/renderer_host/render_widget_host.h | 6 |
3 files changed, 15 insertions, 0 deletions
diff --git a/chrome/browser/renderer_host/backing_store.h b/chrome/browser/renderer_host/backing_store.h index a60adc2..b32a0e2 100644 --- a/chrome/browser/renderer_host/backing_store.h +++ b/chrome/browser/renderer_host/backing_store.h @@ -8,6 +8,7 @@ #include <vector> #include "base/basictypes.h" +#include "base/gfx/rect.h" #include "base/gfx/size.h" #include "base/process.h" #include "chrome/common/transport_dib.h" diff --git a/chrome/browser/renderer_host/render_widget_host.cc b/chrome/browser/renderer_host/render_widget_host.cc index 44a36bd..2bee3e6 100644 --- a/chrome/browser/renderer_host/render_widget_host.cc +++ b/chrome/browser/renderer_host/render_widget_host.cc @@ -8,6 +8,7 @@ #include "base/histogram.h" #include "base/keyboard_codes.h" #include "base/message_loop.h" +#include "chrome/browser/gpu_process_host.h" #include "chrome/browser/renderer_host/backing_store.h" #include "chrome/browser/renderer_host/backing_store_manager.h" #include "chrome/browser/renderer_host/render_process_host.h" @@ -15,6 +16,7 @@ #include "chrome/browser/renderer_host/render_widget_host_painting_observer.h" #include "chrome/browser/renderer_host/render_widget_host_view.h" #include "chrome/browser/renderer_host/video_layer.h" +#include "chrome/common/gpu_messages.h" #include "chrome/common/notification_service.h" #include "chrome/common/render_messages.h" #include "webkit/glue/webcursor.h" @@ -137,6 +139,8 @@ void RenderWidgetHost::OnMessageReceived(const IPC::Message &msg) { IPC_MESSAGE_HANDLER(ViewHostMsg_FocusedNodeChanged, OnMsgFocusedNodeChanged) IPC_MESSAGE_HANDLER(ViewHostMsg_SetCursor, OnMsgSetCursor) IPC_MESSAGE_HANDLER(ViewHostMsg_ImeUpdateStatus, OnMsgImeUpdateStatus) + IPC_MESSAGE_HANDLER(ViewHostMsg_EstablishGpuChannel, + OnMsgEstablishGpuChannel) #if defined(OS_LINUX) IPC_MESSAGE_HANDLER(ViewHostMsg_CreatePluginContainer, OnMsgCreatePluginContainer) @@ -861,6 +865,10 @@ void RenderWidgetHost::OnMsgImeUpdateStatus(int control, } } +void RenderWidgetHost::OnMsgEstablishGpuChannel() { + GpuProcessHost::Get()->EstablishGpuChannel(process_->id(), routing_id_); +} + #if defined(OS_LINUX) void RenderWidgetHost::OnMsgCreatePluginContainer(gfx::PluginWindowHandle id) { diff --git a/chrome/browser/renderer_host/render_widget_host.h b/chrome/browser/renderer_host/render_widget_host.h index f1b402e..a3fdfdf 100644 --- a/chrome/browser/renderer_host/render_widget_host.h +++ b/chrome/browser/renderer_host/render_widget_host.h @@ -13,6 +13,7 @@ #include "base/scoped_ptr.h" #include "base/string16.h" #include "base/timer.h" +#include "ipc/ipc_channel_handle.h" #include "chrome/common/edit_command.h" #include "chrome/common/native_web_keyboard_event.h" #include "chrome/common/property_bag.h" @@ -443,6 +444,11 @@ class RenderWidgetHost : public IPC::Channel::Listener, // Using int instead of ViewHostMsg_ImeControl for control's type to avoid // having to bring in render_messages.h in a header file. void OnMsgImeUpdateStatus(int control, const gfx::Rect& caret_rect); + + // Renderer process is requesting that the browser process establish a GPU + // channel. + void OnMsgEstablishGpuChannel(); + #if defined(OS_LINUX) void OnMsgCreatePluginContainer(gfx::PluginWindowHandle id); void OnMsgDestroyPluginContainer(gfx::PluginWindowHandle id); |