summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-06-04 17:39:48 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-06-04 17:39:48 +0200
commit101e7b12c9a0c725175a5ce79e1e2b30d547a272 (patch)
treed0455fc3696b1ecd98db72f20ec9c15d8c3b6335
parent423315e8cb5360255b463f58fb889c38ea40ae17 (diff)
remove all traces of old device code
Change-Id: I792749951f11e99504c708bf27bec56c2d98019e
-rw-r--r--vcl/inc/opengl/win/WinDeviceInfo.hxx32
-rw-r--r--vcl/opengl/win/WinDeviceInfo.cxx350
2 files changed, 25 insertions, 357 deletions
diff --git a/vcl/inc/opengl/win/WinDeviceInfo.hxx b/vcl/inc/opengl/win/WinDeviceInfo.hxx
index 37779a56e83c..0c60b35f274e 100644
--- a/vcl/inc/opengl/win/WinDeviceInfo.hxx
+++ b/vcl/inc/opengl/win/WinDeviceInfo.hxx
@@ -47,22 +47,6 @@ enum VersionComparisonOp {
DRIVER_COMPARISON_IGNORED
};
-enum DeviceFamily {
- IntelGMA500,
- IntelGMA900,
- IntelGMA950,
- IntelGMA3150,
- IntelGMAX3000,
- IntelGMAX4500HD,
- IntelHD3000,
- IntelMobileHDGraphics,
- NvidiaBlockD3D9Layers,
- RadeonX1000,
- Geforce7300GT,
- Nvidia310M,
- DeviceFamilyMax
-};
-
enum DeviceVendor {
VendorAll,
VendorIntel,
@@ -77,15 +61,8 @@ bool ParseDriverVersion(const OUString& rString, uint64_t& rVersion);
struct DriverInfo
{
- typedef std::vector<OUString> DeviceFamilyVector;
-
- // If |ownDevices| is true, you are transferring ownership of the devices
- // array, and it will be deleted when this GfxDriverInfo is destroyed.
-
- DriverInfo(OperatingSystem os, const OUString& vendor, DeviceFamilyVector* devices,
- VersionComparisonOp op,
- uint64_t driverVersion, bool bWhiteListed = false, const char *suggestedVersion = nullptr,
- bool ownDevices = false);
+ DriverInfo(OperatingSystem os, const OUString& vendor, VersionComparisonOp op,
+ uint64_t driverVersion, bool bWhiteListed = false, const char *suggestedVersion = nullptr);
DriverInfo();
DriverInfo(const DriverInfo&);
@@ -96,8 +73,6 @@ struct DriverInfo
OUString maAdapterVendor;
- static DeviceFamilyVector* const allDevices;
- DeviceFamilyVector* mpDevices;
std::vector<OUString> maDevices;
// Whether the mDevices array should be deleted when this structure is
@@ -113,9 +88,6 @@ struct DriverInfo
uint64_t mnDriverVersionMax;
static uint64_t allDriverVersions;
- static const DeviceFamilyVector* GetDeviceFamily(DeviceFamily id);
- static DeviceFamilyVector* mpDeviceFamilies[DeviceFamilyMax];
-
OUString maSuggestedVersion;
OUString maMsg;
};
diff --git a/vcl/opengl/win/WinDeviceInfo.cxx b/vcl/opengl/win/WinDeviceInfo.cxx
index d69ee1a16fe4..047935885ee6 100644
--- a/vcl/opengl/win/WinDeviceInfo.cxx
+++ b/vcl/opengl/win/WinDeviceInfo.cxx
@@ -18,26 +18,6 @@
OUString* WinOpenGLDeviceInfo::mpDeviceVendors[wgl::DeviceVendorMax];
std::vector<wgl::DriverInfo> WinOpenGLDeviceInfo::maDriverInfo;
-#define APPEND_TO_DRIVER_BLOCKLIST(os, vendor, devices, driverComparator, driverVersion, suggestedVersion) \
- maDriverInfo.push_back(wgl::DriverInfo(os, vendor, devices, driverComparator, driverVersion, false, suggestedVersion))
-
-#define APPEND_TO_DRIVER_BLOCKLIST2(os, vendor, devices, driverComparator, driverVersion) \
- maDriverInfo.push_back(wgl::DriverInfo(os, vendor, devices, driverComparator, driverVersion))
-
-#define APPEND_TO_DRIVER_WHITELIST(os, vendor, devices, driverComparator, driverVersion) \
- maDriverInfo.push_back(wgl::DriverInfo(os, vendor, devices, driverComparator, driverVersion, true))
-
-#define APPEND_TO_DRIVER_BLOCKLIST_RANGE(os, vendor, devices, driverComparator, driverVersion, driverVersionMax, suggestedVersion) \
- do \
- { \
- assert(driverComparator == wgl::DRIVER_BETWEEN_EXCLUSIVE || \
- driverComparator == wgl::DRIVER_BETWEEN_INCLUSIVE || \
- driverComparator == wgl::DRIVER_BETWEEN_INCLUSIVE_START); \
- wgl::DriverInfo info(os, vendor, devices, driverComparator, driverVersion, false, suggestedVersion); \
- info.mnDriverVersionMax = driverVersionMax; \
- maDriverInfo.push_back(info); \
- } while (false)
-
namespace {
@@ -399,16 +379,11 @@ bool ParseDriverVersion(const OUString& aVersion, uint64_t& rNumericVersion)
}
uint64_t DriverInfo::allDriverVersions = ~(uint64_t(0));
-DriverInfo::DeviceFamilyVector* const DriverInfo::allDevices = nullptr;
-
-DriverInfo::DeviceFamilyVector* DriverInfo::mpDeviceFamilies[DeviceFamilyMax];
DriverInfo::DriverInfo()
: meOperatingSystem(wgl::DRIVER_OS_UNKNOWN),
mnOperatingSystemVersion(0),
maAdapterVendor(WinOpenGLDeviceInfo::GetDeviceVendor(VendorAll)),
- mpDevices(allDevices),
- mbDeleteDevices(false),
mbWhitelisted(false),
meComparisonOp(DRIVER_COMPARISON_IGNORED),
mnDriverVersion(0),
@@ -416,17 +391,13 @@ DriverInfo::DriverInfo()
{}
DriverInfo::DriverInfo(OperatingSystem os, const OUString& vendor,
- DeviceFamilyVector* devices,
VersionComparisonOp op,
uint64_t driverVersion,
bool bWhitelisted,
- const char *suggestedVersion /* = nullptr */,
- bool ownDevices /* = false */)
+ const char *suggestedVersion /* = nullptr */)
: meOperatingSystem(os),
mnOperatingSystemVersion(0),
maAdapterVendor(vendor),
- mpDevices(devices),
- mbDeleteDevices(ownDevices),
mbWhitelisted(bWhitelisted),
meComparisonOp(op),
mnDriverVersion(driverVersion),
@@ -445,169 +416,10 @@ DriverInfo::DriverInfo(const DriverInfo& aOrig)
mnDriverVersion(aOrig.mnDriverVersion),
mnDriverVersionMax(aOrig.mnDriverVersionMax)
{
- //If we're managing the lifetime of the device family, we have to make a
- // copy of the original's device family.
- if (aOrig.mbDeleteDevices && aOrig.mpDevices)
- {
- mpDevices = new DeviceFamilyVector;
- *mpDevices = *aOrig.mpDevices;
- }
- else
- {
- mpDevices = aOrig.mpDevices;
- }
-
- mbDeleteDevices = aOrig.mbDeleteDevices;
}
DriverInfo::~DriverInfo()
{
- if (mbDeleteDevices)
- delete mpDevices;
-}
-
-// Macros for appending a device to the DeviceFamily.
-#define APPEND_DEVICE(device) APPEND_DEVICE2(#device)
-#define APPEND_DEVICE2(device) deviceFamily->push_back(OUString("#device"))
-
-const DriverInfo::DeviceFamilyVector* DriverInfo::GetDeviceFamily(DeviceFamily id)
-{
- // The code here is too sensitive to fall through to the default case if the
- // code is invalid.
- assert(id >= 0 && id < DeviceFamilyMax);
-
- // If it already exists, we must have processed it once, so return it now.
- if (mpDeviceFamilies[id])
- return mpDeviceFamilies[id];
-
- mpDeviceFamilies[id] = new wgl::DriverInfo::DeviceFamilyVector;
- wgl::DriverInfo::DeviceFamilyVector* deviceFamily = mpDeviceFamilies[id];
-
- switch (id)
- {
- case IntelGMA500:
- APPEND_DEVICE(0x8108); /* IntelGMA500_1 */
- APPEND_DEVICE(0x8109); /* IntelGMA500_2 */
- break;
- case IntelGMA900:
- APPEND_DEVICE(0x2582); /* IntelGMA900_1 */
- APPEND_DEVICE(0x2782); /* IntelGMA900_2 */
- APPEND_DEVICE(0x2592); /* IntelGMA900_3 */
- APPEND_DEVICE(0x2792); /* IntelGMA900_4 */
- break;
- case IntelGMA950:
- APPEND_DEVICE(0x2772); /* Intel945G_1 */
- APPEND_DEVICE(0x2776); /* Intel945G_2 */
- APPEND_DEVICE(0x27a2); /* Intel945_1 */
- APPEND_DEVICE(0x27a6); /* Intel945_2 */
- APPEND_DEVICE(0x27ae); /* Intel945_3 */
- break;
- case IntelGMA3150:
- APPEND_DEVICE(0xa001); /* IntelGMA3150_Nettop_1 */
- APPEND_DEVICE(0xa002); /* IntelGMA3150_Nettop_2 */
- APPEND_DEVICE(0xa011); /* IntelGMA3150_Netbook_1 */
- APPEND_DEVICE(0xa012); /* IntelGMA3150_Netbook_2 */
- break;
- case IntelGMAX3000:
- APPEND_DEVICE(0x2972); /* Intel946GZ_1 */
- APPEND_DEVICE(0x2973); /* Intel946GZ_2 */
- APPEND_DEVICE(0x2982); /* IntelG35_1 */
- APPEND_DEVICE(0x2983); /* IntelG35_2 */
- APPEND_DEVICE(0x2992); /* IntelQ965_1 */
- APPEND_DEVICE(0x2993); /* IntelQ965_2 */
- APPEND_DEVICE(0x29a2); /* IntelG965_1 */
- APPEND_DEVICE(0x29a3); /* IntelG965_2 */
- APPEND_DEVICE(0x29b2); /* IntelQ35_1 */
- APPEND_DEVICE(0x29b3); /* IntelQ35_2 */
- APPEND_DEVICE(0x29c2); /* IntelG33_1 */
- APPEND_DEVICE(0x29c3); /* IntelG33_2 */
- APPEND_DEVICE(0x29d2); /* IntelQ33_1 */
- APPEND_DEVICE(0x29d3); /* IntelQ33_2 */
- APPEND_DEVICE(0x2a02); /* IntelGL960_1 */
- APPEND_DEVICE(0x2a03); /* IntelGL960_2 */
- APPEND_DEVICE(0x2a12); /* IntelGM965_1 */
- APPEND_DEVICE(0x2a13); /* IntelGM965_2 */
- break;
- case IntelGMAX4500HD:
- APPEND_DEVICE(0x2a42); /* IntelGMA4500MHD_1 */
- APPEND_DEVICE(0x2a43); /* IntelGMA4500MHD_2 */
- APPEND_DEVICE(0x2e42); /* IntelB43_1 */
- APPEND_DEVICE(0x2e43); /* IntelB43_2 */
- APPEND_DEVICE(0x2e92); /* IntelB43_3 */
- APPEND_DEVICE(0x2e93); /* IntelB43_4 */
- APPEND_DEVICE(0x2e32); /* IntelG41_1 */
- APPEND_DEVICE(0x2e33); /* IntelG41_2 */
- APPEND_DEVICE(0x2e22); /* IntelG45_1 */
- APPEND_DEVICE(0x2e23); /* IntelG45_2 */
- APPEND_DEVICE(0x2e12); /* IntelQ45_1 */
- APPEND_DEVICE(0x2e13); /* IntelQ45_2 */
- APPEND_DEVICE(0x0042); /* IntelHDGraphics */
- APPEND_DEVICE(0x0046); /* IntelMobileHDGraphics */
- APPEND_DEVICE(0x0102); /* IntelSandyBridge_1 */
- 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 IntelHD3000:
- APPEND_DEVICE(0x0126);
- 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)] */
- APPEND_DEVICE(0x0164); /* NV44 [GeForce Go 6200 (TM)] */
- APPEND_DEVICE(0x0167); /* NV43 [GeForce Go 6200/6400 (TM)] */
- APPEND_DEVICE(0x0168); /* NV43 [GeForce Go 6200/6400 (TM)] */
- APPEND_DEVICE(0x0169); /* NV44 [GeForce 6250 (TM)] */
- APPEND_DEVICE(0x0222); /* NV44 [GeForce 6200 A-LE (TM)] */
- APPEND_DEVICE(0x0240); /* C51PV [GeForce 6150 (TM)] */
- APPEND_DEVICE(0x0241); /* C51 [GeForce 6150 LE (TM)] */
- APPEND_DEVICE(0x0244); /* C51 [Geforce Go 6150 (TM)] */
- APPEND_DEVICE(0x0245); /* C51 [Quadro NVS 210S/GeForce 6150LE (TM)] */
- APPEND_DEVICE(0x0247); /* C51 [GeForce Go 6100 (TM)] */
- APPEND_DEVICE(0x03d0); /* C61 [GeForce 6150SE nForce 430 (TM)] */
- APPEND_DEVICE(0x03d1); /* C61 [GeForce 6100 nForce 405 (TM)] */
- APPEND_DEVICE(0x03d2); /* C61 [GeForce 6100 nForce 400 (TM)] */
- APPEND_DEVICE(0x03d5); /* C61 [GeForce 6100 nForce 420 (TM)] */
- break;
- case RadeonX1000:
- // This list is from the ATIRadeonX1000.kext Info.plist
- APPEND_DEVICE(0x7187);
- APPEND_DEVICE(0x7210);
- APPEND_DEVICE(0x71de);
- APPEND_DEVICE(0x7146);
- APPEND_DEVICE(0x7142);
- APPEND_DEVICE(0x7109);
- APPEND_DEVICE(0x71c5);
- APPEND_DEVICE(0x71c0);
- APPEND_DEVICE(0x7240);
- APPEND_DEVICE(0x7249);
- APPEND_DEVICE(0x7291);
- break;
- case Geforce7300GT:
- APPEND_DEVICE(0x0393);
- break;
- case Nvidia310M:
- APPEND_DEVICE(0x0A70);
- break;
- // This should never happen, but we get a warning if we don't handle this.
- case DeviceFamilyMax:
- SAL_WARN("vcl.opengl", "Invalid DeviceFamily id");
- break;
- }
-
- return deviceFamily;
}
}
@@ -625,6 +437,26 @@ WinOpenGLDeviceInfo::~WinOpenGLDeviceInfo()
{
}
+namespace {
+
+struct compareIgnoreAsciiCase
+{
+ compareIgnoreAsciiCase(const OUString& rString):
+ maString(rString)
+ {
+ }
+
+ bool operator()(const OUString& rCompare)
+ {
+ return maString.equalsIgnoreAsciiCase(rCompare);
+ }
+
+private:
+ OUString maString;
+};
+
+}
+
bool WinOpenGLDeviceInfo::FindBlocklistedDeviceInList()
{
uint64_t driverVersion;
@@ -652,19 +484,9 @@ bool WinOpenGLDeviceInfo::FindBlocklistedDeviceInList()
continue;
}
- if (maDriverInfo[i].mpDevices != wgl::DriverInfo::allDevices && maDriverInfo[i].mpDevices->size())
+ if (std::none_of(maDriverInfo[i].maDevices.begin(), maDriverInfo[i].maDevices.end(), [](const OUString& rString){ return rString == "all"; } ))
{
- bool deviceMatches = false;
- for (uint32_t j = 0; j < maDriverInfo[i].mpDevices->size(); j++)
- {
- if ((*maDriverInfo[i].mpDevices)[j].equalsIgnoreAsciiCase(maAdapterDeviceID))
- {
- deviceMatches = true;
- break;
- }
- }
-
- if (!deviceMatches)
+ if (std::none_of(maDriverInfo[i].maDevices.begin(), maDriverInfo[i].maDevices.end(), compareIgnoreAsciiCase(maAdapterDeviceID)))
{
continue;
}
@@ -1064,132 +886,6 @@ OUString WinOpenGLDeviceInfo::GetDeviceVendor(wgl::DeviceVendor id)
void WinOpenGLDeviceInfo::FillBlacklist()
{
- /*
- * Implement whitelist entries first as they will be used first to stop early;
- */
-
- APPEND_TO_DRIVER_WHITELIST( wgl::DRIVER_OS_WINDOWS_7, GetDeviceVendor(wgl::VendorIntel),
- wgl::DriverInfo::allDevices, wgl::DRIVER_EQUAL, wgl::V(10,18,10,3412));
- /*
- * It should be noted here that more specialized rules on certain features
- * should be inserted -before- more generalized restriction. As the first
- * match for feature/OS/device found in the list will be used for the final
- * blacklisting call.
- */
-
- /*
- * NVIDIA entries
- */
- APPEND_TO_DRIVER_BLOCKLIST( wgl::DRIVER_OS_WINDOWS_XP,
- GetDeviceVendor(wgl::VendorNVIDIA), wgl::DriverInfo::allDevices,
- wgl::DRIVER_LESS_THAN, wgl::V(6,14,11,8265), "182.65" );
- APPEND_TO_DRIVER_BLOCKLIST( wgl::DRIVER_OS_WINDOWS_VISTA,
- GetDeviceVendor(wgl::VendorNVIDIA), wgl::DriverInfo::allDevices,
- wgl::DRIVER_LESS_THAN, wgl::V(8,17,11,8265), "182.65" );
- APPEND_TO_DRIVER_BLOCKLIST( wgl::DRIVER_OS_WINDOWS_7,
- GetDeviceVendor(wgl::VendorNVIDIA), wgl::DriverInfo::allDevices,
- wgl::DRIVER_LESS_THAN, wgl::V(8,17,11,8265), "182.65" );
-
- /*
- * AMD/ATI entries
- */
- APPEND_TO_DRIVER_BLOCKLIST( wgl::DRIVER_OS_ALL,
- GetDeviceVendor(wgl::VendorATI), wgl::DriverInfo::allDevices,
- wgl::DRIVER_LESS_THAN, wgl::V(8,62,0,0), "9.6" );
- APPEND_TO_DRIVER_BLOCKLIST( wgl::DRIVER_OS_ALL,
- GetDeviceVendor(wgl::VendorAMD), wgl::DriverInfo::allDevices,
- wgl::DRIVER_LESS_THAN, wgl::V(8,62,0,0), "9.6" );
-
- /*
- * moz#783517 - crashes in AMD driver on Windows 8
- */
- APPEND_TO_DRIVER_BLOCKLIST_RANGE( wgl::DRIVER_OS_WINDOWS_8,
- GetDeviceVendor(wgl::VendorATI), wgl::DriverInfo::allDevices,
- wgl::DRIVER_BETWEEN_INCLUSIVE_START, wgl::V(8,982,0,0), wgl::V(8,983,0,0), "!= 8.982.*.*" );
- APPEND_TO_DRIVER_BLOCKLIST_RANGE( wgl::DRIVER_OS_WINDOWS_8,
- GetDeviceVendor(wgl::VendorAMD), wgl::DriverInfo::allDevices,
- wgl::DRIVER_BETWEEN_INCLUSIVE_START, wgl::V(8,982,0,0), wgl::V(8,983,0,0), "!= 8.982.*.*" );
-
- /* OpenGL on any ATI/AMD hardware is discouraged
- * See:
- * bug moz#619773 - WebGL: Crash with blue screen : "NMI: Parity Check / Memory Parity Error"
- * bugs moz#584403, moz#584404, moz#620924 - crashes in atioglxx
- * + many complaints about incorrect rendering
- */
- APPEND_TO_DRIVER_BLOCKLIST2( wgl::DRIVER_OS_ALL,
- GetDeviceVendor(wgl::VendorATI), wgl::DriverInfo::allDevices,
- wgl::DRIVER_LESS_THAN, wgl::DriverInfo::allDriverVersions );
- APPEND_TO_DRIVER_BLOCKLIST2( wgl::DRIVER_OS_ALL,
- GetDeviceVendor(wgl::VendorATI), wgl::DriverInfo::allDevices,
- wgl::DRIVER_LESS_THAN, wgl::DriverInfo::allDriverVersions );
- APPEND_TO_DRIVER_BLOCKLIST2( wgl::DRIVER_OS_ALL,
- GetDeviceVendor(wgl::VendorAMD), wgl::DriverInfo::allDevices,
- wgl::DRIVER_LESS_THAN, wgl::DriverInfo::allDriverVersions );
- APPEND_TO_DRIVER_BLOCKLIST2( wgl::DRIVER_OS_ALL,
- GetDeviceVendor(wgl::VendorAMD), wgl::DriverInfo::allDevices,
- wgl::DRIVER_LESS_THAN, wgl::DriverInfo::allDriverVersions );
-
- /*
- * Intel entries
- */
-
- /* The driver versions used here come from moz#594877. They might not
- * be particularly relevant anymore.
- */
-#define IMPLEMENT_INTEL_DRIVER_BLOCKLIST(winVer, devFamily, driverVer) \
- APPEND_TO_DRIVER_BLOCKLIST2( winVer, \
- GetDeviceVendor(wgl::VendorIntel), (wgl::DriverInfo::DeviceFamilyVector*) wgl::DriverInfo::GetDeviceFamily(devFamily), \
- wgl::DRIVER_LESS_THAN, driverVer )
-
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_XP, wgl::IntelGMA500, wgl::V(3,0,20,3200));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_XP, wgl::IntelGMA900, wgl::V(6,14,10,4764));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_XP, wgl::IntelGMA950, wgl::V(6,14,10,4926));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_XP, wgl::IntelGMA3150, wgl::V(6,14,10,5134));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_XP, wgl::IntelGMAX3000, wgl::V(6,14,10,5218));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_XP, wgl::IntelGMAX4500HD, wgl::V(6,14,10,4969));
-
- // StretchRect seems to suffer from precision issues which leads to artifacting
- // during content drawing starting with at least version 6.14.10.5082
- // and going until 6.14.10.5218. See moz#919454 and mox#949275 for more info.
- APPEND_TO_DRIVER_BLOCKLIST_RANGE(wgl::DRIVER_OS_WINDOWS_XP,
- GetDeviceVendor(wgl::VendorIntel),
- const_cast<wgl::DriverInfo::DeviceFamilyVector*>(wgl::DriverInfo::GetDeviceFamily(wgl::IntelGMAX4500HD)),
- wgl::DRIVER_BETWEEN_EXCLUSIVE, wgl::V(6,14,10,5076), wgl::V(6,14,10,5218), "6.14.10.5218");
-
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_VISTA, wgl::IntelGMA500, wgl::V(3,0,20,3200));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_VISTA, wgl::IntelGMA900, wgl::DriverInfo::allDriverVersions);
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_VISTA, wgl::IntelGMA950, wgl::V(7,14,10,1504));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_VISTA, wgl::IntelGMA3150, wgl::V(7,14,10,1910));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_VISTA, wgl::IntelGMAX3000, wgl::V(7,15,10,1666));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_VISTA, wgl::IntelGMAX4500HD, wgl::V(7,15,10,1666));
-
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_7, wgl::IntelGMA500, wgl::V(5,0,0,2026));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_7, wgl::IntelGMA900, wgl::DriverInfo::allDriverVersions);
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_7, wgl::IntelGMA950, wgl::V(8,15,10,1930));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_7, wgl::IntelGMA3150, wgl::V(8,14,10,1972));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_7, wgl::IntelGMAX3000, wgl::V(7,15,10,1666));
- IMPLEMENT_INTEL_DRIVER_BLOCKLIST(wgl::DRIVER_OS_WINDOWS_7, wgl::IntelGMAX4500HD, wgl::V(7,15,10,1666));
-
- /* OpenGL on any Intel hardware is discouraged */
- APPEND_TO_DRIVER_BLOCKLIST2( wgl::DRIVER_OS_ALL,
- GetDeviceVendor(wgl::VendorIntel), wgl::DriverInfo::allDevices,
- wgl::DRIVER_LESS_THAN, wgl::DriverInfo::allDriverVersions );
- APPEND_TO_DRIVER_BLOCKLIST2( wgl::DRIVER_OS_ALL,
- GetDeviceVendor(wgl::VendorIntel), wgl::DriverInfo::allDevices,
- wgl::DRIVER_LESS_THAN, wgl::DriverInfo::allDriverVersions );
-
- /**
- * Disable acceleration on Intel HD 3000 for graphics drivers <= 8.15.10.2321.
- * See bug moz#1018278 and bug moz#1060736.
- */
- APPEND_TO_DRIVER_BLOCKLIST( wgl::DRIVER_OS_ALL,
- GetDeviceVendor(wgl::VendorIntel), (wgl::DriverInfo::DeviceFamilyVector*) wgl::DriverInfo::GetDeviceFamily(wgl::IntelHD3000),
- wgl::DRIVER_LESS_THAN_OR_EQUAL, wgl::V(8,15,10,2321), "8.15.10.2342" );
-
- /* Microsoft RemoteFX; blocked less than 6.2.0.0 */
- APPEND_TO_DRIVER_BLOCKLIST( wgl::DRIVER_OS_ALL,
- GetDeviceVendor(wgl::VendorMicrosoft), wgl::DriverInfo::allDevices,
- wgl::DRIVER_LESS_THAN, wgl::V(6,2,0,0), "< 6.2.0.0" );
}