Commit 630842ea authored by Zhenyao Mo's avatar Zhenyao Mo Committed by Commit Bot

Add pixel tests for --disable-gpu mode.

On Win/Linux, we will fallback to rendering with SwiftShader.
On other platforms, we will fallback to software rendering with no gpu process.

BUG=783069
TEST=the added tests
R=kbr@chromium.org

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I9a60c71fba04ebdb46d92a5a0442a75f4f236e90
Reviewed-on: https://chromium-review.googlesource.com/764000Reviewed-by: default avatarKenneth Russell <kbr@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515780}
parent 95666ded
...@@ -25,6 +25,15 @@ class PixelExpectations(GpuTestExpectations): ...@@ -25,6 +25,15 @@ class PixelExpectations(GpuTestExpectations):
['android']) ['android'])
self.Skip('Pixel_CanvasDisplayLinearRGBUnaccelerated2D', ['android']) self.Skip('Pixel_CanvasDisplayLinearRGBUnaccelerated2D', ['android'])
# Tests running with SwiftShader are skipped on platforms where SwiftShader
# isn't supported.
self.Skip('Pixel_Canvas2DRedBox_SwiftShader',
['mac', 'android', 'chromeos'])
self.Skip('Pixel_CSS3DBlueBox_SwiftShader',
['mac', 'android', 'chromeos'])
self.Skip('Pixel_WebGLGreenTriangle_AA_Alpha_SwiftShader',
['mac', 'android', 'chromeos'])
self.Fail('Pixel_ScissorTestWithPreserveDrawingBuffer', self.Fail('Pixel_ScissorTestWithPreserveDrawingBuffer',
['android'], bug=521588) ['android'], bug=521588)
...@@ -74,3 +83,10 @@ class PixelExpectations(GpuTestExpectations): ...@@ -74,3 +83,10 @@ class PixelExpectations(GpuTestExpectations):
self.Fail('Pixel_WebGLGreenTriangle_NonChromiumImage_NoAA_NoAlpha', self.Fail('Pixel_WebGLGreenTriangle_NonChromiumImage_NoAA_NoAlpha',
['highsierra', ('intel', 0xa2e)], bug=774809) ['highsierra', ('intel', 0xa2e)], bug=774809)
# New tests. Remove entries after completing first run on bots.
self.Fail('Pixel_Canvas2DRedBox_NoGpuProcess', bug=783069)
self.Fail('Pixel_CSS3DBlueBox_NoGpuProcess', bug=783069)
self.Fail('Pixel_Canvas2DRedBox_SwiftShader', ['win', 'linux'], bug=783069)
self.Fail('Pixel_CSS3DBlueBox_SwiftShader', ['win', 'linux'], bug=783069)
self.Fail('Pixel_WebGLGreenTriangle_AA_Alpha_SwiftShader',
['win', 'linux'], bug=783069)
...@@ -96,6 +96,10 @@ class PixelIntegrationTest( ...@@ -96,6 +96,10 @@ class PixelIntegrationTest(
pages = pixel_test_pages.DefaultPages(name) pages = pixel_test_pages.DefaultPages(name)
pages += pixel_test_pages.GpuRasterizationPages(name) pages += pixel_test_pages.GpuRasterizationPages(name)
pages += pixel_test_pages.ExperimentalCanvasFeaturesPages(name) pages += pixel_test_pages.ExperimentalCanvasFeaturesPages(name)
pages += pixel_test_pages.NoGpuProcessPages(name)
# The following pages should run only on platforms where SwiftShader is
# enabled. They are skipped on other platforms through test expectations.
pages += pixel_test_pages.SwiftShaderPages(name)
if sys.platform.startswith('darwin'): if sys.platform.startswith('darwin'):
pages += pixel_test_pages.MacSpecificPages(name) pages += pixel_test_pages.MacSpecificPages(name)
if sys.platform.startswith('win'): if sys.platform.startswith('win'):
......
...@@ -523,6 +523,54 @@ def ExperimentalCanvasFeaturesPages(base_name): ...@@ -523,6 +523,54 @@ def ExperimentalCanvasFeaturesPages(base_name):
] ]
# Only add these tests on platforms where SwiftShader is enabled.
# Currently this is Windows and Linux.
def SwiftShaderPages(base_name):
browser_args = ['--disable-gpu']
suffix = "_SwiftShader"
return [
PixelTestPage(
'pixel_canvas2d.html',
base_name + '_Canvas2DRedBox' + suffix,
test_rect=[0, 0, 300, 300],
revision=1,
browser_args=browser_args),
PixelTestPage(
'pixel_css3d.html',
base_name + '_CSS3DBlueBox' + suffix,
test_rect=[0, 0, 300, 300],
revision=1,
browser_args=browser_args),
PixelTestPage(
'pixel_webgl_aa_alpha.html',
base_name + '_WebGLGreenTriangle_AA_Alpha' + suffix,
test_rect=[0, 0, 300, 300],
revision=1,
browser_args=browser_args),
]
# Test rendering where GPU process is blocked.
def NoGpuProcessPages(base_name):
browser_args = ['--disable-gpu', '--disable-software-rasterizer']
suffix = "_NoGpuProcess"
return [
PixelTestPage(
'pixel_canvas2d.html',
base_name + '_Canvas2DRedBox' + suffix,
test_rect=[0, 0, 300, 300],
revision=1,
browser_args=browser_args),
PixelTestPage(
'pixel_css3d.html',
base_name + '_CSS3DBlueBox' + suffix,
test_rect=[0, 0, 300, 300],
revision=1,
browser_args=browser_args),
]
# Pages that should be run with various macOS specific command line # Pages that should be run with various macOS specific command line
# arguments. # arguments.
def MacSpecificPages(base_name): def MacSpecificPages(base_name):
......
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