1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/common/gpu/client/gpu_memory_buffer_impl.h"
7 #include "content/common/gpu/client/gpu_memory_buffer_impl_shm.h"
11 scoped_ptr<GpuMemoryBufferImpl> GpuMemoryBufferImpl::Create(
12 gfx::GpuMemoryBufferHandle handle,
14 unsigned internalformat) {
15 switch (handle.type) {
16 case gfx::SHARED_MEMORY_BUFFER: {
17 scoped_ptr<GpuMemoryBufferImplShm> buffer(
18 new GpuMemoryBufferImplShm(size, internalformat));
19 if (!buffer->Initialize(handle))
20 return scoped_ptr<GpuMemoryBufferImpl>();
22 return buffer.PassAs<GpuMemoryBufferImpl>();
25 return scoped_ptr<GpuMemoryBufferImpl>();
29 } // namespace content