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 09752586488365f55405dfe553d2092d524415db..2082841c3ad5f88c01fca7f77f35a46a45550eb3 100644 |
--- a/gpu/command_buffer/service/texture_manager.cc |
+++ b/gpu/command_buffer/service/texture_manager.cc |
@@ -840,6 +840,11 @@ void Texture::SetLevelImage( |
} |
gfx::GLImage* Texture::GetLevelImage(GLint target, GLint level) const { |
+ if (target != GL_TEXTURE_2D && target != GL_TEXTURE_EXTERNAL_OES && |
+ target != GL_TEXTURE_RECTANGLE_ARB) { |
+ return NULL; |
+ } |
+ |
size_t face_index = GLTargetToFaceIndex(target); |
if (level >= 0 && face_index < level_infos_.size() && |
static_cast<size_t>(level) < level_infos_[face_index].size()) { |
@@ -851,6 +856,17 @@ gfx::GLImage* Texture::GetLevelImage(GLint target, GLint level) const { |
return 0; |
} |
+void Texture::OnWillModifyPixels() { |
+ gfx::GLImage* image = GetLevelImage(target(), 0); |
+ if (image) |
+ image->WillModifyTexImage(); |
+} |
+ |
+void Texture::OnDidModifyPixels() { |
+ gfx::GLImage* image = GetLevelImage(target(), 0); |
+ if (image) |
+ image->DidModifyTexImage(); |
+} |
TextureRef::TextureRef(TextureManager* manager, |
GLuint client_id, |