| Index: chrome/browser/gpu_pixel_browsertest.cc
|
| ===================================================================
|
| --- chrome/browser/gpu_pixel_browsertest.cc (revision 106080)
|
| +++ chrome/browser/gpu_pixel_browsertest.cc (working copy)
|
| @@ -109,25 +109,12 @@
|
| // This enables DOM automation for tab contents.
|
| EnableDOMAutomation();
|
|
|
| - // These tests by default use OSMesa. This can be changed if the |kUseGL|
|
| - // switch is explicitly set to something else or if |kUseGpuInTests| is
|
| - // present.
|
| - if (command_line->HasSwitch(switches::kUseGL)) {
|
| - using_gpu_ = command_line->GetSwitchValueASCII(switches::kUseGL) !=
|
| - gfx::kGLImplementationOSMesaName;
|
| - } else if (command_line->HasSwitch(kUseGpuInTests)) {
|
| - using_gpu_ = true;
|
| - } else {
|
| - // OSMesa will be used by default.
|
| - EXPECT_TRUE(test_launcher_utils::OverrideGLImplementation(
|
| - command_line,
|
| - gfx::kGLImplementationOSMesaName));
|
| -#if defined(OS_MACOSX)
|
| - // Accelerated compositing does not work with OSMesa. AcceleratedSurface
|
| - // assumes GL contexts are native.
|
| - command_line->AppendSwitch(switches::kDisableAcceleratedCompositing);
|
| -#endif
|
| - using_gpu_ = false;
|
| + // These tests by default use any GL implementation it can find.
|
| + // This can be changed if the |kUseGL| switch is explicitly set to
|
| + // something or if |kUseGpuInTests| is present.
|
| + if (!command_line->HasSwitch(switches::kUseGL) &&
|
| + !command_line->HasSwitch(kUseGpuInTests)) {
|
| + command_line->AppendSwitchASCII(switches::kUseGL, "any");
|
| }
|
| // Allow file access from "file://" protocol. Otherwise, test fails with
|
| // "Uncaught Error: SECURITY_ERR: DOM Exception 18."
|
| @@ -144,11 +131,6 @@
|
| else
|
| generated_img_dir_ = test_data_dir_.AppendASCII("generated");
|
|
|
| - if (using_gpu_)
|
| - reference_img_dir_ = test_data_dir_.AppendASCII("gpu_reference");
|
| - else
|
| - reference_img_dir_ = test_data_dir_.AppendASCII("sw_reference");
|
| -
|
| test_name_ = testing::UnitTest::GetInstance()->current_test_info()->name();
|
| const char* test_status_prefixes[] = {"DISABLED_", "FLAKY_", "FAILS_"};
|
| for (size_t i = 0; i < arraysize(test_status_prefixes); ++i) {
|
| @@ -172,6 +154,7 @@
|
| bool CompareImages(const SkBitmap& gen_bmp, const std::string& postfix) {
|
| // Determine the name of the image.
|
| std::string img_name = test_name_;
|
| + FilePath ref_img_dir;
|
| if (postfix.length())
|
| img_name += "_" + postfix;
|
| #if defined(OS_WIN)
|
| @@ -183,21 +166,25 @@
|
| #else
|
| #error "Not implemented for this platform"
|
| #endif
|
| - if (using_gpu_) {
|
| - GPUInfo info;
|
| - if (!GetGPUInfo(&info)) {
|
| - LOG(ERROR) << "Could not get gpu info";
|
| - return false;
|
| - }
|
| + GPUInfo info;
|
| + if (!GetGPUInfo(&info)) {
|
| + LOG(ERROR) << "Could not get gpu info";
|
| + return false;
|
| + }
|
| + // TODO(alokp): Why do we treat Mesa differently?
|
| + bool using_gpu = info.gl_renderer.compare(0, 4, "Mesa") != 0;
|
| + if (using_gpu) {
|
| + ref_img_dir = test_data_dir_.AppendASCII("gpu_reference");
|
| img_name = base::StringPrintf("%s_%s_%04x-%04x.png",
|
| img_name.c_str(), os_label, info.vendor_id, info.device_id);
|
| } else {
|
| + ref_img_dir = test_data_dir_.AppendASCII("sw_reference");
|
| img_name = base::StringPrintf("%s_%s_mesa.png",
|
| img_name.c_str(), os_label);
|
| }
|
|
|
| // Read the reference image and verify the images' dimensions are equal.
|
| - FilePath ref_img_path = reference_img_dir_.AppendASCII(img_name);
|
| + FilePath ref_img_path = ref_img_dir.AppendASCII(img_name);
|
| SkBitmap ref_bmp;
|
| bool should_compare = true;
|
| if (!ReadPNGFile(ref_img_path, &ref_bmp)) {
|
| @@ -264,12 +251,9 @@
|
| FilePath test_data_dir_;
|
|
|
| private:
|
| - FilePath reference_img_dir_;
|
| FilePath generated_img_dir_;
|
| // The name of the test, with any special prefixes dropped.
|
| std::string test_name_;
|
| - // Whether the gpu, or OSMesa is being used for rendering.
|
| - bool using_gpu_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(GpuPixelBrowserTest);
|
| };
|
|
|