Chromium Code Reviews| 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 3c30519e9ff9134fc22326279883322d6ff449cb..dcab38c56efc623e9707473155880c22bd999dfe 100644 |
| --- a/gpu/command_buffer/service/texture_manager.cc |
| +++ b/gpu/command_buffer/service/texture_manager.cc |
| @@ -861,9 +861,6 @@ TextureDefinition* TextureManager::Save(TextureInfo* info) { |
| if (info->IsAttachedToFramebuffer()) |
| return NULL; |
| - if (info->IsImmutable()) |
| - return NULL; |
| - |
| TextureDefinition::LevelInfos level_infos(info->level_infos_.size()); |
| for (size_t face = 0; face < level_infos.size(); ++face) { |
| GLenum target = info->target() == GL_TEXTURE_2D ? |
| @@ -901,9 +898,11 @@ TextureDefinition* TextureManager::Save(TextureInfo* info) { |
| GLuint new_service_id = 0; |
| glGenTextures(1, &new_service_id); |
| info->SetServiceId(new_service_id); |
| + info->SetImmutable(false); |
| return new TextureDefinition(info->target(), |
| old_service_id, |
| + info->IsImmutable(), |
|
apatrick_chromium
2012/09/24 23:00:51
Need to call IsImmutable before SetImmutable.
piman
2012/09/24 23:03:37
Doh, thanks, done.
|
| level_infos); |
| } |
| @@ -916,9 +915,6 @@ bool TextureManager::Restore(TextureInfo* info, |
| if (info->IsAttachedToFramebuffer()) |
| return false; |
| - if (info->IsImmutable()) |
| - return false; |
| - |
| if (info->target() != definition->target()) |
| return false; |
| @@ -951,6 +947,7 @@ bool TextureManager::Restore(TextureInfo* info, |
| GLuint old_service_id = info->service_id(); |
| glDeleteTextures(1, &old_service_id); |
| info->SetServiceId(definition->ReleaseServiceId()); |
| + info->SetImmutable(definition->immutable()); |
| return true; |
| } |