Fix CompositionTime and CompositeUntil handling of WebRenderImageHost

RESOLVED FIXED in Firefox 55

Status

()

enhancement
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: sotaro, Assigned: sotaro)

Tracking

unspecified
mozilla55
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox55 fixed)

Details

Attachments

(1 attachment, 1 obsolete attachment)

No description provided.
Blocks: 1345054
Assignee: nobody → sotaro.ikeda.g
Attachment #8861158 - Flags: review?(nical.bugzilla)
Attachment #8861158 - Flags: review?(nical.bugzilla)
d attachment 8861158 [details] [diff] [review] uses WebRenderBridgeParent to hold composite until time. It is not good, since WebRenderBridgeParent could be non root WebRenderBridgeParent.
Attachment #8861440 - Flags: review?(nical.bugzilla)
Sorry missed that one, I'll look into it tomorrow. It would be great If you wrote a quick summary in the bug (even if the fix is seemingly simple), so that we can quickly understand what the change is about next time we need to dig into the hg logs.
attachment 8861440 [details] [diff] [review] changes WebRenderImageHost as to work more likely to ImageHost about handling of CompositionTime and CompositeUntil.

But architecture is different between WebRenderImageHost and ImageHost. In ImageHost case, HostLayerManager(LayerManagerComposite) manages CompositionTime and CompositeUntil. In WebRenderImageHost case, we need a similar role object. But WebRenderBridgeParent seems not fit to it, since there are non root WebRenderBridgeParents. Then I chose WebRenderCompositableHolder as to hold CompositionTime and CompositeUntil, since it is already shared by all WebRenderBridgeParents.

The followings are main change of WebRenderImageHost.
- WebRenderImageHost::UseTextureHost() is changed as to call CompositeUntil()
- WebRenderImageHost::GetCompositionTime() is changed to get composition time
    by calling mWrCompositableHolder->GetCompositionTime()
- Added WebRenderImageHost::GetAsTextureHostForComposite(). It is used for composition.
  If we just want to select TextureHost, WebRenderImageHost::GetAsTextureHost() is enough.
  But it does not update mLastFrameID and mLastProducerID.
  The GetAsTextureHostForComposite() is used as similar to ImageHost::Composite()
Summary: Fix composite time handling of WebRenderImageHost → Fix CompositionTime and CompositeUntil handling of WebRenderImageHost
Attachment #8861440 - Flags: review?(nical.bugzilla) → review+
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/6b0f3a894ad2
Fix CompositionTime and CompositeUntil handling of WebRenderImageHost r=nical
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.