Unify OutputSurfaces and centralize DisplayCompositor |
||||||||||||||
Issue descriptionservices/ui/surfaces/display_compositor.cc is the thing that owns SurfaceManager in Mus currently and is a SurfaceObserver. It is informed when Surfaces are created and forwards that to the display compositor host (in Mus+Ash, that's the window server). DisplayCompositor also implements the mojom::DisplayCompositor interface that allows creating CompositorFrameSinks. DisplayCompositor is responsible for creating a cc::Display and an OutputSurface. We should try to unify all this code across Chrome and Mus+Ash. In particular, Mus has partial implementations of DisplayOutputSurface and DisplayOutputSurfaceOzone. We should look into unifying those with BrowserCompositorOutputSurface and GpuBrowserCompositorOutputSurface maybe. All this code should live in components/display_compositor. OffscreenCanvasCompositorFrameSinkProviderImpl should probably go away and be replaced by DisplayCompositor. In Chrome, GpuProcessTransportFactory can own a DisplayCompositor.
,
Feb 19 2017
I'm working towards using DisplayCompositor in GpuProcessTransportFactory today in Chrome. https://codereview.chromium.org/2688593002/
,
Feb 20 2017
,
Apr 19 2017
,
May 3 2017
Assigning to kylechar@ since this overlaps between ozone-y and compositing things.
,
May 3 2017
,
May 23 2017
,
Jun 6 2017
,
Jun 6 2017
,
Jun 12 2017
It seems that this is cleanup of technical debt, to merge implementations of OutputSurface. We have versions that are for browser-process display compositor (ie BrowserCompositorOutputSurface and children) and some for viz-process display compositor (ie DisplayOutputSurface). We should make the process-specific differences clear and share everything that isn't. This will be very helpful for ensuring feature parity and sorting out platform-specific details on the way to shipping viz-process display compositor.
,
Jun 12 2017
Another task here is just moving OutputSurface impls out of content/ to components/viz/, but in-process-in-thread display compositor specific details are content-specific so we'd need to do the above first.
,
Jun 12 2017
Issue 601865 has been merged into this issue.
,
Jun 12 2017
,
Jun 12 2017
Why does this block shipping on desktop?
,
Jun 12 2017
,
Jun 13 2017
We cannot ship until we have fully functional OutputSurfaces in viz.
,
Jun 13 2017
,
Feb 9 2018
We have almost entirely rewritten OutputSurfaces for VizDisplayCompositor and will just delete the old versions afterwards, so I think this is WontFix? |
||||||||||||||
►
Sign in to add a comment |
||||||||||||||
Comment 1 by danakj@chromium.org
, Feb 7 2017