Chromium Code Reviews| Index: gpu/command_buffer/service/texture_manager.cc |
| diff --git a/gpu/command_buffer/service/texture_manager.cc b/gpu/command_buffer/service/texture_manager.cc |
| index 3a655827f75efa7ac3312f866295dc400fda5642..31e4b8d9407e75acec20033600ac0e96de7d8c91 100644 |
| --- a/gpu/command_buffer/service/texture_manager.cc |
| +++ b/gpu/command_buffer/service/texture_manager.cc |
| @@ -3261,12 +3261,22 @@ void TextureManager::DoTexImage( |
| AdjustTexFormat(feature_info_.get(), args.format), args.type, |
| args.pixels); |
| } else { |
| + if (texture_ref && |
|
qiankun
2017/04/26 04:16:20
texture_ref should be always non-null here.
yizhou.jiang
2017/04/27 04:23:22
Done.
|
| + feature_info_->workarounds().reset_teximage2d_base_level) { |
| + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0); |
| + } |
| glTexImage2D( |
| args.target, args.level, |
| AdjustTexInternalFormat(feature_info_.get(), args.internal_format), |
| args.width, args.height, args.border, |
| AdjustTexFormat(feature_info_.get(), args.format), args.type, |
| args.pixels); |
| + if (texture_ref && |
| + feature_info_->workarounds().reset_teximage2d_base_level) { |
| + Texture* texture = texture_ref->texture(); |
| + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, |
| + texture->base_level()); |
| + } |
| } |
| } |
| GLenum error = ERRORSTATE_PEEK_GL_ERROR(error_state, function_name); |