summaryrefslogtreecommitdiffstats
path: root/content/common
diff options
context:
space:
mode:
Diffstat (limited to 'content/common')
-rw-r--r--content/common/gpu/client/gpu_memory_buffer_factory_host.h1
-rw-r--r--content/common/gpu/client/gpu_memory_buffer_impl_unittest.cc4
-rw-r--r--content/common/gpu/gpu_channel_manager.cc20
-rw-r--r--content/common/gpu/gpu_memory_buffer_factory.h4
-rw-r--r--content/common/gpu/gpu_memory_buffer_factory_io_surface.cc3
-rw-r--r--content/common/gpu/gpu_memory_buffer_factory_io_surface.h3
-rw-r--r--content/common/gpu/gpu_memory_buffer_factory_ozone_native_buffer.cc5
-rw-r--r--content/common/gpu/gpu_memory_buffer_factory_ozone_native_buffer.h3
-rw-r--r--content/common/gpu/gpu_memory_buffer_factory_shared_memory.cc3
-rw-r--r--content/common/gpu/gpu_memory_buffer_factory_shared_memory.h3
-rw-r--r--content/common/gpu/gpu_memory_buffer_factory_surface_texture.cc3
-rw-r--r--content/common/gpu/gpu_memory_buffer_factory_surface_texture.h3
-rw-r--r--content/common/gpu/gpu_memory_buffer_factory_unittest.cc8
-rw-r--r--content/common/gpu/gpu_messages.h17
14 files changed, 44 insertions, 36 deletions
diff --git a/content/common/gpu/client/gpu_memory_buffer_factory_host.h b/content/common/gpu/client/gpu_memory_buffer_factory_host.h
index c206911..fc42b18 100644
--- a/content/common/gpu/client/gpu_memory_buffer_factory_host.h
+++ b/content/common/gpu/client/gpu_memory_buffer_factory_host.h
@@ -29,6 +29,7 @@ class CONTENT_EXPORT GpuMemoryBufferFactoryHost {
gfx::GpuMemoryBuffer::Format format,
gfx::GpuMemoryBuffer::Usage usage,
int client_id,
+ int32 surface_id,
const CreateGpuMemoryBufferCallback& callback) = 0;
virtual void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
int client_id,
diff --git a/content/common/gpu/client/gpu_memory_buffer_impl_unittest.cc b/content/common/gpu/client/gpu_memory_buffer_impl_unittest.cc
index 615cc93..3ac1b83 100644
--- a/content/common/gpu/client/gpu_memory_buffer_impl_unittest.cc
+++ b/content/common/gpu/client/gpu_memory_buffer_impl_unittest.cc
@@ -12,6 +12,7 @@ namespace content {
namespace {
const int kClientId = 1;
+const int kSurfaceId = 0;
class GpuMemoryBufferImplTest
: public testing::TestWithParam<gfx::GpuMemoryBufferType> {
@@ -32,7 +33,8 @@ class GpuMemoryBufferImplTest
gfx::GpuMemoryBuffer::Format format,
gfx::GpuMemoryBuffer::Usage usage) {
++buffer_count_;
- return factory_->CreateGpuMemoryBuffer(id, size, format, usage, kClientId);
+ return factory_->CreateGpuMemoryBuffer(id, size, format, usage, kClientId,
+ kSurfaceId);
}
void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id, uint32 sync_point) {
diff --git a/content/common/gpu/gpu_channel_manager.cc b/content/common/gpu/gpu_channel_manager.cc
index 9e5fee4..131c7b5 100644
--- a/content/common/gpu/gpu_channel_manager.cc
+++ b/content/common/gpu/gpu_channel_manager.cc
@@ -59,23 +59,15 @@ class GpuChannelManagerMessageFilter : public IPC::MessageFilter {
protected:
~GpuChannelManagerMessageFilter() override {}
- void OnCreateGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
- const gfx::Size& size,
- gfx::GpuMemoryBuffer::Format format,
- gfx::GpuMemoryBuffer::Usage usage,
- int client_id) {
+ void OnCreateGpuMemoryBuffer(
+ const GpuMsg_CreateGpuMemoryBuffer_Params& params) {
TRACE_EVENT2("gpu",
"GpuChannelManagerMessageFilter::OnCreateGpuMemoryBuffer",
- "id",
- id,
- "client_id",
- client_id);
+ "id", params.id, "client_id", params.client_id);
sender_->Send(new GpuHostMsg_GpuMemoryBufferCreated(
- gpu_memory_buffer_factory_->CreateGpuMemoryBuffer(id,
- size,
- format,
- usage,
- client_id)));
+ gpu_memory_buffer_factory_->CreateGpuMemoryBuffer(
+ params.id, params.size, params.format, params.usage,
+ params.client_id, params.surface_handle)));
}
IPC::Sender* sender_;
diff --git a/content/common/gpu/gpu_memory_buffer_factory.h b/content/common/gpu/gpu_memory_buffer_factory.h
index 7df2773..467944b 100644
--- a/content/common/gpu/gpu_memory_buffer_factory.h
+++ b/content/common/gpu/gpu_memory_buffer_factory.h
@@ -12,6 +12,7 @@
#include "content/common/content_export.h"
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/gpu_memory_buffer.h"
+#include "ui/gfx/native_widget_types.h"
namespace gfx {
class GLImage;
@@ -52,7 +53,8 @@ class CONTENT_EXPORT GpuMemoryBufferFactory {
const gfx::Size& size,
gfx::GpuMemoryBuffer::Format format,
gfx::GpuMemoryBuffer::Usage usage,
- int client_id) = 0;
+ int client_id,
+ gfx::PluginWindowHandle surface_handle) = 0;
// Destroys GPU memory buffer identified by |id|.
virtual void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
diff --git a/content/common/gpu/gpu_memory_buffer_factory_io_surface.cc b/content/common/gpu/gpu_memory_buffer_factory_io_surface.cc
index e6954bf..ba00ea2 100644
--- a/content/common/gpu/gpu_memory_buffer_factory_io_surface.cc
+++ b/content/common/gpu/gpu_memory_buffer_factory_io_surface.cc
@@ -92,7 +92,8 @@ GpuMemoryBufferFactoryIOSurface::CreateGpuMemoryBuffer(
const gfx::Size& size,
gfx::GpuMemoryBuffer::Format format,
gfx::GpuMemoryBuffer::Usage usage,
- int client_id) {
+ int client_id,
+ gfx::PluginWindowHandle surface_handle) {
base::ScopedCFTypeRef<CFMutableDictionaryRef> properties;
properties.reset(CFDictionaryCreateMutable(kCFAllocatorDefault,
0,
diff --git a/content/common/gpu/gpu_memory_buffer_factory_io_surface.h b/content/common/gpu/gpu_memory_buffer_factory_io_surface.h
index e636bbd..0fe8681 100644
--- a/content/common/gpu/gpu_memory_buffer_factory_io_surface.h
+++ b/content/common/gpu/gpu_memory_buffer_factory_io_surface.h
@@ -40,7 +40,8 @@ class GpuMemoryBufferFactoryIOSurface : public GpuMemoryBufferFactory,
const gfx::Size& size,
gfx::GpuMemoryBuffer::Format format,
gfx::GpuMemoryBuffer::Usage usage,
- int client_id) override;
+ int client_id,
+ gfx::PluginWindowHandle surface_handle) override;
void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
int client_id) override;
gpu::ImageFactory* AsImageFactory() override;
diff --git a/content/common/gpu/gpu_memory_buffer_factory_ozone_native_buffer.cc b/content/common/gpu/gpu_memory_buffer_factory_ozone_native_buffer.cc
index c4f8e82..6185150 100644
--- a/content/common/gpu/gpu_memory_buffer_factory_ozone_native_buffer.cc
+++ b/content/common/gpu/gpu_memory_buffer_factory_ozone_native_buffer.cc
@@ -56,9 +56,10 @@ GpuMemoryBufferFactoryOzoneNativeBuffer::CreateGpuMemoryBuffer(
const gfx::Size& size,
gfx::GpuMemoryBuffer::Format format,
gfx::GpuMemoryBuffer::Usage usage,
- int client_id) {
+ int client_id,
+ gfx::PluginWindowHandle surface_handle) {
if (!ozone_native_buffer_factory_.CreateGpuMemoryBuffer(
- id, size, format, usage, client_id)) {
+ id, size, format, usage, client_id, surface_handle)) {
return gfx::GpuMemoryBufferHandle();
}
gfx::GpuMemoryBufferHandle handle;
diff --git a/content/common/gpu/gpu_memory_buffer_factory_ozone_native_buffer.h b/content/common/gpu/gpu_memory_buffer_factory_ozone_native_buffer.h
index 9b311de..5cdce58 100644
--- a/content/common/gpu/gpu_memory_buffer_factory_ozone_native_buffer.h
+++ b/content/common/gpu/gpu_memory_buffer_factory_ozone_native_buffer.h
@@ -36,7 +36,8 @@ class GpuMemoryBufferFactoryOzoneNativeBuffer : public GpuMemoryBufferFactory,
const gfx::Size& size,
gfx::GpuMemoryBuffer::Format format,
gfx::GpuMemoryBuffer::Usage usage,
- int client_id) override;
+ int client_id,
+ gfx::PluginWindowHandle surface_handle) override;
void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
int client_id) override;
gpu::ImageFactory* AsImageFactory() override;
diff --git a/content/common/gpu/gpu_memory_buffer_factory_shared_memory.cc b/content/common/gpu/gpu_memory_buffer_factory_shared_memory.cc
index 3a65c7c..9a4bdcf 100644
--- a/content/common/gpu/gpu_memory_buffer_factory_shared_memory.cc
+++ b/content/common/gpu/gpu_memory_buffer_factory_shared_memory.cc
@@ -35,7 +35,8 @@ GpuMemoryBufferFactorySharedMemory::CreateGpuMemoryBuffer(
const gfx::Size& size,
gfx::GpuMemoryBuffer::Format format,
gfx::GpuMemoryBuffer::Usage usage,
- int client_id) {
+ int client_id,
+ gfx::PluginWindowHandle surface_handle) {
base::SharedMemory shared_memory;
if (!shared_memory.CreateAnonymous(
size.GetArea() * GpuMemoryBufferImpl::BytesPerPixel(format)))
diff --git a/content/common/gpu/gpu_memory_buffer_factory_shared_memory.h b/content/common/gpu/gpu_memory_buffer_factory_shared_memory.h
index 521021c..b2a9c70 100644
--- a/content/common/gpu/gpu_memory_buffer_factory_shared_memory.h
+++ b/content/common/gpu/gpu_memory_buffer_factory_shared_memory.h
@@ -31,7 +31,8 @@ class GpuMemoryBufferFactorySharedMemory : public GpuMemoryBufferFactory,
const gfx::Size& size,
gfx::GpuMemoryBuffer::Format format,
gfx::GpuMemoryBuffer::Usage usage,
- int client_id) override;
+ int client_id,
+ gfx::PluginWindowHandle surface_handle) override;
void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
int client_id) override;
gpu::ImageFactory* AsImageFactory() override;
diff --git a/content/common/gpu/gpu_memory_buffer_factory_surface_texture.cc b/content/common/gpu/gpu_memory_buffer_factory_surface_texture.cc
index 2410e61..1b2c881 100644
--- a/content/common/gpu/gpu_memory_buffer_factory_surface_texture.cc
+++ b/content/common/gpu/gpu_memory_buffer_factory_surface_texture.cc
@@ -49,7 +49,8 @@ GpuMemoryBufferFactorySurfaceTexture::CreateGpuMemoryBuffer(
const gfx::Size& size,
gfx::GpuMemoryBuffer::Format format,
gfx::GpuMemoryBuffer::Usage usage,
- int client_id) {
+ int client_id,
+ gfx::PluginWindowHandle surface_handle) {
// Note: this needs to be 0 as the surface texture implemenation will take
// ownership of the texture and call glDeleteTextures when the GPU service
// attaches the surface texture to a real texture id. glDeleteTextures
diff --git a/content/common/gpu/gpu_memory_buffer_factory_surface_texture.h b/content/common/gpu/gpu_memory_buffer_factory_surface_texture.h
index 57dfc94..fe47f69 100644
--- a/content/common/gpu/gpu_memory_buffer_factory_surface_texture.h
+++ b/content/common/gpu/gpu_memory_buffer_factory_surface_texture.h
@@ -38,7 +38,8 @@ class GpuMemoryBufferFactorySurfaceTexture : public GpuMemoryBufferFactory,
const gfx::Size& size,
gfx::GpuMemoryBuffer::Format format,
gfx::GpuMemoryBuffer::Usage usage,
- int client_id) override;
+ int client_id,
+ gfx::PluginWindowHandle surface_handle) override;
void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
int client_id) override;
gpu::ImageFactory* AsImageFactory() override;
diff --git a/content/common/gpu/gpu_memory_buffer_factory_unittest.cc b/content/common/gpu/gpu_memory_buffer_factory_unittest.cc
index 174c36c..39186f1 100644
--- a/content/common/gpu/gpu_memory_buffer_factory_unittest.cc
+++ b/content/common/gpu/gpu_memory_buffer_factory_unittest.cc
@@ -30,16 +30,14 @@ class GpuMemoryBufferFactoryTest
TEST_P(GpuMemoryBufferFactoryTest, CreateAndDestroy) {
const int kBufferId = 1;
const int kClientId = 1;
+ const int kSurfaceId = 0;
gfx::Size buffer_size(1, 1);
for (auto configuration : supported_configurations_) {
gfx::GpuMemoryBufferHandle handle = factory_->CreateGpuMemoryBuffer(
- kBufferId,
- buffer_size,
- configuration.format,
- configuration.usage,
- kClientId);
+ kBufferId, buffer_size, configuration.format, configuration.usage,
+ kClientId, kSurfaceId);
EXPECT_EQ(handle.type, GetParam());
factory_->DestroyGpuMemoryBuffer(kBufferId, kClientId);
}
diff --git a/content/common/gpu/gpu_messages.h b/content/common/gpu/gpu_messages.h
index 3f373bb..b860c56 100644
--- a/content/common/gpu/gpu_messages.h
+++ b/content/common/gpu/gpu_messages.h
@@ -77,6 +77,15 @@ IPC_STRUCT_BEGIN(GPUCreateCommandBufferConfig)
IPC_STRUCT_MEMBER(gfx::GpuPreference, gpu_preference)
IPC_STRUCT_END()
+IPC_STRUCT_BEGIN(GpuMsg_CreateGpuMemoryBuffer_Params)
+IPC_STRUCT_MEMBER(int32, id)
+IPC_STRUCT_MEMBER(gfx::Size, size)
+IPC_STRUCT_MEMBER(gfx::GpuMemoryBuffer::Format, format)
+IPC_STRUCT_MEMBER(gfx::GpuMemoryBuffer::Usage, usage)
+IPC_STRUCT_MEMBER(int32, client_id)
+IPC_STRUCT_MEMBER(gfx::PluginWindowHandle, surface_handle)
+IPC_STRUCT_END()
+
IPC_STRUCT_BEGIN(GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params)
IPC_STRUCT_MEMBER(int32, surface_id)
IPC_STRUCT_MEMBER(uint64, surface_handle)
@@ -252,12 +261,8 @@ IPC_MESSAGE_CONTROL5(GpuMsg_CreateViewCommandBuffer,
int32 /* route_id */)
// Tells the GPU process to create a new gpu memory buffer.
-IPC_MESSAGE_CONTROL5(GpuMsg_CreateGpuMemoryBuffer,
- gfx::GpuMemoryBufferId, /* id */
- gfx::Size, /* size */
- gfx::GpuMemoryBuffer::Format, /* format */
- gfx::GpuMemoryBuffer::Usage, /* usage */
- int32 /* client_id */)
+IPC_MESSAGE_CONTROL1(GpuMsg_CreateGpuMemoryBuffer,
+ GpuMsg_CreateGpuMemoryBuffer_Params)
// Tells the GPU process to destroy buffer.
IPC_MESSAGE_CONTROL3(GpuMsg_DestroyGpuMemoryBuffer,