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 7d8f292242f731f79343a4b1571b30277d405fe5..82d776f38ff97d81369c1946ea12f130516d8d71 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -16557,22 +16557,24 @@ void GLES2DecoderImpl::TexStorageImpl(GLenum target, |
GLsizei level_width = width; |
GLsizei level_height = height; |
GLsizei level_depth = depth; |
- GLenum adjusted_format = |
- feature_info_->IsES3Enabled() ? internal_format : format; |
+ GLenum adjusted_format = internal_format; |
+#if defined(OS_MACOSX) |
+ // TODO(dshwang): remove it after fixing the root cause. crbug.com/657532 |
+ adjusted_format = feature_info_->IsES3Enabled() ? internal_format : format; |
+#endif |
+ |
for (int ii = 0; ii < levels; ++ii) { |
if (target == GL_TEXTURE_CUBE_MAP) { |
for (int jj = 0; jj < 6; ++jj) { |
GLenum face = GL_TEXTURE_CUBE_MAP_POSITIVE_X + jj; |
- texture_manager()->SetLevelInfo(texture_ref, face, ii, |
- adjusted_format, |
- level_width, level_height, 1, |
- 0, format, type, gfx::Rect()); |
+ texture_manager()->SetLevelInfo( |
+ texture_ref, face, ii, adjusted_format, level_width, level_height, |
+ 1, 0, format, type, gfx::Rect()); |
} |
} else { |
- texture_manager()->SetLevelInfo(texture_ref, target, ii, |
- adjusted_format, |
- level_width, level_height, level_depth, |
- 0, format, type, gfx::Rect()); |
+ texture_manager()->SetLevelInfo( |
+ texture_ref, target, ii, adjusted_format, level_width, level_height, |
+ level_depth, 0, format, type, gfx::Rect()); |
} |
level_width = std::max(1, level_width >> 1); |
level_height = std::max(1, level_height >> 1); |