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

Issue 661278 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Nov 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Mus+Ash: Mus-WS probably doesn't need a GpuChannelHost

Project Member Reported by fsam...@chromium.org, Nov 1 2016

Issue description

The Mus window server can simply request a CompositorFrameSink for a root window, and it'll get a CompositorFrameSink implementaton with a cc::Display backing it as we do in jellyfish. The Mus window server really only needs to ship CompositorFrames with a single SurfaceDrawQuad and so it does not need a GpuChannelHost. We should refactor code to avoid using GpuChannelHost in Mus-WS.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 4 2016

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

commit 0146e3cdbf9163f044d0fc300a61747f98268878
Author: fsamuel <fsamuel@chromium.org>
Date: Fri Nov 04 19:15:37 2016

Remove dependency on SurfaceManager in FrameGenerator

FrameGenerator lives in the window server and thus should not have direct
access to SurfaceManager. This CL moves FrameGenerator's accesses to surface
manager to DisplayCompositor which will be placed behind a mojo interface in
a subsequent CL.

This CL takes us a step closer to removing the need for GpuChannelHost in
mus-ws by decoupling mus-ws and the display compositor.

BUG= 661278 

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

[modify] https://crrev.com/0146e3cdbf9163f044d0fc300a61747f98268878/services/ui/surfaces/display_compositor.cc
[modify] https://crrev.com/0146e3cdbf9163f044d0fc300a61747f98268878/services/ui/surfaces/display_compositor.h
[modify] https://crrev.com/0146e3cdbf9163f044d0fc300a61747f98268878/services/ui/ws/display_manager.cc
[modify] https://crrev.com/0146e3cdbf9163f044d0fc300a61747f98268878/services/ui/ws/frame_generator.cc
[modify] https://crrev.com/0146e3cdbf9163f044d0fc300a61747f98268878/services/ui/ws/frame_generator.h
[modify] https://crrev.com/0146e3cdbf9163f044d0fc300a61747f98268878/services/ui/ws/frame_generator_unittest.cc
[modify] https://crrev.com/0146e3cdbf9163f044d0fc300a61747f98268878/services/ui/ws/platform_display.cc
[modify] https://crrev.com/0146e3cdbf9163f044d0fc300a61747f98268878/services/ui/ws/platform_display_init_params.h
[modify] https://crrev.com/0146e3cdbf9163f044d0fc300a61747f98268878/services/ui/ws/test_utils.cc
[modify] https://crrev.com/0146e3cdbf9163f044d0fc300a61747f98268878/services/ui/ws/window_tree.cc
[modify] https://crrev.com/0146e3cdbf9163f044d0fc300a61747f98268878/services/ui/ws/window_tree_host_factory.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Nov 9 2016

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

commit 38fe0daf2860dd26726c47a2bf96647d3b5842d2
Author: fsamuel <fsamuel@chromium.org>
Date: Wed Nov 09 17:06:53 2016

PassThroughImageTransportSurface: Remove unused parameter

PassThroughImageTransportSurface takes in a GpuChannelManager but never uses
it. This CL removes that parameter.

BUG= 661278 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

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

[modify] https://crrev.com/38fe0daf2860dd26726c47a2bf96647d3b5842d2/gpu/ipc/service/image_transport_surface_android.cc
[modify] https://crrev.com/38fe0daf2860dd26726c47a2bf96647d3b5842d2/gpu/ipc/service/image_transport_surface_linux.cc
[modify] https://crrev.com/38fe0daf2860dd26726c47a2bf96647d3b5842d2/gpu/ipc/service/image_transport_surface_mac.mm
[modify] https://crrev.com/38fe0daf2860dd26726c47a2bf96647d3b5842d2/gpu/ipc/service/image_transport_surface_win.cc
[modify] https://crrev.com/38fe0daf2860dd26726c47a2bf96647d3b5842d2/gpu/ipc/service/pass_through_image_transport_surface.cc
[modify] https://crrev.com/38fe0daf2860dd26726c47a2bf96647d3b5842d2/gpu/ipc/service/pass_through_image_transport_surface.h

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 10 2016

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

commit 2b039432b32361aa1b772aa5fa878d43ac22eff6
Author: fsamuel <fsamuel@chromium.org>
Date: Thu Nov 10 00:34:02 2016

Decouple PassThroughImageTransportSurface from GpuCommandBufferStub

We would like to reuse PassThroughImageTransportSurface in
InprocessCommandBuffer to track when a swap completes on various
platforms. This signal is used by ozone, in particular, to advance the
BufferQueue when the command buffer is out-of-process. GLRenderer is
moving to the gpu process and so, in the short term, we'd like to use
an InprocessCommandBuffer and InprocessContextProvider without losing
functionality.

BUG= 661278 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

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

[modify] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/BUILD.gn
[modify] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/gpu_command_buffer_stub.cc
[modify] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/gpu_command_buffer_stub.h
[modify] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/image_transport_surface.h
[modify] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/image_transport_surface_android.cc
[add] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/image_transport_surface_delegate.cc
[add] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/image_transport_surface_delegate.h
[modify] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/image_transport_surface_linux.cc
[modify] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/image_transport_surface_mac.mm
[modify] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/image_transport_surface_overlay_mac.h
[modify] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/image_transport_surface_overlay_mac.mm
[modify] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/image_transport_surface_win.cc
[modify] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/pass_through_image_transport_surface.cc
[modify] https://crrev.com/2b039432b32361aa1b772aa5fa878d43ac22eff6/gpu/ipc/service/pass_through_image_transport_surface.h

Project Member

Comment 4 by bugdroid1@chromium.org, Nov 11 2016

Project Member

Comment 5 by bugdroid1@chromium.org, Nov 11 2016

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

commit 600b99ea4e897ae59eb10828e452a00a80e9c581
Author: fsamuel <fsamuel@chromium.org>
Date: Fri Nov 11 07:50:26 2016

Mus: Move InProcessCommandBuffer and GLInProcessContext to gpu/ipc

We would like to use InProcessCommandBuffer and GLInProcessContext
in mus-gpu. In a subsequent patch, InProcessCommandBuffer will use
PassThroughImageTransportSurface in order to receive notification
of when a SwapBuffers completes and latency info, among other things.

PassThroughImageTransportSurface lives in gpu/ipc/service.
gpu/command_buffer/service cannot depend on gpu/ipc/service. Thus,
we move this code to gpu/ipc where it can depend on both
gpu/command_buffer/{client, common, service} and
gpu/ipc/{client, common, service}

BUG= 661278 
TBR=sky@chromium.org for ui, danakj@chromium.org for display_compositor/cc, boliu@chromium.org for android_webview, dtrainor@chromium.org for blimp.

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

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

[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/android_webview/BUILD.gn
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/android_webview/browser/aw_render_thread_context_provider.cc
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/android_webview/browser/aw_render_thread_context_provider.h
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/android_webview/browser/deferred_gpu_command_service.h
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/android_webview/lib/main/aw_main_delegate.cc
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/blimp/client/support/compositor/BUILD.gn
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/blimp/client/support/compositor/blimp_context_provider.cc
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/blimp/client/support/compositor/blimp_context_provider.h
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/cc/BUILD.gn
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/cc/test/DEPS
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/cc/test/layer_tree_pixel_test.cc
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/cc/test/test_in_process_context_provider.cc
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/components/display_compositor/BUILD.gn
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/components/display_compositor/DEPS
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/components/display_compositor/gl_helper_benchmark.cc
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/components/display_compositor/gl_helper_unittest.cc
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/components/display_compositor/yuv_readback_unittest.cc
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/gpu/BUILD.gn
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/gpu/command_buffer/client/BUILD.gn
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/gpu/command_buffer/service/BUILD.gn
[add] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/gpu/ipc/BUILD.gn
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/gpu/ipc/client/gpu_in_process_context_tests.cc
[rename] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/gpu/ipc/gl_in_process_context.cc
[rename] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/gpu/ipc/gl_in_process_context.h
[rename] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/gpu/ipc/gl_in_process_context_export.h
[rename] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/gpu/ipc/in_process_command_buffer.cc
[rename] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/ui/compositor/BUILD.gn
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/ui/compositor/test/DEPS
[modify] https://crrev.com/600b99ea4e897ae59eb10828e452a00a80e9c581/ui/compositor/test/in_process_context_provider.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 11 2016

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

commit c0409e0a00097fbe961e3c22e36c5f1a0f211cfc
Author: fsamuel <fsamuel@chromium.org>
Date: Fri Nov 11 08:23:31 2016

Mus: ImageTransportSurface should not depend on GpuChannelManager

ImageTransportSurface took in a GpuChannelManager to use on Windows
to create a ChildWindowSurface. ChildWindowSurface informs the
GpuChannelManager (and subsequently the GpuChannelManagerDelegate) of
the newly created child window. This CL instead plumbs that
notification through ImageTransportSurfaceDelegate eliminating the
dependency on GpuChannelManager.

We can now use ImageTransportSurface in InProcessCommandBuffer without
depending on GpuChannelManager.

BUG= 661278 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

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

[modify] https://crrev.com/c0409e0a00097fbe961e3c22e36c5f1a0f211cfc/gpu/ipc/service/child_window_surface_win.cc
[modify] https://crrev.com/c0409e0a00097fbe961e3c22e36c5f1a0f211cfc/gpu/ipc/service/child_window_surface_win.h
[modify] https://crrev.com/c0409e0a00097fbe961e3c22e36c5f1a0f211cfc/gpu/ipc/service/gpu_command_buffer_stub.cc
[modify] https://crrev.com/c0409e0a00097fbe961e3c22e36c5f1a0f211cfc/gpu/ipc/service/gpu_command_buffer_stub.h
[modify] https://crrev.com/c0409e0a00097fbe961e3c22e36c5f1a0f211cfc/gpu/ipc/service/image_transport_surface.h
[modify] https://crrev.com/c0409e0a00097fbe961e3c22e36c5f1a0f211cfc/gpu/ipc/service/image_transport_surface_android.cc
[modify] https://crrev.com/c0409e0a00097fbe961e3c22e36c5f1a0f211cfc/gpu/ipc/service/image_transport_surface_delegate.h
[modify] https://crrev.com/c0409e0a00097fbe961e3c22e36c5f1a0f211cfc/gpu/ipc/service/image_transport_surface_linux.cc
[modify] https://crrev.com/c0409e0a00097fbe961e3c22e36c5f1a0f211cfc/gpu/ipc/service/image_transport_surface_mac.mm
[modify] https://crrev.com/c0409e0a00097fbe961e3c22e36c5f1a0f211cfc/gpu/ipc/service/image_transport_surface_win.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 14 2016

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

commit bd1e39dda13b14d3919480b1e209d7f8c0b52361
Author: fsamuel <fsamuel@chromium.org>
Date: Mon Nov 14 23:14:33 2016

Mus: Delete unnecessary sync token in DirectOutputSurfaceOzone

DirectOutputSurfaceOzone creates a sync token in SwapBuffers that it never uses.
This is a cleanup in anticipation of moving DirectOutputSurface(Ozone) towards
using an InProcessContextProvider and InProcessCommandBuffer.

BUG= 661278 

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

[modify] https://crrev.com/bd1e39dda13b14d3919480b1e209d7f8c0b52361/services/ui/surfaces/direct_output_surface_ozone.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 18 2016

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

commit edc0c2c7a7de29978b3c25d6f80ccee88aa00125
Author: fsamuel <fsamuel@chromium.org>
Date: Fri Nov 18 22:28:04 2016

Add InProcessContextProvider and update InProcessCommandBuffer

The Mus-Gpu Display Compositor will use an InProcessContextProvider and
InProcessCommandBuffer in place of SurfacesContextProvider,
GpuChannelHost, and CommandBufferProxyImpl to avoid the IPC overhead of
those classes. This CL introduces InProcessContextProvider and allows
InProcessCommandBuffer to coexist with GpuCommandBufferStubs
on the same thread.

In particular, when an InProcessCommandBuffer hits a sync token, it
will now get descheduled if specified by
InProcessCommandBuffer::Service until the token is passed. At that
point, it will finish the flush and run all the operations that have
been queued up since the command buffer was descheduled. This enables
other command buffers on the same thread to make progress.

BUG= 661278 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

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

[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/android_webview/browser/aw_render_thread_context_provider.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/android_webview/browser/deferred_gpu_command_service.h
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/blimp/client/app/BUILD.gn
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/blimp/client/app/compositor/browser_compositor.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/blimp/client/app/compositor/browser_compositor.h
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/blimp/client/support/compositor/BUILD.gn
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/blimp/client/support/compositor/blimp_context_provider.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/blimp/client/support/compositor/blimp_context_provider.h
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/blimp/client/support/compositor/compositor_dependencies_impl.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/blimp/client/test/compositor/BUILD.gn
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/blimp/client/test/compositor/test_blimp_embedder_compositor.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/cc/BUILD.gn
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/cc/DEPS
[add] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/cc/output/in_process_context_provider.cc
[add] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/cc/output/in_process_context_provider.h
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/cc/test/test_in_process_context_provider.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/chrome/test/BUILD.gn
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/chrome/test/base/chrome_unit_test_suite.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/chrome/test/base/interactive_ui_tests_main.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/components/display_compositor/gl_helper_benchmark.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/components/display_compositor/gl_helper_unittest.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/components/display_compositor/yuv_readback_unittest.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/gpu/ipc/BUILD.gn
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/gpu/ipc/client/gpu_in_process_context_tests.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/gpu/ipc/gl_in_process_context.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/gpu/ipc/gl_in_process_context.h
[add] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/gpu/ipc/gpu_in_process_thread_service.cc
[add] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/gpu/ipc/gpu_in_process_thread_service.h
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/gpu/ipc/service/gpu_channel_manager.h
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/ui/compositor/test/in_process_context_factory.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/ui/compositor/test/in_process_context_factory.h
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/ui/compositor/test/in_process_context_provider.cc
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/ui/compositor/test/in_process_context_provider.h
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/ui/views/BUILD.gn
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/ui/views/DEPS
[modify] https://crrev.com/edc0c2c7a7de29978b3c25d6f80ccee88aa00125/ui/views/views_test_suite.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 22 2016

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

commit 4af1869e97cdf585994c422c22423f6d6fcf68ce
Author: fsamuel <fsamuel@chromium.org>
Date: Tue Nov 22 21:41:34 2016

Introduce Display Compositor mojo interface. Use InProcessContextProvider.

This CL makes a number of changes. I think it's easier to put it all together in a single
CL and easier to review. Here are the notable changes:

1. A new DisplayCompositor mojo interface has been introduced to create
CompositorFrameSinks and to update surface references.

2. Mus-WS code no longer knows about GpuCompositorFrameSink, instead
requesting a CompositorFrameSink from Mus-GPU (still in the same process for now).

3. Mus-WS no longer creates an internal GPU channel as display compositor code is
no longer accessed directly by Mus-WS.

4. Root windows with valid AcceleratedWidgets now create
InProcessContextProviders instead of SurfacesContextProviders (which use a
GpuChannelHost).

5. DirectOutputSurface, and DirectOutputSurfaceOzone no longer use SurfacesContextProvider.

6. SurfacesContextProvider has been deleted.

7. MusGpuCompositorFrameSink moves out of window server code as it's only used
internally by the display compositor.

BUG= 610937 ,  661278 

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

[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/cc/ipc/BUILD.gn
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/cc/ipc/display_compositor.mojom
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/cc/output/in_process_context_provider.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/gpu/ipc/gpu_in_process_thread_service.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/gpu/BUILD.gn
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/gpu/DEPS
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/gpu/gpu_service_internal.cc
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/gpu/gpu_service_internal.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/gpu/interfaces/gpu_service_internal.mojom
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/manifest.json
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/surfaces/BUILD.gn
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/surfaces/direct_output_surface.cc
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/surfaces/direct_output_surface.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/surfaces/direct_output_surface_ozone.cc
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/surfaces/direct_output_surface_ozone.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/surfaces/display_compositor.cc
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/surfaces/display_compositor.h
[rename] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/surfaces/gpu_compositor_frame_sink.cc
[rename] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/surfaces/gpu_compositor_frame_sink.h
[rename] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/surfaces/mus_gpu_memory_buffer_manager.cc
[rename] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/surfaces/mus_gpu_memory_buffer_manager.h
[delete] https://crrev.com/2aec8f5226381483e99636f6e8425914ba840538/services/ui/surfaces/surfaces_context_provider.cc
[delete] https://crrev.com/2aec8f5226381483e99636f6e8425914ba840538/services/ui/surfaces/surfaces_context_provider.h
[delete] https://crrev.com/2aec8f5226381483e99636f6e8425914ba840538/services/ui/surfaces/surfaces_context_provider_delegate.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/BUILD.gn
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/frame_generator.cc
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/frame_generator.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/gpu_service_proxy.cc
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/gpu_service_proxy.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/gpu_service_proxy_delegate.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/platform_display.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/platform_display_default.cc
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/platform_display_default.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/server_window.cc
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/server_window.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/server_window_compositor_frame_sink_manager.cc
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/server_window_compositor_frame_sink_manager.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/server_window_delegate.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/test_server_window_delegate.cc
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/test_server_window_delegate.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/test_utils.cc
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/test_utils.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/window_server.cc
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/window_server.h
[modify] https://crrev.com/4af1869e97cdf585994c422c22423f6d6fcf68ce/services/ui/ws/window_tree.cc

Owner: fsam...@chromium.org
Status: Fixed (was: Untriaged)
I'm marking this as FIXED now.

Sign in to add a comment