Backed out 2 changesets (bug 1137716) for bustage
authorPhil Ringnalda <philringnalda@gmail.com>
Sun, 22 Mar 2015 17:36:36 -0700
changeset 252800 a2e34f98c85aae0dafc7a2c7fe0707b6b9925133
parent 252799 c20133f7f605544b4f3baef65b7af5071ca2e7b5
child 252801 5ae6881f492e129eeb3315a2ea950ab8131fcba6
push idunknown
push userunknown
push dateunknown
bugs1137716
milestone39.0a1
backs out76b1809d22ebe04df848f2061cd26a282db1ff13
726f8309756a644bcdfa89f3d854a11a753bb9d8
Backed out 2 changesets (bug 1137716) for bustage CLOSED TREE Backed out changeset 76b1809d22eb (bug 1137716) Backed out changeset 726f8309756a (bug 1137716)
widget/GfxDriverInfo.cpp
widget/GfxDriverInfo.h
widget/GfxInfoBase.cpp
widget/windows/GfxInfo.cpp
--- a/widget/GfxDriverInfo.cpp
+++ b/widget/GfxDriverInfo.cpp
@@ -23,40 +23,37 @@ GfxDriverInfo::GfxDriverInfo()
     mAdapterVendor(GfxDriverInfo::GetDeviceVendor(VendorAll)),
     mDevices(allDevices),
     mDeleteDevices(false),
     mFeature(allFeatures),
     mFeatureStatus(nsIGfxInfo::FEATURE_STATUS_OK),
     mComparisonOp(DRIVER_COMPARISON_IGNORED),
     mDriverVersion(0),
     mDriverVersionMax(0),
-    mSuggestedVersion(nullptr),
-    mGpu2(false)
+    mSuggestedVersion(nullptr)
 {}
 
 GfxDriverInfo::GfxDriverInfo(OperatingSystem os, nsAString& vendor,
                              GfxDeviceFamily* devices,
                              int32_t feature, int32_t featureStatus,
                              VersionComparisonOp op,
                              uint64_t driverVersion,
                              const char *suggestedVersion /* = nullptr */,
-                             bool ownDevices /* = false */,
-                             bool gpu2 /* = false */)
+                             bool ownDevices /* = false */)
   : mOperatingSystem(os),
     mOperatingSystemVersion(0),
     mAdapterVendor(vendor),
     mDevices(devices),
     mDeleteDevices(ownDevices),
     mFeature(feature),
     mFeatureStatus(featureStatus),
     mComparisonOp(op),
     mDriverVersion(driverVersion),
     mDriverVersionMax(0),
-    mSuggestedVersion(suggestedVersion),
-    mGpu2(gpu2)
+    mSuggestedVersion(suggestedVersion)
 {}
 
 GfxDriverInfo::GfxDriverInfo(const GfxDriverInfo& aOrig)
   : mOperatingSystem(aOrig.mOperatingSystem),
     mOperatingSystemVersion(aOrig.mOperatingSystemVersion),
     mAdapterVendor(aOrig.mAdapterVendor),
     mFeature(aOrig.mFeature),
     mFeatureStatus(aOrig.mFeatureStatus),
@@ -212,45 +209,16 @@ const GfxDeviceFamily* GfxDriverInfo::Ge
       APPEND_DEVICE(0x7291);
       break;
     case Geforce7300GT:
       APPEND_DEVICE(0x0393);
       break;
     case Nvidia310M:
       APPEND_DEVICE(0x0A70);
       break;
-    case Bug1137716:
-      APPEND_DEVICE(0x0a29);
-      APPEND_DEVICE(0x0a2b);
-      APPEND_DEVICE(0x0a2d);
-      APPEND_DEVICE(0x0a35);
-      APPEND_DEVICE(0x0a6c);
-      APPEND_DEVICE(0x0a70);
-      APPEND_DEVICE(0x0a72);
-      APPEND_DEVICE(0x0a7a);
-      APPEND_DEVICE(0x0caf);
-      // GF180M ids
-      APPEND_DEVICE(0x0de3);
-      APPEND_DEVICE(0x0de8);
-      APPEND_DEVICE(0x0de9);
-      APPEND_DEVICE(0x0dea);
-      APPEND_DEVICE(0x0deb);
-      APPEND_DEVICE(0x0dec);
-      APPEND_DEVICE(0x0ded);
-      APPEND_DEVICE(0x0dee);
-      APPEND_DEVICE(0x0def);
-      APPEND_DEVICE(0x0df0);
-      APPEND_DEVICE(0x0df1);
-      APPEND_DEVICE(0x0df2);
-      APPEND_DEVICE(0x0df3);
-      APPEND_DEVICE(0x0df4);
-      APPEND_DEVICE(0x0df5);
-      APPEND_DEVICE(0x0df6);
-      APPEND_DEVICE(0x0df7);
-      break;
     case AMDRadeonHD5800:
       APPEND_DEVICE(0x6899);
       break;
     // This should never happen, but we get a warning if we don't handle this.
     case DeviceFamilyMax:
       NS_WARNING("Invalid DeviceFamily id");
       break;
   }
--- a/widget/GfxDriverInfo.h
+++ b/widget/GfxDriverInfo.h
@@ -20,27 +20,16 @@
       MOZ_ASSERT(driverComparator == DRIVER_BETWEEN_EXCLUSIVE || \
                  driverComparator == DRIVER_BETWEEN_INCLUSIVE || \
                  driverComparator == DRIVER_BETWEEN_INCLUSIVE_START); \
       GfxDriverInfo info(os, vendor, devices, feature, featureStatus, driverComparator, driverVersion, suggestedVersion); \
       info.mDriverVersionMax = driverVersionMax; \
       mDriverInfo->AppendElement(info); \
     } while (false)
 
-#define APPEND_TO_DRIVER_BLOCKLIST_RANGE_GPU2(os, vendor, devices, feature, featureStatus, driverComparator, driverVersion, driverVersionMax, suggestedVersion) \
-    do { \
-      MOZ_ASSERT(driverComparator == DRIVER_BETWEEN_EXCLUSIVE || \
-                 driverComparator == DRIVER_BETWEEN_INCLUSIVE || \
-                 driverComparator == DRIVER_BETWEEN_INCLUSIVE_START); \
-      GfxDriverInfo info(os, vendor, devices, feature, featureStatus, driverComparator, driverVersion, suggestedVersion, false, true); \
-      info.mDriverVersionMax = driverVersionMax; \
-      mDriverInfo->AppendElement(info); \
-    } while (false)
-
-
 namespace mozilla {
 namespace widget {
 
 enum OperatingSystem {
   DRIVER_OS_UNKNOWN = 0,
   DRIVER_OS_WINDOWS_XP,
   DRIVER_OS_WINDOWS_SERVER_2003,
   DRIVER_OS_WINDOWS_VISTA,
@@ -81,17 +70,16 @@ enum DeviceFamily {
   IntelGMAX4500HD,
   IntelHD3000,
   IntelMobileHDGraphics,
   NvidiaBlockD3D9Layers,
   RadeonX1000,
   Geforce7300GT,
   Nvidia310M,
   AMDRadeonHD5800,
-  Bug1137716,
   DeviceFamilyMax
 };
 
 enum DeviceVendor {
   VendorAll,
   VendorIntel,
   VendorNVIDIA,
   VendorAMD,
@@ -105,17 +93,17 @@ typedef nsTArray<nsString> GfxDeviceFami
 
 struct GfxDriverInfo
 {
   // If |ownDevices| is true, you are transferring ownership of the devices
   // array, and it will be deleted when this GfxDriverInfo is destroyed.
   GfxDriverInfo(OperatingSystem os, nsAString& vendor, GfxDeviceFamily* devices,
                 int32_t feature, int32_t featureStatus, VersionComparisonOp op,
                 uint64_t driverVersion, const char *suggestedVersion = nullptr,
-                bool ownDevices = false, bool gpu2 = false);
+                bool ownDevices = false);
 
   GfxDriverInfo();
   GfxDriverInfo(const GfxDriverInfo&);
   ~GfxDriverInfo();
 
   OperatingSystem mOperatingSystem;
   uint32_t mOperatingSystemVersion;
 
@@ -146,18 +134,16 @@ struct GfxDriverInfo
 
   static const GfxDeviceFamily* GetDeviceFamily(DeviceFamily id);
   static GfxDeviceFamily* mDeviceFamilies[DeviceFamilyMax];
 
   static const nsAString& GetDeviceVendor(DeviceVendor id);
   static nsAString* mDeviceVendors[DeviceVendorMax];
 
   nsString mModel, mHardware, mProduct, mManufacturer;
-
-  bool mGpu2;
 };
 
 #define GFX_DRIVER_VERSION(a,b,c,d) \
   ((uint64_t(a)<<48) | (uint64_t(b)<<32) | (uint64_t(c)<<16) | uint64_t(d))
 
 inline uint64_t
 V(uint32_t a, uint32_t b, uint32_t c, uint32_t d)
 {
--- a/widget/GfxInfoBase.cpp
+++ b/widget/GfxInfoBase.cpp
@@ -601,44 +601,33 @@ GfxInfoBase::GetFeatureStatus(int32_t aF
 int32_t
 GfxInfoBase::FindBlocklistedDeviceInList(const nsTArray<GfxDriverInfo>& info,
                                          nsAString& aSuggestedVersion,
                                          int32_t aFeature,
                                          OperatingSystem os)
 {
   int32_t status = nsIGfxInfo::FEATURE_STATUS_UNKNOWN;
 
+  nsAutoString adapterVendorID;
+  nsAutoString adapterDeviceID;
+  nsAutoString adapterDriverVersionString;
+  if (NS_FAILED(GetAdapterVendorID(adapterVendorID)) ||
+      NS_FAILED(GetAdapterDeviceID(adapterDeviceID)) ||
+      NS_FAILED(GetAdapterDriverVersion(adapterDriverVersionString)))
+  {
+    return 0;
+  }
+
+#if defined(XP_WIN) || defined(ANDROID)
+  uint64_t driverVersion;
+  ParseDriverVersion(adapterDriverVersionString, &driverVersion);
+#endif
+
   uint32_t i = 0;
   for (; i < info.Length(); i++) {
-    // XXX: it would be better not to do this everytime round the loop
-    nsAutoString adapterVendorID;
-    nsAutoString adapterDeviceID;
-    nsAutoString adapterDriverVersionString;
-    if (info[i].mGpu2) {
-      if (NS_FAILED(GetAdapterVendorID2(adapterVendorID)) ||
-          NS_FAILED(GetAdapterDeviceID2(adapterDeviceID)) ||
-          NS_FAILED(GetAdapterDriverVersion2(adapterDriverVersionString)))
-      {
-        return 0;
-      }
-    } else {
-      if (NS_FAILED(GetAdapterVendorID(adapterVendorID)) ||
-          NS_FAILED(GetAdapterDeviceID(adapterDeviceID)) ||
-          NS_FAILED(GetAdapterDriverVersion(adapterDriverVersionString)))
-      {
-        return 0;
-      }
-    }
-
-#if defined(XP_WIN) || defined(ANDROID)
-    uint64_t driverVersion;
-    ParseDriverVersion(adapterDriverVersionString, &driverVersion);
-#endif
-
-
     if (info[i].mOperatingSystem != DRIVER_OS_ALL &&
         info[i].mOperatingSystem != os)
     {
       continue;
     }
 
     if (info[i].mOperatingSystemVersion && info[i].mOperatingSystemVersion != OperatingSystemVersion()) {
         continue;
--- a/widget/windows/GfxInfo.cpp
+++ b/widget/windows/GfxInfo.cpp
@@ -1087,24 +1087,16 @@ GfxInfo::GetGfxDriverInfo()
       nsIGfxInfo::FEATURE_DXVA, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
       DRIVER_LESS_THAN, GfxDriverInfo::allDriverVersions);
 
     /* Bug 1139503: DXVA crashes with ATI cards on windows 10. */
     APPEND_TO_DRIVER_BLOCKLIST2(DRIVER_OS_WINDOWS_10,
       (nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI), GfxDriverInfo::allDevices,
       nsIGfxInfo::FEATURE_DXVA, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
       DRIVER_EQUAL, V(15,200,1006,0));
-
-    /* Bug 1137716: XXX this should really check for the matching Intel piece as well.
-     * Unfortunately, we don't have the infrastructure to do that */
-    APPEND_TO_DRIVER_BLOCKLIST_RANGE_GPU2(DRIVER_OS_WINDOWS_7,
-        (nsAString&) GfxDriverInfo::GetDeviceVendor(VendorNVIDIA), (GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(Bug1137716),
-      GfxDriverInfo::allFeatures, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
-      DRIVER_BETWEEN_INCLUSIVE, V(8,7,12,5730), V(8,17,12,6901), "Nvidia driver > 8.17.12.6901");
-
   }
   return *mDriverInfo;
 }
 
 nsresult
 GfxInfo::GetFeatureStatusImpl(int32_t aFeature,
                               int32_t *aStatus, 
                               nsAString & aSuggestedDriverVersion,