Chromium Code Reviews| Index: gpu/command_buffer/service/gles2_cmd_srgb_converter.cc |
| diff --git a/gpu/command_buffer/service/gles2_cmd_srgb_converter.cc b/gpu/command_buffer/service/gles2_cmd_srgb_converter.cc |
| index 8300d6190f3f9068868984d02274fd5b37f95b21..3204b3ee05c2e9f97275b16dd14802ec6951c28d 100644 |
| --- a/gpu/command_buffer/service/gles2_cmd_srgb_converter.cc |
| +++ b/gpu/command_buffer/service/gles2_cmd_srgb_converter.cc |
| @@ -360,10 +360,14 @@ void SRGBConverter::GenerateMipmap(const gles2::GLES2Decoder* decoder, |
| const GLint mipmap_levels = |
| TextureManager::ComputeMipMapCount(target, width, height, depth); |
| - // bind srgb_decoder_textures_[1] to draw framebuffer |
| glBindTexture(GL_TEXTURE_2D, srgb_converter_textures_[1]); |
| - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, |
| - GL_UNSIGNED_BYTE, nullptr); |
| + if (feature_info_->ext_color_buffer_float_available()) { |
|
Zhenyao Mo
2016/10/20 16:54:04
Sorry I forgot to mention this in earlier review,
yizhou.jiang
2016/10/21 03:25:26
Done.
|
| + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, width, height, 0, GL_RGBA, |
| + GL_UNSIGNED_BYTE, nullptr); |
| + } else { |
| + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, |
| + GL_UNSIGNED_BYTE, nullptr); |
| + } |
| glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER, srgb_decoder_fbo_); |
| glFramebufferTexture2DEXT(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, |
| GL_TEXTURE_2D, srgb_converter_textures_[1], 0); |
| @@ -387,7 +391,6 @@ void SRGBConverter::GenerateMipmap(const gles2::GLES2Decoder* decoder, |
| glDrawArrays(GL_TRIANGLES, 0, 6); |
| - // generateMipmap for srgb_decoder_textures_[1] |
| glBindTexture(GL_TEXTURE_2D, srgb_converter_textures_[1]); |
| glGenerateMipmapEXT(GL_TEXTURE_2D); |