Backed out changeset 01478a143658 (bug 1159751) for causing bug 1184539.
authorRyan VanderMeulen <ryanvm@gmail.com>
Thu, 16 Jul 2015 11:11:39 -0400
changeset 253158 d8023b434e25beed6cb5d38b57d6bb27aaf888df
parent 253124 72835344333faa9c2f746e07aaada32c02104122
child 253159 61101cfa98d2cdcee1f6582023cdd041adb4d02b
child 253260 3d800e3a022e710099df52c2638874d5a26aa991
push id62369
push userryanvm@gmail.com
push dateThu, 16 Jul 2015 16:45:58 +0000
treeherdermozilla-inbound@61101cfa98d2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1159751, 1184539
milestone42.0a1
backs out01478a1436583d99bd9f69cf7c858c8f71cfd8ca
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
Backed out changeset 01478a143658 (bug 1159751) for causing bug 1184539. CLOSED TREE
gfx/thebes/gfxWindowsPlatform.cpp
--- a/gfx/thebes/gfxWindowsPlatform.cpp
+++ b/gfx/thebes/gfxWindowsPlatform.cpp
@@ -1906,21 +1906,16 @@ gfxWindowsPlatform::InitD3D11Devices()
   MOZ_ASSERT(!mD3D11Device); 
 
   DriverInitCrashDetection detectCrashes;
   if (InSafeMode() || detectCrashes.DisableAcceleration()) {
     return;
   }
 
   bool useWARP = false;
-  bool allowWARP = false;
-
-  if (IsWin8OrLater()) {
-    allowWARP = true;
-  }
 
   nsCOMPtr<nsIGfxInfo> gfxInfo = services::GetGfxInfo();
   if (gfxInfo) {
     int32_t status;
     if (NS_SUCCEEDED(gfxInfo->GetFeatureStatus(nsIGfxInfo::FEATURE_DIRECT3D_11_LAYERS, &status))) {
       if (status != nsIGfxInfo::FEATURE_STATUS_OK) {
 
         // It seems like nvdxgiwrap makes a mess of WARP. See bug 1154703 for more.
@@ -1934,17 +1929,17 @@ gfxWindowsPlatform::InitD3D11Devices()
             gfxInfo->GetAdapterDriver(driver);
             // driver can start with vga or svga so only look for "framebuf..."
             if (driver.Find("framebuf vga256 vga64k") != kNotFound) {
                 gfxCriticalError(CriticalLog::DefaultOptions(false)) << "Disabling WARP on builtin vga driver";
                 return;
             }
         }
 
-        useWARP = allowWARP;
+        useWARP = true;
       }
     }
   }
 
   if (gfxPrefs::LayersD3D11ForceWARP()) {
     useWARP = true;
   }
 
@@ -1970,17 +1965,17 @@ gfxWindowsPlatform::InitD3D11Devices()
 
   if (!useWARP) {
     adapter = GetDXGIAdapter();
 
     if (!adapter) {
       if (!gfxPrefs::LayersD3D11DisableWARP()) {
         return;
       }
-      useWARP = allowWARP;
+      useWARP = true;
     }
   }
 
   HRESULT hr = E_INVALIDARG;
 
   if (!useWARP) {
     MOZ_SEH_TRY {
       hr = d3d11CreateDevice(adapter, D3D_DRIVER_TYPE_UNKNOWN, nullptr,
@@ -1992,27 +1987,27 @@ gfxWindowsPlatform::InitD3D11Devices()
                              D3D11_SDK_VERSION, byRef(mD3D11Device), nullptr, nullptr);
     } MOZ_SEH_EXCEPT (EXCEPTION_EXECUTE_HANDLER) {
       gfxCriticalError() << "Crash during D3D11 device creation";
 
       if (gfxPrefs::LayersD3D11DisableWARP()) {
         return;
       }
 
-      useWARP = allowWARP;
+      useWARP = true;
       adapter = nullptr;
     }
 
     if (FAILED(hr) || !DoesD3D11DeviceWork(mD3D11Device)) {
       gfxCriticalError() << "D3D11 device creation failed" << hexa(hr);
       if (gfxPrefs::LayersD3D11DisableWARP()) {
         return;
       }
 
-      useWARP = allowWARP;
+      useWARP = true;
       adapter = nullptr;
     }
 
     if (mD3D11Device) {
       CheckIfRenderTargetViewNeedsRecreating(mD3D11Device);
       // Only test this when not using WARP since it can fail and cause GetDeviceRemovedReason to return
       // weird values.
       mDoesD3D11TextureSharingWork = ::DoesD3D11TextureSharingWork(mD3D11Device);