summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder.cc9
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc6
2 files changed, 15 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index 7ecd8d5..0e471a1 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -3018,6 +3018,15 @@ bool GLES2DecoderImpl::Initialize(const scoped_refptr<gfx::GLSurface>& surface,
glEnable(GL_PROGRAM_POINT_SIZE);
}
+ // ES3 requires seamless cubemap. ES2 does not.
+ // However, when ES2 is implemented on top of DX11, seamless cubemap is
+ // always enabled and there is no way to disable it.
+ // Therefore, it seems OK to also always enable it on top of Desktop GL for
+ // both ES2 and ES3 contexts.
+ if (feature_info_->gl_version_info().IsAtLeastGL(3, 2)) {
+ glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS);
+ }
+
has_robustness_extension_ =
context->HasExtension("GL_ARB_robustness") ||
context->HasExtension("GL_KHR_robustness") ||
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
index e3c0627..cbe3112 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
@@ -351,6 +351,12 @@ void GLES2DecoderTestBase::InitDecoderWithCommandLine(
.RetiresOnSaturation();
}
+ if (group_->feature_info()->gl_version_info().IsAtLeastGL(3, 2)) {
+ EXPECT_CALL(*gl_, Enable(GL_TEXTURE_CUBE_MAP_SEAMLESS))
+ .Times(1)
+ .RetiresOnSaturation();
+ }
+
static GLint max_viewport_dims[] = {
kMaxViewportWidth,
kMaxViewportHeight