From 39a22dc8028987efa3ca24135922841d2d2d387c Mon Sep 17 00:00:00 2001 From: zmo Date: Fri, 25 Mar 2016 14:23:37 -0700 Subject: Turn on seamless cubemap by default on Desktop GL for ES3. BUG=597794 TEST=deqp/texturefiltering_cube_* R=piman@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1831833006 Cr-Commit-Position: refs/heads/master@{#383362} --- gpu/command_buffer/service/gles2_cmd_decoder.cc | 9 +++++++++ gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc | 6 ++++++ 2 files changed, 15 insertions(+) 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& 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 -- cgit v1.1