Closed
Bug 1375349
Opened 7 years ago
Closed 7 years ago
Add calling ScheduleComposition() in CompositorBridgeParent::RecvAdoptChild()
Categories
(Core :: Graphics: Layers, enhancement)
Core
Graphics: Layers
Tracking
()
RESOLVED
FIXED
mozilla56
Tracking | Status | |
---|---|---|
firefox56 | --- | fixed |
People
(Reporter: sotaro, Assigned: sotaro)
Details
Attachments
(1 file, 3 obsolete files)
(deleted),
patch
|
mattwoodrow
:
review+
|
Details | Diff | Splinter Review |
RecvAdoptChild() makes a move of LayerTransactionParent from one CompositorBridgeParent to another CompositorBridgeParent.
Bug 1335335 is for adding support of WebRenderBridgeParent to RecvAdoptChild(). During working it, there was a case that client side did not repaint because that client did not receive DidComposite.
Same problem could happen also for LayerTransactionParent.
Assignee | ||
Comment 1•7 years ago
|
||
Assignee: nobody → sotaro.ikeda.g
Assignee | ||
Comment 2•7 years ago
|
||
Attachment #8880227 -
Attachment is obsolete: true
Assignee | ||
Updated•7 years ago
|
Attachment #8880228 -
Attachment description: patch Add calling DidComposite() in CompositorBridgeParent::RecvAdoptChild() → patch - Add calling DidComposite() in CompositorBridgeParent::RecvAdoptChild()
Assignee | ||
Comment 3•7 years ago
|
||
Attachment #8880228 -
Attachment is obsolete: true
Assignee | ||
Comment 4•7 years ago
|
||
Assignee | ||
Updated•7 years ago
|
Attachment #8880239 -
Flags: review?(nical.bugzilla)
Assignee | ||
Updated•7 years ago
|
Attachment #8880239 -
Flags: review?(matt.woodrow)
Assignee | ||
Updated•7 years ago
|
Attachment #8880239 -
Flags: review?(nical.bugzilla)
Attachment #8880239 -
Flags: review?(matt.woodrow)
Assignee | ||
Updated•7 years ago
|
Attachment #8880239 -
Flags: review?(matt.woodrow)
Comment 5•7 years ago
|
||
Comment on attachment 8880239 [details] [diff] [review]
patch - Add calling DidComposite() in CompositorBridgeParent::RecvAdoptChild()
Review of attachment 8880239 [details] [diff] [review]:
-----------------------------------------------------------------
I'm a bit confused about this.
DidComposite is supposed to notify the client side that we actually composited.
If the client side is blocking and waiting for a DidComposite message, where did the real one go?
Is there a race condition where we're sending the DidComposite back to the wrong ClientLayerManager?
Attachment #8880239 -
Flags: review?(matt.woodrow)
Assignee | ||
Comment 6•7 years ago
|
||
Sorry, I confused with webrender case. In the case, it could not be composited with new webrender, since webrender keys are not valid in a new webrender instance.
In normal composition case, the composition could happen with a new compositor. Then a composition should be scheduled with a new compositor.
Assignee | ||
Comment 7•7 years ago
|
||
(In reply to Matt Woodrow (:mattwoodrow) from comment #5)
> Review of attachment 8880239 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> I'm a bit confused about this.
>
> DidComposite is supposed to notify the client side that we actually
> composited.
>
> If the client side is blocking and waiting for a DidComposite message, where
> did the real one go?
The real composition should happen with a new compositor. attachment 8880239 [details] [diff] [review] is not correct fix.
> Is there a race condition where we're sending the DidComposite back to the
> wrong ClientLayerManager?
There could be a race condition. Same ClientLayerManager is used to receive composition. But there is a possibility that parent side do not send DidComposite. LayerTransactionParent could be moved to a new composition before the transaction is composited on an old compositor.
Assignee | ||
Comment 8•7 years ago
|
||
Attachment #8880239 -
Attachment is obsolete: true
Assignee | ||
Updated•7 years ago
|
Attachment #8881342 -
Flags: review?(matt.woodrow)
Updated•7 years ago
|
Attachment #8881342 -
Flags: review?(matt.woodrow) → review+
Assignee | ||
Comment 9•7 years ago
|
||
Assignee | ||
Updated•7 years ago
|
Summary: Call DidComposite() in CompositorBridgeParent::RecvAdoptChild() → Add calling ScheduleComposition() in CompositorBridgeParent::RecvAdoptChild()
Comment 10•7 years ago
|
||
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/5e83b520f1a0
Add calling ScheduleComposition() in CompositorBridgeParent::RecvAdoptChild() r=mattwoodrow
Comment 11•7 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox56:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in
before you can comment on or make changes to this bug.
Description
•