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.
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
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
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
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
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
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/550e264fded00563fd094dfdf527b5073924432b commit 550e264fded00563fd094dfdf527b5073924432b Author: sadrul <sadrul@chromium.org> Date: Tue Feb 14 03:44:57 2017 gpu: Use mojom API for creating gpu channel. chrome-gpu and chrome-browser already talk over the mojom API for some things (e.g. initialization). Update these to use the mojom API for creating a gpu channel too. BUG= 643746 , 630895 Review-Url: https://codereview.chromium.org/2696473002 Cr-Commit-Position: refs/heads/master@{#450225} [modify] https://crrev.com/550e264fded00563fd094dfdf527b5073924432b/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/550e264fded00563fd094dfdf527b5073924432b/content/browser/gpu/gpu_process_host.h [modify] https://crrev.com/550e264fded00563fd094dfdf527b5073924432b/content/common/gpu_host_messages.h [modify] https://crrev.com/550e264fded00563fd094dfdf527b5073924432b/content/gpu/gpu_child_thread.cc [modify] https://crrev.com/550e264fded00563fd094dfdf527b5073924432b/content/gpu/gpu_child_thread.h [modify] https://crrev.com/550e264fded00563fd094dfdf527b5073924432b/services/ui/gpu/interfaces/gpu_service.mojom
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
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/16d36323ee408ce8d5f7b77ff6975718b5d6eed0 commit 16d36323ee408ce8d5f7b77ff6975718b5d6eed0 Author: sadrul <sadrul@chromium.org> Date: Wed Mar 29 00:57:16 2017 gpu: Use mojom.GpuService API for memory allocation. Continue to replace chrome IPC messages with corresponding mojo API used for mus. This CL removes the messages for gpu memory [de]allocations. BUG= 643746 , 630895 Review-Url: https://codereview.chromium.org/2701233002 Cr-Commit-Position: refs/heads/master@{#460253} [modify] https://crrev.com/16d36323ee408ce8d5f7b77ff6975718b5d6eed0/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/16d36323ee408ce8d5f7b77ff6975718b5d6eed0/content/browser/gpu/gpu_process_host.h [modify] https://crrev.com/16d36323ee408ce8d5f7b77ff6975718b5d6eed0/content/common/gpu_host_messages.h [modify] https://crrev.com/16d36323ee408ce8d5f7b77ff6975718b5d6eed0/content/gpu/gpu_child_thread.cc [modify] https://crrev.com/16d36323ee408ce8d5f7b77ff6975718b5d6eed0/content/gpu/gpu_child_thread.h
Comment 1 by msrchandra@chromium.org
, Aug 9 2016