diff options
author | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-07 14:23:31 +0000 |
---|---|---|
committer | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-07 14:23:31 +0000 |
commit | 25cc88bf02e1ea4a4b19e15cb5a046532c521442 (patch) | |
tree | c6e016fdb35a523229c04ed2301543e61f7d2dec /chrome/test/gpu | |
parent | 24c81d69598fce9558b6a1ae2cd802ad6f7e371a (diff) | |
download | chromium_src-25cc88bf02e1ea4a4b19e15cb5a046532c521442.zip chromium_src-25cc88bf02e1ea4a4b19e15cb5a046532c521442.tar.gz chromium_src-25cc88bf02e1ea4a4b19e15cb5a046532c521442.tar.bz2 |
Revert "Clean up compositor initialization/destruction."
This reverts commit d65d6fe3c667835a8a0ddc0b917519115321d605.
The CL needs to be rebased.
TBR=piman
BUG=258625, 266565
Review URL: https://codereview.chromium.org/22570003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216183 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/gpu')
-rw-r--r-- | chrome/test/gpu/gpu_feature_browsertest.cc | 35 | ||||
-rw-r--r-- | chrome/test/gpu/webgl_infobar_browsertest.cc | 7 |
2 files changed, 29 insertions, 13 deletions
diff --git a/chrome/test/gpu/gpu_feature_browsertest.cc b/chrome/test/gpu/gpu_feature_browsertest.cc index 8a6af16..7ace688 100644 --- a/chrome/test/gpu/gpu_feature_browsertest.cc +++ b/chrome/test/gpu/gpu_feature_browsertest.cc @@ -14,6 +14,7 @@ #include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_switches.h" #include "chrome/test/base/in_process_browser_test.h" +#include "chrome/test/base/test_launcher_utils.h" #include "chrome/test/base/tracing.h" #include "chrome/test/base/ui_test_utils.h" #include "content/public/browser/gpu_data_manager.h" @@ -23,7 +24,8 @@ #include "gpu/config/gpu_info.h" #include "gpu/config/gpu_test_config.h" #include "net/base/net_util.h" -#include "ui/gl/gl_implementation.h" +#include "ui/compositor/compositor_setup.h" +#include "ui/gl/gl_switches.h" #if defined(OS_MACOSX) #include "ui/gl/io_surface_support_mac.h" @@ -47,14 +49,7 @@ const char kWebGLCreationEvent[] = "DrawingBufferCreation"; class GpuFeatureTest : public InProcessBrowserTest { public: - GpuFeatureTest() : category_patterns_("test_gpu") {} - - virtual void SetUp() OVERRIDE { - // We expect to use real GL contexts for these tests. - UseRealGLContexts(); - - InProcessBrowserTest::SetUp(); - } + GpuFeatureTest() : category_patterns_("test_gpu"), gpu_enabled_(false) {} virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { base::FilePath test_dir; @@ -63,7 +58,18 @@ class GpuFeatureTest : public InProcessBrowserTest { } virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { + // Do not use mesa if real GPU is required. + if (!command_line->HasSwitch(switches::kUseGpuInTests)) { +#if !defined(OS_MACOSX) + CHECK(test_launcher_utils::OverrideGLImplementation( + command_line, gfx::kGLImplementationOSMesaName)) << + "kUseGL must not be set by test framework code!"; +#endif + } else { + gpu_enabled_ = true; + } command_line->AppendSwitch(switches::kDisablePopupBlocking); + ui::DisableTestCompositor(); command_line->AppendSwitchASCII(switches::kWindowSize, "400,300"); } @@ -79,7 +85,7 @@ class GpuFeatureTest : public InProcessBrowserTest { bool new_tab) { #if defined(OS_LINUX) && !defined(NDEBUG) // Bypass tests on GPU Linux Debug bots. - if (gfx::GetGLImplementation() != gfx::kGLImplementationOSMesaGL) + if (gpu_enabled_) return; #endif @@ -111,7 +117,7 @@ class GpuFeatureTest : public InProcessBrowserTest { bool event_expected = false) { #if defined(OS_LINUX) && !defined(NDEBUG) // Bypass tests on GPU Linux Debug bots. - if (gfx::GetGLImplementation() != gfx::kGLImplementationOSMesaGL) + if (gpu_enabled_) return; #endif #if defined(OS_MACOSX) @@ -167,6 +173,7 @@ class GpuFeatureTest : public InProcessBrowserTest { scoped_ptr<TraceAnalyzer> analyzer_; std::string category_patterns_; std::string trace_events_json_; + bool gpu_enabled_; }; #if defined(OS_WIN) || defined(ADDRESS_SANITIZER) @@ -301,7 +308,9 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, MultisamplingAllowed) { gpu::GPU_FEATURE_TYPE_MULTISAMPLING)); // Multisampling is not supported if running on top of osmesa. - if (gfx::GetGLImplementation() != gfx::kGLImplementationOSMesaGL) + std::string use_gl = CommandLine::ForCurrentProcess()->GetSwitchValueASCII( + switches::kUseGL); + if (use_gl == gfx::kGLImplementationOSMesaName) return; // Linux Intel uses mesa driver, where multisampling is not supported. @@ -549,4 +558,4 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, IOSurfaceReuse) { } #endif -} // namespace +} // namespace anonymous diff --git a/chrome/test/gpu/webgl_infobar_browsertest.cc b/chrome/test/gpu/webgl_infobar_browsertest.cc index e21df14..35071ae 100644 --- a/chrome/test/gpu/webgl_infobar_browsertest.cc +++ b/chrome/test/gpu/webgl_infobar_browsertest.cc @@ -51,6 +51,13 @@ void SimulateGPUCrash(Browser* browser) { class WebGLInfobarTest : public InProcessBrowserTest { protected: + virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { + // GPU tests require gpu acceleration. +#if !defined(OS_MACOSX) + command_line->AppendSwitchASCII( + switches::kUseGL, gfx::kGLImplementationOSMesaName); +#endif + } virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { base::FilePath test_dir; ASSERT_TRUE(PathService::Get(content::DIR_TEST_DATA, &test_dir)); |