Bug 610713. Disable acceleration in popup widgets to work around Windows/driver bugs. r=bas
authorRobert O'Callahan <robert@ocallahan.org>
Tue, 10 Apr 2012 11:52:50 +1200
changeset 95056 07f55ad76d8fe1368332f2082d4f710d8be11419
parent 95055 67ca169a52d24cb370ebb01bc03eb16dc8453652
child 95057 1bb71108f4ded6a1bacfd1cf45770f2cb799c61f
push id886
push userlsblakk@mozilla.com
push dateMon, 04 Jun 2012 19:57:52 +0000
treeherdermozilla-beta@bbd8d5efd6d1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbas
bugs610713
milestone14.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 610713. Disable acceleration in popup widgets to work around Windows/driver bugs. r=bas
widget/windows/nsWindow.cpp
--- a/widget/windows/nsWindow.cpp
+++ b/widget/windows/nsWindow.cpp
@@ -3187,17 +3187,18 @@ nsWindow::GetLayerManager(PLayersChild* 
     GetLayerManagerPrefs(&prefs);
 
     /* We don't currently support using an accelerated layer manager with
      * transparent windows so don't even try. I'm also not sure if we even
      * want to support this case. See bug #593471 */
     if (eTransparencyTransparent == mTransparencyMode ||
         prefs.mDisableAcceleration ||
         windowRect.right - windowRect.left > MAX_ACCELERATED_DIMENSION ||
-        windowRect.bottom - windowRect.top > MAX_ACCELERATED_DIMENSION)
+        windowRect.bottom - windowRect.top > MAX_ACCELERATED_DIMENSION ||
+        mWindowType == eWindowType_popup)
       mUseAcceleratedRendering = false;
     else if (prefs.mAccelerateByDefault)
       mUseAcceleratedRendering = true;
 
     if (mUseAcceleratedRendering) {
       if (aPersistence == LAYER_MANAGER_PERSISTENT && !sAllowD3D9) {
         // This will clear out our existing layer manager if we have one since
         // if we hit this with a LayerManager we're always using BasicLayers.