Bug 1968876 - backout removal of dcomp blocklist for Win10 NVIDIA with mixed refresh rates r=gfx-reviewers,gw a=RyanVM
This commit is contained in:
committed by
rvandermeulen@mozilla.com
parent
08a87f4dcd
commit
1a0b078a2e
@@ -270,6 +270,22 @@ void gfxConfigManager::ConfigureWebRender() {
|
||||
"FEATURE_FAILURE_NO_GPU_PROCESS"_ns);
|
||||
}
|
||||
|
||||
if (!mIsWin11OrLater) {
|
||||
// Disable DirectComposition for NVIDIA users on Windows 10 with high/mixed
|
||||
// refresh rate monitors due to rendering artifacts. (See bug 1638709.)
|
||||
nsAutoString adapterVendorID;
|
||||
mGfxInfo->GetAdapterVendorID(adapterVendorID);
|
||||
if (adapterVendorID == u"0x10de") {
|
||||
bool mixed = false;
|
||||
int32_t maxRefreshRate = mGfxInfo->GetMaxRefreshRate(&mixed);
|
||||
if (maxRefreshRate > 60 && mixed) {
|
||||
mFeatureWrDComp->Disable(FeatureStatus::Blocked,
|
||||
"Monitor refresh rate too high/mixed",
|
||||
"NVIDIA_REFRESH_RATE_MIXED"_ns);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mFeatureWrDComp->MaybeSetFailed(
|
||||
mFeatureWr->IsEnabled(), FeatureStatus::Unavailable, "Requires WebRender",
|
||||
"FEATURE_FAILURE_DCOMP_NOT_WR"_ns);
|
||||
|
||||
@@ -665,9 +665,9 @@ TEST_F(GfxConfigManager, WebRenderNvidiaHighMixedRefreshRateWin10) {
|
||||
ConfigureWebRender();
|
||||
|
||||
EXPECT_TRUE(mFeatures.mWr.IsEnabled());
|
||||
EXPECT_TRUE(mFeatures.mWrCompositor.IsEnabled());
|
||||
EXPECT_FALSE(mFeatures.mWrCompositor.IsEnabled());
|
||||
EXPECT_TRUE(mFeatures.mWrAngle.IsEnabled());
|
||||
EXPECT_TRUE(mFeatures.mWrDComp.IsEnabled());
|
||||
EXPECT_FALSE(mFeatures.mWrDComp.IsEnabled());
|
||||
EXPECT_TRUE(mFeatures.mWrPartial.IsEnabled());
|
||||
EXPECT_TRUE(mFeatures.mWrShaderCache.IsEnabled());
|
||||
EXPECT_TRUE(mFeatures.mWrOptimizedShaders.IsEnabled());
|
||||
|
||||
Reference in New Issue
Block a user