Closed Bug 1317893 Opened 9 years ago Closed 9 years ago

Add CompositorVsyncScheduler to WebRenderBridgeParent

Categories

(Core :: Graphics: WebRender, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla53
Tracking Status
firefox53 --- fixed

People

(Reporter: sotaro, Assigned: sotaro)

References

Details

Attachments

(1 file, 10 obsolete files)

15.02 KB, patch
sotaro
: review+
Details | Diff | Splinter Review
To update video frames rendering correctly, we need vsync scheduler based composition.
Assignee: nobody → sotaro.ikeda.g
Version: 38 Branch → Trunk
Depends on: 1312316
Attachment #8811149 - Flags: feedback?(mchang)
Attachment #8811149 - Flags: feedback?(bugmail)
Blocks: webrender
Blocks: 1317935
Comment on attachment 8811149 [details] [diff] [review] patch - Add CompositorVsyncScheduler to WebRenderBridgeParent Review of attachment 8811149 [details] [diff] [review]: ----------------------------------------------------------------- This looks ok to me. I'd prefer if a WebRenderBridgeParent didn't have to hold a ref to its "parent" - hopefully we can remove that and just have a ref to the CompositorOGL which can do some of this. But this is fine for now.
Attachment #8811149 - Flags: feedback?(bugmail) → feedback+
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #2) > Comment on attachment 8811149 [details] [diff] [review] > patch - Add CompositorVsyncScheduler to WebRenderBridgeParent > hopefully we can remove that and just have a > ref to the CompositorOGL which can do some of this. But this is fine for now. Yes, we could remove the ref by Bug 1317935.
Attachment #8811149 - Attachment is obsolete: true
Attachment #8811149 - Flags: feedback?(mchang)
Attachment #8811582 - Attachment is obsolete: true
Attachment #8811583 - Attachment is obsolete: true
Rebased.
Attachment #8811584 - Attachment is obsolete: true
Attachment #8811706 - Flags: review?(bugmail)
Comment on attachment 8811706 [details] [diff] [review] patch - Add CompositorVsyncScheduler to WebRenderBridgeParent Review of attachment 8811706 [details] [diff] [review]: ----------------------------------------------------------------- ::: gfx/layers/ipc/CompositorBridgeParent.h @@ +83,5 @@ > uint64_t mLayersId; > }; > > + > +class CompositorVsyncSchedulerOwner Do you mind moving this into its own header, gfx/layers/CompositorVsyncScheduleOwner.h? I don't like having to include all of CompositorBridgeParent.h just to get this one small thing. And we have too many files that are too big already. ::: gfx/layers/wr/WebRenderBridgeParent.cpp @@ +148,2 @@ > wr_dp_end(mWRWindowState, mWRState); > + ScheduleComposition(); Morris is touching some of this code in bug 1316903, so make sure you coordinate with him when landing.
Attachment #8811706 - Flags: review?(bugmail) → review+
Depends on: 1316903
Apply the comment.
Attachment #8811706 - Attachment is obsolete: true
Attachment #8812090 - Flags: review+
attachment 8812090 [details] [diff] [review] used the commands. > hg cp gfx/layers/ipc/CompositorBridgeParent.h gfx/layers/ipc/CompositorVsyncScheduler.h > hg cp gfx/layers/ipc/CompositorBridgeParent.cpp gfx/layers/ipc/CompositorVsyncScheduler.cpp
Rebased.
Attachment #8812090 - Attachment is obsolete: true
Attachment #8812095 - Flags: review+
Pushed by sikeda@mozilla.com: https://hg.mozilla.org/projects/graphics/rev/b1542ac3fc70 Add CompositorVsyncScheduler to WebRenderBridgeParent r=kats
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Pushed by sikeda@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/92a5323c313c Split CompositorVsyncScheduler to own file r=kats
The CompositorVsyncScheduler changes will hit an assert when I build with WR at mac. Assert: https://hg.mozilla.org/projects/graphics/annotate/b1542ac3fc70/gfx/layers/ipc/CompositorVsyncScheduler.cpp#l85 So, I revert your changes. https://hg.mozilla.org/projects/graphics/rev/c85e2d8dc8df
Flags: needinfo?(sotaro.ikeda.g)
(In reply to Pulsebot from comment #15) > Pushed by sikeda@mozilla.com: > https://hg.mozilla.org/integration/mozilla-inbound/rev/92a5323c313c > Split CompositorVsyncScheduler to own file r=kats I wanted to move CompositorVsyncScheduleOwner, not CompositorVsyncScheduler. But this is good too, it belongs in a separate file. It would have been nice to split this commit into two - one that just extracts CompositorVsyncScheduler, and another that adds the Owner. And since you landed on inbound, don't try to reland it on graphics, we'll get this on the next merge from m-c.
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Sotaro, please do the follow-up work in another bug. I'm going to do a merge from m-c over to graphics which picks up this change.
Status: RESOLVED → REOPENED
Flags: needinfo?(sotaro.ikeda.g)
Resolution: FIXED → ---
Depends on: 1318780
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #17) > (In reply to Pulsebot from comment #15) > > Pushed by sikeda@mozilla.com: > > https://hg.mozilla.org/integration/mozilla-inbound/rev/92a5323c313c > > Split CompositorVsyncScheduler to own file r=kats > > I wanted to move CompositorVsyncScheduleOwner, not CompositorVsyncScheduler. > But this is good too, it belongs in a separate file. It would have been nice > to split this commit into two - one that just extracts > CompositorVsyncScheduler, and another that adds the Owner. And since you > landed on inbound, don't try to reland it on graphics, we'll get this on the > next merge from m-c. Thanks, but 1318780 is created to split CompositorVsyncScheduleOwner.
Can we leave this bug closed, since a patch landed on m-c here? We can file another bug for the Webrender code changes.
Attachment #8812103 - Attachment is obsolete: true
(In reply to Jerry Shih[:jerry] (UTC+8) from comment #16) > The CompositorVsyncScheduler changes will hit an assert when I build with WR > at mac. > > Assert: > https://hg.mozilla.org/projects/graphics/annotate/b1542ac3fc70/gfx/layers/ > ipc/CompositorVsyncScheduler.cpp#l85 > > So, I revert your changes. > https://hg.mozilla.org/projects/graphics/rev/c85e2d8dc8df Sorry, I will address the problem.
Rebased.
Attachment #8812095 - Attachment is obsolete: true
Attachment #8812644 - Flags: review+
Attachment #8812644 - Attachment is obsolete: true
Attachment #8812647 - Flags: review+
Comment on attachment 8812647 [details] [diff] [review] patch - Add CompositorVsyncScheduler to WebRenderBridgeParent Review of attachment 8812647 [details] [diff] [review]: ----------------------------------------------------------------- ::: gfx/layers/ipc/CompositorVsyncScheduler.cpp @@ +83,5 @@ > , mSetNeedsCompositeMonitor("SetNeedsCompositeMonitor") > , mSetNeedsCompositeTask(nullptr) > { > + MOZ_ASSERT(NS_IsMainThread() || XRE_GetProcessType() == GeckoProcessType_GPU || > + CompositorThreadHolder::IsInCompositorThread()); Is there any point to having this assert any more then? It allows basically anything.
(In reply to Kartikaya Gupta away[Nov24,Dec5) (email:kats@mozilla.com) from comment #25) > Is there any point to having this assert any more then? It allows basically > anything. There is no point to keep the assert. I am going to remove the assert.
Addressed the comment.
Attachment #8812647 - Attachment is obsolete: true
Attachment #8812991 - Flags: review+
Pushed by sikeda@mozilla.com: https://hg.mozilla.org/projects/graphics/rev/998a69cbaf54 Add CompositorVsyncScheduler to WebRenderBridgeParent r=kats
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: