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

Issue 637920 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocked on:
issue 637923



Sign in to add a comment

ui service: Fix use of GpuMemoryBufferManager

Project Member Reported by sadrul@chromium.org, Aug 15 2016

Issue description

A mus client should use ui::MojoGpuMemoryBufferManager for managing memory in the gpu. There are some weird ways we do things right now:

 . ui::GpuService and ui::SurfaceContextFactory both creates separate MojoGpuMemoryBufferManager instances. We should ideally use a single manager (the one created by ui::GpuService).

 . In content/browser, we also create a separate BrowserGpuMemoryBufferManager. When chrome is run as a mus client, we should not use this, and use the MojoGpuMemoryBufferManager created by GpuService instead.

 . In content/renderer, we create a ChildGpuMemoryBufferManager. When running with --use-mus-in-renderer, we should not use this, and instead use the MojoGpuMemoryBufferManager created by the GpuService.
 

Comment 1 by sadrul@chromium.org, Aug 15 2016

Blockedon: 637923
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 16 2016

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

commit 1728c325de3deb076ca236e29e9295147e2b2737
Author: sadrul <sadrul@chromium.org>
Date: Tue Aug 16 03:16:32 2016

views/mus: Use the GpuMemoryBufferManager from GpuService.

Instead of creating a new MojoGpuMemoryBufferManager in SurfaceContextFactory,
use the one created by ui::GpuService.

BUG= 637920 

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

[modify] https://crrev.com/1728c325de3deb076ca236e29e9295147e2b2737/ui/views/mus/surface_context_factory.cc
[modify] https://crrev.com/1728c325de3deb076ca236e29e9295147e2b2737/ui/views/mus/surface_context_factory.h

Project Member

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

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

commit a78e33dec9fd79c95f94fa865cdd37518d31d245
Author: sadrul <sadrul@chromium.org>
Date: Tue Aug 16 20:11:21 2016

gpu: Use GpuMemoryBufferManager from GpuService when possible.

ui::GpuService creates a GpuMemoryBufferManager instance that communicates with
the gpu process over mojo (MojoGpuMemoryBufferManager). When running chrome as a
muc client, use this version of the GpuMemoryBufferManager, instead of the one
created in content. Add GpuChannelEstablishFactory::GetGpuMemoryBufferManager()
for this.

This makes it unnecessary to create the BrowserGpuChannelHostFactory or the
BrowserGpuMemoryBufferManager singleton intances when running chrome as a mus
client.

BUG= 637920 
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/2247173002
Cr-Commit-Position: refs/heads/master@{#412316}

[modify] https://crrev.com/a78e33dec9fd79c95f94fa865cdd37518d31d245/content/browser/browser_main_loop.cc
[modify] https://crrev.com/a78e33dec9fd79c95f94fa865cdd37518d31d245/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/a78e33dec9fd79c95f94fa865cdd37518d31d245/content/browser/gpu/browser_gpu_channel_host_factory.cc
[modify] https://crrev.com/a78e33dec9fd79c95f94fa865cdd37518d31d245/content/browser/gpu/browser_gpu_channel_host_factory.h
[modify] https://crrev.com/a78e33dec9fd79c95f94fa865cdd37518d31d245/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/a78e33dec9fd79c95f94fa865cdd37518d31d245/gpu/ipc/client/gpu_channel_host.h
[modify] https://crrev.com/a78e33dec9fd79c95f94fa865cdd37518d31d245/services/ui/public/cpp/gpu_service.cc
[modify] https://crrev.com/a78e33dec9fd79c95f94fa865cdd37518d31d245/services/ui/public/cpp/gpu_service.h

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

Labels: Proj-Mustash-Mus-GPU
Labels: Proj-Mustash
Components: Internals>MUS
Status: Fixed (was: Started)

Comment 8 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58

Comment 9 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 10 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 12 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)
Components: -Internals>MUS Internals>Services>WindowService
Components: -MUS

Sign in to add a comment