зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1697096 - Call WebRenderAPI::Resume() in AllocPWebRenderBridgeParent() if necessary on Android r=jnicol
On Android, WebRenderAPI::Resume() call is triggered from Java side. But Java side does not know about fallback to RenderCompositorOGLSWGL. Then in this fallback case, RenderCompositor::Resume() needs to be called from gfx code if it is necessary to be called. Resume() is necessary only when RenderCompositor::Resume() is implemented. The Resume() is implemented only on RenderCompositorEGL and RenderCompositorOGLSWGL. And only RenderCompositorOGLSWGL uses software WebRender. Differential Revision: https://phabricator.services.mozilla.com/D107620
This commit is contained in:
Родитель
fce1c9835f
Коммит
1082170c92
|
@ -1811,6 +1811,16 @@ PWebRenderBridgeParent* CompositorBridgeParent::AllocPWebRenderBridgeParent(
|
|||
return mWrBridge;
|
||||
}
|
||||
|
||||
#ifdef MOZ_WIDGET_ANDROID
|
||||
// On Android, WebRenderAPI::Resume() call is triggered from Java side. But
|
||||
// Java side does not know about fallback to RenderCompositorOGLSWGL. In this
|
||||
// fallback case, RenderCompositor::Resume() needs to be called from gfx code.
|
||||
if (!mPaused && mWidget->GetCompositorOptions().UseSoftwareWebRender() &&
|
||||
mWidget->GetCompositorOptions().AllowSoftwareWebRenderOGL()) {
|
||||
api->Resume();
|
||||
}
|
||||
#endif
|
||||
|
||||
wr::TransactionBuilder txn(api);
|
||||
txn.SetRootPipeline(aPipelineId);
|
||||
api->SendTransaction(txn);
|
||||
|
|
Загрузка…
Ссылка в новой задаче