diff options
author | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-18 22:29:56 +0000 |
---|---|---|
committer | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-18 22:29:56 +0000 |
commit | 9f4f3322e7c9a5feedd5ca2b986daf2f8d5b8d3d (patch) | |
tree | a67a3d0397a03e12ee51aa8720f612c62c20e936 /content/common/gpu/gpu_command_buffer_stub.h | |
parent | a3102766e725636ad23ad99faa1e8a481a1129e7 (diff) | |
download | chromium_src-9f4f3322e7c9a5feedd5ca2b986daf2f8d5b8d3d.zip chromium_src-9f4f3322e7c9a5feedd5ca2b986daf2f8d5b8d3d.tar.gz chromium_src-9f4f3322e7c9a5feedd5ca2b986daf2f8d5b8d3d.tar.bz2 |
gpu: reference target surfaces through a globally unique surface id.
This allows the gpu process to ignore all knowledge of renderers. It simplifies
some of the gpu <-> browser and gpu <-> renderer IPC, but mostly paves the way
for non-renderer clients.
Surfaces are kept in a global GpuSurfaceTracker which is just a thread-safe map.
BUG=99516
TEST=covered by existing tests. Run chrome, open poster circle (or other accelerated content page).
Review URL: http://codereview.chromium.org/9194005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118172 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/common/gpu/gpu_command_buffer_stub.h')
-rw-r--r-- | content/common/gpu/gpu_command_buffer_stub.h | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/content/common/gpu/gpu_command_buffer_stub.h b/content/common/gpu/gpu_command_buffer_stub.h index 8796181..8f4e84a 100644 --- a/content/common/gpu/gpu_command_buffer_stub.h +++ b/content/common/gpu/gpu_command_buffer_stub.h @@ -49,8 +49,7 @@ class GpuCommandBufferStub const std::vector<int32>& attribs, gfx::GpuPreference gpu_preference, int32 route_id, - int32 client_id, - int32 render_view_id, + int32 surface_id, GpuWatchdog* watchdog, bool software); @@ -74,11 +73,8 @@ class GpuCommandBufferStub gpu::gles2::GLES2Decoder* decoder() const { return decoder_.get(); } gpu::GpuScheduler* scheduler() const { return scheduler_.get(); } - // Identifies the renderer process. - int32 client_id() const { return client_id_; } - - // Identifies a particular renderer belonging to the same renderer process. - int32 render_view_id() const { return render_view_id_; } + // Identifies the target surface. + int32 surface_id() const { return surface_id_; } // Identifies the various GpuCommandBufferStubs in the GPU process belonging // to the same renderer process. @@ -146,10 +142,8 @@ class GpuCommandBufferStub bool software_; uint32 last_flush_count_; - // The following two fields are used on Mac OS X to identify the window - // for the rendering results on the browser side. - int32 client_id_; - int32 render_view_id_; + // Identifies the window for the rendering results on the browser side. + int32 surface_id_; scoped_ptr<gpu::CommandBufferService> command_buffer_; scoped_ptr<gpu::gles2::GLES2Decoder> decoder_; |