| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/common/gpu/media/avda_codec_image.h" | 5 #include "content/common/gpu/media/avda_codec_image.h" |
| 6 | 6 |
| 7 #include "content/common/gpu/media/avda_shared_state.h" | 7 #include "content/common/gpu/media/avda_shared_state.h" |
| 8 #include "gpu/command_buffer/service/context_group.h" | 8 #include "gpu/command_buffer/service/context_group.h" |
| 9 #include "gpu/command_buffer/service/context_state.h" | 9 #include "gpu/command_buffer/service/context_state.h" |
| 10 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 10 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 glBindTexture(GL_TEXTURE_EXTERNAL_OES, | 80 glBindTexture(GL_TEXTURE_EXTERNAL_OES, |
| 81 shared_state_->surface_texture_service_id()); | 81 shared_state_->surface_texture_service_id()); |
| 82 | 82 |
| 83 // TODO(liberato): Handle the texture matrix properly. | 83 // TODO(liberato): Handle the texture matrix properly. |
| 84 // Either we can update the shader with it or we can move all of the logic | 84 // Either we can update the shader with it or we can move all of the logic |
| 85 // to updateTexImage() to the right place in the cc to send it to the shader. | 85 // to updateTexImage() to the right place in the cc to send it to the shader. |
| 86 // For now, we just skip it. crbug.com/530681 | 86 // For now, we just skip it. crbug.com/530681 |
| 87 | 87 |
| 88 gpu::gles2::TextureManager* texture_manager = | 88 gpu::gles2::TextureManager* texture_manager = |
| 89 decoder_->GetContextGroup()->texture_manager(); | 89 decoder_->GetContextGroup()->texture_manager(); |
| 90 gpu::gles2::Texture* texture = | 90 gpu::gles2::Texture* texture = texture_manager->GetTextureForServiceId( |
| 91 texture_manager->GetTextureForServiceId( | 91 shared_state_->surface_texture_service_id()); |
| 92 shared_state_->surface_texture_service_id()); | |
| 93 if (texture) { | 92 if (texture) { |
| 94 // By setting image state to UNBOUND instead of COPIED we ensure that | 93 // By setting image state to UNBOUND instead of COPIED we ensure that |
| 95 // CopyTexImage() is called each time the surface texture is used for | 94 // CopyTexImage() is called each time the surface texture is used for |
| 96 // drawing. | 95 // drawing. |
| 97 texture->SetLevelImage(GL_TEXTURE_EXTERNAL_OES, 0, this, | 96 texture->SetLevelImage(GL_TEXTURE_EXTERNAL_OES, 0, this, |
| 98 gpu::gles2::Texture::UNBOUND); | 97 gpu::gles2::Texture::UNBOUND); |
| 99 } | 98 } |
| 100 | 99 |
| 101 return true; | 100 return true; |
| 102 } | 101 } |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 | 175 |
| 177 // The surface texture is already detached, so just attach it. | 176 // The surface texture is already detached, so just attach it. |
| 178 surface_texture_->AttachToGLContext(); | 177 surface_texture_->AttachToGLContext(); |
| 179 shared_state_->set_surface_texture_service_id(surface_texture_service_id); | 178 shared_state_->set_surface_texture_service_id(surface_texture_service_id); |
| 180 detach_surface_texture_on_destruction_ = true; | 179 detach_surface_texture_on_destruction_ = true; |
| 181 | 180 |
| 182 // We do not restore the GL state here. | 181 // We do not restore the GL state here. |
| 183 } | 182 } |
| 184 | 183 |
| 185 } // namespace content | 184 } // namespace content |
| OLD | NEW |