Bug 612007 - Blocklist D3D9 layers on nvidia 6200 TC due to glitches when scrolling - r=joe, a=blocking2.0
authorBenoit Jacob <bjacob@mozilla.com>
Mon, 31 Jan 2011 20:58:17 -0500
changeset 61659 f745282ddbff5e2ea884964db31ac9593e13801a
parent 61658 22f4e4c325d64306f66756baca9c29613434b75e
child 61660 55196a9321b13b64f181aadb226f297f424a865c
push id1
push userroot
push dateTue, 10 Dec 2013 15:46:25 +0000
reviewersjoe, blocking2
bugs612007
milestone2.0b11pre
Bug 612007 - Blocklist D3D9 layers on nvidia 6200 TC due to glitches when scrolling - r=joe, a=blocking2.0
widget/src/windows/GfxInfo.cpp
--- a/widget/src/windows/GfxInfo.cpp
+++ b/widget/src/windows/GfxInfo.cpp
@@ -595,16 +595,23 @@ static const PRUint32 deviceFamilyIntelG
     0x0116, /* IntelSandyBridge_4 */
     0x0122, /* IntelSandyBridge_5 */
     0x0126, /* IntelSandyBridge_6 */
     0x010A, /* IntelSandyBridge_7 */
     0x0080, /* IntelIvyBridge */
     0
 };
 
+// see bug 612007
+static const PRUint32 deviceFamilyNvidia6200TurboCache[] = {
+    0x0161, /* NV44 [GeForce 6200 TurboCache(TM)] */
+    0x0162, /* NV44 [GeForce 6200SE TurboCache (TM)] */
+    0
+};
+
 static const GfxDriverInfo gDriverInfo[] = {
   /*
    * Notice that the first match defines the result. So always implement special cases firsts and general case last.
    */
 
   /*
    * NVIDIA entries
    */
@@ -616,16 +623,22 @@ static const GfxDriverInfo gDriverInfo[]
     vendorNVIDIA, GfxDriverInfo::allDevices,
     GfxDriverInfo::allFeatures, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
     DRIVER_LESS_THAN, V(8,17,12,5721), "257.21" ),
   GfxDriverInfo( DRIVER_OS_WINDOWS_7,
     vendorNVIDIA, GfxDriverInfo::allDevices,
     GfxDriverInfo::allFeatures, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
     DRIVER_LESS_THAN, V(8,17,12,5721), "257.21" ),
 
+  // bug 612007: disable D3D9 layers on NVIDIA 6200 TurboCache series.
+  GfxDriverInfo( DRIVER_OS_ALL,
+    vendorNVIDIA, (GfxDeviceFamily) deviceFamilyNvidia6200TurboCache,
+    nsIGfxInfo::FEATURE_DIRECT3D_9_LAYERS, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
+    DRIVER_LESS_THAN, allDriverVersions ),
+
   /*
    * AMD/ATI entries
    */
   GfxDriverInfo( DRIVER_OS_ALL,
     vendorATI, GfxDriverInfo::allDevices,
     GfxDriverInfo::allFeatures, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
     DRIVER_LESS_THAN, V(8,741,0,0), "10.6" ),
   GfxDriverInfo( DRIVER_OS_ALL,