diff options
author | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-23 16:14:04 +0000 |
---|---|---|
committer | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-23 16:14:04 +0000 |
commit | 568f20a40303587f14395a763dc552dff648ad44 (patch) | |
tree | e60fff82d868c4e6b7955f604d47eaac34514f68 /content/renderer/render_thread_impl.cc | |
parent | fc49c69d38c05c1ffcd64f1cecd4171d170ac89b (diff) | |
download | chromium_src-568f20a40303587f14395a763dc552dff648ad44.zip chromium_src-568f20a40303587f14395a763dc552dff648ad44.tar.gz chromium_src-568f20a40303587f14395a763dc552dff648ad44.tar.bz2 |
content: Add DeletedGpuMemoryBuffer IPC.
This IPC is used by the renderer to notify the browser when
a GPU memory buffer instance is deleted. This allows the browser
to maintain proper lifetime management of GPU memory buffers for
which ownership can't be passed with IPC.
This also renames the GpuCommandBufferMsg_DestroyGpuMemoryBuffer
IPC to GpuCommandBufferMsg_UnregisterGpuMemoryBuffer to not
be confused with real GPU memory buffer destruction, which
doesn't necessarily happen at when the GLImage is destroyed.
BUG=
Review URL: https://codereview.chromium.org/409723003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284941 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/render_thread_impl.cc')
-rw-r--r-- | content/renderer/render_thread_impl.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc index bb64c51..a21f905 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc @@ -1280,6 +1280,17 @@ scoped_ptr<gfx::GpuMemoryBuffer> RenderThreadImpl::AllocateGpuMemoryBuffer( .PassAs<gfx::GpuMemoryBuffer>(); } +void RenderThreadImpl::DeleteGpuMemoryBuffer( + scoped_ptr<gfx::GpuMemoryBuffer> buffer) { + gfx::GpuMemoryBufferHandle handle(buffer->GetHandle()); + + IPC::Message* message = new ChildProcessHostMsg_DeletedGpuMemoryBuffer( + handle.type, handle.global_id); + + // Allow calling this from the compositor thread. + thread_safe_sender()->Send(message); +} + void RenderThreadImpl::DoNotSuspendWebKitSharedTimer() { suspend_webkit_shared_timer_ = false; } |