New issue
Advanced search Search tips

Issue 668891 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocking:
issue 696199



Sign in to add a comment

DelegatedFrameHost should implement MojoCompositorFrameSink, RendererCompositorFrameSink should implement MojoCompositorFrameSinkClient

Project Member Reported by fsam...@chromium.org, Nov 27 2016

Issue description

As an incremental step to introducing a single "CompositorFrameSinkSupport" class, DelegatedFrameHost should implement MojoCompositorFrameSink, RendererCompositorFrameSink should implement MojoCompositorFrameSinkClient.

"compositor_frame_sink_id" can go away because it's really the "connection_id" and that's implicit in the mojo MessagePipe.
 
Blocking: 601863
Blocking:
Components: MUS
Labels: Proj-Mustash-Mus-GPU displaycompositor
Now that CompositorFrameSinkSupport has landed, it might make sense to go in the opposite direction: Use CompositorFrameSinkSupport first, then transition to mojo.
Blocking:
Status: Available (was: Untriaged)
Components: Internals>Compositing

Comment 7 by xing...@intel.com, Feb 6 2017

Cc: xing...@intel.com
I should add some more detail on the intended goal here as it isn't clear from the bug description. Ultimately, DelegatedFrameHost, will go away, and be replaced by components/display_compositor/gpu_offscreen_compositor_frame_sink.{cc|h} and friends but we need to make sure we have the right CompositorFrameSink and DisplayCompositor API to accommodate all the functionality in there.

Some currently missing functionality includes"

1. Copy requests
2. Frame eviction
3. CompositorLock

All of these are currently being actively worked on. Once complete, it ought to be trivial to use CompositorFrameSinkSupport in DelegatedFrameHost and ultimately (separately) replace DelegatedFrameHost with GpuOffscreenCompositorFrameSink

Comment 9 by xing...@intel.com, Feb 6 2017

Now that there is GpuCompositorFrameSink. And renderer will submit frame data into GPU process directly.  Why DelegatedFrameHost is required?
Chrome running in Mus+Ash uses GpuCompositorFrameSink, but Chrome outside of Mus+Ash uses DelegatedFrameHost. GpuCompositorFrameSink is incomplete and Mus+Ash is still behind a flag and so it's not used it production. In order to validate the new API, and verify correctness and mojo serialization performance in isolation from the rest of the Mus+Ash changes, I am proposing here that we refactor DelegatedFrameHost to look like GpuCompositorFrameSink, add additional functionality to GpuCompositorFrameSink as need be, and then ultimately replace DelegatedFrameHost with GpuCompositorFrameSink on all platforms.
Blocking: 696199
Labels: Type-Feature
Cc: weiliangc@chromium.org
Cc: varkha@chromium.org
Status: WontFix (was: Available)
RendererCompositorFrameSink is gone. DelegatedFrameHost is being replaced by code that will run out of process/thread from the browser process, rather than implement a CompositorFrameSink.
Blocking: -601863
Components: -Internals>MUS Internals>Services>WindowService
Components: -MUS

Sign in to add a comment