Bug 1536515 - Part 3: Add RenderExternalTextureHost r=sotaro

Differential Revision: https://phabricator.services.mozilla.com/D80506
This commit is contained in:
Miko Mynttinen
2020-07-07 17:57:22 +00:00
parent 37ad979d86
commit 7cd8140ef5
9 changed files with 328 additions and 12 deletions

View File

@@ -510,14 +510,13 @@ void AsyncImagePipelineManager::HoldExternalImage(
if (!holder) {
return;
}
if (aTexture->HasIntermediateBuffer()) {
// Hold WebRenderTextureHost until submitted for rendering if it has an
// intermediate buffer.
holder->mTextureHostsUntilRenderSubmitted.emplace_back(aEpoch, aTexture);
} else {
// Hold WebRenderTextureHost until rendering completed if not.
if (aTexture->NeedsDeferredDeletion()) {
// Hold WebRenderTextureHost until rendering completed.
holder->mTextureHostsUntilRenderCompleted.emplace_back(
MakeUnique<ForwardingTextureHost>(aEpoch, aTexture));
} else {
// Hold WebRenderTextureHost until submitted for rendering.
holder->mTextureHostsUntilRenderSubmitted.emplace_back(aEpoch, aTexture);
}
}