diff options
author | marcheu@chromium.org <marcheu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-18 04:41:05 +0000 |
---|---|---|
committer | marcheu@chromium.org <marcheu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-18 04:41:05 +0000 |
commit | 341c56daf077ee20e37056a24f0678cb34333ab8 (patch) | |
tree | 924a323571ab6e9732cfa18530f156974fc272fa /gpu | |
parent | 55e16cd9fffc92fd05fe255ff26dd69061c7c6b3 (diff) | |
download | chromium_src-341c56daf077ee20e37056a24f0678cb34333ab8.zip chromium_src-341c56daf077ee20e37056a24f0678cb34333ab8.tar.gz chromium_src-341c56daf077ee20e37056a24f0678cb34333ab8.tar.bz2 |
Expose GL_EXT_multisampled_render_to_texture whenever it's available.
We allow using the extension even when GL(ES)3-type MSAA is present
(these two are not exactly the same thing; since the extension uses
an implicit resolve step, it allows better performance on some GPUs).
BUG=322706
Review URL: https://codereview.chromium.org/115733005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241487 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r-- | gpu/command_buffer/service/feature_info.cc | 29 | ||||
-rw-r--r-- | gpu/command_buffer/service/feature_info_unittest.cc | 2 |
2 files changed, 15 insertions, 16 deletions
diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc index cbcf968..32f48d33 100644 --- a/gpu/command_buffer/service/feature_info.cc +++ b/gpu/command_buffer/service/feature_info.cc @@ -515,21 +515,20 @@ void FeatureInfo::InitializeFeatures() { validators_.g_l_state.AddValue(GL_MAX_SAMPLES_EXT); validators_.render_buffer_parameter.AddValue(GL_RENDERBUFFER_SAMPLES_EXT); AddExtensionString("GL_CHROMIUM_framebuffer_multisample"); - } else { - if (extensions.Contains("GL_EXT_multisampled_render_to_texture")) { - feature_flags_.multisampled_render_to_texture = true; - } else if (extensions.Contains("GL_IMG_multisampled_render_to_texture")) { - feature_flags_.multisampled_render_to_texture = true; - feature_flags_.use_img_for_multisampled_render_to_texture = true; - } - if (feature_flags_.multisampled_render_to_texture) { - validators_.render_buffer_parameter.AddValue( - GL_RENDERBUFFER_SAMPLES_EXT); - validators_.g_l_state.AddValue(GL_MAX_SAMPLES_EXT); - validators_.frame_buffer_parameter.AddValue( - GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT); - AddExtensionString("GL_EXT_multisampled_render_to_texture"); - } + } + if (extensions.Contains("GL_EXT_multisampled_render_to_texture")) { + feature_flags_.multisampled_render_to_texture = true; + } else if (extensions.Contains("GL_IMG_multisampled_render_to_texture")) { + feature_flags_.multisampled_render_to_texture = true; + feature_flags_.use_img_for_multisampled_render_to_texture = true; + } + if (feature_flags_.multisampled_render_to_texture) { + validators_.render_buffer_parameter.AddValue( + GL_RENDERBUFFER_SAMPLES_EXT); + validators_.g_l_state.AddValue(GL_MAX_SAMPLES_EXT); + validators_.frame_buffer_parameter.AddValue( + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT); + AddExtensionString("GL_EXT_multisampled_render_to_texture"); } } diff --git a/gpu/command_buffer/service/feature_info_unittest.cc b/gpu/command_buffer/service/feature_info_unittest.cc index 8164b35..b4c57f1 100644 --- a/gpu/command_buffer/service/feature_info_unittest.cc +++ b/gpu/command_buffer/service/feature_info_unittest.cc @@ -618,7 +618,7 @@ TEST_F(FeatureInfoTest, InitializeEXT_multisampled_render_to_texture) { TEST_F(FeatureInfoTest, InitializeIMG_multisampled_render_to_texture) { SetupInitExpectations("GL_IMG_multisampled_render_to_texture"); EXPECT_TRUE(info_->feature_flags( - ).use_img_for_multisampled_render_to_texture); + ).multisampled_render_to_texture); EXPECT_TRUE(info_->feature_flags( ).use_img_for_multisampled_render_to_texture); EXPECT_THAT(info_->extensions(), |