ui/display: Submit modeset requests individually during fallback
This CL changes the fallback strategy in ConfigureDisplaysTask to submit requests individually when an atomic modeset test fails. More particularly, it groups displays by the physical connectors they are attached to and submit these request groups for atomic modesetting. For example, if the request {internal display, MST1-1, MST1-2, HDMI} fails as a whole, the next configuration attempt would repeatedly try each of the following groups until a modeset succeeds: {internal display}, {MST1-1, MST1-2} and {HDMI}. When a request group fails modeset, the request with the highest bandwidth requirement is downgraded first. Finally, if any of the request groups exhausts all its alternative modes, the entire configuration attempt terminates and signals back an ERROR status. In addition, this CL adds extensive testing for multiple display configurations, including multiple MST hubs, nested MST structures, MST and non-MST (i.e. independent) external displays, bad MST hubs, and configurations with no internal displays, such as a Chromebox. Bug: b:176819129, b:177356832 Test: display_unittests && ozone_unittests Change-Id: Iac2b7f0330a74396c72f8d3867552dde593800e6 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2621674 Commit-Queue: Gil Dekel <gildekel@chromium.org> Reviewed-by:Daniel Nicoara <dnicoara@chromium.org> Reviewed-by:
Gil Dekel <gildekel@chromium.org> Cr-Commit-Position: refs/heads/master@{#846418}
Showing
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment