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, |