summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authormarcheu@chromium.org <marcheu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-18 04:41:05 +0000
committermarcheu@chromium.org <marcheu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-18 04:41:05 +0000
commit341c56daf077ee20e37056a24f0678cb34333ab8 (patch)
tree924a323571ab6e9732cfa18530f156974fc272fa /gpu
parent55e16cd9fffc92fd05fe255ff26dd69061c7c6b3 (diff)
downloadchromium_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.cc29
-rw-r--r--gpu/command_buffer/service/feature_info_unittest.cc2
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(),