зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1697981 - Do not allocate CompositorWindow for Software WebRender r=nical
Since Bug 1688096 fix, WebRender and Software WebRender could be used at the same time. Differential Revision: https://phabricator.services.mozilla.com/D108141
This commit is contained in:
Родитель
2a1437011c
Коммит
d185ad884c
|
@ -1771,9 +1771,16 @@ PWebRenderBridgeParent* CompositorBridgeParent::AllocPWebRenderBridgeParent(
|
|||
MOZ_ASSERT(mWidget);
|
||||
|
||||
#ifdef XP_WIN
|
||||
if (mWidget && (DeviceManagerDx::Get()->CanUseDComp() ||
|
||||
if (mWidget && mWidget->AsWindows()) {
|
||||
const auto options = mWidget->GetCompositorOptions();
|
||||
if (!options.UseSoftwareWebRender() &&
|
||||
(DeviceManagerDx::Get()->CanUseDComp() ||
|
||||
gfxVars::UseWebRenderFlipSequentialWin())) {
|
||||
mWidget->AsWindows()->EnsureCompositorWindow();
|
||||
} else if (options.UseSoftwareWebRender() &&
|
||||
mWidget->AsWindows()->GetCompositorHwnd()) {
|
||||
mWidget->AsWindows()->DestroyCompositorWindow();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -307,16 +307,16 @@ bool RenderCompositorANGLE::CreateSwapChain(nsACString& aError) {
|
|||
mUseTripleBuffering = useTripleBuffering;
|
||||
} else if (useFlipSequential) {
|
||||
gfxCriticalNoteOnce << "FLIP_SEQUENTIAL is not supported. Fallback";
|
||||
}
|
||||
}
|
||||
|
||||
if (!mSwapChain) {
|
||||
if (mWidget->AsWindows()->GetCompositorHwnd()) {
|
||||
// Destroy compositor window.
|
||||
mWidget->AsWindows()->DestroyCompositorWindow();
|
||||
hwnd = mWidget->AsWindows()->GetHwnd();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!mSwapChain) {
|
||||
DXGI_SWAP_CHAIN_DESC swapDesc{};
|
||||
swapDesc.BufferDesc.Width = 0;
|
||||
swapDesc.BufferDesc.Height = 0;
|
||||
|
|
Загрузка…
Ссылка в новой задаче