summaryrefslogtreecommitdiffstats
path: root/ui/surface/accelerated_surface_win.h
diff options
context:
space:
mode:
authorapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 22:32:28 +0000
committerapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 22:32:28 +0000
commitfd00eee5299661677c5af36e6c5285abfaae0ce0 (patch)
tree4da0a3dfb6ed1d7f6698ab332bcd624ca2e4f922 /ui/surface/accelerated_surface_win.h
parent22a60b85c702d1d8d71d1573705b76df14532328 (diff)
downloadchromium_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 'ui/surface/accelerated_surface_win.h')
-rw-r--r--ui/surface/accelerated_surface_win.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/ui/surface/accelerated_surface_win.h b/ui/surface/accelerated_surface_win.h
index 454f9f5d..7aa9273 100644
--- a/ui/surface/accelerated_surface_win.h
+++ b/ui/surface/accelerated_surface_win.h
@@ -37,6 +37,8 @@ class SURFACE_EXPORT AcceleratedPresenter
explicit AcceleratedPresenter(gfx::PluginWindowHandle window);
+ static void SetAdapterLUID(uint64 adapter_luid);
+
// Returns a thread safe reference to the presenter for the given window or
// null is no such presenter exists. The thread safe refptr ensures the
// presenter will not be destroyed. This can be called on any thread.