summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/feature_info_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gpu/command_buffer/service/feature_info_unittest.cc')
-rw-r--r--gpu/command_buffer/service/feature_info_unittest.cc43
1 files changed, 40 insertions, 3 deletions
diff --git a/gpu/command_buffer/service/feature_info_unittest.cc b/gpu/command_buffer/service/feature_info_unittest.cc
index 47a19998..bb616ac 100644
--- a/gpu/command_buffer/service/feature_info_unittest.cc
+++ b/gpu/command_buffer/service/feature_info_unittest.cc
@@ -76,7 +76,7 @@ class FeatureInfoTest
TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(
gl_.get(), extensions, renderer, version);
info_ = new FeatureInfo();
- info_->Initialize();
+ info_->InitializeForTesting();
}
void SetupInitExpectationsWithGLVersionAndCommandLine(
@@ -88,7 +88,20 @@ class FeatureInfoTest
TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(
gl_.get(), extensions, renderer, version);
info_ = new FeatureInfo(command_line);
- info_->Initialize();
+ info_->InitializeForTesting();
+ }
+
+ void SetupInitExpectationsWithGLVersionAndContextTypeAndCommandLine(
+ const char* extensions,
+ const char* renderer,
+ const char* version,
+ ContextType context_type,
+ const base::CommandLine& command_line) {
+ GpuServiceTest::SetUpWithGLVersion(version, extensions);
+ TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(
+ gl_.get(), extensions, renderer, version);
+ info_ = new FeatureInfo(command_line);
+ info_->Initialize(context_type, DisallowedFeatures());
}
void SetupWithCommandLine(const base::CommandLine& command_line) {
@@ -103,7 +116,7 @@ class FeatureInfoTest
TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(
gl_.get(), extensions, "", "");
info_ = new FeatureInfo(command_line);
- info_->Initialize();
+ info_->InitializeForTesting();
}
void SetupWithoutInit() {
@@ -1369,5 +1382,29 @@ TEST_P(FeatureInfoTest, InitializeCHROMIUM_ycbcr_422_imageTrue) {
EXPECT_TRUE(info_->feature_flags().chromium_image_ycbcr_422);
}
+TEST_P(FeatureInfoTest, DisableMsaaOnNonWebGLContexts) {
+ base::CommandLine command_line(0, NULL);
+ command_line.AppendSwitchASCII(
+ switches::kGpuDriverBugWorkarounds,
+ base::IntToString(gpu::DISABLE_MSAA_ON_NON_WEBGL_CONTEXTS));
+ SetupInitExpectationsWithGLVersionAndContextTypeAndCommandLine(
+ "GL_EXT_multisampled_render_to_texture GL_EXT_framebuffer_multisample",
+ "", "", CONTEXT_TYPE_OPENGLES2, command_line);
+ EXPECT_FALSE(info_->feature_flags().multisampled_render_to_texture);
+ EXPECT_FALSE(info_->feature_flags().chromium_framebuffer_multisample);
+}
+
+TEST_P(FeatureInfoTest, DontDisableMsaaOnWebGLContexts) {
+ base::CommandLine command_line(0, NULL);
+ command_line.AppendSwitchASCII(
+ switches::kGpuDriverBugWorkarounds,
+ base::IntToString(gpu::DISABLE_MSAA_ON_NON_WEBGL_CONTEXTS));
+ SetupInitExpectationsWithGLVersionAndContextTypeAndCommandLine(
+ "GL_EXT_multisampled_render_to_texture GL_EXT_framebuffer_multisample",
+ "", "", CONTEXT_TYPE_WEBGL1, command_line);
+ EXPECT_TRUE(info_->feature_flags().multisampled_render_to_texture);
+ EXPECT_TRUE(info_->feature_flags().chromium_framebuffer_multisample);
+}
+
} // namespace gles2
} // namespace gpu