Chromium Code Reviews| Index: ui/gl/gl_image_surface_texture.cc |
| diff --git a/ui/gl/gl_image_surface_texture.cc b/ui/gl/gl_image_surface_texture.cc |
| index bb9fa135e1e718a26472c945f6aa68ee3991c4fc..c25160526f8a5c5a5d93b1fc03f5850fe9b1c61b 100644 |
| --- a/ui/gl/gl_image_surface_texture.cc |
| +++ b/ui/gl/gl_image_surface_texture.cc |
| @@ -14,7 +14,10 @@ GLImageSurfaceTexture::GLImageSurfaceTexture(const gfx::Size& size) |
| : size_(size), texture_id_(0) { |
| } |
| -GLImageSurfaceTexture::~GLImageSurfaceTexture() { Destroy(); } |
| +GLImageSurfaceTexture::~GLImageSurfaceTexture() { |
| + DCHECK(!surface_texture_); |
| + DCHECK_EQ(0u, texture_id_); |
| +} |
| bool GLImageSurfaceTexture::Initialize( |
| const gfx::GpuMemoryBufferHandle& handle) { |
| @@ -26,7 +29,7 @@ bool GLImageSurfaceTexture::Initialize( |
| return !!surface_texture_; |
| } |
| -void GLImageSurfaceTexture::Destroy() { |
| +void GLImageSurfaceTexture::Destroy(bool have_context) { |
| surface_texture_ = NULL; |
| texture_id_ = 0; |
| } |
| @@ -36,6 +39,11 @@ gfx::Size GLImageSurfaceTexture::GetSize() { return size_; } |
| bool GLImageSurfaceTexture::BindTexImage(unsigned target) { |
| TRACE_EVENT0("gpu", "GLImageSurfaceTexture::BindTexImage"); |
| + if (!surface_texture_) { |
| + 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_EXTERNAL_OES) { |
| LOG(ERROR) |
| << "Surface texture can only be bound to TEXTURE_EXTERNAL_OES target"; |
| @@ -51,7 +59,6 @@ bool GLImageSurfaceTexture::BindTexImage(unsigned target) { |
| return false; |
| } |
| - DCHECK(surface_texture_); |
| if (texture_id != texture_id_) { |
| // Note: Surface textures used as gpu memory buffers are created with an |
| // initial dummy texture id of 0. We need to call DetachFromGLContext() here |