Home | History | Annotate | Download | only in gpu
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "content/browser/gpu/compositor_util.h"
      6 #include "content/public/test/content_browser_test.h"
      7 
      8 #if defined(OS_MACOSX)
      9 #include "base/mac/mac_util.h"
     10 #elif defined(OS_WIN)
     11 #include "base/win/windows_version.h"
     12 #endif
     13 
     14 namespace content {
     15 
     16 typedef ContentBrowserTest CompositorUtilTest;
     17 
     18 // Test that threaded compositing and FCM are in the expected mode on the bots
     19 // for all platforms.
     20 IN_PROC_BROWSER_TEST_F(CompositorUtilTest, CompositingModeAsExpected) {
     21   enum CompositingMode {
     22     DISABLED,
     23     ENABLED,
     24     THREADED,  // Implies FCM
     25     DELEGATED,  // Implies threaded
     26   } expected_mode = DISABLED;
     27 #if defined(USE_AURA)
     28   expected_mode = DELEGATED;
     29 #elif defined(OS_ANDROID)
     30   expected_mode = DELEGATED;
     31 #elif defined(OS_MACOSX)
     32   expected_mode = THREADED;
     33   // Lion and SnowLeopard have compositing blacklisted when using the Apple
     34   // software renderer, so results will vary depending if this test is being
     35   // run in a VM versus actual hardware.
     36   // http://crbug.com/230931
     37   if (base::mac::IsOSLionOrEarlier())
     38     return;
     39 #elif defined(OS_WIN)
     40   if (base::win::GetVersion() >= base::win::VERSION_VISTA)
     41     expected_mode = THREADED;
     42 #endif
     43 
     44   EXPECT_EQ(expected_mode == THREADED ||
     45             expected_mode == DELEGATED,
     46             IsThreadedCompositingEnabled());
     47   EXPECT_EQ(expected_mode == DELEGATED,
     48             IsDelegatedRendererEnabled());
     49 }
     50 
     51 }
     52