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

Issue 2632273003: Move ReferencedSurfaceTracker into GpuCompositorFrameSink. (Closed)

Created:
3 years, 11 months ago by kylechar
Modified:
3 years, 11 months ago
CC:
Aaron Boodman, abarth-chromium, cc-bugs_chromium.org, chromium-reviews, darin (slow to review), darin-cc_chromium.org, jam, qsr+mojo_chromium.org, rjkroege, Saman Sami, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Move ReferencedSurfaceTracker into GpuCompositorFrameSink. Move the logic for adding/removing references from the client to the GPU. We already pass a list of referenced surfaces, so just use that list to compute a diff from the last submitted frame. This will simplifying all clients and make removing SurfaceSequences easier in the future. Add ReferencedSurfaceTracker to simplify this. Also move add/removing top-level root references into GpuCompositorFrameSink. This simplifies code in the mus Window Server. FrameGenerator just needs to fill in CompositorFrameMetadata::referenced_surfaces and clients that use SurfaceLayers should just work. This change only affects mustash, since non-mustash Chrome doesn't use the Mojo interface for submitting CompositorFrames yet. BUG=659227 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2632273003 Cr-Commit-Position: refs/heads/master@{#444774} Committed: https://chromium.googlesource.com/chromium/src/+/4e728beb8a92c33105c7562bf11bac2e3ece1eb7

Patch Set 1 #

Patch Set 2 : Rebase + cleanup. #

Patch Set 3 : More cleanup. #

Patch Set 4 : Remove debug code in SurfaceManager. #

Total comments: 2

Patch Set 5 : Change ReferencedSurfaceTracker. #

Total comments: 2

Patch Set 6 : Change name. #

Patch Set 7 : Rebase. #

Patch Set 8 : Use unordered comparison in test. #

Patch Set 9 : Fix iterator invalidation. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+404 lines, -579 lines) Patch
M cc/BUILD.gn View 1 1 chunk +1 line, -1 line 0 comments Download
M cc/ipc/display_compositor.mojom View 1 chunk +0 lines, -5 lines 0 comments Download
M cc/ipc/mojo_compositor_frame_sink.mojom View 1 chunk +0 lines, -6 lines 0 comments Download
M cc/surfaces/BUILD.gn View 1 1 chunk +2 lines, -2 lines 0 comments Download
M cc/surfaces/embedded_surface_tracker.h View 1 1 chunk +0 lines, -97 lines 0 comments Download
M cc/surfaces/embedded_surface_tracker.cc View 1 1 chunk +0 lines, -95 lines 0 comments Download
M cc/surfaces/embedded_surface_tracker_unittest.cc View 1 1 chunk +0 lines, -192 lines 0 comments Download
A cc/surfaces/referenced_surface_tracker.h View 1 2 3 4 5 1 chunk +78 lines, -0 lines 0 comments Download
A cc/surfaces/referenced_surface_tracker.cc View 1 2 3 4 5 6 7 8 1 chunk +80 lines, -0 lines 0 comments Download
A cc/surfaces/referenced_surface_tracker_unittest.cc View 1 2 3 4 5 6 7 1 chunk +179 lines, -0 lines 0 comments Download
M components/exo/compositor_frame_sink.h View 1 1 chunk +0 lines, -4 lines 0 comments Download
M components/exo/compositor_frame_sink.cc View 1 1 chunk +0 lines, -12 lines 0 comments Download
M content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h View 1 chunk +0 lines, -4 lines 0 comments Download
M content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.cc View 1 chunk +2 lines, -12 lines 0 comments Download
M services/ui/surfaces/display_compositor.cc View 1 2 3 4 5 6 1 chunk +0 lines, -2 lines 0 comments Download
M services/ui/surfaces/gpu_compositor_frame_sink.h View 1 3 chunks +5 lines, -4 lines 0 comments Download
M services/ui/surfaces/gpu_compositor_frame_sink.cc View 1 4 chunks +46 lines, -10 lines 0 comments Download
M services/ui/ws/frame_generator.h View 1 4 chunks +3 lines, -19 lines 0 comments Download
M services/ui/ws/frame_generator.cc View 1 6 chunks +8 lines, -91 lines 0 comments Download
M services/ui/ws/server_window_delegate.h View 1 chunk +0 lines, -3 lines 0 comments Download
M services/ui/ws/test_server_window_delegate.h View 2 chunks +0 lines, -3 lines 0 comments Download
M services/ui/ws/test_server_window_delegate.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M services/ui/ws/window_server.h View 2 chunks +0 lines, -3 lines 0 comments Download
M services/ui/ws/window_server.cc View 2 chunks +0 lines, -10 lines 0 comments Download

Messages

Total messages: 43 (27 generated)
kylechar
+jbauman for cc/surfaces/* +fsamuel for services/ui/ws/*
3 years, 11 months ago (2017-01-16 21:12:36 UTC) #5
kylechar
I left some debug code in SurfaceManager accidentally, I've removed that code in the latest ...
3 years, 11 months ago (2017-01-17 19:27:57 UTC) #8
Fady Samuel
https://codereview.chromium.org/2632273003/diff/60001/cc/surfaces/referenced_surface_tracker.cc File cc/surfaces/referenced_surface_tracker.cc (right): https://codereview.chromium.org/2632273003/diff/60001/cc/surfaces/referenced_surface_tracker.cc#newcode47 cc/surfaces/referenced_surface_tracker.cc:47: // aren't already referenced. Can you use std::set_difference?
3 years, 11 months ago (2017-01-18 01:08:55 UTC) #9
kylechar
https://codereview.chromium.org/2632273003/diff/60001/cc/surfaces/referenced_surface_tracker.cc File cc/surfaces/referenced_surface_tracker.cc (right): https://codereview.chromium.org/2632273003/diff/60001/cc/surfaces/referenced_surface_tracker.cc#newcode47 cc/surfaces/referenced_surface_tracker.cc:47: // aren't already referenced. On 2017/01/18 01:08:55, Fady Samuel ...
3 years, 11 months ago (2017-01-18 15:20:15 UTC) #10
Fady Samuel
lgtm + maybe pass to Dana? https://codereview.chromium.org/2632273003/diff/80001/cc/surfaces/referenced_surface_tracker.h File cc/surfaces/referenced_surface_tracker.h (right): https://codereview.chromium.org/2632273003/diff/80001/cc/surfaces/referenced_surface_tracker.h#newcode49 cc/surfaces/referenced_surface_tracker.h:49: void UpdateReferencedSurfaces( Maybe ...
3 years, 11 months ago (2017-01-18 20:47:40 UTC) #11
kylechar
+danakj for cc/surfaces/* OWNERS and general review. https://codereview.chromium.org/2632273003/diff/80001/cc/surfaces/referenced_surface_tracker.h File cc/surfaces/referenced_surface_tracker.h (right): https://codereview.chromium.org/2632273003/diff/80001/cc/surfaces/referenced_surface_tracker.h#newcode49 cc/surfaces/referenced_surface_tracker.h:49: void UpdateReferencedSurfaces( ...
3 years, 11 months ago (2017-01-18 20:52:28 UTC) #14
jbauman
lgtm
3 years, 11 months ago (2017-01-18 21:43:31 UTC) #15
kylechar
+reveman for components/exo/* +xlai for content/browser/renderer_host/* +sky for services/ui/ws/* +tsepez for *.mojom
3 years, 11 months ago (2017-01-18 22:12:27 UTC) #17
xlai (Olivia)
LGTM for content/browser/renderer_host/*
3 years, 11 months ago (2017-01-18 22:15:28 UTC) #18
reveman
components/exo lgtm
3 years, 11 months ago (2017-01-18 22:18:21 UTC) #19
Tom Sepez
lgtm
3 years, 11 months ago (2017-01-18 22:39:13 UTC) #20
sky
LGTM
3 years, 11 months ago (2017-01-18 23:34:42 UTC) #21
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/2632273003/120001
3 years, 11 months ago (2017-01-19 04:04:00 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_swarming_rel/builds/102913) linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, ...
3 years, 11 months ago (2017-01-19 04:31:12 UTC) #33
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/2632273003/160001
3 years, 11 months ago (2017-01-19 17:33:42 UTC) #40
commit-bot: I haz the power
3 years, 11 months ago (2017-01-19 17:40:09 UTC) #43
Message was sent while issue was closed.
Committed patchset #9 (id:160001) as
https://chromium.googlesource.com/chromium/src/+/4e728beb8a92c33105c7562bf11b...

Powered by Google App Engine
This is Rietveld 408576698