| 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 c30d501ed0aec6d20eee1c50a3aba65c70d9d5a7..06a326083df3bbcd4641a96c28e2c3af60744367 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| @@ -13373,6 +13373,16 @@ void GLES2DecoderImpl::DoCopyTexImage2D(
|
|
|
| glDeleteTextures(1, &temp_texture);
|
| } else {
|
| + if (workarounds().do_teximage_before_copyteximage_to_cube_map &&
|
| + texture->target() == GL_TEXTURE_CUBE_MAP &&
|
| + target != GL_TEXTURE_CUBE_MAP_POSITIVE_X) {
|
| + TextureManager::DoTexImageArguments args = {
|
| + target, level, final_internal_format, width, height, 1, border,
|
| + format, type, nullptr, pixels_size, 0,
|
| + TextureManager::DoTexImageArguments::kTexImage2D };
|
| + texture_manager()->WorkaroundCopyTexImageCubeMap(&texture_state_,
|
| + &state_, &framebuffer_state_, texture_ref, func_name, args);
|
| + }
|
| glCopyTexImage2D(target, level, final_internal_format, copyX, copyY,
|
| copyWidth, copyHeight, border);
|
| }
|
|
|