Index: gpu/command_buffer/service/texture_manager.cc |
diff --git a/gpu/command_buffer/service/texture_manager.cc b/gpu/command_buffer/service/texture_manager.cc |
index 67615bf25d6a3a39a8ca9772d174c0e343a8954c..f1916455cc1672702e9dc8f725405b3a288063b7 100644 |
--- a/gpu/command_buffer/service/texture_manager.cc |
+++ b/gpu/command_buffer/service/texture_manager.cc |
@@ -372,6 +372,20 @@ void TextureBase::SetMailboxManager(MailboxManager* mailbox_manager) { |
mailbox_manager_ = mailbox_manager; |
} |
+TexturePassthrough::TexturePassthrough(GLuint service_id) |
+ : TextureBase(service_id), have_context_(true) {} |
+ |
+TexturePassthrough::~TexturePassthrough() { |
+ DeleteFromMailboxManager(); |
+ if (have_context_) { |
+ glDeleteTextures(1, &service_id_); |
+ } |
+} |
+ |
+void TexturePassthrough::MarkContextLost() { |
+ have_context_ = false; |
+} |
+ |
Texture::Texture(GLuint service_id) |
: TextureBase(service_id), |
memory_tracking_ref_(NULL), |