diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-06-04 17:39:48 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-06-17 12:46:26 +0000 |
commit | 7eb4c6921850a5a377f6aa42ce4af85b145da01c (patch) | |
tree | 034b2aa404504458d4a03beedae5437afcd9f7e7 | |
parent | f067d7010322505013693a18b68fac6d6a53e61f (diff) |
remove all traces of old device code
Change-Id: I792749951f11e99504c708bf27bec56c2d98019e
Reviewed-on: https://gerrit.libreoffice.org/16331
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r-- | vcl/inc/opengl/win/WinDeviceInfo.hxx | 32 | ||||
-rw-r--r-- | vcl/opengl/win/WinDeviceInfo.cxx | 341 |
2 files changed, 25 insertions, 348 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 1c02b0c0f3ab..7d5398caf933 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; } @@ -1066,123 +888,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::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 ); - - /** - * 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" ); } |