New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 603600 link

Starred by 3 users

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

mus needs to tell its clients about BeginFrame

Project Member Reported by sadrul@chromium.org, Apr 14 2016

Issue description

mus needs to tell its clients about BeginFrame, so the ui::Compositors in the clients do the right thing.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/384ec4a0cee0ed2bceb8a9dfd8e61812b545cc49

commit 384ec4a0cee0ed2bceb8a9dfd8e61812b545cc49
Author: sadrul <sadrul@chromium.org>
Date: Thu Apr 14 20:56:05 2016

mus: Turn off using BeginFrameSource in ui::Compositor.

When running as a mus-client, disable using BeginFrameSource, as
mus doesn't tell its clients about BeginFrame yet.

BUG= 603600 

Review URL: https://codereview.chromium.org/1888093002

Cr-Commit-Position: refs/heads/master@{#387417}

[modify] https://crrev.com/384ec4a0cee0ed2bceb8a9dfd8e61812b545cc49/ui/compositor/compositor.cc

Labels: mustash2 pixelmus
Owner: rjkroege@chromium.org
Labels: displaycompositor
Labels: -Pri-1 Pri-2
Project Member

Comment 6 by bugdroid1@chromium.org, Aug 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ba1f74ce054e1b327c738d738d9dca60f8838ee4

commit ba1f74ce054e1b327c738d738d9dca60f8838ee4
Author: sadrul <sadrul@chromium.org>
Date: Tue Aug 09 18:15:01 2016

mus: Disable external begin-frame source in the renderer.

mus still doesn't send begin-frame messages to clients. So we need
to disable that for now. This fixes web-page rendering when running
with --use-mus-in-renderer.

BUG= 603600 

Review-Url: https://codereview.chromium.org/2229543003
Cr-Commit-Position: refs/heads/master@{#410744}

[modify] https://crrev.com/ba1f74ce054e1b327c738d738d9dca60f8838ee4/content/renderer/gpu/render_widget_compositor.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8c223f7679dd639ef2cc25d0aa094406be7af019

commit 8c223f7679dd639ef2cc25d0aa094406be7af019
Author: enne <enne@chromium.org>
Date: Tue Aug 23 22:51:03 2016

Move default begin frame sources out to mus

ui::OutputSurface is the only ui::Compositor output surface type that
doesn't produce its own begin frame source.  This allows for further
cleanup to remove the default creation of begin frame sources in
cc proxies.

In the future, the SurfaceManager on the mus side will provide the real
begin frame source that'll be plumbed all the way through FrameGenerator
to ServerWindowSurface to WindowSurface and then into ui::OutputSurface.

R=rjkroege@chromium.org,sadrul@chromium.org
BUG= 603600 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2260943002
Cr-Commit-Position: refs/heads/master@{#413877}

[modify] https://crrev.com/8c223f7679dd639ef2cc25d0aa094406be7af019/services/ui/public/cpp/output_surface.cc
[modify] https://crrev.com/8c223f7679dd639ef2cc25d0aa094406be7af019/services/ui/public/cpp/output_surface.h
[modify] https://crrev.com/8c223f7679dd639ef2cc25d0aa094406be7af019/ui/compositor/compositor.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a3fbe0dcf353103afe8b37bdce4148923abb019b

commit a3fbe0dcf353103afe8b37bdce4148923abb019b
Author: enne <enne@chromium.org>
Date: Wed Aug 24 00:47:31 2016

Use external begin frames in the renderer for mus

This reverts ba1f74ce054e1b327c738d738d9dca60f8838ee4.

With https://codereview.chromium.org/2260943002, this is no longer
necessary.

BUG= 603600 

Review-Url: https://codereview.chromium.org/2267233003
Cr-Commit-Position: refs/heads/master@{#413911}

[modify] https://crrev.com/a3fbe0dcf353103afe8b37bdce4148923abb019b/content/renderer/gpu/render_widget_compositor.cc

Components: Internals>MUS
Labels: Proj-Mustash
Components: -MUS -Internals>MUS Internals>GPU
Labels: -mustash2 -mustash -pixelmus -displaycompositor Proj-Mustash-Mus-GPU Proj-Ozone Proj-Mustash-Mus-WS
Owner: fsam...@chromium.org
Status: Assigned (was: Available)
fsamuel@ I assigned this to you to triage. Do we support UBF correctly on CrOS devices? My recollection is that there is something missing in ozone. If this aligns with your understanding, please give this back to me.
I went through some effort to unify Mus+Ash and other platforms, so if ozone is doing the right thing then Mus+Ash is doing the right thing. 

Mus' display compositor now uses an InProcessCommandBuffer and an ImageTransportSurface.

Here is where we listen for vsync updates: https://cs.chromium.org/chromium/src/services/ui/surfaces/display_output_surface_ozone.cc?sq=package:chromium&l=57

PassThroughImageTransportSurface gets the vsync signal from the vsync provider:

https://cs.chromium.org/chromium/src/gpu/ipc/service/pass_through_image_transport_surface.cc?sq=package:chromium&rcl=1481631594&l=142

This ultimately comes from DRM:
https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_window.cc?sq=package:chromium&rcl=1481631594&l=168

This is a crazy number of hops FWIW, haha.
Status: Fixed (was: Assigned)
I consider this essentially fixed. There's an issue with BeginFrame hierarchy but that can be addressed separately.

Comment 13 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 14 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 16 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment