Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
=================================================================== |
--- gpu/command_buffer/service/gles2_cmd_decoder.cc (revision 94806) |
+++ gpu/command_buffer/service/gles2_cmd_decoder.cc (working copy) |
@@ -465,10 +465,6 @@ |
const char* allowed_extensions, |
const std::vector<int32>& attribs); |
virtual void Destroy(); |
- virtual bool MapExternalResource(resource_type::ResourceType resource_type, |
- uint32 resource_source_id, |
- GLES2Decoder* source_decoder, |
- uint32 resource_dest_id); |
virtual bool SetParent(GLES2Decoder* parent_decoder, |
uint32 parent_texture_id); |
virtual void ResizeOffscreenFrameBuffer(const gfx::Size& size); |
@@ -592,11 +588,6 @@ |
return (info && !info->IsDeleted()) ? info : NULL; |
} |
- // Adds the texture info for the given texture. |
- void AddTextureInfo(GLuint client_id, TextureManager::TextureInfo* info) { |
- texture_manager()->AddTextureInfo(feature_info_, client_id, info); |
- } |
- |
// Deletes the texture info for the given texture. |
void RemoveTextureInfo(GLuint client_id) { |
texture_manager()->RemoveTextureInfo(feature_info_, client_id); |
@@ -2098,10 +2089,8 @@ |
if (info->IsAttachedToFramebuffer()) { |
state_dirty_ = true; |
} |
- if (info->owner() == group_->texture_manager()) { |
- GLuint service_id = info->service_id(); |
- glDeleteTextures(1, &service_id); |
- } |
+ GLuint service_id = info->service_id(); |
+ glDeleteTextures(1, &service_id); |
RemoveTextureInfo(client_ids[ii]); |
} |
} |
@@ -2481,37 +2470,6 @@ |
offscreen_saved_color_texture_.reset(); |
} |
-bool GLES2DecoderImpl::MapExternalResource( |
- resource_type::ResourceType resource_type, |
- uint32 resource_source_id, |
- GLES2Decoder* source_decoder, |
- uint32 resource_dest_id) { |
- GLES2DecoderImpl* source_decoder_impl = static_cast<GLES2DecoderImpl*>( |
- source_decoder); |
- |
- if (resource_type != resource_type::kTexture) |
- return false; |
- |
- if (!source_decoder) |
- return false; |
- |
- // The client should already have created the texture in the source context |
- // group and flushed. |
- TextureManager::TextureInfo* source_info = |
- source_decoder_impl->GetTextureInfo(resource_source_id); |
- if (!source_info) |
- return false; |
- |
- // Delete or unmap any existing texture with this ID. |
- DeleteTexturesHelper(1, &resource_dest_id); |
- |
- // Add the source texture info to this group's manager with the |
- // requested id. |
- AddTextureInfo(resource_dest_id, source_info); |
- |
- return true; |
-} |
- |
bool GLES2DecoderImpl::SetParent(GLES2Decoder* new_parent, |
uint32 new_parent_texture_id) { |
if (!offscreen_saved_color_texture_.get()) |
@@ -2544,8 +2502,8 @@ |
feature_info_, new_parent_texture_id); |
TextureManager::TextureInfo* info = |
- new TextureManager::TextureInfo(service_id); |
- new_parent_impl->AddTextureInfo(new_parent_texture_id, info); |
+ new_parent_impl->CreateTextureInfo(new_parent_texture_id, service_id); |
+ info->SetNotOwned(); |
new_parent_impl->texture_manager()->SetInfoTarget(info, GL_TEXTURE_2D); |
parent_ = new_parent_impl->AsWeakPtr(); |