summaryrefslogtreecommitdiffstats
path: root/content/common/gpu/gpu_command_buffer_stub.h
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-18 22:29:56 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-18 22:29:56 +0000
commit9f4f3322e7c9a5feedd5ca2b986daf2f8d5b8d3d (patch)
treea67a3d0397a03e12ee51aa8720f612c62c20e936 /content/common/gpu/gpu_command_buffer_stub.h
parenta3102766e725636ad23ad99faa1e8a481a1129e7 (diff)
downloadchromium_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.h16
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_;