Chromium Code Reviews| Index: ui/gl/gl_image_io_surface.cc |
| diff --git a/ui/gl/gl_image_io_surface.cc b/ui/gl/gl_image_io_surface.cc |
| index cf858abbf6d3ee5ff02532e9789e37338614f950..3450e2d0bf585db865ccaca0419f71360ff98b6a 100644 |
| --- a/ui/gl/gl_image_io_surface.cc |
| +++ b/ui/gl/gl_image_io_surface.cc |
| @@ -15,7 +15,9 @@ namespace gfx { |
| GLImageIOSurface::GLImageIOSurface(const gfx::Size& size) : size_(size) { |
| } |
| -GLImageIOSurface::~GLImageIOSurface() { Destroy(); } |
| +GLImageIOSurface::~GLImageIOSurface() { |
| + DCHECK(!io_surface_); |
| +} |
| bool GLImageIOSurface::Initialize(const gfx::GpuMemoryBufferHandle& handle) { |
| io_surface_.reset(IOSurfaceLookup(handle.io_surface_id)); |
| @@ -27,9 +29,18 @@ bool GLImageIOSurface::Initialize(const gfx::GpuMemoryBufferHandle& handle) { |
| return true; |
| } |
| +void GLImageIOSurface::Destroy(bool have_context) { |
| + io_surface_.reset(); |
| +} |
| + |
| gfx::Size GLImageIOSurface::GetSize() { return size_; } |
| bool GLImageIOSurface::BindTexImage(unsigned target) { |
| + if (!io_surface_) { |
| + LOG(ERROR) << "Uninitialized image cannot be bound to texture"; |
| + return false; |
| + } |
|
reveman
2014/07/25 19:00:23
Let's keep this as before. Sorry.
sohanjg
2014/07/26 10:42:23
Done.
|
| + |
| if (target != GL_TEXTURE_RECTANGLE_ARB) { |
| // This might be supported in the future. For now, perform strict |
| // validation so we know what's going on. |
| @@ -40,7 +51,6 @@ bool GLImageIOSurface::BindTexImage(unsigned target) { |
| CGLContextObj cgl_context = |
| static_cast<CGLContextObj>(GLContext::GetCurrent()->GetHandle()); |
| - DCHECK(io_surface_); |
| CGLError cgl_error = CGLTexImageIOSurface2D(cgl_context, |
| target, |
| GL_RGBA, |