Launch VizDisplayCompositor on desktop platforms |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Issue descriptionThis is a high level bug for shipping the VizDisplayCompositor feature on all desktop (Linux, Windows, Mac) platforms. VizDisplayCompositor moves the display compositor from browser process to GPU process. Most work items are contained in crbug.com/787097 , getting VizDisplayCompositor ready to finch trial on desktop platforms, since the feature will be nearly complete at that point. Other blocking bugs here should be work items that don't strictly block a finch trial but do block a full launch to stable, such as testing or perf concerns. ⛆ |
|
|
,
Jun 6 2017
,
Jun 6 2017
Some related things: https://bugs.chromium.org/p/chromium/issues/detail?id=722935 : Determine Viz Layering https://bugs.chromium.org/p/chromium/issues/detail?id=711146 : Clarify RendererSettings and Unify between Chrome and Mus
,
Jun 6 2017
,
Jun 7 2017
,
Jun 7 2017
,
Jun 12 2017
,
Jun 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ea6969825e1264bf84d00ead0c7f8e849e06f570 commit ea6969825e1264bf84d00ead0c7f8e849e06f570 Author: fsamuel <fsamuel@chromium.org> Date: Mon Jun 12 21:14:32 2017 BrowserMainLoop owns FrameSinkManagerHost A world with the display compositor in the GPU process is a world without GpuProcessTransportFactory and ImageTransportFactory. ImageTransportFactory is a singleton. This CL makes FrameSinkManagerHost owned by BrowserMainLoop that can be accessed from both content/ and ui/ and does not depend on ImageTransportFactory/GpuProcessTransportFactory. BUG=730193 Review-Url: https://codereview.chromium.org/2932893002 Cr-Commit-Position: refs/heads/master@{#478766} [modify] https://crrev.com/ea6969825e1264bf84d00ead0c7f8e849e06f570/content/browser/browser_main_loop.cc [modify] https://crrev.com/ea6969825e1264bf84d00ead0c7f8e849e06f570/content/browser/browser_main_loop.h [modify] https://crrev.com/ea6969825e1264bf84d00ead0c7f8e849e06f570/content/browser/compositor/gpu_process_transport_factory.cc [modify] https://crrev.com/ea6969825e1264bf84d00ead0c7f8e849e06f570/content/browser/compositor/gpu_process_transport_factory.h [modify] https://crrev.com/ea6969825e1264bf84d00ead0c7f8e849e06f570/content/browser/compositor/surface_utils.cc [modify] https://crrev.com/ea6969825e1264bf84d00ead0c7f8e849e06f570/content/browser/renderer_host/offscreen_canvas_provider_impl.cc [modify] https://crrev.com/ea6969825e1264bf84d00ead0c7f8e849e06f570/content/browser/renderer_host/offscreen_canvas_provider_impl.h [modify] https://crrev.com/ea6969825e1264bf84d00ead0c7f8e849e06f570/content/browser/renderer_host/offscreen_canvas_provider_impl_unittest.cc [modify] https://crrev.com/ea6969825e1264bf84d00ead0c7f8e849e06f570/content/browser/renderer_host/offscreen_canvas_surface_impl.cc [modify] https://crrev.com/ea6969825e1264bf84d00ead0c7f8e849e06f570/content/browser/renderer_host/offscreen_canvas_surface_impl.h [modify] https://crrev.com/ea6969825e1264bf84d00ead0c7f8e849e06f570/content/browser/renderer_host/render_process_host_impl.cc
,
Jun 12 2017
,
Jun 12 2017
,
Jun 12 2017
,
Jun 12 2017
,
Jun 13 2017
,
Jun 13 2017
,
Jun 13 2017
,
Jun 14 2017
,
Jun 22 2017
,
Sep 13 2017
,
Sep 28 2017
As discussed offline, doesn't sound like issue 657959 or issue 676384 blocks this work anymore. Updating accordingly.
,
Oct 2 2017
,
Oct 3 2017
,
Oct 3 2017
,
Oct 3 2017
,
Oct 3 2017
,
Oct 3 2017
,
Oct 3 2017
,
Oct 3 2017
,
Oct 6 2017
,
Oct 10 2017
,
Oct 10 2017
,
Oct 10 2017
,
Oct 23 2017
,
Oct 24 2017
,
Nov 8 2017
,
Nov 8 2017
,
Nov 20 2017
,
Nov 20 2017
,
Nov 22 2017
,
Feb 9 2018
,
Feb 9 2018
,
Feb 9 2018
,
Feb 9 2018
,
Feb 9 2018
,
Feb 9 2018
,
Feb 9 2018
,
Feb 9 2018
,
Feb 9 2018
,
Feb 9 2018
,
Feb 9 2018
,
Feb 13 2018
,
Feb 14 2018
,
Feb 14 2018
,
Feb 14 2018
,
Feb 22 2018
,
Feb 26 2018
,
Feb 27 2018
,
Mar 1 2018
,
Mar 21 2018
,
Mar 26 2018
,
Mar 26 2018
,
Apr 17 2018
,
Apr 23 2018
,
Apr 26 2018
,
Apr 26 2018
,
Apr 27 2018
,
May 15 2018
,
Jun 1 2018
,
Jun 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/306b51ebfdaaaabccc3fcce55a71209932aa243b commit 306b51ebfdaaaabccc3fcce55a71209932aa243b Author: Saman Sami <samans@chromium.org> Date: Tue Jun 19 17:35:02 2018 Move code from SubmitCompositorFrame to OnFirstSurfaceActivation Also clean up the code and re-enable RenderWidgetHostViewGuestSurfaceTest.TestGuestSurface. Bug: 730193, 844469 Change-Id: I20f17fda6094b1ffb6bbb1482ccd14f6c20175ea Reviewed-on: https://chromium-review.googlesource.com/1104798 Commit-Queue: Saman Sami <samans@chromium.org> Reviewed-by: Fady Samuel <fsamuel@chromium.org> Cr-Commit-Position: refs/heads/master@{#568514} [modify] https://crrev.com/306b51ebfdaaaabccc3fcce55a71209932aa243b/content/browser/browser_plugin/browser_plugin_guest.cc [modify] https://crrev.com/306b51ebfdaaaabccc3fcce55a71209932aa243b/content/browser/browser_plugin/browser_plugin_guest.h [modify] https://crrev.com/306b51ebfdaaaabccc3fcce55a71209932aa243b/content/browser/frame_host/render_widget_host_view_guest.cc [modify] https://crrev.com/306b51ebfdaaaabccc3fcce55a71209932aa243b/content/browser/frame_host/render_widget_host_view_guest.h [modify] https://crrev.com/306b51ebfdaaaabccc3fcce55a71209932aa243b/content/browser/frame_host/render_widget_host_view_guest_unittest.cc [modify] https://crrev.com/306b51ebfdaaaabccc3fcce55a71209932aa243b/content/browser/renderer_host/render_widget_host_view_child_frame.cc [modify] https://crrev.com/306b51ebfdaaaabccc3fcce55a71209932aa243b/content/browser/renderer_host/render_widget_host_view_child_frame.h [modify] https://crrev.com/306b51ebfdaaaabccc3fcce55a71209932aa243b/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc
,
Jun 29 2018
,
Jul 6
,
Jul 18
,
Jul 19
,
Aug 14
,
Aug 14
,
Aug 15
,
Aug 15
,
Sep 12
,
Sep 12
,
Sep 27
@samans: In comment #68 you moved the ProcessFrameSwappedCallbacks() call from SubmitCompositorFrame to OnFirstSurfaceActivation. This breaks the documented usage of RegisterFrameSwappedCallback, which is as follows: // This functions registers single-use callbacks that want to be notified when // the next frame is swapped. The callback is triggered by // SubmitCompositorFrame, which is the appropriate time to request pixel // readback for the frame that is about to be drawn. Once called, the callback // pointer is released. // TODO( crbug.com/787941 ): This should be removed because it doesn't work when // VIZ display compositing is enabled. The public CopyFromSurface() API does // not make guarantees that it will succeed before the first frame is // composited. I understand from the TODO that you plan to remove FrameSwappedCallbacks, but in the mean time perhaps we shouldn't break the contract for this method? Thanks.
,
Sep 27
,
Sep 27
,
Oct 9
,
Oct 9
,
Oct 15
,
Nov 8
,
Nov 8
,
Dec 5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/73a59e05c556d9bf3f9ac16dfc5f11862f08ab4b commit 73a59e05c556d9bf3f9ac16dfc5f11862f08ab4b Author: kylechar <kylechar@chromium.org> Date: Wed Dec 05 15:59:08 2018 Set VizDisplayCompositor feature enabled on desktop platforms. In preparation for launching OOP-D on stable switch the VizDisplayCompositor feature from disabled to enabled by default. This is following with the finch best practices. OOP-D is still disabled by default on Android and Chrome OS. Android should get switched over shortly after fixing a few failing tests. Chrome OS isn't ready to launch yet. Bug: 730193 Change-Id: I6f55d40492291321d13925dd685181bdfda9f3d2 Reviewed-on: https://chromium-review.googlesource.com/c/1361930 Reviewed-by: Saman Sami <samans@chromium.org> Commit-Queue: kylechar <kylechar@chromium.org> Cr-Commit-Position: refs/heads/master@{#613979} [modify] https://crrev.com/73a59e05c556d9bf3f9ac16dfc5f11862f08ab4b/components/viz/common/features.cc
,
Dec 5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5f44ca54503e75becb625da8004e933a368c6d58 commit 5f44ca54503e75becb625da8004e933a368c6d58 Author: Roger McFarlane <rogerm@chromium.org> Date: Wed Dec 05 21:37:04 2018 Revert "Set VizDisplayCompositor feature enabled on desktop platforms." This reverts commit 73a59e05c556d9bf3f9ac16dfc5f11862f08ab4b. Reason for revert: crbug.com/912289 Findit identified the culprit r613979 as introducing flaky test(s) summarized in https://findit-for-me.appspot.com/waterfall/flake/flake-culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyQwsSDEZsYWtlQ3VscHJpdCIxY2hyb21pdW0vNzNhNTllMDVjNTU2ZDliZjNmOWFjMTZkZmM1ZjExODYyZjA4YWI0Ygw Original change's description: > Set VizDisplayCompositor feature enabled on desktop platforms. > > In preparation for launching OOP-D on stable switch the > VizDisplayCompositor feature from disabled to enabled by default. This > is following with the finch best practices. > > OOP-D is still disabled by default on Android and Chrome OS. Android > should get switched over shortly after fixing a few failing tests. > Chrome OS isn't ready to launch yet. > > Bug: 730193 > Change-Id: I6f55d40492291321d13925dd685181bdfda9f3d2 > Reviewed-on: https://chromium-review.googlesource.com/c/1361930 > Reviewed-by: Saman Sami <samans@chromium.org> > Commit-Queue: kylechar <kylechar@chromium.org> > Cr-Commit-Position: refs/heads/master@{#613979} TBR=kylechar@chromium.org,samans@chromium.org Change-Id: I55c67764c69656bdbe4dbb58051a8f94e9f9d579 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 730193 Reviewed-on: https://chromium-review.googlesource.com/c/1363808 Reviewed-by: Roger McFarlane <rogerm@chromium.org> Commit-Queue: Roger McFarlane <rogerm@chromium.org> Cr-Commit-Position: refs/heads/master@{#614107} [modify] https://crrev.com/5f44ca54503e75becb625da8004e933a368c6d58/components/viz/common/features.cc
,
Dec 13
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f1ef4405b08f701d2bdae9494e0cdf92506de98e commit f1ef4405b08f701d2bdae9494e0cdf92506de98e Author: kylechar <kylechar@chromium.org> Date: Thu Dec 13 13:10:29 2018 Set VizDisplayCompositor feature enabled on desktop platforms. In preparation for launching OOP-D on stable switch the VizDisplayCompositor feature from disabled to enabled by default. This is following with the finch best practices. This is a reland of https://crrev.com/c/1361930 which was reverted for flaky tests. Fixes have been landed for the flaky tests. Bug: 730193 Change-Id: I7dd8869dc942f579a336bca1a2b383a9b2d42a93 Reviewed-on: https://chromium-review.googlesource.com/c/1374207 Reviewed-by: Jonathan Ross <jonross@chromium.org> Commit-Queue: Jonathan Ross <jonross@chromium.org> Cr-Commit-Position: refs/heads/master@{#616285} [modify] https://crrev.com/f1ef4405b08f701d2bdae9494e0cdf92506de98e/components/viz/common/features.cc
,
Dec 13
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1d0245e6c9ca024badf77cebfb2365111d2b52c7 commit 1d0245e6c9ca024badf77cebfb2365111d2b52c7 Author: kylechar <kylechar@chromium.org> Date: Thu Dec 13 14:53:02 2018 Revert "Set VizDisplayCompositor feature enabled on desktop platforms." This reverts commit f1ef4405b08f701d2bdae9494e0cdf92506de98e. Reason for revert: Mac timeouts in webkit_layout_tests Original change's description: > Set VizDisplayCompositor feature enabled on desktop platforms. > > In preparation for launching OOP-D on stable switch the > VizDisplayCompositor feature from disabled to enabled by default. This > is following with the finch best practices. > > This is a reland of https://crrev.com/c/1361930 which was reverted for > flaky tests. Fixes have been landed for the flaky tests. > > Bug: 730193 > Change-Id: I7dd8869dc942f579a336bca1a2b383a9b2d42a93 > Reviewed-on: https://chromium-review.googlesource.com/c/1374207 > Reviewed-by: Jonathan Ross <jonross@chromium.org> > Commit-Queue: Jonathan Ross <jonross@chromium.org> > Cr-Commit-Position: refs/heads/master@{#616285} TBR=jonross@chromium.org,kylechar@chromium.org Change-Id: I091b87b72e83d8a99c4da7dd14b026711bbfac23 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 730193 Reviewed-on: https://chromium-review.googlesource.com/c/1375634 Reviewed-by: kylechar <kylechar@chromium.org> Commit-Queue: kylechar <kylechar@chromium.org> Cr-Commit-Position: refs/heads/master@{#616315} [modify] https://crrev.com/1d0245e6c9ca024badf77cebfb2365111d2b52c7/components/viz/common/features.cc
,
Dec 13
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5cfdf95659510cd0c5c85de4c94ff9d951b1315a commit 5cfdf95659510cd0c5c85de4c94ff9d951b1315a Author: kylechar <kylechar@chromium.org> Date: Thu Dec 13 17:00:48 2018 Reland "Set VizDisplayCompositor feature enabled on desktop platforms." This is a reland of f1ef4405b08f701d2bdae9494e0cdf92506de98eS. Not enabled on mac as it causes timeouts in webkit_layout_tests. Original change's description: > Set VizDisplayCompositor feature enabled on desktop platforms. > > In preparation for launching OOP-D on stable switch the > VizDisplayCompositor feature from disabled to enabled by default. This > is following with the finch best practices. > > This is a reland of https://crrev.com/c/1361930 which was reverted for > flaky tests. Fixes have been landed for the flaky tests. > > Bug: 730193 > Change-Id: I7dd8869dc942f579a336bca1a2b383a9b2d42a93 > Reviewed-on: https://chromium-review.googlesource.com/c/1374207 > Reviewed-by: Jonathan Ross <jonross@chromium.org> > Commit-Queue: Jonathan Ross <jonross@chromium.org> > Cr-Commit-Position: refs/heads/master@{#616285} Bug: 730193 Change-Id: I1eefea03b980e0b3d124e90a0deaa1a583008216 Reviewed-on: https://chromium-review.googlesource.com/c/1375639 Reviewed-by: Jonathan Ross <jonross@chromium.org> Commit-Queue: kylechar <kylechar@chromium.org> Cr-Commit-Position: refs/heads/master@{#616337} [modify] https://crrev.com/5cfdf95659510cd0c5c85de4c94ff9d951b1315a/components/viz/common/features.cc
,
Dec 19
I forgot to include this crbug in the CL description but https://crrev.com/c/1382634 just landed to re-enable mac OOP-D by default.
,
Dec 19
,
Dec 19
https://chromium-review.googlesource.com/c/chromium/src/+/1374207 appears to break rendering on Fuchsia, most likely because Vulkan-based rasterization isn't yet enabled and Viz can't handle software rasterization with Vulkan compositing. This is the error message: [FATAL:scenic_surface_factory.cc(156)] Software output not supported from GPU process
,
Dec 19
Perhaps we just need to enable gpu rasterization by default on Fuchsia here: https://cs.chromium.org/chromium/src/gpu/config/gpu_finch_features.cc?q=gpu_finch_Features&sq=package:chromium&dr=C&l=20 That configuration also seems to work (gpu rasterization + oop-d compositing).
,
Dec 19
It's probably worth doing that sooner than later. OOPR depends on that currently I believe which is what vulkan needs.
,
Dec 19
Ignore comment #95 - I wasn't able to get gpu rasterization + OOP-D to work. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment 1 by danakj@chromium.org
, Jun 6 2017Components: MUS