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 8f7c3f4395b5605e8998d9621c785ccd9a9f4758..fec327827c3e838f62d31dd6bf2d7911ec04bedd 100644 |
| --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
| @@ -13377,6 +13377,18 @@ void GLES2DecoderImpl::DoCopyTexImage2D( |
| } else { |
| GLenum final_internal_format = TextureManager::AdjustTexInternalFormat( |
| feature_info_.get(), internal_format); |
| + if (workarounds().init_two_cube_map_levels_before_copyteximage && |
| + texture->target() == GL_TEXTURE_CUBE_MAP && |
| + target != GL_TEXTURE_CUBE_MAP_POSITIVE_X) { |
| + for (int i = 0; i < 2; ++i) { |
| + TextureManager::DoTexImageArguments args = { |
| + target, i, final_internal_format, 1, 1, 1, border, |
| + format, type, nullptr, 1, 0, |
| + TextureManager::DoTexImageArguments::kTexImage2D }; |
| + texture_manager()->WorkaroundCopyTexImageCubeMap(&texture_state_, |
|
Zhenyao Mo
2016/10/11 03:10:18
Here is my question:
WorkaroundCopyTexImageCubeM
qiankun
2016/10/11 03:18:19
In TextureManager::DoTexImage, format is translate
|
| + &state_, &framebuffer_state_, texture_ref, func_name, args); |
| + } |
| + } |
| // The service id and target of the texture attached to READ_FRAMEBUFFER. |
| GLuint source_texture_service_id = 0; |
| @@ -13432,7 +13444,7 @@ void GLES2DecoderImpl::DoCopyTexImage2D( |
| glDeleteTextures(1, &temp_texture); |
| } else { |
| - if (workarounds().do_teximage_before_copyteximage_to_cube_map && |
| + if (workarounds().init_one_cube_map_level_before_copyteximage && |
| texture->target() == GL_TEXTURE_CUBE_MAP && |
| target != GL_TEXTURE_CUBE_MAP_POSITIVE_X) { |
| TextureManager::DoTexImageArguments args = { |