summaryrefslogtreecommitdiffstats
path: root/content/renderer/render_thread_impl.cc
diff options
context:
space:
mode:
authorreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-23 16:14:04 +0000
committerreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-23 16:14:04 +0000
commit568f20a40303587f14395a763dc552dff648ad44 (patch)
treee60fff82d868c4e6b7955f604d47eaac34514f68 /content/renderer/render_thread_impl.cc
parentfc49c69d38c05c1ffcd64f1cecd4171d170ac89b (diff)
downloadchromium_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.cc11
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;
}