[Windows Host] Prevent connection hang for hosts with 3D Display Mode enabled
This change prevents a hang when connecting to a Windows machine which has curtain mode and 3d display mode enabled. The root cause of the hang is that creating a D3D11 device takes several seconds so function calls which used to take a few milliseconds now take 5+ seconds. I did not see a mechanism to control this display mode programatically so I am adding code which can detect the condition and the logic to prevent D3D usage when 3D mode is enabled. Of note is the change in BasicDesktopEnvironment where I requery the D3D apis. DesktopEnvironmentOptions are queried in Session 0 and then passed on to the Desktop process. There is a non-obvious problem with this as many D3D methods cannot be queried or will not return reliable results. This results in a base set of options being set in Session 0 (which includes user / experiment overrides) and then passed into a session where D3D will return new values. In this CL, I requery the D3D APIs and update the capturer options if they should be disabled. BUG=836007 Change-Id: Ib7a6e61fa7987bd093e93a6100b97cc49e3aff05 Reviewed-on: https://chromium-review.googlesource.com/1164403 Commit-Queue: Joe Downing <joedow@chromium.org> Reviewed-by:Jamie Walch <jamiewalch@chromium.org> Cr-Commit-Position: refs/heads/master@{#583276}
Showing
Please register or sign in to comment