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

Issue 2096843002: mus+ash: Enable Chrome HW rendering in mus+ash (Closed)

Created:
4 years, 6 months ago by Peng
Modified:
4 years, 5 months ago
CC:
chromium-reviews, rjkroege, mlamouri+watch-content_chromium.org, sadrul, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, tfarina, nasko+codewatch_chromium.org, jam, yzshen+watch_chromium.org, sievers+watch_chromium.org, jbauman+watch_chromium.org, Aaron Boodman, darin-cc_chromium.org, creis+watch_chromium.org, piman+watch_chromium.org, mkwst+moarreviews-renderer_chromium.org, kalyank, danakj+watch_chromium.org, abarth-chromium, ben+mojo_chromium.org, darin (slow to review)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

mus+ash: Enable Chrome HW rendering in mus+ash This change enables the HW supports in mus+ash by * Wire up ui service GPU channel. * Always create offscreen GL context for gfx::AcceleratedWidget (mus window) in browser process. * Provide a MusBrowserCompositorOutputSurface. In MusBrowserCompositorOutputSurface::SwapBuffers(), we use CommandBufferProxyImpl::TakeFrontBuffer() to take the offscreen GL context's front buffer into a mailbox, insert a sync token, and send mailbox+sync to the ui service process. Know issue: GPUInfo is not sent to renderer, so some webgl demos don't work. BUG=622708 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb Cr-Commit-Position: refs/heads/master@{#404441}

Patch Set 1 #

Patch Set 2 : HW RENDERING #

Patch Set 3 : Update #

Patch Set 4 : WIP #

Patch Set 5 : Update #

Patch Set 6 : Update #

Total comments: 11

Patch Set 7 : Update #

Patch Set 8 : Update #

Total comments: 3

Patch Set 9 : Update #

Patch Set 10 : Rebase #

Patch Set 11 : Update #

Patch Set 12 : Update #

Patch Set 13 : Fix a compile error #

Total comments: 34

Patch Set 14 : Update #

Total comments: 6

Patch Set 15 : Fix review issues. #

Patch Set 16 : Rebase #

Total comments: 4

Patch Set 17 : Update #

Unified diffs Side-by-side diffs Delta from patch set Stats (+450 lines, -86 lines) Patch
M content/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/browser_main_loop.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +9 lines, -6 lines 0 comments Download
M content/browser/compositor/DEPS View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/compositor/gpu_process_transport_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 12 chunks +104 lines, -29 lines 0 comments Download
A content/browser/compositor/mus_browser_compositor_output_surface.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +66 lines, -0 lines 0 comments Download
A content/browser/compositor/mus_browser_compositor_output_surface.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +173 lines, -0 lines 0 comments Download
M content/browser/gpu/browser_gpu_channel_host_factory.cc View 1 2 3 4 5 2 chunks +7 lines, -0 lines 0 comments Download
M content/browser/gpu/gpu_data_manager_impl_private.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +3 lines, -2 lines 0 comments Download
M content/browser/gpu/gpu_process_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +7 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M content/common/gpu/client/context_provider_command_buffer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -2 lines 0 comments Download
M content/public/common/content_switches.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M content/public/common/content_switches.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 14 chunks +53 lines, -34 lines 0 comments Download
M services/ui/common/gpu_service.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +3 lines, -7 lines 0 comments Download
M services/ui/gpu/gpu_service_mus.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M services/ui/public/cpp/window_surface_client.h View 1 2 3 4 5 6 7 8 9 1 chunk +6 lines, -0 lines 0 comments Download
M ui/views/mus/native_widget_mus.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +7 lines, -5 lines 0 comments Download
M ui/views/mus/window_tree_host_mus.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 56 (23 generated)
Peng
piman@ for //content/* jbauman@ for //cc/surfaces/* Hi Antoine & John, PTAL. Thanks.
4 years, 5 months ago (2016-06-27 16:22:34 UTC) #4
danakj
https://codereview.chromium.org/2096843002/diff/90001/cc/surfaces/display.cc File cc/surfaces/display.cc (right): https://codereview.chromium.org/2096843002/diff/90001/cc/surfaces/display.cc#newcode172 cc/surfaces/display.cc:172: std::unique_ptr<DelegatingRenderer> renderer = DelegatingRenderer::Create( I don't understand this, and ...
4 years, 5 months ago (2016-06-27 18:48:39 UTC) #8
danakj
https://codereview.chromium.org/2096843002/diff/90001/cc/surfaces/display.cc File cc/surfaces/display.cc (right): https://codereview.chromium.org/2096843002/diff/90001/cc/surfaces/display.cc#newcode172 cc/surfaces/display.cc:172: std::unique_ptr<DelegatingRenderer> renderer = DelegatingRenderer::Create( On 2016/06/27 18:48:39, danakj wrote: ...
4 years, 5 months ago (2016-06-27 18:57:29 UTC) #9
danakj
After a bunch of discussion I now understand that mus contexts do not support onscreen ...
4 years, 5 months ago (2016-06-27 21:28:48 UTC) #10
fadysamuel
+sadrul@: I think we should take the high road here and submit CompositorFrames directly to ...
4 years, 5 months ago (2016-06-27 23:45:13 UTC) #12
danakj
On Mon, Jun 27, 2016 at 4:45 PM, <fadysamuel@gmail.com> wrote: > +sadrul@: I think we ...
4 years, 5 months ago (2016-06-28 00:09:03 UTC) #13
Peng
https://codereview.chromium.org/2096843002/diff/90001/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2096843002/diff/90001/content/renderer/render_thread_impl.cc#newcode640 content/renderer/render_thread_impl.cc:640: auto shell_connection = MojoShellConnection::GetForProcess(); On 2016/06/27 21:28:48, danakj wrote: ...
4 years, 5 months ago (2016-06-30 19:30:52 UTC) #14
Peng
https://codereview.chromium.org/2096843002/diff/90001/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2096843002/diff/90001/content/renderer/render_thread_impl.cc#newcode1618 content/renderer/render_thread_impl.cc:1618: return mus::GpuService::GetInstance()->gpu_memory_buffer_manager(); Yeah. Unfortunately, mus::GpuService has his own buffer ...
4 years, 5 months ago (2016-06-30 19:50:55 UTC) #15
Fady Samuel
https://codereview.chromium.org/2096843002/diff/130001/content/browser/compositor/mus_browser_compositor_output_surface.cc File content/browser/compositor/mus_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/2096843002/diff/130001/content/browser/compositor/mus_browser_compositor_output_surface.cc#newcode87 content/browser/compositor/mus_browser_compositor_output_surface.cc:87: GetCommandBufferProxy()->TakeFrontBuffer(mailbox); Question for my own edification: Does this mean ...
4 years, 5 months ago (2016-06-30 20:28:04 UTC) #18
Fady Samuel
https://codereview.chromium.org/2096843002/diff/130001/content/browser/compositor/mus_browser_compositor_output_surface.cc File content/browser/compositor/mus_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/2096843002/diff/130001/content/browser/compositor/mus_browser_compositor_output_surface.cc#newcode87 content/browser/compositor/mus_browser_compositor_output_surface.cc:87: GetCommandBufferProxy()->TakeFrontBuffer(mailbox); Question for my own edification: Does this mean ...
4 years, 5 months ago (2016-06-30 20:28:04 UTC) #19
Peng
https://codereview.chromium.org/2096843002/diff/130001/content/browser/compositor/mus_browser_compositor_output_surface.cc File content/browser/compositor/mus_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/2096843002/diff/130001/content/browser/compositor/mus_browser_compositor_output_surface.cc#newcode87 content/browser/compositor/mus_browser_compositor_output_surface.cc:87: GetCommandBufferProxy()->TakeFrontBuffer(mailbox); On 2016/06/30 20:28:04, Fady Samuel wrote: > Question ...
4 years, 5 months ago (2016-06-30 20:49:07 UTC) #20
piman
https://codereview.chromium.org/2096843002/diff/130001/content/browser/compositor/mus_browser_compositor_output_surface.cc File content/browser/compositor/mus_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/2096843002/diff/130001/content/browser/compositor/mus_browser_compositor_output_surface.cc#newcode87 content/browser/compositor/mus_browser_compositor_output_surface.cc:87: GetCommandBufferProxy()->TakeFrontBuffer(mailbox); On 2016/06/30 20:49:07, Peng wrote: > On 2016/06/30 ...
4 years, 5 months ago (2016-06-30 20:56:32 UTC) #21
Peng
On 2016/06/30 20:56:32, piman OOO back 2016-7-6 wrote: > https://codereview.chromium.org/2096843002/diff/130001/content/browser/compositor/mus_browser_compositor_output_surface.cc > File content/browser/compositor/mus_browser_compositor_output_surface.cc > (right): ...
4 years, 5 months ago (2016-07-04 20:08:11 UTC) #23
Fady Samuel
https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/mus_browser_compositor_output_surface.cc File content/browser/compositor/mus_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/mus_browser_compositor_output_surface.cc#newcode13 content/browser/compositor/mus_browser_compositor_output_surface.cc:13: #include "content/common/gpu/client/context_provider_command_buffer.h" Is this moving out of content? https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/mus_browser_compositor_output_surface.cc#newcode24 ...
4 years, 5 months ago (2016-07-06 14:44:19 UTC) #24
Peng
https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/mus_browser_compositor_output_surface.cc File content/browser/compositor/mus_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/mus_browser_compositor_output_surface.cc#newcode13 content/browser/compositor/mus_browser_compositor_output_surface.cc:13: #include "content/common/gpu/client/context_provider_command_buffer.h" On 2016/07/06 14:44:19, Fady Samuel wrote: > ...
4 years, 5 months ago (2016-07-06 15:10:04 UTC) #25
piman
On Mon, Jul 4, 2016 at 1:08 PM, <penghuang@chromium.org> wrote: > On 2016/06/30 20:56:32, piman ...
4 years, 5 months ago (2016-07-06 21:03:32 UTC) #27
danakj
https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/gpu_process_transport_factory.cc File content/browser/compositor/gpu_process_transport_factory.cc (right): https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/gpu_process_transport_factory.cc#newcode138 content/browser/compositor/gpu_process_transport_factory.cc:138: // For mus, we need the alpha channel for ...
4 years, 5 months ago (2016-07-07 20:16:41 UTC) #31
piman
https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/gpu_process_transport_factory.cc File content/browser/compositor/gpu_process_transport_factory.cc (right): https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/gpu_process_transport_factory.cc#newcode323 content/browser/compositor/gpu_process_transport_factory.cc:323: } else { nit: I would prefer to avoid ...
4 years, 5 months ago (2016-07-07 21:02:21 UTC) #32
Peng
https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/gpu_process_transport_factory.cc File content/browser/compositor/gpu_process_transport_factory.cc (right): https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/gpu_process_transport_factory.cc#newcode138 content/browser/compositor/gpu_process_transport_factory.cc:138: // For mus, we need the alpha channel for ...
4 years, 5 months ago (2016-07-07 21:33:37 UTC) #33
danakj
https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/mus_browser_compositor_output_surface.cc File content/browser/compositor/mus_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/mus_browser_compositor_output_surface.cc#newcode115 content/browser/compositor/mus_browser_compositor_output_surface.cc:115: base::Unretained(this), std::vector<ui::LatencyInfo>(), On 2016/07/07 21:33:37, Peng wrote: > On ...
4 years, 5 months ago (2016-07-07 21:42:45 UTC) #34
danakj
Seems okay to me, there's a lot of ppl reviewing this patch. I'll let piman ...
4 years, 5 months ago (2016-07-07 21:55:15 UTC) #36
piman
We're close... https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/mus_browser_compositor_output_surface.cc File content/browser/compositor/mus_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/mus_browser_compositor_output_surface.cc#newcode50 content/browser/compositor/mus_browser_compositor_output_surface.cc:50: ui_frame.metadata.device_scale_factor = 1.0f; On 2016/07/07 21:33:37, Peng ...
4 years, 5 months ago (2016-07-07 21:55:21 UTC) #38
Peng
https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/mus_browser_compositor_output_surface.cc File content/browser/compositor/mus_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/2096843002/diff/250001/content/browser/compositor/mus_browser_compositor_output_surface.cc#newcode50 content/browser/compositor/mus_browser_compositor_output_surface.cc:50: ui_frame.metadata.device_scale_factor = 1.0f; On 2016/07/07 21:55:20, piman wrote: > ...
4 years, 5 months ago (2016-07-07 22:46:51 UTC) #39
piman
lgtm
4 years, 5 months ago (2016-07-07 22:49:17 UTC) #40
Peng
+sky for //services/ui & //ui/views/mus Hi Scott, PTAL. Thanks.
4 years, 5 months ago (2016-07-07 22:52:03 UTC) #42
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2096843002/290001
4 years, 5 months ago (2016-07-07 22:54:13 UTC) #44
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_gyp_rel on master.tryserver.chromium.mac (JOB_TIMED_OUT, no build URL)
4 years, 5 months ago (2016-07-08 00:56:18 UTC) #46
sky
LGTM with the following changes https://codereview.chromium.org/2096843002/diff/310001/services/ui/gpu/gpu_service_mus.cc File services/ui/gpu/gpu_service_mus.cc (right): https://codereview.chromium.org/2096843002/diff/310001/services/ui/gpu/gpu_service_mus.cc#newcode154 services/ui/gpu/gpu_service_mus.cc:154: // TODO(penghuang): implement this ...
4 years, 5 months ago (2016-07-08 15:34:22 UTC) #47
Peng
https://codereview.chromium.org/2096843002/diff/310001/services/ui/gpu/gpu_service_mus.cc File services/ui/gpu/gpu_service_mus.cc (right): https://codereview.chromium.org/2096843002/diff/310001/services/ui/gpu/gpu_service_mus.cc#newcode154 services/ui/gpu/gpu_service_mus.cc:154: // TODO(penghuang): implement this function. On 2016/07/08 15:34:22, sky ...
4 years, 5 months ago (2016-07-08 16:13:48 UTC) #48
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/2096843002/330001
4 years, 5 months ago (2016-07-08 16:14:34 UTC) #51
commit-bot: I haz the power
Committed patchset #17 (id:330001)
4 years, 5 months ago (2016-07-08 18:15:43 UTC) #53
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-08 18:15:55 UTC) #54
commit-bot: I haz the power
4 years, 5 months ago (2016-07-08 18:18:29 UTC) #56
Message was sent while issue was closed.
Patchset 17 (id:??) landed as
https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb
Cr-Commit-Position: refs/heads/master@{#404441}

Powered by Google App Engine
This is Rietveld 408576698