Chromium Code Reviews| 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 bafcfa05d0056a7cb46436f2f63cf0457ade5c10..8654c944b97e13cdba96b77b3d0622573a345df0 100644 |
| --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
| @@ -12437,8 +12437,14 @@ void GLES2DecoderImpl::DoCopyTexImage2D( |
| bool use_workaround = NeedsCopyTextureImageWorkaround( |
| final_internal_format, channels_exist, &source_texture_service_id, |
| &source_texture_target); |
| - if (use_workaround) { |
| - DCHECK(!requires_luma_blit); |
| + if (requires_luma_blit) { |
| + copy_tex_image_blit_->DoCopyTexImage2DToLUMAComatabilityTexture( |
| + this, texture->service_id(), texture->target(), target, format, |
| + type, level, internal_format, copyX, copyY, copyWidth, copyHeight, |
| + framebuffer_state_.bound_read_framebuffer->service_id(), |
| + framebuffer_state_.bound_read_framebuffer |
| + ->GetReadBufferInternalFormat()); |
| + } else if(use_workaround) { |
|
Zhenyao Mo
2016/06/14 22:49:14
nit: a space after if.
erikchen
2016/06/14 22:53:19
Done.
|
| GLenum dest_texture_target = target; |
| GLenum framebuffer_target = features().chromium_framebuffer_multisample |
| ? GL_READ_FRAMEBUFFER_EXT |
| @@ -12479,17 +12485,8 @@ void GLES2DecoderImpl::DoCopyTexImage2D( |
| glDeleteTextures(1, &temp_texture); |
| } else { |
| - if (requires_luma_blit) { |
| - copy_tex_image_blit_->DoCopyTexImage2DToLUMAComatabilityTexture( |
| - this, texture->service_id(), texture->target(), target, format, |
| - type, level, internal_format, copyX, copyY, copyWidth, copyHeight, |
| - framebuffer_state_.bound_read_framebuffer->service_id(), |
| - framebuffer_state_.bound_read_framebuffer |
| - ->GetReadBufferInternalFormat()); |
| - } else { |
| - glCopyTexImage2D(target, level, final_internal_format, copyX, copyY, |
| - copyWidth, copyHeight, border); |
| - } |
| + glCopyTexImage2D(target, level, final_internal_format, copyX, copyY, |
| + copyWidth, copyHeight, border); |
| } |
| } |
| GLenum error = LOCAL_PEEK_GL_ERROR(func_name); |