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

Issue 776052 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 770833



Sign in to add a comment

viz: Use one ContextProvider for all ui::Compositor

Project Member Reported by kylec...@chromium.org, Oct 18 2017

Issue description

When running in viz mode (eg. viz desktop or mus) we should only need one ContextProvider for all ui::Compositors. There needs to be a refactor so that multiple LayerTreeFrameSinks can observer context lost on the ContextProvider. Viz and mus/mash need to both do this afterwards.
 

Comment 1 by danakj@chromium.org, Oct 18 2017

Also going to toss out there that we now have 
LayerTreeHost::ReleaseLayerTreeFrameSink() aka Compositor::ReleaseAcceleratedWidget() which is relatively new. If the VizProcessFactory hears about the context loss it could retrieve the LayerTreeFrameSinks from cc by calling that, and cc wouldn't need any other signals.
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 26 2017

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

commit b311d7bf3bc03d9706c0d43624afdb56a7978610
Author: kylechar <kylechar@chromium.org>
Date: Thu Oct 26 01:16:47 2017

viz: Use one ContextProvider for all ui::Compositors.

The ui::Compositor doesn't share a ContextProvider with the viz::Display
when running with --enable-viz. All ui::Compositors can use the same
ContextProvider as a result.

Bug:  776052 ,  770833 
Change-Id: I4c5df37ce73d4aefbbb6991f027103635cb15729
Reviewed-on: https://chromium-review.googlesource.com/736331
Commit-Queue: kylechar <kylechar@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511680}
[modify] https://crrev.com/b311d7bf3bc03d9706c0d43624afdb56a7978610/content/browser/compositor/viz_process_transport_factory.cc
[modify] https://crrev.com/b311d7bf3bc03d9706c0d43624afdb56a7978610/content/browser/compositor/viz_process_transport_factory.h

Status: Fixed (was: Assigned)
This is fixed for --enable-viz. It's possible to get MusContextFactory to do something similar, but MusContextFactory is used but all mus clients so there would need to be some way to switch the behaviour on or off per client.

Comment 4 by laforge@google.com, Nov 8 2017

Components: -Internals>Viz Internals>Services>Viz
Migrating from Internals>Viz to Internals>Services>Viz.

Sign in to add a comment