Commit b0a4caea authored by chcunningham's avatar chcunningham Committed by Commit bot

Add gpu accelerated config changes to SmokeTests.

SmokeTests are the subset of layout tests run on the android bots. This change
adds coverage to several historically problematic config-change scenarios.

These tests use a virtual suite that sets the flag "--use-gpu-in-tests". This
flag overrides the default test behavior of using MesaGL, which is not capable
of creating surfaces to use with gpu accelerated decoding (at least on Android).

This change also fixes some test/expectations rot.

BUG=555703
TESTS=Config change LayoutTests.

Committed: https://crrev.com/b8bf5eba6b6cd3623f16404c746251bf662d141d
Review-Url: https://codereview.chromium.org/1644763002
Cr-Original-Commit-Position: refs/heads/master@{#407938}
Cr-Commit-Position: refs/heads/master@{#408266}
parent cd51f6c8
...@@ -108,58 +108,59 @@ namespace { ...@@ -108,58 +108,59 @@ namespace {
// Command-line switches to propagate to the GPU process. // Command-line switches to propagate to the GPU process.
static const char* const kSwitchNames[] = { static const char* const kSwitchNames[] = {
switches::kDisableAcceleratedVideoDecode, switches::kDisableAcceleratedVideoDecode,
switches::kDisableBreakpad, switches::kDisableBreakpad,
switches::kDisableGpuSandbox, switches::kDisableGpuSandbox,
switches::kDisableGpuWatchdog, switches::kDisableGpuWatchdog,
switches::kDisableGLExtensions, switches::kDisableGLExtensions,
switches::kDisableLogging, switches::kDisableLogging,
switches::kDisableSeccompFilterSandbox, switches::kDisableSeccompFilterSandbox,
#if defined(ENABLE_WEBRTC) #if defined(ENABLE_WEBRTC)
switches::kDisableWebRtcHWEncoding, switches::kDisableWebRtcHWEncoding,
#endif #endif
#if defined(OS_WIN) #if defined(OS_WIN)
switches::kEnableAcceleratedVpxDecode, switches::kEnableAcceleratedVpxDecode,
switches::kEnableMFH264Encoding, switches::kEnableMFH264Encoding,
#endif #endif
switches::kEnableHeapProfiling, switches::kEnableHeapProfiling,
switches::kEnableLogging, switches::kEnableLogging,
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
switches::kDisableVaapiAcceleratedVideoEncode, switches::kDisableVaapiAcceleratedVideoEncode,
#endif #endif
switches::kGpuDriverBugWorkarounds, switches::kGpuDriverBugWorkarounds,
switches::kGpuStartupDialog, switches::kGpuStartupDialog,
switches::kGpuSandboxAllowSysVShm, switches::kGpuSandboxAllowSysVShm,
switches::kGpuSandboxFailuresFatal, switches::kGpuSandboxFailuresFatal,
switches::kGpuSandboxStartEarly, switches::kGpuSandboxStartEarly,
switches::kLoggingLevel, switches::kLoggingLevel,
switches::kEnableLowEndDeviceMode, switches::kEnableLowEndDeviceMode,
switches::kDisableLowEndDeviceMode, switches::kDisableLowEndDeviceMode,
switches::kEnableMemoryBenchmarking, switches::kEnableMemoryBenchmarking,
switches::kNoSandbox, switches::kNoSandbox,
switches::kProfilerTiming, switches::kProfilerTiming,
switches::kTestGLLib, switches::kTestGLLib,
switches::kTraceConfigFile, switches::kTraceConfigFile,
switches::kTraceStartup, switches::kTraceStartup,
switches::kTraceToConsole, switches::kTraceToConsole,
switches::kV, switches::kUseGpuInTests,
switches::kVModule, switches::kV,
switches::kVModule,
#if defined(OS_MACOSX) #if defined(OS_MACOSX)
switches::kDisableRemoteCoreAnimation, switches::kDisableRemoteCoreAnimation,
switches::kEnableSandboxLogging, switches::kEnableSandboxLogging,
switches::kShowMacOverlayBorders, switches::kShowMacOverlayBorders,
#endif #endif
#if defined(USE_OZONE) #if defined(USE_OZONE)
switches::kOzonePlatform, switches::kOzonePlatform,
#endif #endif
#if defined(USE_X11) && !defined(OS_CHROMEOS) #if defined(USE_X11) && !defined(OS_CHROMEOS)
switches::kWindowDepth, switches::kWindowDepth,
switches::kX11Display, switches::kX11Display,
switches::kX11VisualID, switches::kX11VisualID,
#endif #endif
switches::kGpuTestingGLVendor, switches::kGpuTestingGLVendor,
switches::kGpuTestingGLRenderer, switches::kGpuTestingGLRenderer,
switches::kGpuTestingGLVersion, switches::kGpuTestingGLVersion,
}; };
enum GPUProcessLifetimeEvent { enum GPUProcessLifetimeEvent {
......
...@@ -1510,6 +1510,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( ...@@ -1510,6 +1510,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
// This flag needs to be propagated to the renderer process for // This flag needs to be propagated to the renderer process for
// --in-process-webgl. // --in-process-webgl.
switches::kUseGL, switches::kUseGL,
switches::kUseGpuInTests,
switches::kUseMobileUserAgent, switches::kUseMobileUserAgent,
switches::kUseRemoteCompositing, switches::kUseRemoteCompositing,
switches::kV, switches::kV,
......
...@@ -167,7 +167,8 @@ bool ShellMainDelegate::BasicStartupComplete(int* exit_code) { ...@@ -167,7 +167,8 @@ bool ShellMainDelegate::BasicStartupComplete(int* exit_code) {
command_line.AppendSwitch(switches::kEnableLogging); command_line.AppendSwitch(switches::kEnableLogging);
command_line.AppendSwitch(switches::kAllowFileAccessFromFiles); command_line.AppendSwitch(switches::kAllowFileAccessFromFiles);
// only default to osmesa if the flag isn't already specified. // only default to osmesa if the flag isn't already specified.
if (!command_line.HasSwitch(switches::kUseGL)) { if (!command_line.HasSwitch(switches::kUseGpuInTests) &&
!command_line.HasSwitch(switches::kUseGL)) {
command_line.AppendSwitchASCII(switches::kUseGL, command_line.AppendSwitchASCII(switches::kUseGL,
gl::kGLImplementationOSMesaName); gl::kGLImplementationOSMesaName);
} }
......
...@@ -41,3 +41,6 @@ crbug.com/462190 [ Linux ] inspector-protocol/heap-profiler/heap-snapshot-with-e ...@@ -41,3 +41,6 @@ crbug.com/462190 [ Linux ] inspector-protocol/heap-profiler/heap-snapshot-with-e
# Intentionally failed allocations, via partitionAllocGenericFlags() # Intentionally failed allocations, via partitionAllocGenericFlags()
crbug.com/577889 [ Linux ] fast/js/typed-array-allocation-failure.html [ Crash ] crbug.com/577889 [ Linux ] fast/js/typed-array-allocation-failure.html [ Crash ]
# These tests use OpenGl, which crashes on MSAN builds due to missing instrumentation
crbug.com/555703 [ Linux ] virtual/media-gpu-accelerated [ Skip ]
\ No newline at end of file
...@@ -91,6 +91,14 @@ fast/harness/sample-fail-mismatch-reftest.html [ WontFix ] ...@@ -91,6 +91,14 @@ fast/harness/sample-fail-mismatch-reftest.html [ WontFix ]
# Tests in media/stable are only supposed to be run as virtual test (see virtual/stable/media). # Tests in media/stable are only supposed to be run as virtual test (see virtual/stable/media).
media/stable [ WontFix ] media/stable [ WontFix ]
# These tests are only supposed be run as virtual test. See /virtual/media-gpu-accelerated/http/tests/media/media-source/.
[ Android ] http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html [ WontFix ]
[ Android ] http/tests/media/media-source/mediasource-config-change-mp4-av-framesize.html [ WontFix ]
[ Android ] http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate.html [ WontFix ]
[ Android ] http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html [ WontFix ]
[ Android ] http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html [ WontFix ]
[ Android ] http/tests/media/media-source/mediasource-config-change-mp4-v-framesize.html [ WontFix ]
# Only run fake-Android tests on Linux # Only run fake-Android tests on Linux
[ Mac Win ] virtual/android [ WontFix ] [ Mac Win ] virtual/android [ WontFix ]
......
...@@ -173,8 +173,6 @@ fast/xsl/import-non-document-node.xhtml ...@@ -173,8 +173,6 @@ fast/xsl/import-non-document-node.xhtml
fast/xsl/xslt-doc-enc.xml fast/xsl/xslt-doc-enc.xml
fullscreen/full-screen-request-rejected.html fullscreen/full-screen-request-rejected.html
http/tests/download/inherited-encoding-form-submission-result.html http/tests/download/inherited-encoding-form-submission-result.html
http/tests/media/media-source/mediasource-play.html
http/tests/media/media-source/webkitmediasource-play.html
http/tests/security/no-javascript-refresh.php http/tests/security/no-javascript-refresh.php
inspector-protocol/input/dispatchMouseEvent.html inspector-protocol/input/dispatchMouseEvent.html
loader/reload-subresource-when-type-changes.html loader/reload-subresource-when-type-changes.html
...@@ -208,6 +206,10 @@ userstyles/simple-stylesheet.html ...@@ -208,6 +206,10 @@ userstyles/simple-stylesheet.html
virtual/deferred/fast/images/link-body-content-imageDimensionChanged-crash.html virtual/deferred/fast/images/link-body-content-imageDimensionChanged-crash.html
virtual/prefer_compositing_to_lcd_text/compositing/scrollbars/scrollbar-large-overflow-rectangle.html virtual/prefer_compositing_to_lcd_text/compositing/scrollbars/scrollbar-large-overflow-rectangle.html
virtual/stable/webexposed/internal-properties-should-not-be-exposed.html virtual/stable/webexposed/internal-properties-should-not-be-exposed.html
virtual/media-gpu-accelerated/http/tests/media/media-source/mediasource-play.html
virtual/media-gpu-accelerated/http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html
virtual/media-gpu-accelerated/http/tests/media/media-source/mediasource-config-change-mp4-av-framesize.html
virtual/media-gpu-accelerated/http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html
webaudio/codec-tests/vorbis/vbr-96kbps-44khz.html webaudio/codec-tests/vorbis/vbr-96kbps-44khz.html
webaudio/codec-tests/vorbis/vbr-128kbps-44khz.html webaudio/codec-tests/vorbis/vbr-128kbps-44khz.html
webaudio/codec-tests/vorbis/vbr-70kbps-44khz.html webaudio/codec-tests/vorbis/vbr-70kbps-44khz.html
......
...@@ -725,12 +725,9 @@ crbug.com/267206 [ Mac ] virtual/scroll_customization/fast/scrolling/scrollbar-t ...@@ -725,12 +725,9 @@ crbug.com/267206 [ Mac ] virtual/scroll_customization/fast/scrolling/scrollbar-t
crbug.com/524160 [ Debug ] http/tests/media/media-source/mediasource-appendbuffer-quota-exceeded.html [ Timeout ] crbug.com/524160 [ Debug ] http/tests/media/media-source/mediasource-appendbuffer-quota-exceeded.html [ Timeout ]
crbug.com/524160 [ Debug ] http/tests/media/media-source/mediasource-appendstream-quota-exceeded.html [ Timeout ] crbug.com/524160 [ Debug ] http/tests/media/media-source/mediasource-appendstream-quota-exceeded.html [ Timeout ]
crbug.com/568827 [ Android ] http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html [ Failure ] # On these platforms (all but Android) media tests don't currently use gpu-accelerated (proprietary) codecs, so no
crbug.com/555703 [ Android ] http/tests/media/media-source/mediasource-config-change-mp4-av-framesize.html [ Failure ] # benefit to running them again with gpu acceleration enabled.
crbug.com/555703 [ Android ] http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate.html [ Failure ] crbug.com/555703 [ Linux Mac Win ] virtual/media-gpu-accelerated [ Skip ]
crbug.com/555703 [ Android ] http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html [ Failure ]
crbug.com/555703 [ Android ] http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html [ Failure ]
crbug.com/555703 [ Android ] http/tests/media/media-source/mediasource-config-change-mp4-v-framesize.html [ Failure ]
crbug.com/517449 [ Android ] css3/images/optimize-contrast-image.html [ Failure ] crbug.com/517449 [ Android ] css3/images/optimize-contrast-image.html [ Failure ]
......
...@@ -87,6 +87,11 @@ ...@@ -87,6 +87,11 @@
"--enable-fixed-layout", "--enable-viewport", "--disable-canvas-aa", "--enable-fixed-layout", "--enable-viewport", "--disable-canvas-aa",
"--disable-composited-antialiasing"] "--disable-composited-antialiasing"]
}, },
{
"prefix": "media-gpu-accelerated",
"base": "http/tests/media/media-source",
"args": ["--use-gpu-in-tests"]
},
{ {
"prefix": "android", "prefix": "android",
"base": "media/mediadocument", "base": "media/mediadocument",
......
CONSOLE WARNING: line 95: Ignore this warning. See https://crbug.com/568704#c2 CONSOLE WARNING: line 106: Ignore this warning. See https://crbug.com/568704#c2
This is a testharness.js-based test. This is a testharness.js-based test.
PASS Tests mp4 audio-only bitrate changes. PASS Tests mp4 audio-only bitrate changes.
Harness: the test ran to completion. Harness: the test ran to completion.
......
CONSOLE WARNING: line 95: Ignore this warning. See https://crbug.com/568704#c2 CONSOLE WARNING: line 106: Ignore this warning. See https://crbug.com/568704#c2
This is a testharness.js-based test. This is a testharness.js-based test.
PASS Tests mp4 audio bitrate changes in multiplexed content. PASS Tests mp4 audio bitrate changes in multiplexed content.
Harness: the test ran to completion. Harness: the test ran to completion.
......
CONSOLE WARNING: line 95: Ignore this warning. See https://crbug.com/568704#c2 CONSOLE WARNING: line 106: Ignore this warning. See https://crbug.com/568704#c2
This is a testharness.js-based test. This is a testharness.js-based test.
PASS Tests mp4 frame size changes in multiplexed content. PASS Tests mp4 frame size changes in multiplexed content.
Harness: the test ran to completion. Harness: the test ran to completion.
......
CONSOLE WARNING: line 95: Ignore this warning. See https://crbug.com/568704#c2 CONSOLE WARNING: line 106: Ignore this warning. See https://crbug.com/568704#c2
This is a testharness.js-based test. This is a testharness.js-based test.
PASS Tests mp4 video bitrate changes in multiplexed content. PASS Tests mp4 video bitrate changes in multiplexed content.
Harness: the test ran to completion. Harness: the test ran to completion.
......
CONSOLE WARNING: line 95: Ignore this warning. See https://crbug.com/568704#c2 CONSOLE WARNING: line 106: Ignore this warning. See https://crbug.com/568704#c2
This is a testharness.js-based test. This is a testharness.js-based test.
PASS Tests mp4 video-only bitrate changes. PASS Tests mp4 video-only bitrate changes.
Harness: the test ran to completion. Harness: the test ran to completion.
......
CONSOLE WARNING: line 95: Ignore this warning. See https://crbug.com/568704#c2 CONSOLE WARNING: line 106: Ignore this warning. See https://crbug.com/568704#c2
This is a testharness.js-based test. This is a testharness.js-based test.
PASS Tests mp4 video-only frame rate changes. PASS Tests mp4 video-only frame rate changes.
Harness: the test ran to completion. Harness: the test ran to completion.
......
CONSOLE WARNING: line 95: Ignore this warning. See https://crbug.com/568704#c2 CONSOLE WARNING: line 106: Ignore this warning. See https://crbug.com/568704#c2
This is a testharness.js-based test. This is a testharness.js-based test.
PASS Tests mp4 video-only frame size changes. PASS Tests mp4 video-only frame size changes.
Harness: the test ran to completion. Harness: the test ran to completion.
......
The media-gpu-accelerated prefix sets flags to facilitate hardware accelerated
video decoding on android bots.
TODO(chcunningham): Explore enabling hardware acceleration for desktop bots.
Non-android bots do not currently test with proprietary codecs, which translates
to no hardware acceleration.
Layout tests generally run using Mesa (see http://crrev.com/23868030) to
to produce more stable output for pixel layout tests when running on different
devices. However, Mesa is not compatible with android's SurfaceTexture,
used in in HW accelerated video decoding (H264 in mp4). We specify
use-gpu-in-tests to override the MesaGL default.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment