| 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 38516e7d49a7887c5685917a36fb585463ad9d1b..ef2cd49891b441023f4e90557afc783ca1187431 100644
|
| --- a/gpu/command_buffer/service/texture_manager.cc
|
| +++ b/gpu/command_buffer/service/texture_manager.cc
|
| @@ -806,6 +806,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()) {
|
| @@ -817,6 +822,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,
|
|
|