Index: content/browser/gpu/gpu_process_host.h |
diff --git a/content/browser/gpu/gpu_process_host.h b/content/browser/gpu/gpu_process_host.h |
index 17adefc088953cf37899020f9c98658d352b8cfa..eaa41584366e64d6dbe9c22cd09467be78a472ed 100644 |
--- a/content/browser/gpu/gpu_process_host.h |
+++ b/content/browser/gpu/gpu_process_host.h |
@@ -34,6 +34,11 @@ struct GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params; |
struct GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params; |
struct GpuHostMsg_AcceleratedSurfaceRelease_Params; |
+namespace gfx { |
+struct GpuMemoryBufferHandle; |
+struct GpuMemoryBufferParams; |
+} |
+ |
namespace IPC { |
struct ChannelHandle; |
} |
@@ -63,6 +68,9 @@ class GpuProcessHost : public BrowserChildProcessHostDelegate, |
typedef base::Callback<void(const gfx::Size)> CreateImageCallback; |
+ typedef base::Callback<void(const gfx::GpuMemoryBufferHandle& handle)> |
+ AllocateGpuMemoryBufferCallback; |
+ |
static bool gpu_enabled() { return gpu_enabled_; } |
// Creates a new GpuProcessHost or gets an existing one, resulting in the |
@@ -122,6 +130,9 @@ class GpuProcessHost : public BrowserChildProcessHostDelegate, |
int image_id, |
const CreateImageCallback& callback); |
+ void AllocateGpuMemoryBuffer(const gfx::GpuMemoryBufferParams& params, |
+ const AllocateGpuMemoryBufferCallback& callback); |
+ |
// Tells the GPU process to delete image. |
void DeleteImage(int client_id, int image_id, int sync_point); |
@@ -159,6 +170,7 @@ class GpuProcessHost : public BrowserChildProcessHostDelegate, |
void OnCommandBufferCreated(bool succeeded); |
void OnDestroyCommandBuffer(int32 surface_id); |
void OnImageCreated(const gfx::Size size); |
+ void OnGpuMemoryBufferAllocated(const gfx::GpuMemoryBufferHandle& handle); |
void OnDidCreateOffscreenContext(const GURL& url); |
void OnDidLoseContext(bool offscreen, |
gpu::error::ContextLostReason reason, |
@@ -196,6 +208,9 @@ class GpuProcessHost : public BrowserChildProcessHostDelegate, |
// The pending create image requests we need to reply to. |
std::queue<CreateImageCallback> create_image_requests_; |
+ // The pending allocate requests we need to reply to. |
+ std::queue<AllocateGpuMemoryBufferCallback> |
+ allocate_gpu_memory_buffer_requests_; |
// Qeueud messages to send when the process launches. |
std::queue<IPC::Message*> queued_messages_; |