Backed out changeset 8ddc0a160da1 (bug 1602819) for Mochitest perma failures on Linux. CLOSED TREE

This commit is contained in:
Razvan Maries 2020-02-10 14:52:27 +02:00
Родитель b41ba52970
Коммит 23b0b10a14
18 изменённых файлов: 155 добавлений и 464 удалений

Просмотреть файл

@ -591,7 +591,6 @@ var snapshotFormatters = {
["supportsHardwareH264", "hardware-h264"],
["direct2DEnabled", "#Direct2D"],
["windowProtocol", "graphics-window-protocol"],
["desktopEnvironment", "graphics-desktop-environment"],
"usesTiling",
"contentUsesTiling",
"offMainThreadPaintEnabled",

Просмотреть файл

@ -275,11 +275,6 @@ CycleCollector:
Reason why the cycle collector crashed.
type: string
DesktopEnvironment:
description: >
Desktop environment used on Linux, e.g. GNOME, KDE, XFCE, etc.
type: string
DeviceResetReason:
description: >
Reason why a DirectX device has been reset, Windows only.

Просмотреть файл

@ -93,8 +93,6 @@ graphics-crash-guards-title = Crash Guard Disabled Features
graphics-workarounds-title = Workarounds
# Windowing system in use on Linux (e.g. X11, Wayland).
graphics-window-protocol = Window Protocol
# Desktop environment in use on Linux (e.g. GNOME, KDE, XFCE, etc).
graphics-desktop-environment = Desktop Environment
place-database-title = Places Database
place-database-integrity = Integrity
place-database-verify-integrity = Verify Integrity

Просмотреть файл

@ -538,7 +538,6 @@ var dataProviders = {
OffMainThreadPaintWorkerCount: "offMainThreadPaintWorkerCount",
TargetFrameRate: "targetFrameRate",
windowProtocol: null,
desktopEnvironment: null,
};
for (let prop in gfxInfoProps) {

Просмотреть файл

@ -484,9 +484,6 @@ const SNAPSHOT_SCHEMA = {
windowProtocol: {
type: "string",
},
desktopEnvironment: {
type: "string",
},
},
},
media: {

Просмотреть файл

@ -15,16 +15,12 @@ uint64_t GfxDriverInfo::allDriverVersions = ~(uint64_t(0));
GfxDeviceFamily* const GfxDriverInfo::allDevices = nullptr;
GfxDeviceFamily* GfxDriverInfo::sDeviceFamilies[DeviceFamilyMax];
nsAString* GfxDriverInfo::sDesktopEnvironment[DesktopMax];
nsAString* GfxDriverInfo::sWindowProtocol[WindowingMax];
nsAString* GfxDriverInfo::sDeviceVendors[DeviceVendorMax];
nsAString* GfxDriverInfo::sDriverVendors[DriverVendorMax];
GfxDriverInfo::GfxDriverInfo()
: mOperatingSystem(OperatingSystem::Unknown),
mOperatingSystemVersion(0),
mDesktopEnvironment(GfxDriverInfo::GetDesktopEnvironment(DesktopAll)),
mWindowProtocol(GfxDriverInfo::GetWindowProtocol(WindowingAll)),
mAdapterVendor(GfxDriverInfo::GetDeviceVendor(VendorAll)),
mDriverVendor(GfxDriverInfo::GetDriverVendor(DriverVendorAll)),
mDevices(allDevices),
@ -38,17 +34,16 @@ GfxDriverInfo::GfxDriverInfo()
mRuleId(nullptr),
mGpu2(false) {}
GfxDriverInfo::GfxDriverInfo(
OperatingSystem os, const nsAString& desktopEnv,
const nsAString& windowProtocol, const nsAString& vendor,
const nsAString& driverVendor, GfxDeviceFamily* devices, int32_t feature,
int32_t featureStatus, VersionComparisonOp op, uint64_t driverVersion,
const char* ruleId, const char* suggestedVersion /* = nullptr */,
bool ownDevices /* = false */, bool gpu2 /* = false */)
GfxDriverInfo::GfxDriverInfo(OperatingSystem os, const nsAString& vendor,
const nsAString& driverVendor,
GfxDeviceFamily* devices, int32_t feature,
int32_t featureStatus, VersionComparisonOp op,
uint64_t driverVersion, const char* ruleId,
const char* suggestedVersion /* = nullptr */,
bool ownDevices /* = false */,
bool gpu2 /* = false */)
: mOperatingSystem(os),
mOperatingSystemVersion(0),
mDesktopEnvironment(desktopEnv),
mWindowProtocol(windowProtocol),
mAdapterVendor(vendor),
mDriverVendor(driverVendor),
mDevices(devices),
@ -65,8 +60,6 @@ GfxDriverInfo::GfxDriverInfo(
GfxDriverInfo::GfxDriverInfo(const GfxDriverInfo& aOrig)
: mOperatingSystem(aOrig.mOperatingSystem),
mOperatingSystemVersion(aOrig.mOperatingSystemVersion),
mDesktopEnvironment(aOrig.mDesktopEnvironment),
mWindowProtocol(aOrig.mWindowProtocol),
mAdapterVendor(aOrig.mAdapterVendor),
mDriverVendor(aOrig.mDriverVendor),
mFeature(aOrig.mFeature),
@ -90,9 +83,7 @@ GfxDriverInfo::GfxDriverInfo(const GfxDriverInfo& aOrig)
}
GfxDriverInfo::~GfxDriverInfo() {
if (mDeleteDevices) {
delete mDevices;
}
if (mDeleteDevices) delete mDevices;
}
// Macros for appending a device to the DeviceFamily.
@ -107,9 +98,7 @@ const GfxDeviceFamily* GfxDriverInfo::GetDeviceFamily(DeviceFamily id) {
"DeviceFamily id is out of range");
// If it already exists, we must have processed it once, so return it now.
if (sDeviceFamilies[id]) {
return sDeviceFamilies[id];
}
if (sDeviceFamilies[id]) return sDeviceFamilies[id];
sDeviceFamilies[id] = new GfxDeviceFamily;
GfxDeviceFamily* deviceFamily = sDeviceFamilies[id];
@ -395,76 +384,6 @@ const GfxDeviceFamily* GfxDriverInfo::GetDeviceFamily(DeviceFamily id) {
return deviceFamily;
}
// Macro for assigning a desktop environment to a string.
#define DECLARE_DESKTOP_ENVIRONMENT_ID(name, desktopEnvId) \
case name: \
sDesktopEnvironment[id]->AssignLiteral(desktopEnvId); \
break;
const nsAString& GfxDriverInfo::GetDesktopEnvironment(DesktopEnvironment id) {
if (id >= DesktopMax) {
MOZ_ASSERT_UNREACHABLE("DesktopEnvironment id is out of range");
id = DesktopAll;
}
if (sDesktopEnvironment[id]) {
return *sDesktopEnvironment[id];
}
sDesktopEnvironment[id] = new nsString();
switch (id) {
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopGNOME, "gnome");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopKDE, "kde");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopXFCE, "xfce");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopCinnamon, "cinnamon");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopEnlightenment, "enlightment");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopLXDE, "lxde");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopOpenbox, "openbox");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopI3, "i3");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopMate, "mate");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopUnity, "unity");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopPantheon, "pantheon");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopLXQT, "lxqt");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopDeepin, "deepin");
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopUnknown, "unknown");
default: // Suppress a warning.
DECLARE_DESKTOP_ENVIRONMENT_ID(DesktopAll, "");
}
return *sDesktopEnvironment[id];
}
// Macro for assigning a window protocol id to a string.
#define DECLARE_WINDOW_PROTOCOL_ID(name, windowProtocolId) \
case name: \
sWindowProtocol[id]->AssignLiteral(windowProtocolId); \
break;
const nsAString& GfxDriverInfo::GetWindowProtocol(WindowProtocol id) {
if (id >= WindowingMax) {
MOZ_ASSERT_UNREACHABLE("WindowProtocol id is out of range");
id = WindowingAll;
}
if (sWindowProtocol[id]) {
return *sWindowProtocol[id];
}
sWindowProtocol[id] = new nsString();
switch (id) {
DECLARE_WINDOW_PROTOCOL_ID(WindowingX11, "x11");
DECLARE_WINDOW_PROTOCOL_ID(WindowingWayland, "wayland");
DECLARE_WINDOW_PROTOCOL_ID(WindowingWaylandDRM, "wayland/drm");
DECLARE_WINDOW_PROTOCOL_ID(WindowingWaylandAll, "wayland/all");
default: // Suppress a warning.
DECLARE_WINDOW_PROTOCOL_ID(WindowingAll, "");
}
return *sWindowProtocol[id];
}
// Macro for assigning a device vendor id to a string.
#define DECLARE_VENDOR_ID(name, deviceId) \
case name: \
@ -472,18 +391,15 @@ const nsAString& GfxDriverInfo::GetWindowProtocol(WindowProtocol id) {
break;
const nsAString& GfxDriverInfo::GetDeviceVendor(DeviceVendor id) {
if (id >= DeviceVendorMax) {
MOZ_ASSERT_UNREACHABLE("DeviceVendor id is out of range");
id = VendorAll;
}
NS_ASSERTION(id >= 0 && id < DeviceVendorMax,
"DeviceVendor id is out of range");
if (sDeviceVendors[id]) {
return *sDeviceVendors[id];
}
if (sDeviceVendors[id]) return *sDeviceVendors[id];
sDeviceVendors[id] = new nsString();
switch (id) {
DECLARE_VENDOR_ID(VendorAll, "");
DECLARE_VENDOR_ID(VendorIntel, "0x8086");
DECLARE_VENDOR_ID(VendorNVIDIA, "0x10de");
DECLARE_VENDOR_ID(VendorAMD, "0x1022");
@ -493,8 +409,8 @@ const nsAString& GfxDriverInfo::GetDeviceVendor(DeviceVendor id) {
// Choose an arbitrary Qualcomm PCI VENdor ID for now.
// TODO: This should be "QCOM" when Windows device ID parsing is reworked.
DECLARE_VENDOR_ID(VendorQualcomm, "0x5143");
default: // Suppress a warning.
DECLARE_VENDOR_ID(VendorAll, "");
// Suppress a warning.
DECLARE_VENDOR_ID(DeviceVendorMax, "");
}
return *sDeviceVendors[id];
@ -507,26 +423,23 @@ const nsAString& GfxDriverInfo::GetDeviceVendor(DeviceVendor id) {
break;
const nsAString& GfxDriverInfo::GetDriverVendor(DriverVendor id) {
if (id >= DriverVendorMax) {
MOZ_ASSERT_UNREACHABLE("DriverVendor id is out of range");
id = DriverVendorAll;
}
NS_ASSERTION(id >= 0 && id < DriverVendorMax,
"DriverVendor id is out of range");
if (sDriverVendors[id]) {
return *sDriverVendors[id];
}
if (sDriverVendors[id]) return *sDriverVendors[id];
sDriverVendors[id] = new nsString();
switch (id) {
DECLARE_DRIVER_VENDOR_ID(DriverVendorAll, "");
DECLARE_DRIVER_VENDOR_ID(DriverMesaAll, "mesa/all");
DECLARE_DRIVER_VENDOR_ID(DriverMesaLLVMPipe, "mesa/llvmpipe");
DECLARE_DRIVER_VENDOR_ID(DriverMesaSoftPipe, "mesa/softpipe");
DECLARE_DRIVER_VENDOR_ID(DriverMesaSWRast, "mesa/swrast");
DECLARE_DRIVER_VENDOR_ID(DriverMesaUnknown, "mesa/unknown");
DECLARE_DRIVER_VENDOR_ID(DriverNonMesaAll, "non-mesa/all");
default: // Suppress a warning.
DECLARE_DRIVER_VENDOR_ID(DriverVendorAll, "");
// Suppress a warning.
DECLARE_DRIVER_VENDOR_ID(DriverVendorMax, "");
}
return *sDriverVendors[id];

Просмотреть файл

@ -8,107 +8,48 @@
#include "nsString.h"
// Macros for adding a blocklist item to the static list. _EXT variants
// allow one to specify all available parameters, including those available
// only on specific platforms (e.g. desktop environment and driver vendor
// for Linux.)
// Macros for adding a blocklist item to the static list.
#define APPEND_TO_DRIVER_BLOCKLIST(os, vendor, driverVendor, devices, feature, \
featureStatus, driverComparator, \
driverVersion, ruleId, suggestedVersion) \
sDriverInfo->AppendElement(GfxDriverInfo( \
os, vendor, driverVendor, devices, feature, featureStatus, \
driverComparator, driverVersion, ruleId, suggestedVersion))
#define APPEND_TO_DRIVER_BLOCKLIST2(os, vendor, driverVendor, devices, \
feature, featureStatus, driverComparator, \
driverVersion, ruleId) \
sDriverInfo->AppendElement( \
GfxDriverInfo(os, vendor, driverVendor, devices, feature, featureStatus, \
driverComparator, driverVersion, ruleId))
#define APPEND_TO_DRIVER_BLOCKLIST(os, vendor, devices, feature, \
featureStatus, driverComparator, \
driverVersion, ruleId, suggestedVersion) \
sDriverInfo->AppendElement(GfxDriverInfo( \
os, (nsAString&)GfxDriverInfo::GetDesktopEnvironment(DesktopAll), \
(nsAString&)GfxDriverInfo::GetWindowProtocol(WindowingAll), vendor, \
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll), devices, \
feature, featureStatus, driverComparator, driverVersion, ruleId, \
suggestedVersion))
#define APPEND_TO_DRIVER_BLOCKLIST_EXT( \
os, desktopEnv, windowProtocol, vendor, driverVendor, devices, feature, \
featureStatus, driverComparator, driverVersion, ruleId, suggestedVersion) \
sDriverInfo->AppendElement( \
GfxDriverInfo(os, desktopEnv, windowProtocol, vendor, driverVendor, \
devices, feature, featureStatus, driverComparator, \
driverVersion, ruleId, suggestedVersion))
#define APPEND_TO_DRIVER_BLOCKLIST2(os, vendor, devices, feature, \
featureStatus, driverComparator, \
driverVersion, ruleId) \
sDriverInfo->AppendElement(GfxDriverInfo( \
os, (nsAString&)GfxDriverInfo::GetDesktopEnvironment(DesktopAll), \
(nsAString&)GfxDriverInfo::GetWindowProtocol(WindowingAll), vendor, \
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll), devices, \
feature, featureStatus, driverComparator, driverVersion, ruleId))
#define APPEND_TO_DRIVER_BLOCKLIST2_EXT( \
os, desktopEnv, windowProtocol, vendor, driverVendor, devices, feature, \
featureStatus, driverComparator, driverVersion, ruleId) \
sDriverInfo->AppendElement(GfxDriverInfo( \
os, desktopEnv, windowProtocol, vendor, driverVendor, devices, feature, \
featureStatus, driverComparator, driverVersion, ruleId))
#define APPEND_TO_DRIVER_BLOCKLIST_RANGE( \
os, vendor, devices, feature, featureStatus, driverComparator, \
driverVersion, driverVersionMax, ruleId, suggestedVersion) \
do { \
MOZ_ASSERT((driverComparator) == DRIVER_BETWEEN_EXCLUSIVE || \
(driverComparator) == DRIVER_BETWEEN_INCLUSIVE || \
(driverComparator) == DRIVER_BETWEEN_INCLUSIVE_START); \
GfxDriverInfo info( \
os, (nsAString&)GfxDriverInfo::GetDesktopEnvironment(DesktopAll), \
(nsAString&)GfxDriverInfo::GetWindowProtocol(WindowingAll), vendor, \
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll), devices, \
feature, featureStatus, driverComparator, driverVersion, ruleId, \
suggestedVersion); \
info.mDriverVersionMax = driverVersionMax; \
sDriverInfo->AppendElement(info); \
#define APPEND_TO_DRIVER_BLOCKLIST_RANGE( \
os, vendor, driverVendor, devices, feature, featureStatus, \
driverComparator, driverVersion, driverVersionMax, ruleId, \
suggestedVersion) \
do { \
MOZ_ASSERT(driverComparator == DRIVER_BETWEEN_EXCLUSIVE || \
driverComparator == DRIVER_BETWEEN_INCLUSIVE || \
driverComparator == DRIVER_BETWEEN_INCLUSIVE_START); \
GfxDriverInfo info(os, vendor, driverVendor, devices, feature, \
featureStatus, driverComparator, driverVersion, ruleId, \
suggestedVersion); \
info.mDriverVersionMax = driverVersionMax; \
sDriverInfo->AppendElement(info); \
} while (false)
#define APPEND_TO_DRIVER_BLOCKLIST_RANGE_EXT( \
os, desktopEnv, windowProtocol, vendor, driverVendor, devices, feature, \
featureStatus, driverComparator, driverVersion, driverVersionMax, ruleId, \
suggestedVersion) \
do { \
MOZ_ASSERT((driverComparator) == DRIVER_BETWEEN_EXCLUSIVE || \
(driverComparator) == DRIVER_BETWEEN_INCLUSIVE || \
(driverComparator) == DRIVER_BETWEEN_INCLUSIVE_START); \
GfxDriverInfo info(os, desktopEnv, windowProtocol, vendor, driverVendor, \
devices, feature, featureStatus, driverComparator, \
driverVersion, ruleId, suggestedVersion); \
info.mDriverVersionMax = driverVersionMax; \
sDriverInfo->AppendElement(info); \
} while (false)
#define APPEND_TO_DRIVER_BLOCKLIST_RANGE_GPU2( \
os, vendor, devices, feature, featureStatus, driverComparator, \
driverVersion, driverVersionMax, ruleId, suggestedVersion) \
do { \
MOZ_ASSERT((driverComparator) == DRIVER_BETWEEN_EXCLUSIVE || \
(driverComparator) == DRIVER_BETWEEN_INCLUSIVE || \
(driverComparator) == DRIVER_BETWEEN_INCLUSIVE_START); \
GfxDriverInfo info( \
os, (nsAString&)GfxDriverInfo::GetDesktopEnvironment(DesktopAll), \
(nsAString&)GfxDriverInfo::GetWindowProtocol(WindowingAll), vendor, \
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll), devices, \
feature, featureStatus, driverComparator, driverVersion, ruleId, \
suggestedVersion, false, true); \
info.mDriverVersionMax = driverVersionMax; \
sDriverInfo->AppendElement(info); \
} while (false)
#define APPEND_TO_DRIVER_BLOCKLIST_RANGE_GPU2_EXT( \
os, desktopEnv, windowProtocol, vendor, driverVendor, devices, feature, \
featureStatus, driverComparator, driverVersion, driverVersionMax, ruleId, \
suggestedVersion) \
do { \
MOZ_ASSERT((driverComparator) == DRIVER_BETWEEN_EXCLUSIVE || \
(driverComparator) == DRIVER_BETWEEN_INCLUSIVE || \
(driverComparator) == DRIVER_BETWEEN_INCLUSIVE_START); \
GfxDriverInfo info(os, desktopEnv, windowProtocol, vendor, driverVendor, \
devices, feature, featureStatus, driverComparator, \
driverVersion, ruleId, suggestedVersion, false, true); \
info.mDriverVersionMax = driverVersionMax; \
sDriverInfo->AppendElement(info); \
#define APPEND_TO_DRIVER_BLOCKLIST_RANGE_GPU2( \
os, vendor, driverVendor, devices, feature, featureStatus, \
driverComparator, driverVersion, driverVersionMax, ruleId, \
suggestedVersion) \
do { \
MOZ_ASSERT(driverComparator == DRIVER_BETWEEN_EXCLUSIVE || \
driverComparator == DRIVER_BETWEEN_INCLUSIVE || \
driverComparator == DRIVER_BETWEEN_INCLUSIVE_START); \
GfxDriverInfo info(os, vendor, driverVendor, devices, feature, \
featureStatus, driverComparator, driverVersion, ruleId, \
suggestedVersion, false, true); \
info.mDriverVersionMax = driverVersionMax; \
sDriverInfo->AppendElement(info); \
} while (false)
namespace mozilla {
@ -184,7 +125,7 @@ enum DeviceFamily {
DeviceFamilyMax
};
enum DeviceVendor : uint8_t {
enum DeviceVendor {
VendorAll, // There is an assumption that this is the first enum
VendorIntel,
VendorNVIDIA,
@ -197,7 +138,7 @@ enum DeviceVendor : uint8_t {
DeviceVendorMax
};
enum DriverVendor : uint8_t {
enum DriverVendor {
DriverVendorAll, // There is an assumption that this is the first enum
// Wildcard for all Mesa drivers.
DriverMesaAll,
@ -215,43 +156,13 @@ enum DriverVendor : uint8_t {
DriverVendorMax
};
enum DesktopEnvironment : uint8_t {
DesktopAll, // There is an assumption that this is the first enum
DesktopGNOME,
DesktopKDE,
DesktopXFCE,
DesktopCinnamon,
DesktopEnlightenment,
DesktopLXDE,
DesktopOpenbox,
DesktopI3,
DesktopMate,
DesktopUnity,
DesktopPantheon,
DesktopLXQT,
DesktopDeepin,
DesktopUnknown,
DesktopMax
};
enum WindowProtocol : uint8_t {
WindowingAll, // There is an assumption that this is the first enum
WindowingX11,
WindowingWayland,
WindowingWaylandDRM,
// Wildcard for all Wayland variants.
WindowingWaylandAll,
WindowingMax
};
/* Array of devices to match, or an empty array for all devices */
typedef nsTArray<nsString> GfxDeviceFamily;
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, const nsAString& desktopEnv,
const nsAString& windowProtocol, const nsAString& vendor,
GfxDriverInfo(OperatingSystem os, const nsAString& vendor,
const nsAString& driverVendor, GfxDeviceFamily* devices,
int32_t feature, int32_t featureStatus, VersionComparisonOp op,
uint64_t driverVersion, const char* ruleId,
@ -264,8 +175,6 @@ struct GfxDriverInfo {
OperatingSystem mOperatingSystem;
uint32_t mOperatingSystemVersion;
nsString mDesktopEnvironment;
nsString mWindowProtocol;
nsString mAdapterVendor;
nsString mDriverVendor;
@ -297,12 +206,6 @@ struct GfxDriverInfo {
static const GfxDeviceFamily* GetDeviceFamily(DeviceFamily id);
static GfxDeviceFamily* sDeviceFamilies[DeviceFamilyMax];
static const nsAString& GetDesktopEnvironment(DesktopEnvironment id);
static nsAString* sDesktopEnvironment[DesktopMax];
static const nsAString& GetWindowProtocol(WindowProtocol id);
static nsAString* sWindowProtocol[WindowingMax];
static const nsAString& GetDeviceVendor(DeviceVendor id);
static nsAString* sDeviceVendors[DeviceVendorMax];

Просмотреть файл

@ -498,10 +498,6 @@ static bool BlacklistEntryToDriverInfo(nsCString& aBlacklistEntry,
aDriverInfo.mOperatingSystem = BlacklistOSToOperatingSystem(dataValue);
} else if (key.EqualsLiteral("osversion")) {
aDriverInfo.mOperatingSystemVersion = strtoul(value.get(), nullptr, 10);
} else if (key.EqualsLiteral("desktopEnvironment")) {
aDriverInfo.mDesktopEnvironment = dataValue;
} else if (key.EqualsLiteral("windowProtocol")) {
aDriverInfo.mWindowProtocol = dataValue;
} else if (key.EqualsLiteral("vendor")) {
aDriverInfo.mAdapterVendor = dataValue;
} else if (key.EqualsLiteral("driverVendor")) {
@ -736,19 +732,6 @@ int32_t GfxInfoBase::FindBlocklistedDeviceInList(
int32_t aFeature, nsACString& aFailureId, OperatingSystem os) {
int32_t status = nsIGfxInfo::FEATURE_STATUS_UNKNOWN;
// Desktop environment and window protocol are not available on all platforms.
nsAutoString desktopEnvironment;
nsresult rv = GetDesktopEnvironment(desktopEnvironment);
if (NS_FAILED(rv) && rv != NS_ERROR_NOT_IMPLEMENTED) {
return 0;
}
nsAutoString windowProtocol;
rv = GetWindowProtocol(windowProtocol);
if (NS_FAILED(rv) && rv != NS_ERROR_NOT_IMPLEMENTED) {
return 0;
}
// Get the adapters once then reuse below
nsAutoString adapterVendorID[2];
nsAutoString adapterDeviceID[2];
@ -804,15 +787,6 @@ int32_t GfxInfoBase::FindBlocklistedDeviceInList(
continue;
}
if (!DoesDesktopEnvironmentMatch(info[i].mDesktopEnvironment,
desktopEnvironment)) {
continue;
}
if (!DoesWindowProtocolMatch(info[i].mWindowProtocol, windowProtocol)) {
continue;
}
if (!DoesVendorMatch(info[i].mAdapterVendor, adapterVendorID[infoIndex])) {
continue;
}
@ -969,25 +943,6 @@ void GfxInfoBase::SetFeatureStatus(
sFeatureStatus = new nsTArray<dom::GfxInfoFeatureStatus>(aFS);
}
bool GfxInfoBase::DoesDesktopEnvironmentMatch(
const nsAString& aBlocklistDesktop, const nsAString& aDesktopEnv) {
return aBlocklistDesktop.Equals(aDesktopEnv,
nsCaseInsensitiveStringComparator()) ||
aBlocklistDesktop.Equals(
GfxDriverInfo::GetDesktopEnvironment(DesktopAll),
nsCaseInsensitiveStringComparator());
}
bool GfxInfoBase::DoesWindowProtocolMatch(
const nsAString& aBlocklistWindowProtocol,
const nsAString& aWindowProtocol) {
return aBlocklistWindowProtocol.Equals(aWindowProtocol,
nsCaseInsensitiveStringComparator()) ||
aBlocklistWindowProtocol.Equals(
GfxDriverInfo::GetWindowProtocol(WindowingAll),
nsCaseInsensitiveStringComparator());
}
bool GfxInfoBase::DoesVendorMatch(const nsAString& aBlocklistVendor,
const nsAString& aAdapterVendor) {
return aBlocklistVendor.Equals(aAdapterVendor,

Просмотреть файл

@ -126,13 +126,6 @@ class GfxInfoBase : public nsIGfxInfo,
virtual void DescribeFeatures(JSContext* aCx, JS::Handle<JSObject*> obj);
bool DoesDesktopEnvironmentMatch(const nsAString& aBlocklistDesktop,
const nsAString& aDesktopEnv);
virtual bool DoesWindowProtocolMatch(
const nsAString& aBlocklistWindowProtocol,
const nsAString& aWindowProtocol);
bool DoesVendorMatch(const nsAString& aBlocklistVendor,
const nsAString& aAdapterVendor);

Просмотреть файл

@ -10,8 +10,6 @@
#include <sys/wait.h>
#include <errno.h>
#include <sys/utsname.h>
#include <string>
#include <cctype>
#include "nsCRTGlue.h"
#include "nsExceptionHandler.h"
#include "prenv.h"
@ -63,8 +61,6 @@ void GfxInfo::AddCrashReportAnnotations() {
mIsWayland);
CrashReporter::AnnotateCrashReport(CrashReporter::Annotation::IsWaylandDRM,
mIsWaylandDRM);
CrashReporter::AnnotateCrashReport(
CrashReporter::Annotation::DesktopEnvironment, mDesktopEnvironment);
}
void GfxInfo::GetData() {
@ -334,84 +330,6 @@ void GfxInfo::GetData() {
mIsWaylandDRM = nsWaylandDisplay::IsDMABufEnabled();
}
#endif
// Make a best effort guess at the desktop environment in use. Sadly there
// does not appear to be a standard way to do this, so we check a few
// different environment variables and search for relevant keywords.
const char* desktopEnv = getenv("XDG_CURRENT_DESKTOP");
if (!desktopEnv) {
desktopEnv = getenv("DESKTOP_SESSION");
}
if (desktopEnv) {
std::string currentDesktop(desktopEnv);
for (auto& c : currentDesktop) {
c = std::tolower(c);
}
if (currentDesktop.find("gnome") != std::string::npos) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopGNOME),
mDesktopEnvironment);
} else if (currentDesktop.find("kde") != std::string::npos) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopKDE),
mDesktopEnvironment);
} else if (currentDesktop.find("xfce") != std::string::npos) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopXFCE),
mDesktopEnvironment);
} else if (currentDesktop.find("cinnamon") != std::string::npos) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopCinnamon),
mDesktopEnvironment);
} else if (currentDesktop.find("enlightenment") != std::string::npos) {
CopyUTF16toUTF8(
GfxDriverInfo::GetDesktopEnvironment(DesktopEnlightenment),
mDesktopEnvironment);
} else if (currentDesktop.find("lxde") != std::string::npos ||
currentDesktop.find("lubuntu") != std::string::npos) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopLXDE),
mDesktopEnvironment);
} else if (currentDesktop.find("openbox") != std::string::npos) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopOpenbox),
mDesktopEnvironment);
} else if (currentDesktop.find("i3") != std::string::npos) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopI3),
mDesktopEnvironment);
} else if (currentDesktop.find("mate") != std::string::npos) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopMate),
mDesktopEnvironment);
} else if (currentDesktop.find("unity") != std::string::npos) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopUnity),
mDesktopEnvironment);
} else if (currentDesktop.find("pantheon") != std::string::npos) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopPantheon),
mDesktopEnvironment);
} else if (currentDesktop.find("lxqt") != std::string::npos) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopLXQT),
mDesktopEnvironment);
} else if (currentDesktop.find("deepin") != std::string::npos) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopDeepin),
mDesktopEnvironment);
}
}
if (mDesktopEnvironment.IsEmpty()) {
if (getenv("GNOME_DESKTOP_SESSION_ID")) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopGNOME),
mDesktopEnvironment);
} else if (getenv("KDE_FULL_SESSION")) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopKDE),
mDesktopEnvironment);
} else if (getenv("MATE_DESKTOP_SESSION_ID")) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopMate),
mDesktopEnvironment);
} else if (getenv("LXQT_SESSION_CONFIG")) {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopLXQT),
mDesktopEnvironment);
} else {
CopyUTF16toUTF8(GfxDriverInfo::GetDesktopEnvironment(DesktopUnknown),
mDesktopEnvironment);
}
}
AddCrashReportAnnotations();
}
@ -419,10 +337,8 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
if (!sDriverInfo->Length()) {
// Mesa 10.0 provides the GLX_MESA_query_renderer extension, which allows us
// to query device IDs backing a GL context for blacklisting.
APPEND_TO_DRIVER_BLOCKLIST_EXT(
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Linux,
(nsAString&)GfxDriverInfo::GetDesktopEnvironment(DesktopAll),
(nsAString&)GfxDriverInfo::GetWindowProtocol(WindowingAll),
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAll),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverMesaAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
@ -430,10 +346,8 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
V(10, 0, 0, 0), "FEATURE_FAILURE_OLD_MESA", "Mesa 10.0");
// NVIDIA baseline (ported from old blocklist)
APPEND_TO_DRIVER_BLOCKLIST_EXT(
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Linux,
(nsAString&)GfxDriverInfo::GetDesktopEnvironment(DesktopAll),
(nsAString&)GfxDriverInfo::GetWindowProtocol(WindowingAll),
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverNonMesaAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
@ -444,6 +358,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Linux,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
V(13, 15, 100, 1), "FEATURE_FAILURE_OLD_FGLRX", "fglrx 13.15.100.1");
@ -455,15 +370,14 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Linux,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
V(18, 0, 0, 0), "FEATURE_FAILURE_WEBRENDER_OLD_MESA", "Mesa 18.0.0.0");
// Nvidia Mesa baseline, see bug 1563859.
APPEND_TO_DRIVER_BLOCKLIST_EXT(
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Linux,
(nsAString&)GfxDriverInfo::GetDesktopEnvironment(DesktopAll),
(nsAString&)GfxDriverInfo::GetWindowProtocol(WindowingAll),
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverMesaAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
@ -471,10 +385,8 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
V(18, 2, 0, 0), "FEATURE_FAILURE_WEBRENDER_OLD_MESA", "Mesa 18.2.0.0");
// Disable on all Nvidia devices not using Mesa for now.
APPEND_TO_DRIVER_BLOCKLIST_EXT(
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Linux,
(nsAString&)GfxDriverInfo::GetDesktopEnvironment(DesktopAll),
(nsAString&)GfxDriverInfo::GetWindowProtocol(WindowingAll),
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverNonMesaAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
@ -482,10 +394,8 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
V(0, 0, 0, 0), "FEATURE_FAILURE_WEBRENDER_NO_LINUX_NVIDIA", "");
// ATI Mesa baseline, chosen arbitrarily.
APPEND_TO_DRIVER_BLOCKLIST_EXT(
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Linux,
(nsAString&)GfxDriverInfo::GetDesktopEnvironment(DesktopAll),
(nsAString&)GfxDriverInfo::GetWindowProtocol(WindowingAll),
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverMesaAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
@ -493,10 +403,8 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
V(18, 0, 0, 0), "FEATURE_FAILURE_WEBRENDER_OLD_MESA", "Mesa 18.0.0.0");
// Disable on all ATI devices not using Mesa for now.
APPEND_TO_DRIVER_BLOCKLIST_EXT(
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Linux,
(nsAString&)GfxDriverInfo::GetDesktopEnvironment(DesktopAll),
(nsAString&)GfxDriverInfo::GetWindowProtocol(WindowingAll),
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverNonMesaAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
@ -506,17 +414,6 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
return *sDriverInfo;
}
bool GfxInfo::DoesWindowProtocolMatch(const nsAString& aBlocklistWindowProtocol,
const nsAString& aWindowProtocol) {
if (mIsWayland && aBlocklistWindowProtocol.Equals(
GfxDriverInfo::GetWindowProtocol(WindowingWaylandAll),
nsCaseInsensitiveStringComparator())) {
return true;
}
return GfxInfoBase::DoesWindowProtocolMatch(aBlocklistWindowProtocol,
aWindowProtocol);
}
bool GfxInfo::DoesDriverVendorMatch(const nsAString& aBlocklistVendor,
const nsAString& aDriverVendor) {
if (mIsMesa &&
@ -597,24 +494,16 @@ GfxInfo::GetCleartypeParameters(nsAString& aCleartypeParams) {
NS_IMETHODIMP
GfxInfo::GetWindowProtocol(nsAString& aWindowProtocol) {
GetData();
if (mIsWayland) {
if (mIsWaylandDRM) {
aWindowProtocol = GfxDriverInfo::GetWindowProtocol(WindowingWaylandDRM);
aWindowProtocol.AssignLiteral("wayland (drm)");
} else {
aWindowProtocol = GfxDriverInfo::GetWindowProtocol(WindowingWayland);
aWindowProtocol.AssignLiteral("wayland");
}
return NS_OK;
}
aWindowProtocol = GfxDriverInfo::GetWindowProtocol(WindowingX11);
return NS_OK;
}
NS_IMETHODIMP
GfxInfo::GetDesktopEnvironment(nsAString& aDesktopEnvironment) {
GetData();
AppendASCIItoUTF16(mDesktopEnvironment, aDesktopEnvironment);
aWindowProtocol.AssignLiteral("x11");
return NS_OK;
}

Просмотреть файл

@ -23,7 +23,6 @@ class GfxInfo final : public GfxInfoBase {
NS_IMETHOD GetDWriteVersion(nsAString& aDwriteVersion) override;
NS_IMETHOD GetCleartypeParameters(nsAString& aCleartypeParams) override;
NS_IMETHOD GetWindowProtocol(nsAString& aWindowProtocol) override;
NS_IMETHOD GetDesktopEnvironment(nsAString& aDesktopEnvironment) override;
NS_IMETHOD GetAdapterDescription(nsAString& aAdapterDescription) override;
NS_IMETHOD GetAdapterDriver(nsAString& aAdapterDriver) override;
NS_IMETHOD GetAdapterVendorID(nsAString& aAdapterVendorID) override;
@ -68,10 +67,6 @@ class GfxInfo final : public GfxInfoBase {
OperatingSystem* aOS = nullptr) override;
virtual const nsTArray<GfxDriverInfo>& GetGfxDriverInfo() override;
virtual bool DoesWindowProtocolMatch(
const nsAString& aBlocklistWindowProtocol,
const nsAString& aWindowProtocol) override;
virtual bool DoesDriverVendorMatch(const nsAString& aBlocklistVendor,
const nsAString& aDriverVendor) override;
@ -84,7 +79,6 @@ class GfxInfo final : public GfxInfoBase {
uint32_t mAdapterRAM;
nsCString mOS;
nsCString mOSRelease;
nsAutoCStringN<16> mDesktopEnvironment;
struct ScreenInfo {
uint32_t mWidth;

Просмотреть файл

@ -139,12 +139,7 @@ GfxInfo::GetCleartypeParameters(nsAString& aCleartypeParams) {
NS_IMETHODIMP
GfxInfo::GetWindowProtocol(nsAString& aWindowProtocol) {
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
GfxInfo::GetDesktopEnvironment(nsAString& aDesktopEnvironment) {
return NS_ERROR_NOT_IMPLEMENTED;
return NS_ERROR_FAILURE;
}
void GfxInfo::EnsureInitialized() {
@ -374,6 +369,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Android,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAll),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_OPENGL_LAYERS,
nsIGfxInfo::FEATURE_STATUS_OK, DRIVER_COMPARISON_IGNORED,
GfxDriverInfo::allDriverVersions, "FEATURE_OK_FORCE_OPENGL");

Просмотреть файл

@ -32,7 +32,6 @@ class GfxInfo : public GfxInfoBase {
NS_IMETHOD GetDWriteVersion(nsAString& aDwriteVersion) override;
NS_IMETHOD GetCleartypeParameters(nsAString& aCleartypeParams) override;
NS_IMETHOD GetWindowProtocol(nsAString& aWindowProtocol) override;
NS_IMETHOD GetDesktopEnvironment(nsAString& aDesktopEnvironment) override;
NS_IMETHOD GetAdapterDescription(nsAString& aAdapterDescription) override;
NS_IMETHOD GetAdapterDriver(nsAString& aAdapterDriver) override;
NS_IMETHOD GetAdapterVendorID(nsAString& aAdapterVendorID) override;

Просмотреть файл

@ -24,7 +24,6 @@ class GfxInfo : public GfxInfoBase {
NS_IMETHOD GetDWriteEnabled(bool* aDWriteEnabled) override;
NS_IMETHOD GetDWriteVersion(nsAString& aDwriteVersion) override;
NS_IMETHOD GetWindowProtocol(nsAString& aWindowProtocol) override;
NS_IMETHOD GetDesktopEnvironment(nsAString& aDesktopEnvironment) override;
NS_IMETHOD GetCleartypeParameters(nsAString& aCleartypeParams) override;
NS_IMETHOD GetAdapterDescription(nsAString& aAdapterDescription) override;
NS_IMETHOD GetAdapterDriver(nsAString& aAdapterDriver) override;

Просмотреть файл

@ -123,11 +123,7 @@ GfxInfo::GetCleartypeParameters(nsAString& aCleartypeParams) { return NS_ERROR_F
/* readonly attribute DOMString windowProtocol; */
NS_IMETHODIMP
GfxInfo::GetWindowProtocol(nsAString& aWindowProtocol) { return NS_ERROR_NOT_IMPLEMENTED; }
/* readonly attribute DOMString desktopEnvironment; */
NS_IMETHODIMP
GfxInfo::GetDesktopEnvironment(nsAString& aDesktopEnvironment) { return NS_ERROR_NOT_IMPLEMENTED; }
GfxInfo::GetWindowProtocol(nsAString& aWindowProtocol) { return NS_ERROR_FAILURE; }
/* readonly attribute DOMString adapterDescription; */
NS_IMETHODIMP
@ -279,24 +275,28 @@ void GfxInfo::AddCrashReportAnnotations() {
}
// We don't support checking driver versions on Mac.
#define IMPLEMENT_MAC_DRIVER_BLOCKLIST(os, vendor, device, features, blockOn, ruleId) \
APPEND_TO_DRIVER_BLOCKLIST(os, vendor, device, features, blockOn, DRIVER_COMPARISON_IGNORED, \
V(0, 0, 0, 0), ruleId, "")
#define IMPLEMENT_MAC_DRIVER_BLOCKLIST(os, vendor, driverVendor, device, features, blockOn, \
ruleId) \
APPEND_TO_DRIVER_BLOCKLIST(os, vendor, driverVendor, device, features, blockOn, \
DRIVER_COMPARISON_IGNORED, V(0, 0, 0, 0), ruleId, "")
const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
if (!sDriverInfo->Length()) {
IMPLEMENT_MAC_DRIVER_BLOCKLIST(
OperatingSystem::OSX, (nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(RadeonX1000),
nsIGfxInfo::FEATURE_OPENGL_LAYERS, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
"FEATURE_FAILURE_MAC_RADEONX1000_NO_TEXTURE2D");
IMPLEMENT_MAC_DRIVER_BLOCKLIST(
OperatingSystem::OSX, (nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(Geforce7300GT),
nsIGfxInfo::FEATURE_WEBGL_OPENGL, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
"FEATURE_FAILURE_MAC_7300_NO_WEBGL");
IMPLEMENT_MAC_DRIVER_BLOCKLIST(
OperatingSystem::OSX, (nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(IntelHDGraphicsToIvyBridge),
nsIGfxInfo::FEATURE_GL_SWIZZLE, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
"FEATURE_FAILURE_MAC_INTELHD4000_NO_SWIZZLE");

Просмотреть файл

@ -23,7 +23,6 @@ interface nsIGfxInfo : nsISupports
* These are non-Android linux-specific
*/
readonly attribute AString windowProtocol;
readonly attribute AString desktopEnvironment;
/*
* These are valid across all platforms.

Просмотреть файл

@ -126,12 +126,7 @@ GfxInfo::GetCleartypeParameters(nsAString& aCleartypeParams) {
NS_IMETHODIMP
GfxInfo::GetWindowProtocol(nsAString& aWindowProtocol) {
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
GfxInfo::GetDesktopEnvironment(nsAString& aDesktopEnvironment) {
return NS_ERROR_NOT_IMPLEMENTED;
return NS_ERROR_FAILURE;
}
static nsresult GetKeyValue(const WCHAR* keyLocation, const WCHAR* keyName,
@ -1131,6 +1126,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN_OR_EQUAL,
V(8, 15, 11, 8745), "FEATURE_FAILURE_NV_W7_15",
@ -1138,6 +1134,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
DRIVER_BETWEEN_INCLUSIVE_START, V(8, 16, 10, 0000), V(8, 16, 11, 8745),
@ -1147,6 +1144,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
DRIVER_BETWEEN_INCLUSIVE_START, V(8, 17, 10, 0000), V(8, 17, 11, 8745),
@ -1158,12 +1156,14 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
V(8, 56, 1, 15), "FEATURE_FAILURE_AMD1", "8.56.1.15");
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAMD),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
V(8, 56, 1, 15), "FEATURE_FAILURE_AMD2", "8.56.1.15");
@ -1172,6 +1172,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_EQUAL,
V(8, 832, 0, 0), "FEATURE_FAILURE_BUG_1099252");
@ -1180,6 +1181,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_EQUAL,
V(8, 783, 2, 2000), "FEATURE_FAILURE_BUG_1118695");
@ -1195,6 +1197,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows10,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAMD),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_EQUAL,
V(22, 19, 162, 4), "FEATURE_FAILURE_BUG_1587155");
@ -1203,6 +1206,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_BETWEEN_INCLUSIVE,
V(15, 200, 0, 0), V(15, 200, 1062, 1004), "FEATURE_FAILURE_BUG_1198815",
@ -1212,6 +1216,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows10,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_BETWEEN_INCLUSIVE,
V(15, 200, 0, 0), V(15, 301, 2301, 1002), "FEATURE_FAILURE_BUG_1267970",
@ -1219,6 +1224,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows10,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_BETWEEN_INCLUSIVE,
V(16, 100, 0, 0), V(16, 300, 2311, 0), "FEATURE_FAILURE_BUG_1267970",
@ -1230,6 +1236,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows8,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
DRIVER_BETWEEN_INCLUSIVE_START, V(8, 982, 0, 0), V(8, 983, 0, 0),
@ -1237,6 +1244,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows8,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAMD),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
DRIVER_BETWEEN_INCLUSIVE_START, V(8, 982, 0, 0), V(8, 983, 0, 0),
@ -1248,6 +1256,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows10,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAMD),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(RadeonCaicos),
nsIGfxInfo::FEATURE_DIRECT3D_11_LAYERS,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
@ -1262,12 +1271,14 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_OPENGL_LAYERS,
nsIGfxInfo::FEATURE_DISCOURAGED, DRIVER_LESS_THAN,
GfxDriverInfo::allDriverVersions, "FEATURE_FAILURE_OGL_ATI_DIS");
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAMD),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_OPENGL_LAYERS,
nsIGfxInfo::FEATURE_DISCOURAGED, DRIVER_LESS_THAN,
GfxDriverInfo::allDriverVersions, "FEATURE_FAILURE_OGL_AMD_DIS");
@ -1282,6 +1293,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
#define IMPLEMENT_INTEL_DRIVER_BLOCKLIST(winVer, devFamily, driverVer, ruleId) \
APPEND_TO_DRIVER_BLOCKLIST2( \
winVer, (nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel), \
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll), \
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(devFamily), \
GfxDriverInfo::allFeatures, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, \
DRIVER_LESS_THAN, driverVer, ruleId)
@ -1290,6 +1302,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
ruleId) \
APPEND_TO_DRIVER_BLOCKLIST2( \
winVer, (nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel), \
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll), \
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(devFamily), \
nsIGfxInfo::FEATURE_DIRECT2D, \
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_BUILD_ID_LESS_THAN, \
@ -1320,6 +1333,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(IntelGMAX4500HD),
nsIGfxInfo::FEATURE_DIRECT2D, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
DRIVER_LESS_THAN, GfxDriverInfo::allDriverVersions,
@ -1351,6 +1365,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(IntelGMAX4500HD),
GfxDriverInfo::allFeatures, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
DRIVER_EQUAL, V(8, 15, 10, 1749), "FEATURE_FAILURE_BUG_1074378_1",
@ -1358,6 +1373,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(
IntelHDGraphicsToSandyBridge),
GfxDriverInfo::allFeatures, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
@ -1368,6 +1384,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_OPENGL_LAYERS,
nsIGfxInfo::FEATURE_DISCOURAGED, DRIVER_LESS_THAN,
GfxDriverInfo::allDriverVersions, "FEATURE_FAILURE_INTEL_OGL_DIS");
@ -1379,6 +1396,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(IntelHD3000),
GfxDriverInfo::allFeatures, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
DRIVER_BUILD_ID_LESS_THAN_OR_EQUAL, 2321, "FEATURE_FAILURE_BUG_1018278",
@ -1391,6 +1409,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(
IntelHDGraphicsToHaswell),
nsIGfxInfo::FEATURE_DIRECT2D,
@ -1404,6 +1423,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(IntelMobileHDGraphics),
nsIGfxInfo::FEATURE_DIRECT2D,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN_OR_EQUAL,
@ -1415,6 +1435,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows8,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(IntelMobileHDGraphics),
nsIGfxInfo::FEATURE_DIRECT2D,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN_OR_EQUAL,
@ -1426,6 +1447,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(
IntelHDGraphicsToSandyBridge),
nsIGfxInfo::FEATURE_DIRECT2D,
@ -1438,6 +1460,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(Bug1116812),
nsIGfxInfo::FEATURE_DIRECT3D_11_LAYERS,
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_LESS_THAN,
@ -1450,6 +1473,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(Bug1207665),
nsIGfxInfo::FEATURE_DIRECT3D_11_LAYERS,
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_LESS_THAN,
@ -1457,6 +1481,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(Bug1207665),
nsIGfxInfo::FEATURE_DIRECT2D, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
DRIVER_LESS_THAN, GfxDriverInfo::allDriverVersions,
@ -1465,6 +1490,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows10,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorQualcomm),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_DIRECT2D,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
GfxDriverInfo::allDriverVersions, "FEATURE_FAILURE_QUALCOMM");
@ -1476,6 +1502,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows10,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorQualcomm),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN_OR_EQUAL,
V(25, 18, 10440, 0), "FEATURE_FAILURE_BUG_1592826");
@ -1486,6 +1513,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_DIRECT2D,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
DRIVER_BETWEEN_INCLUSIVE_START, V(14, 1, 0, 0), V(14, 2, 0, 0),
@ -1493,6 +1521,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAMD),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_DIRECT2D,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
DRIVER_BETWEEN_INCLUSIVE_START, V(14, 1, 0, 0), V(14, 2, 0, 0),
@ -1504,6 +1533,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(NvidiaBlockD3D9Layers),
nsIGfxInfo::FEATURE_DIRECT3D_9_LAYERS,
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_LESS_THAN,
@ -1513,6 +1543,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorMicrosoft),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
V(6, 2, 0, 0), "< 6.2.0.0", "FEATURE_FAILURE_REMOTE_FX");
@ -1521,6 +1552,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(Nvidia310M),
nsIGfxInfo::FEATURE_DIRECT2D, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
DRIVER_LESS_THAN, GfxDriverInfo::allDriverVersions,
@ -1530,6 +1562,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows10,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_EQUAL,
V(15, 200, 1006, 0), "FEATURE_FAILURE_BUG_1139503");
@ -1538,6 +1571,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_BETWEEN_INCLUSIVE,
V(8, 861, 0, 0), V(8, 862, 6, 5000), "FEATURE_FAILURE_BUG_1213107_1",
@ -1545,6 +1579,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBGL_ANGLE,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_BETWEEN_INCLUSIVE,
V(8, 861, 0, 0), V(8, 862, 6, 5000), "FEATURE_FAILURE_BUG_1213107_2",
@ -1554,6 +1589,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(Bug1155608),
nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
@ -1563,6 +1599,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
DRIVER_BUILD_ID_LESS_THAN_OR_EQUAL, 2849,
@ -1571,6 +1608,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(Nvidia8800GTS),
nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_EQUAL,
@ -1581,6 +1619,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE_GPU2(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(Bug1137716),
GfxDriverInfo::allFeatures, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
DRIVER_BETWEEN_INCLUSIVE, V(8, 17, 12, 5730), V(8, 17, 12, 6901),
@ -1591,6 +1630,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(IntelGMAX4500HD),
nsIGfxInfo::FEATURE_DIRECT3D_11_ANGLE,
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_LESS_THAN,
@ -1600,6 +1640,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::WindowsXP,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(IntelGMAX4500HD),
nsIGfxInfo::FEATURE_WEBGL_ANGLE, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
DRIVER_LESS_THAN, GfxDriverInfo::allDriverVersions,
@ -1608,6 +1649,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::WindowsXP,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(
IntelHDGraphicsToSandyBridge),
nsIGfxInfo::FEATURE_WEBGL_ANGLE, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
@ -1618,6 +1660,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(IntelGMAX3000),
nsIGfxInfo::FEATURE_DIRECT3D_9_LAYERS,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
@ -1629,6 +1672,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_DIRECT3D_11_LAYERS,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
GfxDriverInfo::allDriverVersions, "FEATURE_FAILURE_BUG_1403353");
@ -1642,6 +1686,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAMD),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBGL_OPENGL,
nsIGfxInfo::FEATURE_DISCOURAGED, DRIVER_LESS_THAN,
V(16, 200, 1010, 1002), "WEBGL_NATIVE_GL_OLD_AMD");
@ -1650,6 +1695,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBGL_OPENGL,
nsIGfxInfo::FEATURE_DISCOURAGED, DRIVER_BUILD_ID_LESS_THAN, 4331,
"WEBGL_NATIVE_GL_OLD_INTEL");
@ -1658,6 +1704,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBGL_OPENGL,
nsIGfxInfo::FEATURE_DISCOURAGED, DRIVER_LESS_THAN, V(10, 18, 13, 6200),
"WEBGL_NATIVE_GL_OLD_NVIDIA");
@ -1669,6 +1716,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAMD),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_DX_INTEROP2,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
GfxDriverInfo::allDriverVersions, "DX_INTEROP2_AMD_CRASH");
@ -1680,6 +1728,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(
IntelHDGraphicsToSandyBridge),
nsIGfxInfo::FEATURE_D3D11_KEYED_MUTEX,
@ -1690,6 +1739,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_ADVANCED_LAYERS,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_BETWEEN_INCLUSIVE,
V(23, 21, 13, 8569), V(23, 21, 13, 9135), "FEATURE_FAILURE_BUG_1419264",
@ -1699,12 +1749,14 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(Bug1447141),
GfxDriverInfo::allFeatures, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
DRIVER_EQUAL, V(15, 201, 2201, 0), "FEATURE_FAILURE_BUG_1447141_1");
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorATI),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(Bug1447141),
GfxDriverInfo::allFeatures, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
DRIVER_EQUAL, V(15, 201, 1701, 0), "FEATURE_FAILURE_BUG_1447141_1");
@ -1713,6 +1765,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, GfxDriverInfo::allFeatures,
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_EQUAL, V(24, 21, 13, 9731),
"FEATURE_FAILURE_BUG_1457758");
@ -1724,6 +1777,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(
IntelHDGraphicsToSandyBridge),
nsIGfxInfo::FEATURE_DX_NV12, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
@ -1736,6 +1790,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_DX_P010,
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_LESS_THAN,
GfxDriverInfo::allDriverVersions, "FEATURE_UNQUALIFIED_P010_NVIDIA");
@ -1749,6 +1804,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows10,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(NvidiaBlockWebRender),
nsIGfxInfo::FEATURE_WEBRENDER, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
DRIVER_LESS_THAN, GfxDriverInfo::allDriverVersions,
@ -1758,6 +1814,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows7,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAll),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_LESS_THAN,
GfxDriverInfo::allDriverVersions,
@ -1765,6 +1822,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows8,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAll),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_LESS_THAN,
GfxDriverInfo::allDriverVersions,
@ -1772,6 +1830,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows8_1,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorAll),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_LESS_THAN,
GfxDriverInfo::allDriverVersions,
@ -1785,6 +1844,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_BETWEEN_INCLUSIVE,
V(10, 18, 15, 4256), V(10, 18, 15, 4281),
@ -1793,6 +1853,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_BETWEEN_INCLUSIVE,
V(20, 19, 15, 4285), V(20, 19, 15, 4835),
@ -1801,6 +1862,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST_RANGE(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_BETWEEN_INCLUSIVE,
V(21, 20, 16, 4471), V(21, 20, 16, 4565),
@ -1810,6 +1872,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
V(21, 20, 16, 4590), "Intel driver >= 21.20.16.4590");
@ -1821,6 +1884,7 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows10,
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel),
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
(GfxDeviceFamily*)GfxDriverInfo::GetDeviceFamily(IntelHD520),
nsIGfxInfo::FEATURE_WEBRENDER_COMPOSITOR,
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_LESS_THAN_OR_EQUAL,

Просмотреть файл

@ -26,7 +26,6 @@ class GfxInfo : public GfxInfoBase {
NS_IMETHOD GetDWriteVersion(nsAString& aDwriteVersion) override;
NS_IMETHOD GetCleartypeParameters(nsAString& aCleartypeParams) override;
NS_IMETHOD GetWindowProtocol(nsAString& aWindowProtocol) override;
NS_IMETHOD GetDesktopEnvironment(nsAString& aDesktopEnvironment) override;
NS_IMETHOD GetAdapterDescription(nsAString& aAdapterDescription) override;
NS_IMETHOD GetAdapterDriver(nsAString& aAdapterDriver) override;
NS_IMETHOD GetAdapterVendorID(nsAString& aAdapterVendorID) override;