window-service: A single viz::GpuClient should be used for a client |
||||
Issue descriptionws::Gpu creates two separate requests for mojom.Gpu implementation: one for setting up the gpu-channel (etc.), and another for gpu-memory allocation. For renderers (in classic mode), both requests are serviced by the same instance of viz::GpuClient [1]. When using the window-service, however, each request ends up creating a new instance of viz::GpuClient (for single-process mash: [2], for multi-process mash: [3]). This means these two interfaces are using different client-ids, for the same client. The fix would be to make sure that a single viz::GpuClient instance is used for the same client. Tentatively assigning to mohsen@. [1] All mojom.Gpu requests are attached to the same GpuClient instance: https://cs.chromium.org/chromium/src/content/browser/renderer_host/render_process_host_impl.cc?l=2187 [2] https://cs.chromium.org/chromium/src/content/browser/gpu/gpu_client.cc?g=0&l=24 [3] https://cs.chromium.org/chromium/src/ash/ws/ash_gpu_interface_provider.cc?targetos=chromium-chromeos&g=0&l=55
,
Dec 7
,
Dec 7
,
Dec 10
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a2a7d8beece0d148176aba38b3884fd02c823cad commit a2a7d8beece0d148176aba38b3884fd02c823cad Author: Scott Violet <sky@chromium.org> Date: Mon Dec 10 19:06:48 2018 gpu: changes ws::Gpu to use the same mojom::GpuPtr for creating memory buffer Previously ws::Gpu created two requests for mojom::GpuPtr. This resulted in two distinct viz::GpuClients (on the server) and limited sharing. This uses a single mojom::GpuPtr. BUG= 911240 TEST=none Change-Id: I9db9852d675c6cdc1b399887d211c233b3e6a1b1 Reviewed-on: https://chromium-review.googlesource.com/c/1368307 Reviewed-by: Mohsen Izadi <mohsen@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#615193} [modify] https://crrev.com/a2a7d8beece0d148176aba38b3884fd02c823cad/services/ws/public/cpp/gpu/client_gpu_memory_buffer_manager.cc [modify] https://crrev.com/a2a7d8beece0d148176aba38b3884fd02c823cad/services/ws/public/cpp/gpu/client_gpu_memory_buffer_manager.h [modify] https://crrev.com/a2a7d8beece0d148176aba38b3884fd02c823cad/services/ws/public/cpp/gpu/gpu.cc [modify] https://crrev.com/a2a7d8beece0d148176aba38b3884fd02c823cad/services/ws/public/cpp/gpu/gpu.h [modify] https://crrev.com/a2a7d8beece0d148176aba38b3884fd02c823cad/services/ws/public/cpp/tests/gpu_unittest.cc
,
Dec 10
|
||||
►
Sign in to add a comment |
||||
Comment 1 by piman@chromium.org
, Dec 3