Index: content/common/gpu/client/gpu_memory_buffer_impl_io_surface.h |
diff --git a/content/common/gpu/client/gpu_memory_buffer_impl_io_surface.h b/content/common/gpu/client/gpu_memory_buffer_impl_io_surface.h |
index 911a37e94bbd32cd98c8c19677206903059040f9..7debe8f99533d0d5a1cc936409b9b4dbdb069fcf 100644 |
--- a/content/common/gpu/client/gpu_memory_buffer_impl_io_surface.h |
+++ b/content/common/gpu/client/gpu_memory_buffer_impl_io_surface.h |
@@ -15,16 +15,17 @@ namespace content { |
// Implementation of GPU memory buffer based on IO surfaces. |
class GpuMemoryBufferImplIOSurface : public GpuMemoryBufferImpl { |
public: |
- GpuMemoryBufferImplIOSurface(const gfx::Size& size, unsigned internalformat); |
- virtual ~GpuMemoryBufferImplIOSurface(); |
+ static scoped_ptr<GpuMemoryBufferImpl> CreateFromHandle( |
+ const gfx::GpuMemoryBufferHandle& handle, |
+ const gfx::Size& size, |
+ unsigned internalformat, |
+ const DestructionCallback& callback); |
static bool IsFormatSupported(unsigned internalformat); |
static bool IsUsageSupported(unsigned usage); |
static bool IsConfigurationSupported(unsigned internalformat, unsigned usage); |
static uint32 PixelFormat(unsigned internalformat); |
- bool InitializeFromHandle(const gfx::GpuMemoryBufferHandle& handle); |
- |
// Overridden from gfx::GpuMemoryBuffer: |
virtual void* Map() OVERRIDE; |
virtual void Unmap() OVERRIDE; |
@@ -32,6 +33,12 @@ class GpuMemoryBufferImplIOSurface : public GpuMemoryBufferImpl { |
virtual gfx::GpuMemoryBufferHandle GetHandle() const OVERRIDE; |
private: |
+ GpuMemoryBufferImplIOSurface(const gfx::Size& size, |
+ unsigned internalformat, |
+ const DestructionCallback& callback, |
+ IOSurfaceRef io_surface); |
+ virtual ~GpuMemoryBufferImplIOSurface(); |
+ |
base::ScopedCFTypeRef<IOSurfaceRef> io_surface_; |
DISALLOW_COPY_AND_ASSIGN(GpuMemoryBufferImplIOSurface); |