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); |
} |