| Index: gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
|
| diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
|
| index 3600f809af1e651a59682c19bd055293b4d035ff..9bfcb6b2750c7578ba5e0b76107cdb2812d64803 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
|
| @@ -3485,15 +3485,22 @@ error::Error GLES2DecoderPassthroughImpl::DoBindUniformLocationCHROMIUM(
|
| error::Error GLES2DecoderPassthroughImpl::DoBindTexImage2DCHROMIUM(
|
| GLenum target,
|
| GLint imageId) {
|
| - return BindTexImage2DCHROMIUMImpl(target, 0, imageId);
|
| -}
|
| + if (target != GL_TEXTURE_2D) {
|
| + InsertError(GL_INVALID_ENUM, "Invalid target");
|
| + return error::kNoError;
|
| + }
|
|
|
| -error::Error
|
| -GLES2DecoderPassthroughImpl::DoBindTexImage2DWithInternalformatCHROMIUM(
|
| - GLenum target,
|
| - GLenum internalformat,
|
| - GLint imageId) {
|
| - return BindTexImage2DCHROMIUMImpl(target, internalformat, imageId);
|
| + gl::GLImage* image = image_manager_->LookupImage(imageId);
|
| + if (image == nullptr) {
|
| + InsertError(GL_INVALID_OPERATION, "No image found with the given ID");
|
| + return error::kNoError;
|
| + }
|
| +
|
| + if (!image->BindTexImage(target)) {
|
| + image->CopyTexImage(target);
|
| + }
|
| +
|
| + return error::kNoError;
|
| }
|
|
|
| error::Error GLES2DecoderPassthroughImpl::DoReleaseTexImage2DCHROMIUM(
|
|
|