summaryrefslogtreecommitdiffstats
path: root/content/browser/child_process_launcher.cc
diff options
context:
space:
mode:
authorreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-31 06:45:02 +0000
committerreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-31 06:45:02 +0000
commit82efc0d4f7f3f2adde965bff789aa1d15732523f (patch)
tree3a1c7df913fac263e46c9a314673ebf0a68f156d /content/browser/child_process_launcher.cc
parent6847cb4d4b6f86f3e4c29cbb6c928697dd04e900 (diff)
downloadchromium_src-82efc0d4f7f3f2adde965bff789aa1d15732523f.zip
chromium_src-82efc0d4f7f3f2adde965bff789aa1d15732523f.tar.gz
chromium_src-82efc0d4f7f3f2adde965bff789aa1d15732523f.tar.bz2
Add initial GpuMemoryBufferSurfaceTexture implementation.
This adds the plumbing and allocation logic needed to implement a surface texture backed GpuMemoryBuffer on Android. The allocation flow is the same as other GpuMemoryBuffer implementations. That is; the browser process decides if a renderer is allowed to allocate a new GpuMemoryBuffer or not. Successful allocation results in a valid GpuMemoryBufferHandle being returned to the renderer. This handle can be used to create a GpuMemoryBufferImpl instance on the renderer side, which can be mapped into the renderer address space and used as existing GpuMemoryBufferImpls. The same handle can also be used to register the GpuMemoryBuffer with the GPU process and and create a GLImage that can be used for sampling. Two new interfaces are added to allow sharing of surface textures across process boundaries: SurfaceTextureLookup, this interface is used by a renderer to acquire a native widget for a surface texture. The native widget allows the renderer to map the storage of the surface texture into its address space. The current implementation of this interface uses Java Binder IPC to share the surface texture surface with a renderer process. SurfaceTextureTracker, this interface is used by GLImage implementation to acquire ownership of surface textures allocated by the browser process. Current implementation of this interface only works with GLImage instances in the browser process. A different implementation can be added to support out of process GLImage instances. This is currently limited to buffered surface textures and GL_TEXTURE_EXTERNAL_OES texture target. BUG=269808 Review URL: https://codereview.chromium.org/195583003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260498 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/child_process_launcher.cc')
-rw-r--r--content/browser/child_process_launcher.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/content/browser/child_process_launcher.cc b/content/browser/child_process_launcher.cc
index 4d2a1dc..3f378b42 100644
--- a/content/browser/child_process_launcher.cc
+++ b/content/browser/child_process_launcher.cc
@@ -216,7 +216,7 @@ class ChildProcessLauncher::Context
GetAdditionalMappedFilesForChildProcess(*cmd_line, child_process_id,
&files_to_register);
- StartChildProcess(cmd_line->argv(), files_to_register,
+ StartChildProcess(cmd_line->argv(), child_process_id, files_to_register,
base::Bind(&ChildProcessLauncher::Context::OnChildProcessStarted,
this_object, client_thread_id, begin_launch_time));