|
|
Chromium Code Reviews|
Created:
3 years, 9 months ago by Saman Sami Modified:
3 years, 9 months ago CC:
chromium-reviews, darin-cc_chromium.org, jam, mlamouri+watch-content_chromium.org, piman+watch_chromium.org Target Ref:
refs/heads/master Project:
chromium Visibility:
Public. |
DescriptionRendererCompositorFrameSink should receive BeginFrame messages
Currently, BeginFrame messsages are routed to
CompositorExternalBeginFrameSource. Once we switch to
MojoCompositorFrameSinkClient, we can't have ReclaimResources
messages go to one class and BeginFrame messages go to another.
RendererCompositorFrameSink must handle all BeginFrame-related messages.
BUG=704971
Review-Url: https://codereview.chromium.org/2773023002
Cr-Commit-Position: refs/heads/master@{#459859}
Committed: https://chromium.googlesource.com/chromium/src/+/09812d36f72be34ba5e68441222750b4b0a6b3a9
Patch Set 1 #Patch Set 2 : c #Patch Set 3 : c #Patch Set 4 : c #
Total comments: 2
Patch Set 5 : Fixed android #
Total comments: 3
Messages
Total messages: 45 (33 generated)
The CQ bit was checked by samans@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #1 (id:1) has been deleted
The CQ bit was checked by samans@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by samans@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Remove CompositorExternalBeginFrameSource ========== to ========== Remove CompositorExternalBeginFrameSource Once we switch to MojoCompositorFrameSinkClient, we can't have ReclaimResources messages go to one class and BeginFrame messages go to another. RendererCompositorFrameSink must handle all BeginFrame-related messages. ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_...)
The CQ bit was checked by samans@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
The CQ bit was checked by samans@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Remove CompositorExternalBeginFrameSource Once we switch to MojoCompositorFrameSinkClient, we can't have ReclaimResources messages go to one class and BeginFrame messages go to another. RendererCompositorFrameSink must handle all BeginFrame-related messages. ========== to ========== RendererCompositorFrameSink should receive BeginFrame messages Once we switch to MojoCompositorFrameSinkClient, we can't have ReclaimResources messages go to one class and BeginFrame messages go to another. RendererCompositorFrameSink must handle all BeginFrame-related messages. BUG=704971 ==========
samans@chromium.org changed reviewers: + fsamuel@chromium.org
PTAL
Description was changed from ========== RendererCompositorFrameSink should receive BeginFrame messages Once we switch to MojoCompositorFrameSinkClient, we can't have ReclaimResources messages go to one class and BeginFrame messages go to another. RendererCompositorFrameSink must handle all BeginFrame-related messages. BUG=704971 ========== to ========== RendererCompositorFrameSink should receive BeginFrame messages Currently, BeginFrame messsages are routed to CompositorExternalBeginFrameSource. Once we switch to MojoCompositorFrameSinkClient, we can't have ReclaimResources messages go to one class and BeginFrame messages go to another. RendererCompositorFrameSink must handle all BeginFrame-related messages. BUG=704971 ==========
lgtm
samans@chromium.org changed reviewers: + enne@chromium.org, piman@chromium.org
enne@ and piman@ Please review all files. Thanks.
https://codereview.chromium.org/2773023002/diff/80001/content/renderer/gpu/re... File content/renderer/gpu/renderer_compositor_frame_sink.cc (right): https://codereview.chromium.org/2773023002/diff/80001/content/renderer/gpu/re... content/renderer/gpu/renderer_compositor_frame_sink.cc:157: IPC_MESSAGE_HANDLER(ViewMsg_BeginFrame, OnBeginFrame) Where was this handled previously?
https://codereview.chromium.org/2773023002/diff/80001/content/renderer/gpu/re... File content/renderer/gpu/renderer_compositor_frame_sink.cc (right): https://codereview.chromium.org/2773023002/diff/80001/content/renderer/gpu/re... content/renderer/gpu/renderer_compositor_frame_sink.cc:157: IPC_MESSAGE_HANDLER(ViewMsg_BeginFrame, OnBeginFrame) On 2017/03/24 21:30:31, Fady Samuel wrote: > Where was this handled previously? Here https://cs.chromium.org/chromium/src/content/renderer/gpu/compositor_external... We used to pass a CompositorExternalBeginFrameSource to RendererCompositorFrameSink instead of having a cc::ExternalBeginFrameSource in RendererCompositorFrameSink.
The CQ bit was checked by samans@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_...)
The CQ bit was checked by samans@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
https://codereview.chromium.org/2773023002/diff/100001/content/renderer/rende... File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2773023002/diff/100001/content/renderer/rende... content/renderer/render_thread_impl.cc:1994: : CreateExternalBeginFrameSource(routing_id); Why is Android different here in that it's using a CompositorExternalBeginFrameSource still, but everything else is using an ExternalBeginFrameSource with RenderCompositorFrameSink as its client? I guess my expectation here would be that everything would use RenderCompositorFrameSink instead of CompositorExternalBeginFrameSource here and that class could be removed. Can you help me understand?
https://codereview.chromium.org/2773023002/diff/100001/content/renderer/rende... File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2773023002/diff/100001/content/renderer/rende... content/renderer/render_thread_impl.cc:1994: : CreateExternalBeginFrameSource(routing_id); On 2017/03/27 00:03:03, enne wrote: > Why is Android different here in that it's using a > CompositorExternalBeginFrameSource still, but everything else is using an > ExternalBeginFrameSource with RenderCompositorFrameSink as its client? > > I guess my expectation here would be that everything would use > RenderCompositorFrameSink instead of CompositorExternalBeginFrameSource here and > that class could be removed. Can you help me understand? We can also have an ExternalBeginFrameSource inside SynchronousCompositorFrameSink and get rid of CompositorExternalBeginFrameSource, but this doesn't really concern me. My goal is using Mojo in RendererCompositorFrameSink which requires receiving BeginFrames directly. I don't know enough about Android to tell why SynchronousCompositorFrameSink exists at all and why we don't always use RendererCompositorFrameSink.
lgtm https://codereview.chromium.org/2773023002/diff/100001/content/renderer/rende... File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2773023002/diff/100001/content/renderer/rende... content/renderer/render_thread_impl.cc:1994: : CreateExternalBeginFrameSource(routing_id); On 2017/03/27 at 01:53:03, Saman Sami wrote: > On 2017/03/27 00:03:03, enne wrote: > > Why is Android different here in that it's using a > > CompositorExternalBeginFrameSource still, but everything else is using an > > ExternalBeginFrameSource with RenderCompositorFrameSink as its client? > > > > I guess my expectation here would be that everything would use > > RenderCompositorFrameSink instead of CompositorExternalBeginFrameSource here and > > that class could be removed. Can you help me understand? > > We can also have an ExternalBeginFrameSource inside SynchronousCompositorFrameSink and get rid of CompositorExternalBeginFrameSource, but this doesn't really concern me. My goal is using Mojo in RendererCompositorFrameSink which requires receiving BeginFrames directly. I don't know enough about Android to tell why SynchronousCompositorFrameSink exists at all and why we don't always use RendererCompositorFrameSink. Yeah, I was mostly just curious what the Android story was. It sounds like you're not sure. This patch seems fine to land as-is, though.
Thanks for the lgtm! piman@ PTAL
lgtm
The CQ bit was checked by samans@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from fsamuel@chromium.org Link to the patchset: https://codereview.chromium.org/2773023002/#ps100001 (title: "Fixed android")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch.
Bot data: {"patchset_id": 100001, "attempt_start_ts": 1490638286498010,
"parent_rev": "75221e53b71cc5eb37cbfb957124025259aa5dab", "commit_rev":
"6d2cc4fb8ec6589b3b915e0977579eab65734b81"}
CQ is committing da patch.
Bot data: {"patchset_id": 100001, "attempt_start_ts": 1490638286498010,
"parent_rev": "1ac3e1c6f0c4f1a6806dc8296b829ed84662c5db", "commit_rev":
"09812d36f72be34ba5e68441222750b4b0a6b3a9"}
Message was sent while issue was closed.
Description was changed from ========== RendererCompositorFrameSink should receive BeginFrame messages Currently, BeginFrame messsages are routed to CompositorExternalBeginFrameSource. Once we switch to MojoCompositorFrameSinkClient, we can't have ReclaimResources messages go to one class and BeginFrame messages go to another. RendererCompositorFrameSink must handle all BeginFrame-related messages. BUG=704971 ========== to ========== RendererCompositorFrameSink should receive BeginFrame messages Currently, BeginFrame messsages are routed to CompositorExternalBeginFrameSource. Once we switch to MojoCompositorFrameSinkClient, we can't have ReclaimResources messages go to one class and BeginFrame messages go to another. RendererCompositorFrameSink must handle all BeginFrame-related messages. BUG=704971 Review-Url: https://codereview.chromium.org/2773023002 Cr-Commit-Position: refs/heads/master@{#459859} Committed: https://chromium.googlesource.com/chromium/src/+/09812d36f72be34ba5e684412227... ==========
Message was sent while issue was closed.
Committed patchset #5 (id:100001) as https://chromium.googlesource.com/chromium/src/+/09812d36f72be34ba5e684412227... |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
