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

Issue 630895 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 586390



Sign in to add a comment

Complete GpuChannelManagerDelegate implementation in Mus

Project Member Reported by fsam...@chromium.org, Jul 24 2016

Issue description

There are a number of pieces of functionality that are unimplemented in GpuChannelManagerDelegate:

1. GpuMemoryBuffers
2. Disk cache
3. UMA stats
4. Blacklisting support

We should investigate each of these and implement them appropriately.

 
Components: Internals>GPU
Owner: sadrul@chromium.org
Status: Assigned (was: Untriaged)
Summary: Complete GpuChannelManagerDelegate implementation in Mus (was: Complete GpuChannelManagerDelete implementation in Mus)

Comment 3 by sadrul@chromium.org, Sep 13 2016

Labels: -gpurefactor Proj-Mustash-Mus-GPU
Labels: -Pri-3 M-55 Pri-2
Blocking: 586390
Project Member

Comment 6 by bugdroid1@chromium.org, Dec 8 2016

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

commit b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77
Author: sadrul <sadrul@chromium.org>
Date: Thu Dec 08 20:59:24 2016

mus/gpu: Introduce the GpuServiceHost mojom interface.

GpuServiceInternal uses the new host interface to notify the window
server when something happens. The window server does not actually
do anything in response yet.

BUG= 643746 ,  630895 

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

[modify] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/mojo/public/tools/bindings/chromium_bindings_configuration.gni
[modify] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/gpu/gpu_main.cc
[modify] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/gpu/gpu_main.h
[modify] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/gpu/gpu_service_internal.cc
[modify] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/gpu/gpu_service_internal.h
[modify] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/gpu/interfaces/BUILD.gn
[add] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/gpu/interfaces/context_lost_reason.mojom
[add] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/gpu/interfaces/context_lost_reason.typemap
[add] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/gpu/interfaces/context_lost_reason_traits.h
[modify] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/gpu/interfaces/gpu_main.mojom
[add] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/gpu/interfaces/gpu_service_host.mojom
[add] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/gpu/interfaces/typemaps.gni
[modify] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/ws/gpu_service_proxy.cc
[modify] https://crrev.com/b92e8e93d160e9b7fa1e8d0dca9a76d17ce71a77/services/ui/ws/gpu_service_proxy.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 11 2017

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

commit 273a38965bc5b14d88d54ae1b5eb455d0343f2b6
Author: sadrul <sadrul@chromium.org>
Date: Wed Jan 11 18:11:42 2017

mus-gpu: Include GpuPreferences when requesting for GpuService.

The gpu host should set up GpuPreferences correctly and send that
to the gpu process so that GpuService is initialized with the desired
settings. The corresponding chrome-ipc, GpuMsg_Initialize, also
includes the GpuPreferences.

Also includes a build fix for mac.

BUG= 643746 ,  630895 

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

[modify] https://crrev.com/273a38965bc5b14d88d54ae1b5eb455d0343f2b6/services/ui/gpu/gpu_main.cc
[modify] https://crrev.com/273a38965bc5b14d88d54ae1b5eb455d0343f2b6/services/ui/gpu/gpu_main.h
[modify] https://crrev.com/273a38965bc5b14d88d54ae1b5eb455d0343f2b6/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/273a38965bc5b14d88d54ae1b5eb455d0343f2b6/services/ui/gpu/gpu_service.h
[modify] https://crrev.com/273a38965bc5b14d88d54ae1b5eb455d0343f2b6/services/ui/gpu/interfaces/gpu_host.mojom
[modify] https://crrev.com/273a38965bc5b14d88d54ae1b5eb455d0343f2b6/services/ui/gpu/interfaces/gpu_main.mojom
[modify] https://crrev.com/273a38965bc5b14d88d54ae1b5eb455d0343f2b6/services/ui/ws/gpu_host.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 11 2017

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

commit 6c5aed8c3c8b5a67bff553badfe229f96f3fff23
Author: sadrul <sadrul@chromium.org>
Date: Wed Jan 11 23:11:44 2017

content/gpu: Set up a mojom connection between browser and gpu.

Set up a mojom connection for content-browser to talk to content-gpu
through the mojom.GpuMain interface. Subsequent CLs will add code to
allow chrome-browser to set up a mojom.GpuService connection through
GpuMain to the gpu process. This GpuService will replace the existing
chrome-ipc messages between chrome-browser and chrome-gpu.

BUG= 643746 ,  630895 

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

[modify] https://crrev.com/6c5aed8c3c8b5a67bff553badfe229f96f3fff23/content/browser/BUILD.gn
[modify] https://crrev.com/6c5aed8c3c8b5a67bff553badfe229f96f3fff23/content/browser/browser_child_process_host_impl.cc
[modify] https://crrev.com/6c5aed8c3c8b5a67bff553badfe229f96f3fff23/content/browser/browser_child_process_host_impl.h
[modify] https://crrev.com/6c5aed8c3c8b5a67bff553badfe229f96f3fff23/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/6c5aed8c3c8b5a67bff553badfe229f96f3fff23/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/6c5aed8c3c8b5a67bff553badfe229f96f3fff23/content/common/child_process_host_impl.cc
[modify] https://crrev.com/6c5aed8c3c8b5a67bff553badfe229f96f3fff23/content/gpu/BUILD.gn
[modify] https://crrev.com/6c5aed8c3c8b5a67bff553badfe229f96f3fff23/content/gpu/DEPS
[modify] https://crrev.com/6c5aed8c3c8b5a67bff553badfe229f96f3fff23/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/6c5aed8c3c8b5a67bff553badfe229f96f3fff23/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/6c5aed8c3c8b5a67bff553badfe229f96f3fff23/content/public/app/mojo/content_gpu_manifest.json
[modify] https://crrev.com/6c5aed8c3c8b5a67bff553badfe229f96f3fff23/content/public/common/child_process_host_delegate.h

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 12 2017

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

commit 0e84ee428168105852608f4a900081e58f3084a2
Author: sadrul <sadrul@chromium.org>
Date: Thu Jan 12 21:21:33 2017

mus: Correctly set the crash-key for mus-gpu.

Make sure the active URL is correctly set for crash reports.

BUG= 643746 ,  630895 

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

[modify] https://crrev.com/0e84ee428168105852608f4a900081e58f3084a2/services/ui/gpu/gpu_service.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Jan 24 2017

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

commit 72aae8ab52b19f803d4a1ef794bb5783190bf32b
Author: sadrul <sadrul@chromium.org>
Date: Tue Jan 24 04:52:32 2017

gpu: Use mus gpu interface in non-mus chrome.

Start using mojom::GpuMain, mojom::GpuHost, and mojom::GpuService API in
chrome. Notable changes:
. GpuChildThread becomes a mojom::GpuMain, and is responsible for
  providing mojom::GpuService (implemented by GpuService in mus).
. GpuProcessHost becomes a mojom::GpuHost, and is responsible for talking
  to the gpu process using mojom::GpuService api, created through
  mojom::GpuMain.
. GpuChildThread now depends on GpuService to provide implementation of
  gpu::SyncPointManager (except on android-webview, where it still uses
  the one provided by the ContentClient), gpu::GpuChannelManager,
  media::MediaGpuChannelManager, and gpu::GpuWatchdogThread. In
  subsequent CLs, GpuChildThread will  depend on GpuService for
  additional things (e.g. GpuMemoryBufferFactory etc.)
. Using GpuService from GpuChildThread allows removal of chrome IPC
  msgs used by GpuChildThread for implementing GpuChannelManagerDelegate.
. Remove GpuMsg_Initialize message, since GpuProcessHost no longer sends
  this message to gpu process. Instead, it uses GpuMain::CreateGpuService
  for initialization. Subsequent CLs will remove additional chrome IPC
  messages, and replace them with appropriate mojom API in mojom::GpuHost
  and mojom::GpuService.

Use associated interface for GpuMain to preserve message ordering, until
all the gpu messages are converted to use mojo.

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

BUG= 643746 ,  630895 

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

[modify] https://crrev.com/72aae8ab52b19f803d4a1ef794bb5783190bf32b/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/72aae8ab52b19f803d4a1ef794bb5783190bf32b/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/72aae8ab52b19f803d4a1ef794bb5783190bf32b/content/common/gpu_host_messages.h
[modify] https://crrev.com/72aae8ab52b19f803d4a1ef794bb5783190bf32b/content/gpu/BUILD.gn
[modify] https://crrev.com/72aae8ab52b19f803d4a1ef794bb5783190bf32b/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/72aae8ab52b19f803d4a1ef794bb5783190bf32b/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/72aae8ab52b19f803d4a1ef794bb5783190bf32b/content/gpu/gpu_main.cc
[modify] https://crrev.com/72aae8ab52b19f803d4a1ef794bb5783190bf32b/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/72aae8ab52b19f803d4a1ef794bb5783190bf32b/services/ui/gpu/gpu_service.h

Project Member

Comment 12 by bugdroid1@chromium.org, Mar 1 2017

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

commit 3ab0a53354e466b4da17cce0f7e59def76fc6190
Author: sadrul <sadrul@chromium.org>
Date: Wed Mar 01 03:16:45 2017

gpu: Use mojom API for getting video memory usage.

Continue to replace chrome IPC messages with corresponding mojo API used
for mus. This CL removes the messages for getting the video memory usage
stats.

BUG= 643746 ,  630895 
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/2717233003
Cr-Commit-Position: refs/heads/master@{#453816}

[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/content/browser/gpu/gpu_process_host_ui_shim.cc
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/content/browser/gpu/gpu_process_host_ui_shim.h
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/content/common/gpu_host_messages.h
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/gpu/ipc/common/BUILD.gn
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/gpu/ipc/common/OWNERS
[add] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/gpu/ipc/common/memory_stats.mojom
[add] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/gpu/ipc/common/memory_stats.typemap
[add] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/gpu/ipc/common/memory_stats_struct_traits.h
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/gpu/ipc/common/typemaps.gni
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/services/ui/gpu/gpu_service.h
[modify] https://crrev.com/3ab0a53354e466b4da17cce0f7e59def76fc6190/services/ui/gpu/interfaces/gpu_service.mojom

Status: Fixed (was: Assigned)

Sign in to add a comment