diff options
author | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-24 22:32:28 +0000 |
---|---|---|
committer | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-24 22:32:28 +0000 |
commit | fd00eee5299661677c5af36e6c5285abfaae0ce0 (patch) | |
tree | 4da0a3dfb6ed1d7f6698ab332bcd624ca2e4f922 /content/gpu/gpu_child_thread.cc | |
parent | 22a60b85c702d1d8d71d1573705b76df14532328 (diff) | |
download | chromium_src-fd00eee5299661677c5af36e6c5285abfaae0ce0.zip chromium_src-fd00eee5299661677c5af36e6c5285abfaae0ce0.tar.gz chromium_src-fd00eee5299661677c5af36e6c5285abfaae0ce0.tar.bz2 |
Windows: Synchronize browser process D3D adapters with GPU process D3D adapters.
Currently both processes use the primary D3D adapter. The primary D3D adapter can change, for example when the primary D3D adapter's monitor is disconnected. When this happens, the browser process can start using devices on a different adapter to the GPU process and texture sharing stops working, resulting in a black window.
With this patch, the GPU process reports the LUID for the adapter it is using. Rather than using the primary adapter, the browser process decides which adapter to use by LUID.
This depends on this ANGLE patch:
https://codereview.appspot.com/9233044/
BUG=170875,236912
TEST=On a windows 7 machine, install an ATI GPU and an nVidia GPU with the nVidia as the primary one. Connect a monitor to each. Launch Chrome and go to a GPU accelerated page. Observe it work. Drag the window to the secondary display and disconnect the monitor from the primary (nVidia) GPU. The window should not turn black.
Review URL: https://chromiumcodereview.appspot.com/14455011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202201 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/gpu/gpu_child_thread.cc')
-rw-r--r-- | content/gpu/gpu_child_thread.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/content/gpu/gpu_child_thread.cc b/content/gpu/gpu_child_thread.cc index f4d42b3..c523550 100644 --- a/content/gpu/gpu_child_thread.cc +++ b/content/gpu/gpu_child_thread.cc @@ -118,7 +118,7 @@ bool GpuChildThread::OnControlMessageReceived(const IPC::Message& msg) { } void GpuChildThread::OnInitialize() { - Send(new GpuHostMsg_Initialized(!dead_on_arrival_)); + Send(new GpuHostMsg_Initialized(!dead_on_arrival_, gpu_info_)); if (dead_on_arrival_) { VLOG(1) << "Exiting GPU process due to errors during initialization"; |