New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 613366 link

Starred by 3 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature



Sign in to add a comment

mus apps should be able to deal with lost connections to gpu

Project Member Reported by sadrul@chromium.org, May 19 2016

Issue description

If mus-gpu process crashes, then the connections from the mus apps need to be restored. mus-ws should be able to set things up correctly.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c3a1438df0ff289a410fa52e47d0910c9f7d42ec

commit c3a1438df0ff289a410fa52e47d0910c9f7d42ec
Author: sadrul <sadrul@chromium.org>
Date: Wed Aug 24 23:41:07 2016

services/ui: Rename a few gpu-related classes.

. Rename GpuServiceMus to GpuServiceInternal.
. Rename GpuServiceImpl to GpuServiceProxy, and move it into the
  window-server directory.
. Instead of creating a new instance of GpuServiceProxy for each
  client, update GpuServiceProxy so that a single instance can service
  all clients

BUG=613366

Review-Url: https://codereview.chromium.org/2276433004
Cr-Commit-Position: refs/heads/master@{#414200}

[modify] https://crrev.com/c3a1438df0ff289a410fa52e47d0910c9f7d42ec/services/ui/BUILD.gn
[modify] https://crrev.com/c3a1438df0ff289a410fa52e47d0910c9f7d42ec/services/ui/gpu/BUILD.gn
[rename] https://crrev.com/c3a1438df0ff289a410fa52e47d0910c9f7d42ec/services/ui/gpu/gpu_service_internal.cc
[rename] https://crrev.com/c3a1438df0ff289a410fa52e47d0910c9f7d42ec/services/ui/gpu/gpu_service_internal.h
[modify] https://crrev.com/c3a1438df0ff289a410fa52e47d0910c9f7d42ec/services/ui/gpu/mus_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/c3a1438df0ff289a410fa52e47d0910c9f7d42ec/services/ui/gpu/mus_gpu_memory_buffer_manager.h
[modify] https://crrev.com/c3a1438df0ff289a410fa52e47d0910c9f7d42ec/services/ui/service.cc
[modify] https://crrev.com/c3a1438df0ff289a410fa52e47d0910c9f7d42ec/services/ui/service.h
[modify] https://crrev.com/c3a1438df0ff289a410fa52e47d0910c9f7d42ec/services/ui/surfaces/surfaces_context_provider.cc
[modify] https://crrev.com/c3a1438df0ff289a410fa52e47d0910c9f7d42ec/services/ui/ws/BUILD.gn
[rename] https://crrev.com/c3a1438df0ff289a410fa52e47d0910c9f7d42ec/services/ui/ws/gpu_service_proxy.cc
[rename] https://crrev.com/c3a1438df0ff289a410fa52e47d0910c9f7d42ec/services/ui/ws/gpu_service_proxy.h

Comment 2 by sadrul@chromium.org, Aug 25 2016

Labels: -tadpole Proj-Mustash-Mus-GPU Proj-Mustash-Milestone-Tadpole
Owner: sadrul@chromium.org
Status: Started (was: Available)
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ad8b21be9a81771d3213a603174c228644d35516

commit ad8b21be9a81771d3213a603174c228644d35516
Author: sadrul <sadrul@chromium.org>
Date: Fri Aug 26 00:45:09 2016

services/ui: Introduce mojom.GpuServiceInternal.

Introduce mojom.GpuServiceInternal interface, which GpuServiceProxy
in window server uses to communicate to GpuServiceInternal in the gpu
process.

BUG=613366

Review-Url: https://codereview.chromium.org/2276963002
Cr-Commit-Position: refs/heads/master@{#414603}

[modify] https://crrev.com/ad8b21be9a81771d3213a603174c228644d35516/services/ui/DEPS
[modify] https://crrev.com/ad8b21be9a81771d3213a603174c228644d35516/services/ui/gpu/BUILD.gn
[modify] https://crrev.com/ad8b21be9a81771d3213a603174c228644d35516/services/ui/gpu/gpu_service_internal.cc
[modify] https://crrev.com/ad8b21be9a81771d3213a603174c228644d35516/services/ui/gpu/gpu_service_internal.h
[add] https://crrev.com/ad8b21be9a81771d3213a603174c228644d35516/services/ui/gpu/interfaces/BUILD.gn
[add] https://crrev.com/ad8b21be9a81771d3213a603174c228644d35516/services/ui/gpu/interfaces/OWNERS
[add] https://crrev.com/ad8b21be9a81771d3213a603174c228644d35516/services/ui/gpu/interfaces/gpu_service_internal.mojom
[modify] https://crrev.com/ad8b21be9a81771d3213a603174c228644d35516/services/ui/surfaces/DEPS
[modify] https://crrev.com/ad8b21be9a81771d3213a603174c228644d35516/services/ui/ws/BUILD.gn
[add] https://crrev.com/ad8b21be9a81771d3213a603174c228644d35516/services/ui/ws/DEPS
[modify] https://crrev.com/ad8b21be9a81771d3213a603174c228644d35516/services/ui/ws/gpu_service_proxy.cc
[modify] https://crrev.com/ad8b21be9a81771d3213a603174c228644d35516/services/ui/ws/gpu_service_proxy.h

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7f41519ba395d7c8ddd346260bb2c497b16c6ebf

commit 7f41519ba395d7c8ddd346260bb2c497b16c6ebf
Author: sadrul <sadrul@chromium.org>
Date: Fri Aug 26 21:28:58 2016

services/ui: Remove unwanted gpu dependency from services/ui/surfaces.

//services/ui/surfaces code runs in the window-server, and so should not
directly use code in //services/ui/gpu, which should run in the gpu
process.

BUG=613366

Review-Url: https://codereview.chromium.org/2280723004
Cr-Commit-Position: refs/heads/master@{#414810}

[modify] https://crrev.com/7f41519ba395d7c8ddd346260bb2c497b16c6ebf/services/ui/surfaces/BUILD.gn
[modify] https://crrev.com/7f41519ba395d7c8ddd346260bb2c497b16c6ebf/services/ui/surfaces/direct_output_surface_ozone.cc
[modify] https://crrev.com/7f41519ba395d7c8ddd346260bb2c497b16c6ebf/services/ui/surfaces/direct_output_surface_ozone.h
[modify] https://crrev.com/7f41519ba395d7c8ddd346260bb2c497b16c6ebf/services/ui/surfaces/display_compositor.cc
[modify] https://crrev.com/7f41519ba395d7c8ddd346260bb2c497b16c6ebf/services/ui/surfaces/display_compositor.h
[modify] https://crrev.com/7f41519ba395d7c8ddd346260bb2c497b16c6ebf/services/ui/surfaces/surfaces_context_provider.cc
[modify] https://crrev.com/7f41519ba395d7c8ddd346260bb2c497b16c6ebf/services/ui/surfaces/surfaces_context_provider.h
[modify] https://crrev.com/7f41519ba395d7c8ddd346260bb2c497b16c6ebf/services/ui/ws/DEPS
[modify] https://crrev.com/7f41519ba395d7c8ddd346260bb2c497b16c6ebf/services/ui/ws/frame_generator.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/212f35700eeb17abc2c5e2e1a54e08c70c13ed23

commit 212f35700eeb17abc2c5e2e1a54e08c70c13ed23
Author: sadrul <sadrul@chromium.org>
Date: Sat Aug 27 10:47:53 2016

services/ui: Split GpuServiceInternal into gpu vs. ws pieces.

Notable changes:

. MusGpuMemoryBufferManager is meant to be used by the gpu host
  (i.e. GpuServiceProxy). So move it into ws. It still has a
  temporary dependency on GpuServiceInternal. It will converted
  to communicate with it over mojom API instead.

. Convert GpuServiceProxy (which is the gpu-host, running in the
  window server) into GpuChannelHostFactory, and responsible for
  managing the gpu-channel for the host.

. Introduce a |privileged| parameter in GpuServiceInternal API.
  This privileged channel is created only for the host (and by
  the host).

. Move ownership of GpuServiceProxy into WindowServer. It makes it
  easier for GpuServiceProxy to notify when the gpu-channel has
  been established through a Delegate interface.

. DisplayCompositor instance is now created in the window server
  after the gpu-channel has been established. The gpu channel is
  passed through PlatformDisplay and FrameGenerator from
  WindowServer.

BUG=613366

Review-Url: https://codereview.chromium.org/2281583003
Cr-Commit-Position: refs/heads/master@{#414901}

[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/gpu/BUILD.gn
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/gpu/DEPS
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/gpu/gpu_service_internal.cc
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/gpu/gpu_service_internal.h
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/gpu/interfaces/gpu_service_internal.mojom
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/public/cpp/gpu_service.cc
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/service.cc
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/service.h
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/BUILD.gn
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/DEPS
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/frame_generator.cc
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/frame_generator.h
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/gpu_service_proxy.cc
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/gpu_service_proxy.h
[add] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/gpu_service_proxy_delegate.h
[rename] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/mus_gpu_memory_buffer_manager.cc
[rename] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/mus_gpu_memory_buffer_manager.h
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/platform_display.cc
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/platform_display.h
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/test_utils.cc
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/window_server.cc
[modify] https://crrev.com/212f35700eeb17abc2c5e2e1a54e08c70c13ed23/services/ui/ws/window_server.h

Components: Internals>MUS
Labels: Proj-Mustash
Components: Internals>Compositing
Labels: Type-Feature
Cc: weiliangc@chromium.org
Cc: varkha@chromium.org
Components: -Internals>MUS

Comment 12 by fsamuel@google.com, Oct 20 2017

Labels: -Pri-1 Pri-2
What's the progress on this? I'm making this P2.
Components: -MUS Internals>Services>WindowService
Labels: -Proj-Mustash Proj-Mash-MultiProcess
Labels: -Proj-Mustash-Mus-GPU
Cleaning up old Proj-Mustash labels.

Sign in to add a comment