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

Issue 2299003002: Remove uses of external begin frame sources (Closed)

Created:
4 years, 3 months ago by enne (OOO)
Modified:
4 years, 3 months ago
Reviewers:
danakj, no sievers
CC:
cc-bugs_chromium.org, chromium-reviews, darin-cc_chromium.org, jam, mlamouri+watch-content_chromium.org, piman+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Remove uses of external begin frame sources With this change, all output surfaces in the renderer provide begin frame sources directly rather than via an additional parameter to the LayerTreeHost. The functional difference between these two paths is that the external begin frame source exists for the lifetime of the compositor, whereas the output surface begin frame source is only provided between BindToClient / DetachFromClient. The cc::Scheduler is already robust to these changes and the browser compositor already uses this logic. The output surface path is more useful in the browser where the output surface may change which begin frame source it is providing. However, this patch just modifies the renderer to use the same path as the browser so there's only one way of doing things. In this patch, any time a CompositorOutputSurface or SynchronousCompositorOutputSurface would be used, RenderThreadImpl passes it the CompositorExternalBeginFrameSource that would have been used as the external begin frame source parameter. The other cases of output surface creation do not need an external begin frame source. Layout tests composite synchronously without a cc::Scheduler and so do not need one. ui::OutputSurface for mus renderers internally creates its own default begin frame source (for now). Blimp doesn't create an output surface so no longer needs special case code for an external begin frame source that it also doesn't use. The external begin frame source setting and plumbing is not cleaned up in this patch and will be done in a followup. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Committed: https://crrev.com/077ba4863c28cbcb1049c24148aeae09f1dfa646 Cr-Commit-Position: refs/heads/master@{#418040}

Patch Set 1 #

Patch Set 2 : Fix test crashes #

Total comments: 2

Patch Set 3 : Rebase #

Patch Set 4 : Remove Blimp conditional #

Unified diffs Side-by-side diffs Delta from patch set Stats (+52 lines, -84 lines) Patch
M cc/trees/proxy_impl.cc View 1 1 chunk +3 lines, -10 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 1 chunk +3 lines, -10 lines 0 comments Download
M content/renderer/android/synchronous_compositor_output_surface.h View 2 chunks +2 lines, -0 lines 0 comments Download
M content/renderer/android/synchronous_compositor_output_surface.cc View 4 chunks +10 lines, -3 lines 0 comments Download
M content/renderer/gpu/compositor_dependencies.h View 1 chunk +0 lines, -4 lines 0 comments Download
M content/renderer/gpu/compositor_output_surface.h View 3 chunks +4 lines, -0 lines 0 comments Download
M content/renderer/gpu/compositor_output_surface.cc View 5 chunks +14 lines, -0 lines 0 comments Download
M content/renderer/gpu/render_widget_compositor.cc View 1 2 chunks +1 line, -15 lines 0 comments Download
M content/renderer/gpu/render_widget_compositor_delegate.h View 1 1 chunk +0 lines, -4 lines 0 comments Download
M content/renderer/gpu/render_widget_compositor_unittest.cc View 1 2 chunks +0 lines, -12 lines 0 comments Download
M content/renderer/render_thread_impl.h View 2 chunks +3 lines, -2 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 3 chunks +12 lines, -7 lines 0 comments Download
M content/renderer/render_widget.h View 1 1 chunk +0 lines, -2 lines 0 comments Download
M content/renderer/render_widget.cc View 1 1 chunk +0 lines, -5 lines 0 comments Download
M content/test/fake_compositor_dependencies.h View 1 chunk +0 lines, -2 lines 0 comments Download
M content/test/fake_compositor_dependencies.cc View 1 chunk +0 lines, -8 lines 0 comments Download

Messages

Total messages: 26 (19 generated)
enne (OOO)
4 years, 3 months ago (2016-09-09 20:31:14 UTC) #9
danakj
LGTM https://codereview.chromium.org/2299003002/diff/20001/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2299003002/diff/20001/content/renderer/render_thread_impl.cc#newcode1597 content/renderer/render_thread_impl.cc:1597: // Blimp drives itself and doesn't need a ...
4 years, 3 months ago (2016-09-09 21:20:47 UTC) #12
enne (OOO)
https://codereview.chromium.org/2299003002/diff/20001/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2299003002/diff/20001/content/renderer/render_thread_impl.cc#newcode1597 content/renderer/render_thread_impl.cc:1597: // Blimp drives itself and doesn't need a real ...
4 years, 3 months ago (2016-09-09 22:06:09 UTC) #13
no sievers
content lgtm
4 years, 3 months ago (2016-09-12 19:30:18 UTC) #20
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/2299003002/60001
4 years, 3 months ago (2016-09-12 19:53:18 UTC) #23
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 3 months ago (2016-09-12 21:00:12 UTC) #24
commit-bot: I haz the power
4 years, 3 months ago (2016-09-12 21:01:43 UTC) #26
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/077ba4863c28cbcb1049c24148aeae09f1dfa646
Cr-Commit-Position: refs/heads/master@{#418040}

Powered by Google App Engine
This is Rietveld 408576698