Bug 843273 - block Direct2D on Intel drivers <= 8.15.10.2302 - r=joe, a=lsblakk
authorBenoit Jacob <bjacob@mozilla.com>
Tue, 12 Mar 2013 15:40:29 -0400
changeset 132363 479c56b8ff80401746c8bb39c697e29d18e73933
parent 132362 2ba5a4a724ae97d6b34aa75aa73d35f7e68d2e12
child 132364 6f33116954697c997c3c20f7b605e851a99cd86c
push id2323
push userbbajaj@mozilla.com
push dateMon, 01 Apr 2013 19:47:02 +0000
treeherdermozilla-beta@7712be144d91 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjoe, lsblakk
bugs843273
milestone21.0a2
Bug 843273 - block Direct2D on Intel drivers <= 8.15.10.2302 - r=joe, a=lsblakk
widget/windows/GfxInfo.cpp
widget/xpwidgets/GfxDriverInfo.cpp
widget/xpwidgets/GfxDriverInfo.h
--- a/widget/windows/GfxInfo.cpp
+++ b/widget/windows/GfxInfo.cpp
@@ -876,16 +876,24 @@ GfxInfo::GetGfxDriverInfo()
       (nsAString&) GfxDriverInfo::GetDeviceVendor(VendorIntel), GfxDriverInfo::allDevices,
       nsIGfxInfo::FEATURE_OPENGL_LAYERS, nsIGfxInfo::FEATURE_DISCOURAGED,
       DRIVER_LESS_THAN, GfxDriverInfo::allDriverVersions );
     APPEND_TO_DRIVER_BLOCKLIST2( DRIVER_OS_ALL,
       (nsAString&) GfxDriverInfo::GetDeviceVendor(VendorIntel), GfxDriverInfo::allDevices,
       nsIGfxInfo::FEATURE_WEBGL_OPENGL, nsIGfxInfo::FEATURE_DISCOURAGED,
       DRIVER_LESS_THAN, GfxDriverInfo::allDriverVersions );
 
+    /* Disable D2D on Win7 on Intel HD Graphics on driver <= 8.15.10.2302
+     * See bug 806786
+     */
+    APPEND_TO_DRIVER_BLOCKLIST2( DRIVER_OS_WINDOWS_7,
+        (nsAString&) GfxDriverInfo::GetDeviceVendor(VendorIntel), (GfxDeviceFamily*) GfxDriverInfo::GetDeviceFamily(IntelMobileHDGraphics),
+      nsIGfxInfo::FEATURE_DIRECT2D, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
+      DRIVER_LESS_THAN_OR_EQUAL, V(8,15,10,2302) );
+
     /* Disable D3D9 layers on NVIDIA 6100/6150/6200 series due to glitches
      * whilst scrolling. See bugs: 612007, 644787 & 645872.
      */
     APPEND_TO_DRIVER_BLOCKLIST2( DRIVER_OS_ALL,
       (nsAString&) GfxDriverInfo::GetDeviceVendor(VendorNVIDIA), (GfxDeviceFamily*) GfxDriverInfo::GetDeviceFamily(NvidiaBlockD3D9Layers),
       nsIGfxInfo::FEATURE_DIRECT3D_9_LAYERS, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
       DRIVER_LESS_THAN, GfxDriverInfo::allDriverVersions );
   }
--- a/widget/xpwidgets/GfxDriverInfo.cpp
+++ b/widget/xpwidgets/GfxDriverInfo.cpp
@@ -158,16 +158,19 @@ const GfxDeviceFamily* GfxDriverInfo::Ge
       APPEND_DEVICE(0x0106); /* IntelSandyBridge_2 */
       APPEND_DEVICE(0x0112); /* IntelSandyBridge_3 */
       APPEND_DEVICE(0x0116); /* IntelSandyBridge_4 */
       APPEND_DEVICE(0x0122); /* IntelSandyBridge_5 */
       APPEND_DEVICE(0x0126); /* IntelSandyBridge_6 */
       APPEND_DEVICE(0x010a); /* IntelSandyBridge_7 */
       APPEND_DEVICE(0x0080); /* IntelIvyBridge */
       break;
+    case IntelMobileHDGraphics:
+      APPEND_DEVICE(0x0046); /* IntelMobileHDGraphics */
+      break;
     case NvidiaBlockD3D9Layers:
       // Glitches whilst scrolling (see bugs 612007, 644787, 645872)
       APPEND_DEVICE(0x00f3); /* NV43 [GeForce 6200 (TM)] */
       APPEND_DEVICE(0x0146); /* NV43 [Geforce Go 6600TE/6200TE (TM)] */
       APPEND_DEVICE(0x014f); /* NV43 [GeForce 6200 (TM)] */
       APPEND_DEVICE(0x0161); /* NV44 [GeForce 6200 TurboCache (TM)] */
       APPEND_DEVICE(0x0162); /* NV44 [GeForce 6200SE TurboCache (TM)] */
       APPEND_DEVICE(0x0163); /* NV44 [GeForce 6200 LE (TM)] */
--- a/widget/xpwidgets/GfxDriverInfo.h
+++ b/widget/xpwidgets/GfxDriverInfo.h
@@ -48,16 +48,17 @@ enum VersionComparisonOp {
 
 enum DeviceFamily {
   IntelGMA500,
   IntelGMA900,
   IntelGMA950,
   IntelGMA3150,
   IntelGMAX3000,
   IntelGMAX4500HD,
+  IntelMobileHDGraphics,
   NvidiaBlockD3D9Layers,
   RadeonX1000,
   Geforce7300GT,
   DeviceFamilyMax
 };
 
 enum DeviceVendor {
   VendorAll,