зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1563859 - Enable WebRender on Linux with Nvidia hardware and Mesa drivers. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D37924 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
affddc7861
Коммит
c4f6b66520
|
@ -48,6 +48,8 @@ const char* FeatureStatusToString(FeatureStatus aStatus) {
|
|||
return "blocked-release-channel-intel";
|
||||
case FeatureStatus::BlockedReleaseChannelAMD:
|
||||
return "blocked-release-channel-amd";
|
||||
case FeatureStatus::BlockedReleaseChannelNvidia:
|
||||
return "blocked-release-channel-nvidia";
|
||||
case FeatureStatus::BlockedReleaseChannelBattery:
|
||||
return "blocked-release-channel-battery";
|
||||
case FeatureStatus::Blacklisted:
|
||||
|
|
|
@ -42,6 +42,7 @@ enum class FeatureStatus {
|
|||
BlockedOverride,
|
||||
BlockedReleaseChannelIntel,
|
||||
BlockedReleaseChannelAMD,
|
||||
BlockedReleaseChannelNvidia,
|
||||
BlockedReleaseChannelBattery,
|
||||
|
||||
// This feature has been blocked by the graphics blacklist.
|
||||
|
|
|
@ -2637,8 +2637,19 @@ static void UpdateWRQualificationForNvidia(FeatureState& aFeature,
|
|||
// aOutGuardedByQualifiedPref as true unless the hardware is qualified
|
||||
// for users on the release channel.
|
||||
|
||||
#if defined(XP_WIN)
|
||||
// Nvidia devices with device id >= 0x6c0 got WR in release Firefox 67.
|
||||
*aOutGuardedByQualifiedPref = false;
|
||||
#elif defined(NIGHTLY_BUILD)
|
||||
// Qualify on Linux Nightly, but leave *aOutGuardedByQualifiedPref as true
|
||||
// to indicate users on release don't have it yet, and it's still guarded
|
||||
// by the qualified pref.
|
||||
#else
|
||||
// Disqualify everywhere else
|
||||
aFeature.Disable(
|
||||
FeatureStatus::BlockedReleaseChannelNvidia, "Release channel and Nvidia",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_RELEASE_CHANNEL_NVIDIA"));
|
||||
#endif
|
||||
}
|
||||
|
||||
static void UpdateWRQualificationForAMD(FeatureState& aFeature,
|
||||
|
|
|
@ -350,11 +350,20 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
|
|||
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
|
||||
V(18, 0, 0, 0), "FEATURE_FAILURE_WEBRENDER_OLD_MESA", "Mesa 18.0.0.0");
|
||||
|
||||
// Disable on all NVIDIA devices for now.
|
||||
// Nvidia Mesa baseline, see bug 1563859.
|
||||
APPEND_TO_DRIVER_BLOCKLIST(
|
||||
OperatingSystem::Linux,
|
||||
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
|
||||
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverVendorAll),
|
||||
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverMesaAll),
|
||||
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
|
||||
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
|
||||
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(
|
||||
OperatingSystem::Linux,
|
||||
(nsAString&)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA),
|
||||
(nsAString&)GfxDriverInfo::GetDriverVendor(DriverNonMesaAll),
|
||||
GfxDriverInfo::allDevices, nsIGfxInfo::FEATURE_WEBRENDER,
|
||||
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_COMPARISON_IGNORED,
|
||||
V(0, 0, 0, 0), "FEATURE_FAILURE_WEBRENDER_NO_LINUX_NVIDIA", "");
|
||||
|
|
Загрузка…
Ссылка в новой задаче