Commit 012b4dae authored by Sadrul Habib Chowdhury's avatar Sadrul Habib Chowdhury Committed by Commit Bot

rendering: Do not allow running with swiftshader.

Do not allow running chrome with swiftshader for the rendering
benchmark, since the produced metrics wouldn't be generally useful.

BUG=988045

Change-Id: I58d765ff056ad220912fc6a1a258c706c09a50c9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1734190
Commit-Queue: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: default avatarZhenyao Mo <zmo@chromium.org>
Reviewed-by: default avatarCaleb Rouleau <crouleau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#689616}
parent 98a83013
......@@ -26,6 +26,7 @@ class _RenderingBenchmark(perf_benchmark.PerfBenchmark):
def SetExtraBrowserOptions(self, options):
options.AppendExtraBrowserArgs('--enable-gpu-benchmarking')
options.AppendExtraBrowserArgs('--touch-events=enabled')
options.AppendExtraBrowserArgs('--disable-software-compositing-fallback')
def CreateCoreTimelineBasedMeasurementOptions(self):
category_filter = chrome_trace_category_filter.CreateLowOverheadFilter()
......
......@@ -7,6 +7,10 @@ from page_sets.rendering import story_tags
from telemetry.page import shared_page_state
class NoSwiftShaderAssertionFailure(AssertionError):
pass
class RenderingSharedState(shared_page_state.SharedPageState):
def CanRunOnBrowser(self, browser_info, page):
if page.TAGS and story_tags.REQUIRED_WEBGL in page.TAGS:
......@@ -49,6 +53,7 @@ class RenderingSharedState(shared_page_state.SharedPageState):
def WillRunStory(self, page):
super(RenderingSharedState, self).WillRunStory(page)
self._EnsureNotSwiftShader()
if page.TAGS and story_tags.KEY_IDLE_POWER in page.TAGS:
self._EnsureScreenOn()
......@@ -65,6 +70,16 @@ class RenderingSharedState(shared_page_state.SharedPageState):
def _EnsureScreenOn(self):
self.platform.android_action_runner.TurnScreenOn()
def _EnsureNotSwiftShader(self):
system_info = self.browser.GetSystemInfo()
if system_info:
for device in system_info.gpu.devices:
if device.device_string == u'Google SwiftShader':
raise NoSwiftShaderAssertionFailure(
'SwiftShader should not be used for rendering benchmark, since '
'the metrics produced from that do not reflect the real '
'performance for a lot of metrics.')
class DesktopRenderingSharedState(RenderingSharedState):
_device_type = 'desktop'
......
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