Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Issue 2471503002: Mus+Ash: Unify CompositorFrameSinks (Closed)

Created:
4 years, 1 month ago by Fady Samuel
Modified:
4 years, 1 month ago
Reviewers:
kylechar, sky
CC:
chromium-reviews, rjkroege, gab
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Mus+Ash: Unify CompositorFrameSinks This CL moves towards enabling unified BeginFrame in Mus and splitting the display compositor out of the window server. 1. FrameGenerator now submits CompositorFrames to the root window's CompositorFrameSink instead of a special "DisplayCompositorFrameSink". 2. ServerWindowCompositorFrameSinks that have a valid AcceleratedWidget will get a cc::Display (this should become SurfaceHandle when ready). In an upcoming CL, FrmaeGenerator will no longer need to be aware of GpuChannelHost. Instead it will simply use the root window's CompositorFrameSink as is. BUG=658988 Committed: https://crrev.com/d2f1931ecdde26742abf7cc23f79b38d1dfaf7fb Cr-Commit-Position: refs/heads/master@{#429286}

Patch Set 1 #

Patch Set 2 : Delete DisplayCompositorFrameSink #

Patch Set 3 : Updated deps #

Total comments: 4

Patch Set 4 : Avoid cast #

Patch Set 5 : Remove unnecessary FrameGenerator::DidDraw #

Total comments: 4

Patch Set 6 : Fixed couple of comments #

Patch Set 7 : Added comment #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+186 lines, -247 lines) Patch
M services/ui/surfaces/BUILD.gn View 1 2 3 4 1 chunk +0 lines, -2 lines 0 comments Download
M services/ui/surfaces/direct_output_surface.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M services/ui/surfaces/direct_output_surface_ozone.h View 1 2 3 2 chunks +1 line, -2 lines 0 comments Download
M services/ui/surfaces/display_compositor_frame_sink.h View 1 1 chunk +0 lines, -78 lines 0 comments Download
M services/ui/surfaces/display_compositor_frame_sink.cc View 1 1 chunk +0 lines, -134 lines 0 comments Download
M services/ui/surfaces/surfaces_context_provider.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M services/ui/ws/BUILD.gn View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M services/ui/ws/frame_generator.h View 1 2 3 4 5 chunks +10 lines, -6 lines 0 comments Download
M services/ui/ws/frame_generator.cc View 1 2 3 4 5 5 chunks +35 lines, -16 lines 0 comments Download
M services/ui/ws/server_window.h View 1 2 3 1 chunk +9 lines, -1 line 0 comments Download
M services/ui/ws/server_window.cc View 1 2 3 1 chunk +5 lines, -1 line 0 comments Download
M services/ui/ws/server_window_compositor_frame_sink.h View 1 2 3 4 5 6 4 chunks +27 lines, -0 lines 3 comments Download
M services/ui/ws/server_window_compositor_frame_sink.cc View 1 2 3 4 4 chunks +74 lines, -0 lines 1 comment Download
M services/ui/ws/server_window_compositor_frame_sink_manager.h View 1 2 3 2 chunks +10 lines, -1 line 0 comments Download
M services/ui/ws/server_window_compositor_frame_sink_manager.cc View 1 2 3 1 chunk +8 lines, -2 lines 0 comments Download
M services/ui/ws/window_tree.h View 1 1 chunk +1 line, -1 line 0 comments Download
M services/ui/ws/window_tree.cc View 1 2 chunks +3 lines, -2 lines 0 comments Download

Messages

Total messages: 44 (31 generated)
Fady Samuel
4 years, 1 month ago (2016-11-01 20:24:09 UTC) #5
Fady Samuel
4 years, 1 month ago (2016-11-01 20:24:09 UTC) #6
Fady Samuel
+sky@ once kylechar@ is happy. Thanks!
4 years, 1 month ago (2016-11-01 20:25:53 UTC) #10
kylechar
https://codereview.chromium.org/2471503002/diff/40001/services/ui/surfaces/direct_output_surface.cc File services/ui/surfaces/direct_output_surface.cc (right): https://codereview.chromium.org/2471503002/diff/40001/services/ui/surfaces/direct_output_surface.cc#newcode28 services/ui/surfaces/direct_output_surface.cc:28: static_cast<SurfacesContextProvider*>(context_provider.get()) Is this cast back to the actual type ...
4 years, 1 month ago (2016-11-02 03:37:24 UTC) #17
Fady Samuel
PTAL Kyle, Scott. https://codereview.chromium.org/2471503002/diff/40001/services/ui/surfaces/direct_output_surface.cc File services/ui/surfaces/direct_output_surface.cc (right): https://codereview.chromium.org/2471503002/diff/40001/services/ui/surfaces/direct_output_surface.cc#newcode28 services/ui/surfaces/direct_output_surface.cc:28: static_cast<SurfacesContextProvider*>(context_provider.get()) On 2016/11/02 03:37:23, kylechar wrote: ...
4 years, 1 month ago (2016-11-02 04:31:22 UTC) #18
kylechar
https://codereview.chromium.org/2471503002/diff/80001/services/ui/ws/server_window_compositor_frame_sink.cc File services/ui/ws/server_window_compositor_frame_sink.cc (right): https://codereview.chromium.org/2471503002/diff/80001/services/ui/ws/server_window_compositor_frame_sink.cc#newcode39 services/ui/ws/server_window_compositor_frame_sink.cc:39: task_runner_(base::ThreadTaskRunnerHandle::Get()), Does task_runner_ need to be a class variable? ...
4 years, 1 month ago (2016-11-02 13:22:36 UTC) #27
Fady Samuel
PTAL Kyle, Scott! https://codereview.chromium.org/2471503002/diff/80001/services/ui/ws/server_window_compositor_frame_sink.cc File services/ui/ws/server_window_compositor_frame_sink.cc (right): https://codereview.chromium.org/2471503002/diff/80001/services/ui/ws/server_window_compositor_frame_sink.cc#newcode39 services/ui/ws/server_window_compositor_frame_sink.cc:39: task_runner_(base::ThreadTaskRunnerHandle::Get()), On 2016/11/02 13:22:36, kylechar wrote: ...
4 years, 1 month ago (2016-11-02 13:48:18 UTC) #30
kylechar
lgtm
4 years, 1 month ago (2016-11-02 14:12:41 UTC) #31
sky
LGTM
4 years, 1 month ago (2016-11-02 15:42:55 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2471503002/120001
4 years, 1 month ago (2016-11-02 15:46:25 UTC) #36
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 1 month ago (2016-11-02 15:51:22 UTC) #38
commit-bot: I haz the power
Patchset 7 (id:??) landed as https://crrev.com/d2f1931ecdde26742abf7cc23f79b38d1dfaf7fb Cr-Commit-Position: refs/heads/master@{#429286}
4 years, 1 month ago (2016-11-02 16:20:36 UTC) #40
gab
4 years, 1 month ago (2016-11-02 18:07:33 UTC) #42
Message was sent while issue was closed.
Careful with IWYU, comments below addressed in PS14 of
https://codereview.chromium.org/2443103003

https://codereview.chromium.org/2471503002/diff/120001/services/ui/ws/server_...
File services/ui/ws/server_window_compositor_frame_sink.cc (right):

https://codereview.chromium.org/2471503002/diff/120001/services/ui/ws/server_...
services/ui/ws/server_window_compositor_frame_sink.cc:39:
task_runner_(base::ThreadTaskRunnerHandle::Get()),
#include "base/threading/thread_task_runner_handle.h"

Also,

#include "base/single_thread_task_runner.h"

(since it was fwd-decl'd in header and member needs to be fully defined in .cc)

https://codereview.chromium.org/2471503002/diff/120001/services/ui/ws/server_...
File services/ui/ws/server_window_compositor_frame_sink.h (right):

https://codereview.chromium.org/2471503002/diff/120001/services/ui/ws/server_...
services/ui/ws/server_window_compositor_frame_sink.h:50:
scoped_refptr<SurfacesContextProvider> context_provider,
#include ref_counted.h

https://codereview.chromium.org/2471503002/diff/120001/services/ui/ws/server_...
services/ui/ws/server_window_compositor_frame_sink.h:78:
scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
Fwd-decl SingleThreadTaskRunner;

https://codereview.chromium.org/2471503002/diff/120001/services/ui/ws/server_...
services/ui/ws/server_window_compositor_frame_sink.h:86:
std::unique_ptr<cc::Display> display_;
#include <memory>

Powered by Google App Engine
This is Rietveld 408576698