diff options
author | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-31 06:45:02 +0000 |
---|---|---|
committer | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-31 06:45:02 +0000 |
commit | 82efc0d4f7f3f2adde965bff789aa1d15732523f (patch) | |
tree | 3a1c7df913fac263e46c9a314673ebf0a68f156d /content/browser/child_process_launcher.cc | |
parent | 6847cb4d4b6f86f3e4c29cbb6c928697dd04e900 (diff) | |
download | chromium_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.cc | 2 |
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)); |