diff options
author | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-25 22:08:35 +0000 |
---|---|---|
committer | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-25 22:08:35 +0000 |
commit | 6217d397bf501ec1ec5b7270d493006badd4d87a (patch) | |
tree | fce6c8e9c15b79bab29a9535ce9929dd9d53735b /chrome/browser/gpu_process_host.h | |
parent | 21dedcc12d21ccb288244249522d77bc074c501e (diff) | |
download | chromium_src-6217d397bf501ec1ec5b7270d493006badd4d87a.zip chromium_src-6217d397bf501ec1ec5b7270d493006badd4d87a.tar.gz chromium_src-6217d397bf501ec1ec5b7270d493006badd4d87a.tar.bz2 |
Calling OpenGL from the renderer process
- Added ability for renderer processes to render to a real window (Windows only so far).
- Added ability to create offscreen frame buffer objects that can be resized later.
- OpenGL context can have a "parent" context that can access its last swapped back buffer through a texture ID.
- Moved code to establish GPU channel from RenderWidget to RenderThread.
- Changed way service size command buffer object lifetimes are managed.
TEST=trybot and visual verification that OpenGL can clear the browser window to magenta.
BUG=none
Review URL: http://codereview.chromium.org/1136006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42679 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gpu_process_host.h')
-rw-r--r-- | chrome/browser/gpu_process_host.h | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/chrome/browser/gpu_process_host.h b/chrome/browser/gpu_process_host.h index 36d068f..4d74e00 100644 --- a/chrome/browser/gpu_process_host.h +++ b/chrome/browser/gpu_process_host.h @@ -13,6 +13,7 @@ #include "chrome/browser/child_process_launcher.h" #include "chrome/common/gpu_native_window_handle.h" #include "chrome/common/message_router.h" +#include "gfx/native_widget_types.h" #include "ipc/ipc_channel_handle.h" #include "ipc/ipc_channel_proxy.h" @@ -50,26 +51,20 @@ class GpuProcessHost : public IPC::Channel::Sender, // Tells the GPU process to create a new channel for communication with a // renderer. Will asynchronously send message to object with given routing id // on completion. - void EstablishGpuChannel(int renderer_id, int routing_id); + void EstablishGpuChannel(int renderer_id); private: friend struct DefaultSingletonTraits<GpuProcessHost>; // Used to queue pending channel requests. struct ChannelRequest { - ChannelRequest(int renderer_id, - int routing_id) : - renderer_id(renderer_id), - routing_id(routing_id) {} + explicit ChannelRequest(int renderer_id) : renderer_id(renderer_id) {} // Used to identify the renderer. The ID is used instead of a pointer to // the RenderProcessHost in case it is destroyed while the request is // pending. // TODO(apatrick): investigate whether these IDs are used for future // render processes. int renderer_id; - - // Routing ID of object to receive reply message. - int routing_id; }; GpuProcessHost(); @@ -81,7 +76,6 @@ class GpuProcessHost : public IPC::Channel::Sender, void OnChannelEstablished(const IPC::ChannelHandle& channel_handle); void ReplyToRenderer(int renderer_id, - int routing_id, const IPC::ChannelHandle& channel); // These are the channel requests that we have already sent to |