| Index: content/common/gpu/client/gpu_memory_buffer_impl_ozone_native_buffer.cc
|
| diff --git a/content/common/gpu/client/gpu_memory_buffer_impl_ozone_native_buffer.cc b/content/common/gpu/client/gpu_memory_buffer_impl_ozone_native_buffer.cc
|
| index cb5c4a5166f1c51506e0435774c0535359cbd34f..411b86f6ed7d45efc57d2c6c21dbe2f50fb4dd04 100644
|
| --- a/content/common/gpu/client/gpu_memory_buffer_impl_ozone_native_buffer.cc
|
| +++ b/content/common/gpu/client/gpu_memory_buffer_impl_ozone_native_buffer.cc
|
| @@ -14,6 +14,9 @@ namespace {
|
|
|
| base::StaticAtomicSequenceNumber g_next_buffer_id;
|
|
|
| +void Noop() {
|
| +}
|
| +
|
| void GpuMemoryBufferCreated(
|
| const gfx::Size& size,
|
| unsigned internalformat,
|
| @@ -21,14 +24,8 @@ void GpuMemoryBufferCreated(
|
| const gfx::GpuMemoryBufferHandle& handle) {
|
| DCHECK_EQ(gfx::OZONE_NATIVE_BUFFER, handle.type);
|
|
|
| - scoped_ptr<GpuMemoryBufferImplOzoneNativeBuffer> buffer(
|
| - new GpuMemoryBufferImplOzoneNativeBuffer(size, internalformat));
|
| - if (!buffer->InitializeFromHandle(handle)) {
|
| - callback.Run(scoped_ptr<GpuMemoryBufferImpl>());
|
| - return;
|
| - }
|
| -
|
| - callback.Run(buffer.PassAs<GpuMemoryBufferImpl>());
|
| + callback.Run(GpuMemoryBufferImplOzoneNativeBuffer::CreateFromHandle(
|
| + handle, size, internalformat, base::Bind(&Noop)));
|
| }
|
|
|
| void GpuMemoryBufferCreatedForChildProcess(
|
| @@ -43,8 +40,10 @@ void GpuMemoryBufferCreatedForChildProcess(
|
|
|
| GpuMemoryBufferImplOzoneNativeBuffer::GpuMemoryBufferImplOzoneNativeBuffer(
|
| const gfx::Size& size,
|
| - unsigned internalformat)
|
| - : GpuMemoryBufferImpl(size, internalformat) {
|
| + unsigned internalformat,
|
| + const DestructionCallback& callback,
|
| + const gfx::GpuMemoryBufferId& id)
|
| + : GpuMemoryBufferImpl(size, internalformat, callback), id_(id) {
|
| }
|
|
|
| GpuMemoryBufferImplOzoneNativeBuffer::~GpuMemoryBufferImplOzoneNativeBuffer() {
|
| @@ -70,8 +69,7 @@ void GpuMemoryBufferImplOzoneNativeBuffer::Create(
|
| }
|
|
|
| // static
|
| -void
|
| -GpuMemoryBufferImplOzoneNativeBuffer::AllocateOzoneNativeBufferForChildProcess(
|
| +void GpuMemoryBufferImplOzoneNativeBuffer::AllocateForChildProcess(
|
| const gfx::Size& size,
|
| unsigned internalformat,
|
| unsigned usage,
|
| @@ -90,6 +88,20 @@ GpuMemoryBufferImplOzoneNativeBuffer::AllocateOzoneNativeBufferForChildProcess(
|
| }
|
|
|
| // static
|
| +scoped_ptr<GpuMemoryBufferImpl>
|
| +GpuMemoryBufferImplOzoneNativeBuffer::CreateFromHandle(
|
| + const gfx::GpuMemoryBufferHandle& handle,
|
| + const gfx::Size& size,
|
| + unsigned internalformat,
|
| + const DestructionCallback& callback) {
|
| + DCHECK(IsFormatSupported(internalformat));
|
| +
|
| + return make_scoped_ptr<GpuMemoryBufferImpl>(
|
| + new GpuMemoryBufferImplOzoneNativeBuffer(
|
| + size, internalformat, callback, handle.global_id));
|
| +}
|
| +
|
| +// static
|
| bool GpuMemoryBufferImplOzoneNativeBuffer::IsFormatSupported(
|
| unsigned internalformat) {
|
| switch (internalformat) {
|
| @@ -117,12 +129,6 @@ bool GpuMemoryBufferImplOzoneNativeBuffer::IsConfigurationSupported(
|
| return IsFormatSupported(internalformat) && IsUsageSupported(usage);
|
| }
|
|
|
| -bool GpuMemoryBufferImplOzoneNativeBuffer::InitializeFromHandle(
|
| - const gfx::GpuMemoryBufferHandle& handle) {
|
| - id_ = handle.global_id;
|
| - return true;
|
| -}
|
| -
|
| void* GpuMemoryBufferImplOzoneNativeBuffer::Map() {
|
| NOTREACHED();
|
| return NULL;
|
|
|