Index: content/common/gpu/client/gpu_memory_buffer_impl_ozone.cc |
diff --git a/content/common/gpu/client/gpu_memory_buffer_impl_mac.cc b/content/common/gpu/client/gpu_memory_buffer_impl_ozone.cc |
similarity index 69% |
copy from content/common/gpu/client/gpu_memory_buffer_impl_mac.cc |
copy to content/common/gpu/client/gpu_memory_buffer_impl_ozone.cc |
index 24e39a6ce761cfa1cb736228f9e468da6af6ec17..1c3ac91a2bccbaff7c52ccd8662b0b4577fc696b 100644 |
--- a/content/common/gpu/client/gpu_memory_buffer_impl_mac.cc |
+++ b/content/common/gpu/client/gpu_memory_buffer_impl_ozone.cc |
@@ -4,7 +4,7 @@ |
#include "content/common/gpu/client/gpu_memory_buffer_impl.h" |
-#include "content/common/gpu/client/gpu_memory_buffer_impl_io_surface.h" |
+#include "content/common/gpu/client/gpu_memory_buffer_impl_ozone_native_buffer.h" |
#include "content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.h" |
namespace content { |
@@ -14,6 +14,16 @@ scoped_ptr<GpuMemoryBufferImpl> GpuMemoryBufferImpl::Create( |
const gfx::Size& size, |
unsigned internalformat, |
unsigned usage) { |
+ if (GpuMemoryBufferImplOzoneNativeBuffer::IsConfigurationSupported( |
+ size, internalformat, usage)) { |
+ scoped_ptr<GpuMemoryBufferImplOzoneNativeBuffer> buffer( |
+ new GpuMemoryBufferImplOzoneNativeBuffer(size, internalformat)); |
+ if (!buffer->Initialize()) |
+ return scoped_ptr<GpuMemoryBufferImpl>(); |
+ |
+ return buffer.PassAs<GpuMemoryBufferImpl>(); |
+ } |
+ |
if (GpuMemoryBufferImplSharedMemory::IsConfigurationSupported( |
size, internalformat, usage)) { |
scoped_ptr<GpuMemoryBufferImplSharedMemory> buffer( |
@@ -33,7 +43,21 @@ void GpuMemoryBufferImpl::AllocateForChildProcess( |
unsigned internalformat, |
unsigned usage, |
base::ProcessHandle child_process, |
+ int child_id, |
+ GpuMemoryBufferFactoryHost* factory_host, |
const AllocationCallback& callback) { |
+ if (GpuMemoryBufferImplOzoneNativeBuffer::IsConfigurationSupported( |
+ size, internalformat, usage)) { |
+ GpuMemoryBufferImplOzoneNativeBuffer::AllocateSharedMemoryForChildProcess( |
+ size, |
+ internalformat, |
+ usage, |
+ child_process, |
+ child_id, |
+ factory_host, |
+ callback); |
+ return; |
+ } |
if (GpuMemoryBufferImplSharedMemory::IsConfigurationSupported( |
size, internalformat, usage)) { |
GpuMemoryBufferImplSharedMemory::AllocateSharedMemoryForChildProcess( |
@@ -65,9 +89,9 @@ scoped_ptr<GpuMemoryBufferImpl> GpuMemoryBufferImpl::CreateFromHandle( |
return buffer.PassAs<GpuMemoryBufferImpl>(); |
} |
- case gfx::IO_SURFACE_BUFFER: { |
- scoped_ptr<GpuMemoryBufferImplIOSurface> buffer( |
- new GpuMemoryBufferImplIOSurface(size, internalformat)); |
+ case gfx::OZONE_NATIVE_BUFFER: { |
+ scoped_ptr<GpuMemoryBufferImplOzoneNativeBuffer> buffer( |
+ new GpuMemoryBufferImplOzoneNativeBuffer(size, internalformat)); |
if (!buffer->InitializeFromHandle(handle)) |
return scoped_ptr<GpuMemoryBufferImpl>(); |