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 5b0fc8f9506f29c0995e92b06b0c2fb54e245211..97a5db46e9d944f03b225c5a5a7e8460a04770b8 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -9605,31 +9605,15 @@ void GLES2DecoderImpl::DoCopyTextureCHROMIUM( |
texture_manager()->SetLevelCleared(dest_info, GL_TEXTURE_2D, level, true); |
} |
- clear_state_dirty_ = true; |
- glViewport(0, 0, source_width, source_height); |
- copy_texture_CHROMIUM_->DoCopyTexture(target, source_info->service_id(), |
+ copy_texture_CHROMIUM_->DoCopyTexture(this, |
+ source_info->target(), |
+ dest_info->target(), |
+ source_info->service_id(), |
dest_info->service_id(), level, |
+ source_width, source_height, |
unpack_flip_y_, |
unpack_premultiply_alpha_, |
unpack_unpremultiply_alpha_); |
- glViewport( |
- state_.viewport_x, state_.viewport_y, |
- state_.viewport_width, state_.viewport_height); |
- |
- // Restore all of the state touched by the extension. |
- if (state_.current_program) |
- glUseProgram(state_.current_program->service_id()); |
- else |
- glUseProgram(0); |
- |
- RestoreCurrentFramebufferBindings(); |
- RestoreCurrentTexture2DBindings(); |
- RestoreStateForAttrib( |
- CopyTextureCHROMIUMResourceManager::kVertexPositionAttrib); |
- RestoreStateForAttrib( |
- CopyTextureCHROMIUMResourceManager::kVertexTextureAttrib); |
- |
- ApplyDirtyState(); |
} |
static GLenum ExtractTypeFromStorageFormat(GLenum internalformat) { |