Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
index 03a2a4fdad2bf1a201aca6c4808f7735a2b640cb..879e07d1e3b44c069becba6e20a44d4316a1b1b5 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -8195,9 +8195,13 @@ void GLES2DecoderImpl::DoCopyTexImage(Texture* texture, |
GLenum textarget, |
gl::GLImage* image) { |
// Note: We update the state to COPIED prior to calling CopyTexImage() |
- // as that allows the GLImage implemenatation to set it back to UNBOUND |
+ // as that allows the GLImage implementation to set it back to UNBOUND |
// and ensure that CopyTexImage() is called each time the texture is |
// used. |
+ // XXX: This breaks everything because it clears the unowned service id and |
+ // restores the EOS binding to the owned service id, but |
+ // AVDACodecImage::CopyTexImage expects the SurfaceTexture texture to be |
+ // bound. |
texture->SetLevelImage(textarget, 0, image, Texture::COPIED); |
bool rv = image->CopyTexImage(textarget); |
DCHECK(rv) << "Both BindTexImage() and CopyTexImage() failed"; |