summaryrefslogtreecommitdiffstats
path: root/content/common/gpu/gpu_command_buffer_stub.h
diff options
context:
space:
mode:
authorjbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-15 04:12:57 +0000
committerjbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-15 04:12:57 +0000
commit2f9704c73793a303481b5fa49c76903f9e81eb02 (patch)
treee72dcd9bc380230eccfa3970e83e9a1791fcfc78 /content/common/gpu/gpu_command_buffer_stub.h
parente190c9ea6211125a1c836d913d504643678a35c5 (diff)
downloadchromium_src-2f9704c73793a303481b5fa49c76903f9e81eb02.zip
chromium_src-2f9704c73793a303481b5fa49c76903f9e81eb02.tar.gz
chromium_src-2f9704c73793a303481b5fa49c76903f9e81eb02.tar.bz2
Use shared memory to update the renderer's view of the command buffer state.
The renderer can't receive UpdateState messages while it's executing javascript or NaCl, causing it to eventually flushsync once it fills up the command buffer or transfer buffer. To avoid this, share a piece of memory between the renderer and gpu process that the GPU can asynchronously update the state. A 4-slot asynchronous communication mechanism is used so that the renderer always receives a consistent copy of the state that was put in by the GPU process. BUG= TEST= Review URL: http://codereview.chromium.org/9380037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122034 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.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/content/common/gpu/gpu_command_buffer_stub.h b/content/common/gpu/gpu_command_buffer_stub.h
index 5125767..e194609 100644
--- a/content/common/gpu/gpu_command_buffer_stub.h
+++ b/content/common/gpu/gpu_command_buffer_stub.h
@@ -152,6 +152,7 @@ class GpuCommandBufferStub
// Message handlers:
void OnInitialize(IPC::Message* reply_message);
void OnSetGetBuffer(int32 shm_id, IPC::Message* reply_message);
+ void OnSetSharedStateBuffer(int32 shm_id, IPC::Message* reply_message);
void OnSetParent(int32 parent_route_id,
uint32 parent_texture_id,
IPC::Message* reply_message);