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

Issue 2489003002: Convert mustash use surface references. (Closed)

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

Description

Convert mustash use surface references. FrameGenerator uses surface references instead of sequences with this patch. When mus-ws learns about a new surface, it adds a reference from the embedding surface to the new surface. If there an existing surface for the FrameSink, the reference to the existing surface is removed when the next CompositorFrame is submitted. FrameGenerator owns the display root surface here and plays the role of the embedding client. The display root surface gets a reference from the top level root. All embedded surfaces get a reference from the display root surface. When a new surface is created in the gpu process, DisplayCompositor immediately adds a temporary reference. This is so the surface doesn't get deleted before the mus-ws process can add the correct reference. BUG=659227 Committed: https://crrev.com/a9194624d84580648fb7967c00c2800a880a9939 Cr-Commit-Position: refs/heads/master@{#433590}

Patch Set 1 #

Total comments: 10

Patch Set 2 : Rebase + fixes. #

Total comments: 2

Patch Set 3 : Rewrite large bits #

Total comments: 18

Patch Set 4 : Fixes for fsamuel. #

Total comments: 12

Patch Set 5 : More fixes for comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+313 lines, -108 lines) Patch
M services/ui/surfaces/display_compositor.h View 1 2 3 chunks +19 lines, -4 lines 0 comments Download
M services/ui/surfaces/display_compositor.cc View 1 2 3 4 1 chunk +79 lines, -13 lines 0 comments Download
M services/ui/ws/frame_generator.h View 1 2 3 4 4 chunks +63 lines, -31 lines 0 comments Download
M services/ui/ws/frame_generator.cc View 1 2 3 4 8 chunks +135 lines, -60 lines 0 comments Download
M services/ui/ws/platform_display.h View 1 2 3 4 2 chunks +3 lines, -0 lines 0 comments Download
M services/ui/ws/platform_display_default.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M services/ui/ws/platform_display_default.cc View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M services/ui/ws/test_utils.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M services/ui/ws/window_server.cc View 1 2 3 2 chunks +8 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 28 (12 generated)
kylechar
4 years, 1 month ago (2016-11-09 17:04:41 UTC) #2
Fady Samuel
lgtm + nits: This is super cool but super easy to forget this subtlety. This ...
4 years, 1 month ago (2016-11-10 13:53:02 UTC) #3
kylechar
https://codereview.chromium.org/2489003002/diff/1/services/ui/surfaces/display_compositor.cc File services/ui/surfaces/display_compositor.cc (right): https://codereview.chromium.org/2489003002/diff/1/services/ui/surfaces/display_compositor.cc#newcode11 services/ui/surfaces/display_compositor.cc:11: namespace {} // namespace On 2016/11/10 13:53:02, Fady Samuel ...
4 years, 1 month ago (2016-11-14 19:05:38 UTC) #4
kylechar
Big changes were necessary in FrameGenerator to fix tests and everything else. Please take another ...
4 years, 1 month ago (2016-11-16 18:05:21 UTC) #6
Fady Samuel
Some initial questions and comments. This really needs a design doc with diagrams at this ...
4 years, 1 month ago (2016-11-18 03:46:06 UTC) #8
kylechar
https://codereview.chromium.org/2489003002/diff/40001/services/ui/ws/frame_generator.cc File services/ui/ws/frame_generator.cc (right): https://codereview.chromium.org/2489003002/diff/40001/services/ui/ws/frame_generator.cc#newcode131 services/ui/ws/frame_generator.cc:131: display_compositor->AddSurfaceReference(parent_id, surface_id); On 2016/11/18 03:46:06, Fady Samuel wrote: > ...
4 years, 1 month ago (2016-11-18 17:24:11 UTC) #9
kylechar
+sky for services/ui/ws/*. There are some tests for DisplayCompositor in https://codereview.chromium.org/2520513002/ that I will follow ...
4 years, 1 month ago (2016-11-18 22:24:53 UTC) #11
Fady Samuel
lgtm https://codereview.chromium.org/2489003002/diff/100001/services/ui/surfaces/display_compositor.cc File services/ui/surfaces/display_compositor.cc (right): https://codereview.chromium.org/2489003002/diff/100001/services/ui/surfaces/display_compositor.cc#newcode45 services/ui/surfaces/display_compositor.cc:45: // add a real reference to the top ...
4 years, 1 month ago (2016-11-18 22:27:25 UTC) #12
sky
https://codereview.chromium.org/2489003002/diff/100001/services/ui/ws/frame_generator.cc File services/ui/ws/frame_generator.cc (right): https://codereview.chromium.org/2489003002/diff/100001/services/ui/ws/frame_generator.cc#newcode101 services/ui/ws/frame_generator.cc:101: DCHECK(surface_id.frame_sink_id() == ref.child_id.frame_sink_id()); DCHECK_EQ and NE? https://codereview.chromium.org/2489003002/diff/100001/services/ui/ws/frame_generator.cc#newcode266 services/ui/ws/frame_generator.cc:266: return ...
4 years, 1 month ago (2016-11-19 16:38:56 UTC) #13
kylechar
https://codereview.chromium.org/2489003002/diff/100001/services/ui/surfaces/display_compositor.cc File services/ui/surfaces/display_compositor.cc (right): https://codereview.chromium.org/2489003002/diff/100001/services/ui/surfaces/display_compositor.cc#newcode45 services/ui/surfaces/display_compositor.cc:45: // add a real reference to the top level ...
4 years, 1 month ago (2016-11-21 14:48:23 UTC) #14
sky
LGTM https://codereview.chromium.org/2489003002/diff/100001/services/ui/ws/frame_generator.cc File services/ui/ws/frame_generator.cc (right): https://codereview.chromium.org/2489003002/diff/100001/services/ui/ws/frame_generator.cc#newcode101 services/ui/ws/frame_generator.cc:101: DCHECK(surface_id.frame_sink_id() == ref.child_id.frame_sink_id()); On 2016/11/21 14:48:22, kylechar wrote: ...
4 years, 1 month ago (2016-11-21 16:51:48 UTC) #15
kylechar
Thanks! https://codereview.chromium.org/2489003002/diff/100001/services/ui/ws/frame_generator.cc File services/ui/ws/frame_generator.cc (right): https://codereview.chromium.org/2489003002/diff/100001/services/ui/ws/frame_generator.cc#newcode101 services/ui/ws/frame_generator.cc:101: DCHECK(surface_id.frame_sink_id() == ref.child_id.frame_sink_id()); On 2016/11/21 16:51:48, sky wrote: ...
4 years, 1 month ago (2016-11-21 16:54:20 UTC) #16
sky
SG On Mon, Nov 21, 2016 at 8:54 AM, <kylechar@chromium.org> wrote: > Thanks! > > ...
4 years, 1 month ago (2016-11-21 16:58:59 UTC) #19
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/2489003002/120001
4 years, 1 month ago (2016-11-21 18:19:37 UTC) #24
commit-bot: I haz the power
Committed patchset #5 (id:120001)
4 years, 1 month ago (2016-11-21 18:26:15 UTC) #26
commit-bot: I haz the power
4 years, 1 month ago (2016-11-21 18:28:22 UTC) #28
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/a9194624d84580648fb7967c00c2800a880a9939
Cr-Commit-Position: refs/heads/master@{#433590}

Powered by Google App Engine
This is Rietveld 408576698