Commit 8241b8e3 authored by Zhenyao Mo's avatar Zhenyao Mo Committed by Commit Bot

Change gpu driver bug list test_group semantics from replace to append

Because we don't want to disable necessary workarounds on bots, otherwise
Chrome run may fail.

BUG=895020,895945
TEST=gpu_unittests,gpu_integration_test:gpu_process
R=piman@chromium.org

Change-Id: I496e3cac9f16943d57cb10334648c1b54f976543
Reviewed-on: https://chromium-review.googlesource.com/c/1289699
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: default avatarAntoine Labour <piman@chromium.org>
Reviewed-by: default avatarKenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601758}
parent e377ff41
......@@ -11,10 +11,7 @@ class GpuProcessExpectations(GpuTestExpectations):
self.Fail('GpuProcess_video', ['linux'], bug=257109)
# Seems to have become flaky on Windows recently.
self.Flaky('GpuProcess_only_one_workaround', ['win'], bug=700522)
self.Flaky('GpuProcess_one_extra_workaround', ['win'], bug=700522)
# Test needs fixing for Nexus 9
self.Fail('GpuProcess_disabling_workarounds_works', ['android', 'nvidia'],
bug=895020)
self.Fail('GpuProcess_webgl_disabled_extension', ['android', 'nvidia'],
bug=895945)
self.Fail('GpuProcess_feature_status_under_swiftshader',
['mac'], bug=897914)
......@@ -80,7 +80,7 @@ class GpuProcessIntegrationTest(gpu_integration_test.GpuIntegrationTest):
('GpuProcess_driver_bug_workarounds_in_gpu_process', 'chrome:gpu'),
('GpuProcess_readback_webgl_gpu_process', 'chrome:gpu'),
('GpuProcess_feature_status_under_swiftshader', 'chrome:gpu'),
('GpuProcess_only_one_workaround', 'chrome:gpu'),
('GpuProcess_one_extra_workaround', 'chrome:gpu'),
('GpuProcess_disable_gpu', 'gpu/functional_webgl.html'),
('GpuProcess_disable_gpu_and_swiftshader',
'gpu/functional_webgl.html'),
......@@ -321,7 +321,7 @@ class GpuProcessIntegrationTest(gpu_integration_test.GpuIntegrationTest):
else:
pass
def _GpuProcess_only_one_workaround(self, test_path):
def _GpuProcess_one_extra_workaround(self, test_path):
# Start this test by launching the browser with no command line
# arguments.
self.RestartBrowserIfNecessaryWithArgs([])
......@@ -329,12 +329,9 @@ class GpuProcessIntegrationTest(gpu_integration_test.GpuIntegrationTest):
self._VerifyGpuProcessPresent()
recorded_workarounds, recorded_disabled_gl_extensions = (
self._CompareAndCaptureDriverBugWorkarounds())
# Relaunch the browser with OS-specific command line arguments.
# Trigger test group 1 with entry 215, where only
# Relaunch the browser enabling test group 1 with entry 215, where
# use_gpu_driver_workaround_for_testing is enabled.
browser_args = ['--gpu-driver-bug-list-test-group=1']
for workaround in recorded_workarounds:
browser_args.append('--' + workaround)
# Add the testing workaround to the recorded workarounds.
recorded_workarounds.append('use_gpu_driver_workaround_for_testing')
browser_args.append('--disable-gl-extensions=' +
......
......@@ -449,9 +449,11 @@ bool GpuControlList::Entry::Contains(OsType target_os_type,
bool GpuControlList::Entry::AppliesToTestGroup(
uint32_t target_test_group) const {
if (conditions.more)
// If an entry specifies non-zero test group, then the entry only applies
// if that test group is enabled (as specified in |target_test_group|).
if (conditions.more && conditions.more->test_group)
return conditions.more->test_group == target_test_group;
return target_test_group == 0u;
return true;
}
bool GpuControlList::Conditions::NeedsMoreInfo(const GPUInfo& gpu_info) const {
......
......@@ -66,7 +66,8 @@
// 27. "pixel_shader_version" is a VERSION structure (defined below).
// 28. "test_group" is an non-negative integer. If not specified, it defaults
// to 0, which is Chrome's blacklist. Any entries with a non-zero test_group
// ID will be applied if Chrome runs with --gpu-blacklist-test-group=ID.
// ID will be appended on top of the default group entries if Chrome runs
// with --gpu-blacklist-test-group=ID.
// 29. "gpu_series" is a list of gpu series names. Currently supported series
// include: "intel_sandybridge", "intel_valleyview", "intel_ivybridge",
// "intel_haswell", "intel_cherryview", "intel_broadwell",
......
......@@ -23,8 +23,8 @@ const char kEnableGpuRasterization[] = "enable-gpu-rasterization";
// test_group ID.
const char kGpuBlacklistTestGroup[] = "gpu-blacklist-test-group";
// Select a different set of GPU driver bug list entries with the specificed
// test_group ID.
// Enable an extra set of GPU driver bug list entries with the specified
// test_group ID. Note the default test group (group 0) is still active.
const char kGpuDriverBugListTestGroup[] = "gpu-driver-bug-list-test-group";
// Passes encoded GpuPreferences to GPU process.
......
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