GpuCompositorFrameSink should take in an optional cc::mojom::DisplayPrivateRequest |
||||||||
Issue descriptionContextFactory needs to be able to talk to a cc::Display directly in some cases: ContextFactory::SetDisplayVisible ContextFactory::ResizeDisplay for example. We can put these potentially in a cc::mojom::DisplayPrivate interface that is passed along with CreateCompositorFrameSink.
,
Dec 1 2016
The longer term implication of this this CompositorFrameSink(Support) has a cc::Display. PerCompositorData moves into CompositorFrameSink(Support) basically and ContextFactory holds a MojoCompositorFrameSinkPrivatePtr for each ui::Compositor instead of PerCompositorData.
,
Dec 1 2016
,
Dec 2 2016
Stepping back a bit: Mus clients still use ContextFactory. ContextFactory should not know about cc::Display or even be able to call methods on cc::Display. In a Mus world, only the window server (browser) should be able to manipulate the cc::Display via mojo. Most of ContextFactory consists of privileged APIs that should not be used by clients.
,
Dec 12 2016
,
Dec 12 2016
We definitely need a Display mojo interface. I'm now thinking we need to split DisplayCompositor's API into two methods: DisplayCompositor::CreateOffscreenCompositorFrameSink, and DisplayCompositor::CreateDisplayCompositorFrameSink. CreateDisplayCompositorFrameSink takes in a SurfaceHandle and Display interface. Ordering might be critical here between the CompositorFrameSink and Display interface, so they might need to be associated interfaces.
,
Dec 13 2016
The DisplayPrivatePtr will probably live on ServerWindowCompositorFrameSinkManager (I hate that name, we can rename later). FrameGenerator might make use of it perhaps for setting Colorspace and such: kylechar@ for more info. This will allow us to set display-specific settings from FrameGenerator or elsewhere...whatever makes sense.
,
Dec 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2bed325a1f295c76f23182a8824847dd8fd60c4b commit 2bed325a1f295c76f23182a8824847dd8fd60c4b Author: staraz <staraz@chromium.org> Date: Thu Dec 15 16:10:42 2016 Split cc::mojom::DisplayCompositor::CreateCompositorFrameSink() into CreateDisplayCompositorFrameSink() and CreateOffscreenCompositorFrameSink() This is step one towards having a cc::Display mojo interface. After this, a mojo interface for cc::Display will be added and CreateDisplayCompositorFrameSink will take the interface as a parameter. BUG= 670364 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2576723002 Cr-Commit-Position: refs/heads/master@{#438839} [modify] https://crrev.com/2bed325a1f295c76f23182a8824847dd8fd60c4b/cc/ipc/display_compositor.mojom [modify] https://crrev.com/2bed325a1f295c76f23182a8824847dd8fd60c4b/services/ui/surfaces/display_compositor.cc [modify] https://crrev.com/2bed325a1f295c76f23182a8824847dd8fd60c4b/services/ui/surfaces/display_compositor.h [modify] https://crrev.com/2bed325a1f295c76f23182a8824847dd8fd60c4b/services/ui/ws/frame_generator.cc [modify] https://crrev.com/2bed325a1f295c76f23182a8824847dd8fd60c4b/services/ui/ws/server_window.cc [modify] https://crrev.com/2bed325a1f295c76f23182a8824847dd8fd60c4b/services/ui/ws/server_window.h [modify] https://crrev.com/2bed325a1f295c76f23182a8824847dd8fd60c4b/services/ui/ws/server_window_compositor_frame_sink_manager.cc [modify] https://crrev.com/2bed325a1f295c76f23182a8824847dd8fd60c4b/services/ui/ws/server_window_compositor_frame_sink_manager.h [modify] https://crrev.com/2bed325a1f295c76f23182a8824847dd8fd60c4b/services/ui/ws/window_tree.cc
,
Dec 15 2016
,
Dec 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e27afd717cd6d79d614cdfa3cfb202f12f169ddc commit e27afd717cd6d79d614cdfa3cfb202f12f169ddc Author: staraz <staraz@chromium.org> Date: Mon Dec 19 17:56:27 2016 Fixed bugs in ColorSpace typemap Fixed typo in color_space.typemap Added color_space.typemap to typemaps.gni BUG= 670364 Review-Url: https://codereview.chromium.org/2585213004 Cr-Commit-Position: refs/heads/master@{#439502} [modify] https://crrev.com/e27afd717cd6d79d614cdfa3cfb202f12f169ddc/ui/gfx/mojo/color_space.typemap [modify] https://crrev.com/e27afd717cd6d79d614cdfa3cfb202f12f169ddc/ui/gfx/typemaps.gni
,
Dec 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee commit dc7e15988c2612f4bdd66e29b238a4eb3fce5cee Author: staraz <staraz@chromium.org> Date: Wed Dec 21 20:03:45 2016 GpuCompositorFrameSink implements cc::mojom::DisplayPrivate Added DisplayPrivate mojo interface to hide cc::Display from ContextFactory. The intent of this change is to content mus-ws with mus-gpu for cc::Display operations. ColorSpace and OutputIsSecure and so on is passed along from display management code which resides in Mus-ws. cc::Display lives in mus-gpu and so we need a mojo interface for cc::Display. Currently ash talks to cc::Display through ContextFactoryPrivate. This mojo interface would eventually replace ContextFactoryPrivate or would be used by ContextFactoryPrivate. BUG= 670364 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel TBR=danakj@chromium.org Review-Url: https://codereview.chromium.org/2579693004 Cr-Commit-Position: refs/heads/master@{#440192} [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/cc/ipc/BUILD.gn [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/cc/ipc/display_compositor.mojom [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/cc/surfaces/compositor_frame_sink_support.h [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/services/ui/surfaces/display_compositor.cc [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/services/ui/surfaces/display_compositor.h [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/services/ui/surfaces/gpu_compositor_frame_sink.cc [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/services/ui/surfaces/gpu_compositor_frame_sink.h [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/services/ui/ws/frame_generator.cc [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/services/ui/ws/frame_generator.h [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/services/ui/ws/server_window.cc [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/services/ui/ws/server_window.h [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/services/ui/ws/server_window_compositor_frame_sink_manager.cc [modify] https://crrev.com/dc7e15988c2612f4bdd66e29b238a4eb3fce5cee/services/ui/ws/server_window_compositor_frame_sink_manager.h
,
Dec 21 2016
,
Jun 13 2017
,
Feb 26 2018
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by fsam...@chromium.org
, Dec 1 2016