Chromium Code Reviews| Index: media/gpu/ipc/service/gpu_video_decode_accelerator.cc |
| diff --git a/media/gpu/ipc/service/gpu_video_decode_accelerator.cc b/media/gpu/ipc/service/gpu_video_decode_accelerator.cc |
| index 1470a1254cd4bf9c8357878c246c693058ca7704..bde28c65814402dd58ff11ed2ba78b08e9e8a30f 100644 |
| --- a/media/gpu/ipc/service/gpu_video_decode_accelerator.cc |
| +++ b/media/gpu/ipc/service/gpu_video_decode_accelerator.cc |
| @@ -519,8 +519,14 @@ void GpuVideoDecodeAccelerator::SetTextureCleared(const Picture& picture) { |
| GLenum target = texture_ref->texture()->target(); |
| gpu::gles2::TextureManager* texture_manager = |
| stub_->decoder()->GetContextGroup()->texture_manager(); |
| - DCHECK(!texture_ref->texture()->IsLevelCleared(target, 0)); |
| - texture_manager->SetLevelCleared(texture_ref.get(), target, 0, true); |
| + |
| + // OES textures are a special case and expected to already be cleared. |
|
sandersd (OOO until July 31)
2016/11/08 01:05:44
Should say 'External textures are'.
DaleCurtis
2016/11/08 01:08:08
Done.
|
| + if (target == GL_TEXTURE_EXTERNAL_OES) { |
| + DCHECK(texture_ref->texture()->IsLevelCleared(target, 0)); |
| + } else { |
| + DCHECK(!texture_ref->texture()->IsLevelCleared(target, 0)); |
| + texture_manager->SetLevelCleared(texture_ref.get(), target, 0, true); |
| + } |
| } |
| uncleared_textures_.erase(it); |
| } |