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

Issue 643746 link

Starred by 7 users

Issue metadata

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

Blocking:
issue 609317



Sign in to add a comment

Share more code between chrome-gpu and mus-gpu

Project Member Reported by sadrul@chromium.org, Sep 2 2016

Issue description

As we work on the mus-gpu process, we want to use as much of the chrome-gpu code as possible.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 7 2016

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

commit 2b91090ab9e62ebf9d3577d21c286b307a3e45f5
Author: sadrul <sadrul@chromium.org>
Date: Wed Sep 07 00:51:54 2016

gpu: Delete unnecessary code.

gpu::GetNativeGpuMemoryBufferType() never returns SHARED_MEMORY_BUFFER.
So there's no reason to have special code that handles this case in
IsNativeGpuMemoryBufferFactoryConfigurationSupported() (which is
implemented in both content and mus). So delete this code, and update
gpu::IsNativeGpuMemoryBufferConfigurationSupported() to check that the
native type is never SHARED_MEMORY_BUFFER or EMPTY_BUFFER.

BUG= 643746 
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/2316733002
Cr-Commit-Position: refs/heads/master@{#416804}

[modify] https://crrev.com/2b91090ab9e62ebf9d3577d21c286b307a3e45f5/content/browser/gpu/browser_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/2b91090ab9e62ebf9d3577d21c286b307a3e45f5/gpu/ipc/common/gpu_memory_buffer_support.cc
[modify] https://crrev.com/2b91090ab9e62ebf9d3577d21c286b307a3e45f5/services/ui/ws/mus_gpu_memory_buffer_manager.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Sep 7 2016

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

commit ed3959254287bab08d0922cdbc295611e3275b30
Author: sadrul <sadrul@chromium.org>
Date: Wed Sep 07 17:32:58 2016

gpu: Unify code to initialize dual-gpu mode.

BUG= 643746 
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/2312173003
Cr-Commit-Position: refs/heads/master@{#416981}

[modify] https://crrev.com/ed3959254287bab08d0922cdbc295611e3275b30/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/ed3959254287bab08d0922cdbc295611e3275b30/content/gpu/gpu_main.cc
[modify] https://crrev.com/ed3959254287bab08d0922cdbc295611e3275b30/gpu/config/gpu_util.cc
[modify] https://crrev.com/ed3959254287bab08d0922cdbc295611e3275b30/gpu/config/gpu_util.h

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 9 2016

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

commit 454af333cd3626311ac08f7128ee48984b5ecfb1
Author: sadrul <sadrul@chromium.org>
Date: Fri Sep 09 18:14:32 2016

gpu: Introduce GpuInit.

Consolidate some of the gpu initialization code into GpuInit, so that the same
initialization code can be used in chrome, and mus. GpuInit is responsible for:

. Creating (and owning) the GpuWatchdogThread (when applicable).
. Deciding when to enter the sandbox.
. Deciding whether GPU initialization failed (i.e. dead on arrival).
. Initializing GL (when applicable), and applying driver bug workarounds.
. Initializing dual-gpu support (when applicable).
. Computing GPUInfo.

Some possibly notable changes:
. In order to decide whether GL still needs to be initialized or not, the old
  code used to look at the --no-sandbox or --in-process-gpu flags. This change
  instead looks at the current GL implementation, and there isn't one, then it
  attempts to initialize GL.
. Changes the order of initialization of some of the components. For example,
  the old code used to initialize the message-loop after intializing dual-gpu
  support. It also used to initialize StatisticsRecorder, set thread priority
  after creating the watchdog etc. The new code initializes these first,
  before initializing the components GpuInit is responsible for.
. --disable-gpu-watchdog and --gpu-sandbox-start-early flags are moved into
  //gpu/ipc/service.
. Some gpu::GPUInfo related flags (e.g. --gpu-device-id, --gpu-driver-vendor,
  --gpu-driver-version, --gpu-driver-date, --gpu-vendor-id) move into
  //gpu/config.

BUG= 643746 
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/2322123002
Cr-Commit-Position: refs/heads/master@{#417634}

[modify] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/chrome/browser/chromeos/login/chrome_restart_request.cc
[modify] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/content/gpu/gpu_main.cc
[modify] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/content/public/common/content_switches.cc
[modify] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/content/public/common/content_switches.h
[modify] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/gpu/config/gpu_switches.cc
[modify] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/gpu/config/gpu_switches.h
[modify] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/gpu/ipc/service/BUILD.gn
[add] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/gpu/ipc/service/gpu_init.cc
[add] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/gpu/ipc/service/gpu_init.h
[add] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/gpu/ipc/service/switches.cc
[add] https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1/gpu/ipc/service/switches.h

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 12 2016

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

commit 1de77ecc00dc3cad6363919340d80e06f8b920bc
Author: lazyboy <lazyboy@chromium.org>
Date: Mon Sep 12 23:41:04 2016

Revert of services/ui: Use new gpu::GpuInit to do the GPU initialization. (patchset #3 id:40001 of https://codereview.chromium.org/2329543002/ )

Reason for revert:
Lots of mus_ws_unittests started failing on Linux Tests dbg and Linux Tests, e.g.:
https://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%281%29%2832%29/builds/33286
BUG= 646186 

Original issue's description:
> services/ui: Use new gpu::GpuInit to do the GPU initialization.
>
> BUG= 643746 
>
> Committed: https://crrev.com/8b2d8a7287c3a02a2398aded54429d5b2f1b411a
> Cr-Commit-Position: refs/heads/master@{#418062}

TBR=fsamuel@chromium.org,sky@chromium.org,sadrul@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 643746 

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

[modify] https://crrev.com/1de77ecc00dc3cad6363919340d80e06f8b920bc/services/ui/gpu/BUILD.gn
[delete] https://crrev.com/7d8fc6b4365fa14e80b83213fa7ea5f77fd43f9b/services/ui/gpu/gpu_main.cc
[delete] https://crrev.com/7d8fc6b4365fa14e80b83213fa7ea5f77fd43f9b/services/ui/gpu/gpu_main.h
[modify] https://crrev.com/1de77ecc00dc3cad6363919340d80e06f8b920bc/services/ui/gpu/gpu_service_internal.cc
[modify] https://crrev.com/1de77ecc00dc3cad6363919340d80e06f8b920bc/services/ui/gpu/gpu_service_internal.h
[modify] https://crrev.com/1de77ecc00dc3cad6363919340d80e06f8b920bc/services/ui/ws/DEPS
[modify] https://crrev.com/1de77ecc00dc3cad6363919340d80e06f8b920bc/services/ui/ws/gpu_service_proxy.cc
[modify] https://crrev.com/1de77ecc00dc3cad6363919340d80e06f8b920bc/services/ui/ws/gpu_service_proxy.h

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 13 2016

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

commit 9894bae5c1e1f03ab2b14f7b2325296587002a58
Author: sadrul <sadrul@chromium.org>
Date: Tue Sep 13 16:52:05 2016

services/ui: Avoid thread hopping in the gpu process.

Bind the GpuServiceInternal request on the gpu thread, instead of in the
main thread. This means it is possible to service a request from the host
without thread hopping between the main and gpu threads.

BUG= 643746 

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

[modify] https://crrev.com/9894bae5c1e1f03ab2b14f7b2325296587002a58/services/ui/gpu/gpu_service_internal.cc
[modify] https://crrev.com/9894bae5c1e1f03ab2b14f7b2325296587002a58/services/ui/gpu/gpu_service_internal.h

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 13 2016

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

commit d1cca1e62f682bb2c84a9272c603c4d3aa40047b
Author: sadrul <sadrul@chromium.org>
Date: Tue Sep 13 19:51:35 2016

Revert of services/ui: Avoid thread hopping in the gpu process. (patchset #3 id:40001 of https://codereview.chromium.org/2329043002/ )

Reason for revert:
mus_ws_unittests on linux debug builders are crashing:

[11191:11245:0913/111107:210172940:FATAL:lock_impl_posix.cc(65)] Check failed: rv == 0 (22 vs. 0). Invalid argument
#0 0x7f806072969e base::debug::StackTrace::StackTrace()
#1 0x7f806079332f logging::LogMessage::~LogMessage()
#2 0x7f806089106d base::internal::LockImpl::Lock()
#3 0x7f80606f9d23 base::Lock::Acquire()
#4 0x7f80606f99c3 base::AutoLock::AutoLock()
#5 0x7f8060857364 base::SequenceCheckerImpl::CalledOnValidSequence()
#6 0x000000660eba base::Thread::task_runner()
#7 0x0000006606b2 ui::GpuServiceInternal::Initialize()
#8 0x0000006a14f0 ui::mojom::GpuServiceInternalStub::AcceptWithResponder()
...

Original issue's description:
> services/ui: Avoid thread hopping in the gpu process.
>
> Bind the GpuServiceInternal request on the gpu thread, instead of in the
> main thread. This means it is possible to service a request from the host
> without thread hopping between the main and gpu threads.
>
> BUG= 643746 
>
> Committed: https://crrev.com/9894bae5c1e1f03ab2b14f7b2325296587002a58
> Cr-Commit-Position: refs/heads/master@{#418275}

TBR=fsamuel@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 643746 

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

[modify] https://crrev.com/d1cca1e62f682bb2c84a9272c603c4d3aa40047b/services/ui/gpu/gpu_service_internal.cc
[modify] https://crrev.com/d1cca1e62f682bb2c84a9272c603c4d3aa40047b/services/ui/gpu/gpu_service_internal.h

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 14 2016

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

commit 08f982ad2a3cf6d5b0ce5fc7326e01b3f6073b10
Author: sadrul <sadrul@chromium.org>
Date: Wed Sep 14 03:04:53 2016

services/ui: Avoid thread hopping in the gpu process.

Bind the GpuServiceInternal request on the gpu thread, instead of in the
main thread. This means it is possible to service a request from the host
without thread hopping between the main and gpu threads.

BUG= 643746 

Committed: https://crrev.com/9894bae5c1e1f03ab2b14f7b2325296587002a58
Review-Url: https://codereview.chromium.org/2329043002
Cr-Original-Commit-Position: refs/heads/master@{#418275}
Cr-Commit-Position: refs/heads/master@{#418468}

[modify] https://crrev.com/08f982ad2a3cf6d5b0ce5fc7326e01b3f6073b10/services/ui/gpu/gpu_service_internal.cc
[modify] https://crrev.com/08f982ad2a3cf6d5b0ce5fc7326e01b3f6073b10/services/ui/gpu/gpu_service_internal.h

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 15 2016

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

commit 4309080a7d997b64c83775822f08b65fdc449a5f
Author: sadrul <sadrul@chromium.org>
Date: Thu Sep 15 02:14:17 2016

services/ui: Use the right type of message-pump in gpu.

gpu thread in chrome gpu process uses different types of message-pumps in
different platforms (e.g. MessagePumpGpu on Windows etc.) Make sure mus
gpu does the same.

Also, set the gpu thread priority to DISPLAY, on android and cros.

BUG= 643746 

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

[modify] https://crrev.com/4309080a7d997b64c83775822f08b65fdc449a5f/services/ui/gpu/gpu_service_internal.cc

Project Member

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

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

commit b9ff6c9da80f39e37c8f44cd0f9d8749f0fa377f
Author: sadrul <sadrul@chromium.org>
Date: Tue Oct 04 02:40:04 2016

content: Remove gpu memory buffer manager from ChildThreadImpl.

Only RenderThreadImpl does anything with the gpu memory buffer manager.
So move it out of ChildThreadImpl into RenderThreadImpl.

This also ensures that if mus is used, then ChildGpuMemoryBufferManager
is not created and accidentally used. This fixes a crash in extensions
using the tab-capture api when running with --use-mus-in-renderer.

BUG= 643746 

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

[modify] https://crrev.com/b9ff6c9da80f39e37c8f44cd0f9d8749f0fa377f/content/child/child_thread_impl.cc
[modify] https://crrev.com/b9ff6c9da80f39e37c8f44cd0f9d8749f0fa377f/content/child/child_thread_impl.h
[modify] https://crrev.com/b9ff6c9da80f39e37c8f44cd0f9d8749f0fa377f/content/child/child_thread_impl_browsertest.cc
[modify] https://crrev.com/b9ff6c9da80f39e37c8f44cd0f9d8749f0fa377f/content/renderer/media/renderer_gpu_video_accelerator_factories.cc
[modify] https://crrev.com/b9ff6c9da80f39e37c8f44cd0f9d8749f0fa377f/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/b9ff6c9da80f39e37c8f44cd0f9d8749f0fa377f/content/renderer/render_thread_impl.h
[modify] https://crrev.com/b9ff6c9da80f39e37c8f44cd0f9d8749f0fa377f/content/renderer/render_thread_impl_browsertest.cc
[modify] https://crrev.com/b9ff6c9da80f39e37c8f44cd0f9d8749f0fa377f/content/renderer/renderer_blink_platform_impl.cc

Project Member

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

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

commit 25360f4fcff36a27834a5735fde5661f06bf668f
Author: sadrul <sadrul@chromium.org>
Date: Tue Nov 01 16:28:12 2016

gpu: Remove some GpuProcessHost dependency from shader cache.

Install a callback in ShaderDiskCache from GpuProcessHost to run when
shader data is loaded from the cache. This removes one of the content
dependencies from the shader cache code.

A subsequent CL will remove the dependency on BrowserThread, and then
the shader cache code can move out of content so that it can be
shared with services/ui.

BUG= 643746 

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

[modify] https://crrev.com/25360f4fcff36a27834a5735fde5661f06bf668f/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/25360f4fcff36a27834a5735fde5661f06bf668f/content/browser/gpu/shader_disk_cache.cc
[modify] https://crrev.com/25360f4fcff36a27834a5735fde5661f06bf668f/content/browser/gpu/shader_disk_cache.h

Project Member

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

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

commit 0bb0ba87fa9ea8441575b798b91309986aee400d
Author: sadrul <sadrul@chromium.org>
Date: Thu Nov 03 12:50:57 2016

gpu shader cache: Clarify lifetime/ownership/threadiness of objects.

Notable changes:
. Instead of using BrowserThread from ShaderCacheFactory, inject the
  relevant task runners. This requires having an explicit creation step
  for the factory (ShaderCacheFactory::InitInstance()). Also, make the
  factory a ThreadChecker, and DCHECK that it is being used from a single
  thread.

. Make ShaderDiskReadHelper non-refcounted. Instead, make ShaderDiskCache
  its explicit owner. This is safe, since ShaderDiskReadHelper used to
  have a weak pointer to the ShaderDiskCache, and not perform any action
  if the cache had been destroyed. So it makes sense to simply destroy
  the helper with the cache.

. Make ShaderDiskCacheEntry non-refcounted. Like read-helper, this too
  used to have a weak pointer to the ShaderDiskCache, and not perform any
  action if the cache had been destroyed. So have the ShaderDiskCache own
  the cache-entry objects.

. DCHECK that ShaderDiskReadHelper and ShaderDiskCacheEntry objects are
  destroyed in the same thread as they are created in. This also
  simplifies the dtors.

. ShaderDiskCache no longer needs to be a SupportsWeakPtr<>, since only
  the cache-entry and the read-helper objects used to have the weak
  pointers, and they no longer do.

This removes the last dependency on the rest of the content code from
the gpu shader cache code.

BUG= 643746 

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

[modify] https://crrev.com/0bb0ba87fa9ea8441575b798b91309986aee400d/content/browser/browser_main_loop.cc
[modify] https://crrev.com/0bb0ba87fa9ea8441575b798b91309986aee400d/content/browser/gpu/shader_disk_cache.cc
[modify] https://crrev.com/0bb0ba87fa9ea8441575b798b91309986aee400d/content/browser/gpu/shader_disk_cache.h
[modify] https://crrev.com/0bb0ba87fa9ea8441575b798b91309986aee400d/content/browser/gpu/shader_disk_cache_unittest.cc
[modify] https://crrev.com/0bb0ba87fa9ea8441575b798b91309986aee400d/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/0bb0ba87fa9ea8441575b798b91309986aee400d/content/browser/storage_partition_impl_unittest.cc

Project Member

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

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

commit 39292a014665bbbb39ed7f8cc2b7a5423d2c5696
Author: sadrul <sadrul@chromium.org>
Date: Fri Nov 04 01:44:21 2016

gpu shader cache: Make ShaderClearHelper non-refcounted.

Make ShaderCacheFactory own the ShaderClearHelper objects. The only
use of the ref-count was for the helper object deal with the factory
destroying it. But the helper objects knows when that happens, so make
it deal with that explicitly.

BUG= 643746 

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

[modify] https://crrev.com/39292a014665bbbb39ed7f8cc2b7a5423d2c5696/content/browser/gpu/shader_disk_cache.cc
[modify] https://crrev.com/39292a014665bbbb39ed7f8cc2b7a5423d2c5696/content/browser/gpu/shader_disk_cache.h

Project Member

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

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

commit 537e5ca6e3115aace06a3573aaa29b33345363c5
Author: sadrul <sadrul@chromium.org>
Date: Mon Nov 07 19:03:56 2016

mus: Remove unnecessary GpuMemoryBuffer code from client-lib.

The gfx::GpuMemoryBuffer implementations in the mus client lib
do not do the right thing, and are not really necessary. Remove
the code, and instead use the same implementation in gpu-client
that content uses.

The code is still not right: instead of getting memory buffer
from the host, the code allocates shared memory on the client
side. When returning memory, the code ignores the sync token.
These issues will be fixed in future CLs.

BUG= 643746 

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

[modify] https://crrev.com/537e5ca6e3115aace06a3573aaa29b33345363c5/services/ui/public/cpp/BUILD.gn
[delete] https://crrev.com/c441eed3a5dd0b720a993038179f01b119d3aee0/services/ui/public/cpp/gpu_memory_buffer_impl.cc
[delete] https://crrev.com/c441eed3a5dd0b720a993038179f01b119d3aee0/services/ui/public/cpp/gpu_memory_buffer_impl.h
[delete] https://crrev.com/c441eed3a5dd0b720a993038179f01b119d3aee0/services/ui/public/cpp/mojo_gpu_memory_buffer.cc
[delete] https://crrev.com/c441eed3a5dd0b720a993038179f01b119d3aee0/services/ui/public/cpp/mojo_gpu_memory_buffer.h
[modify] https://crrev.com/537e5ca6e3115aace06a3573aaa29b33345363c5/services/ui/public/cpp/mojo_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/537e5ca6e3115aace06a3573aaa29b33345363c5/services/ui/public/cpp/mojo_gpu_memory_buffer_manager.h

Project Member

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

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

commit 4f2b76d28896df4fc12d768eb1d9a5c7a9602211
Author: sadrul <sadrul@chromium.org>
Date: Wed Nov 09 02:29:45 2016

mus: Get the gpu memory buffer from the window server.

Instead of allocating shared memory on the client side, allocate it
from the gpu host (i.e. the window server). The window server still
isn't complete: it currently always allocates shared memory. In
subsequent CLs, the window server will be updated to allocate native
gpu memory throug mus-gpu.

BUG= 643746 

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

[modify] https://crrev.com/4f2b76d28896df4fc12d768eb1d9a5c7a9602211/services/ui/public/cpp/gpu_service.cc
[modify] https://crrev.com/4f2b76d28896df4fc12d768eb1d9a5c7a9602211/services/ui/public/cpp/mojo_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/4f2b76d28896df4fc12d768eb1d9a5c7a9602211/services/ui/public/cpp/mojo_gpu_memory_buffer_manager.h
[modify] https://crrev.com/4f2b76d28896df4fc12d768eb1d9a5c7a9602211/services/ui/public/interfaces/gpu_service.mojom
[modify] https://crrev.com/4f2b76d28896df4fc12d768eb1d9a5c7a9602211/services/ui/ws/gpu_service_proxy.cc
[modify] https://crrev.com/4f2b76d28896df4fc12d768eb1d9a5c7a9602211/services/ui/ws/gpu_service_proxy.h
[modify] https://crrev.com/4f2b76d28896df4fc12d768eb1d9a5c7a9602211/ui/gfx/mojo/buffer_types_traits.cc

Project Member

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

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

commit f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01
Author: sadrul <sadrul@chromium.org>
Date: Tue Nov 15 00:40:02 2016

gpu: Reuse existing code for shared memory allocation.

Introduce base::SharedMemory::TakeHandle() to take ownership of the handle
to shared memory. This is in order to avoid unnecessary DuplicateHandle(),
or GiveToProcess(), which is already taken care of by mojo, since these
shm handles go over a mojo message-pipe.

BUG= 643746 
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/2496783002
Cr-Commit-Position: refs/heads/master@{#432022}

[modify] https://crrev.com/f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01/base/memory/shared_memory.h
[modify] https://crrev.com/f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01/base/memory/shared_memory_mac.cc
[modify] https://crrev.com/f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01/base/memory/shared_memory_nacl.cc
[modify] https://crrev.com/f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01/base/memory/shared_memory_posix.cc
[modify] https://crrev.com/f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01/base/memory/shared_memory_win.cc
[modify] https://crrev.com/f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01/content/browser/gpu/browser_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01/content/browser/renderer_host/render_message_filter.cc
[modify] https://crrev.com/f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01/content/common/child_process_host_impl.cc
[modify] https://crrev.com/f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01/content/common/child_process_host_impl.h
[modify] https://crrev.com/f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01/gpu/ipc/client/gpu_memory_buffer_impl_shared_memory.cc
[modify] https://crrev.com/f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01/gpu/ipc/client/gpu_memory_buffer_impl_shared_memory.h
[modify] https://crrev.com/f08f1e4acadc0e8d6ad4aae2b0702d5a0b2eee01/services/ui/ws/gpu_service_proxy.cc

Project Member

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

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

commit 7132ff590b6dc39d244c578899985df7c63797f9
Author: sadrul <sadrul@chromium.org>
Date: Fri Nov 18 17:44:29 2016

mus: Split the gpu client-lib into a separate component.

Create //services/ui/public/cpp/gpu component to talk to the mus
window server for doing gpu related work (e.g. making connection,
allocating gpu memory etc.). Use this same component from both
the aura and the non-aura client libs, so that we don't have to
maintain the same code in both places.

BUG= 643746 
TBR=ben@ for trivial #include update in content/renderer

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

[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/ash/mus/window_manager_application.cc
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/services/ui/demo/bitmap_uploader.cc
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/services/ui/demo/mus_demo.cc
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/services/ui/public/cpp/BUILD.gn
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/services/ui/public/cpp/gles2_context.cc
[add] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/services/ui/public/cpp/gpu/BUILD.gn
[rename] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/services/ui/public/cpp/gpu/gpu_service.cc
[rename] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/services/ui/public/cpp/gpu/gpu_service.h
[rename] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/services/ui/public/cpp/gpu/mojo_gpu_memory_buffer_manager.cc
[rename] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/services/ui/public/cpp/gpu/mojo_gpu_memory_buffer_manager.h
[delete] https://crrev.com/b33e49953078995f1cd28663a8a8b43012ac2eb0/services/ui/public/cpp/mojo_buffer_backing.cc
[delete] https://crrev.com/b33e49953078995f1cd28663a8a8b43012ac2eb0/services/ui/public/cpp/mojo_buffer_backing.h
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/services/ui/public/cpp/window_compositor_frame_sink.cc
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/ui/aura/BUILD.gn
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/ui/aura/mus/DEPS
[delete] https://crrev.com/b33e49953078995f1cd28663a8a8b43012ac2eb0/ui/aura/mus/gpu_memory_buffer_impl.cc
[delete] https://crrev.com/b33e49953078995f1cd28663a8a8b43012ac2eb0/ui/aura/mus/gpu_memory_buffer_impl.h
[delete] https://crrev.com/b33e49953078995f1cd28663a8a8b43012ac2eb0/ui/aura/mus/gpu_service.cc
[delete] https://crrev.com/b33e49953078995f1cd28663a8a8b43012ac2eb0/ui/aura/mus/gpu_service.h
[delete] https://crrev.com/b33e49953078995f1cd28663a8a8b43012ac2eb0/ui/aura/mus/mojo_gpu_memory_buffer.cc
[delete] https://crrev.com/b33e49953078995f1cd28663a8a8b43012ac2eb0/ui/aura/mus/mojo_gpu_memory_buffer.h
[delete] https://crrev.com/b33e49953078995f1cd28663a8a8b43012ac2eb0/ui/aura/mus/mojo_gpu_memory_buffer_manager.cc
[delete] https://crrev.com/b33e49953078995f1cd28663a8a8b43012ac2eb0/ui/aura/mus/mojo_gpu_memory_buffer_manager.h
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/ui/aura/mus/mus_context_factory.cc
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/ui/aura/mus/mus_context_factory.h
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/ui/views/mus/mus_client.cc
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/ui/views/mus/mus_client.h
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/ui/views/mus/surface_context_factory.cc
[modify] https://crrev.com/7132ff590b6dc39d244c578899985df7c63797f9/ui/views/mus/window_manager_connection.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Nov 21 2016

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

commit a43aec3076a466005383d7db0d6926951c6f1623
Author: sadrul <sadrul@chromium.org>
Date: Mon Nov 21 18:35:10 2016

mus-gpu: Fix a couple of issues with MojoGpuMemoryBufferManager.

. Make sure the weak pointer is checked and invalidated in the correct
  thread. To do this: initialize the weak pointer in the memory thread,
  so that it can then be used to create a callback in any thread. But
  make sure this callback is checked in the same memory thread.

. Take a connection to mojom::GpuService as an input to the constructor,
  instead of getting the connection from the service_manager. This will
  be necessary when the connections are created by InterfaceProvider
  instead of by Connector (when running in chrome-renderer).

BUG= 643746 

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

[modify] https://crrev.com/a43aec3076a466005383d7db0d6926951c6f1623/services/ui/public/cpp/gpu/gpu_service.cc
[modify] https://crrev.com/a43aec3076a466005383d7db0d6926951c6f1623/services/ui/public/cpp/gpu/mojo_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/a43aec3076a466005383d7db0d6926951c6f1623/services/ui/public/cpp/gpu/mojo_gpu_memory_buffer_manager.h

Project Member

Comment 21 by bugdroid1@chromium.org, Nov 21 2016

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

commit 2e790171a1806ea15a81ef9bc2ab87ec93aabb92
Author: sadrul <sadrul@chromium.org>
Date: Mon Nov 21 21:04:20 2016

mus-gpu: Allow connection request to gpu to fail.

It is possible for the gpu-host (i.e. window-server) to fail to
set up connection to the gpu for the client. Allow the client to
be notified about this correctly.

BUG= 643746 

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

[modify] https://crrev.com/2e790171a1806ea15a81ef9bc2ab87ec93aabb92/services/ui/public/cpp/gpu/gpu_service.cc
[modify] https://crrev.com/2e790171a1806ea15a81ef9bc2ab87ec93aabb92/services/ui/public/interfaces/gpu_service.mojom

Project Member

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

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

commit 5196acbe6971a34399bd56a0e5fe801652b2346d
Author: sadrul <sadrul@chromium.org>
Date: Wed Nov 23 02:27:25 2016

content: Remove some unused code.

. ChildGpuMemoryBufferManager is used only by renderer child processes
  (only RenderThreadImpl creates and uses it). So remove the code in the
  browser process that handles messages from it for non-renderer
  processes.

. RenderMessageFilter::gpu_process_id_ is used in only one place: it is
  used to find the associated GpuProcessHost. However, if it does not
  exist anymore, then the code simply creates a new GpuProcessHost
  instance and uses that. The code can just use GpuProcessHost::Get()
  instead, which returns the existing sandboxed gpu process if it exists,
  and creates a new one otherwise. So using |gpu_process_id_| is not
  actually necessary.

BUG= 643746 

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

[modify] https://crrev.com/5196acbe6971a34399bd56a0e5fe801652b2346d/content/browser/renderer_host/render_message_filter.cc
[modify] https://crrev.com/5196acbe6971a34399bd56a0e5fe801652b2346d/content/browser/renderer_host/render_message_filter.h
[modify] https://crrev.com/5196acbe6971a34399bd56a0e5fe801652b2346d/content/common/child_process_host_impl.cc
[modify] https://crrev.com/5196acbe6971a34399bd56a0e5fe801652b2346d/content/common/child_process_host_impl.h

Project Member

Comment 24 by bugdroid1@chromium.org, Nov 28 2016

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

commit b5bc501b9a49ddd997b8f7c95edf336d51d35e32
Author: sadrul <sadrul@chromium.org>
Date: Mon Nov 28 22:35:18 2016

gfx: Fix [de]serializing non-shm GpuMemoryBufferHandle.

GpuMemoryBufferHandle::shared_memory_handle is only valid if type is
SHARED_MEMORY_BUFFER. So try to serialize only when it's valid.

BUG= 643746 

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

[modify] https://crrev.com/b5bc501b9a49ddd997b8f7c95edf336d51d35e32/ui/gfx/mojo/buffer_types_traits.cc
[modify] https://crrev.com/b5bc501b9a49ddd997b8f7c95edf336d51d35e32/ui/gfx/mojo/struct_traits_unittest.cc

Project Member

Comment 25 by bugdroid1@chromium.org, Nov 29 2016

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

commit 73794caeafd8fb67b345eae7cea31763274beaec
Author: sadrul <sadrul@chromium.org>
Date: Tue Nov 29 04:10:07 2016

gfx: Fix sending native ozone pixmaps from InProcessCommandBuffer.

The file-descriptors in NativePixmapHandle need to be dup'ed before then
can be sent over mojo IPC from InProcessCommandBuffer. Introduce a
convenience function CloneHandleForIPC() so that it can be used by both
GpuChannelHost and InProcessCommandBuffer.

BUG= 643746 
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/2531963002
Cr-Commit-Position: refs/heads/master@{#434884}

[modify] https://crrev.com/73794caeafd8fb67b345eae7cea31763274beaec/gpu/ipc/client/command_buffer_proxy_impl.cc
[modify] https://crrev.com/73794caeafd8fb67b345eae7cea31763274beaec/gpu/ipc/client/gpu_channel_host.cc
[modify] https://crrev.com/73794caeafd8fb67b345eae7cea31763274beaec/gpu/ipc/client/gpu_channel_host.h
[modify] https://crrev.com/73794caeafd8fb67b345eae7cea31763274beaec/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/73794caeafd8fb67b345eae7cea31763274beaec/ui/gfx/gpu_memory_buffer.cc
[modify] https://crrev.com/73794caeafd8fb67b345eae7cea31763274beaec/ui/gfx/gpu_memory_buffer.h
[modify] https://crrev.com/73794caeafd8fb67b345eae7cea31763274beaec/ui/gfx/native_pixmap_handle.cc
[modify] https://crrev.com/73794caeafd8fb67b345eae7cea31763274beaec/ui/gfx/native_pixmap_handle.h

Project Member

Comment 27 by bugdroid1@chromium.org, Dec 7 2016

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

commit 0b7867d1681e539c50e5cf075baf6863dd128055
Author: sadrul <sadrul@chromium.org>
Date: Wed Dec 07 05:50:30 2016

mus: Get GpuMemoryBuffer from gpu process when possible.

From the window server (i.e. gpu-host process), try to create the
GpuMemoryBuffer from the gpu process first, before falling back
to using shared memory. To do this correctly, it is necessary to
associate these memory buffers to unique client-id of each client.
So create a separate mojom::GpuService instance for each client
(instead of using the same instance for handling requests from all
clients).

BUG= 643746 
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/2503113002
Cr-Commit-Position: refs/heads/master@{#436874}

[modify] https://crrev.com/0b7867d1681e539c50e5cf075baf6863dd128055/services/ui/common/mus_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/0b7867d1681e539c50e5cf075baf6863dd128055/services/ui/common/mus_gpu_memory_buffer_manager.h
[modify] https://crrev.com/0b7867d1681e539c50e5cf075baf6863dd128055/services/ui/ws/gpu_service_proxy.cc
[modify] https://crrev.com/0b7867d1681e539c50e5cf075baf6863dd128055/services/ui/ws/gpu_service_proxy.h

Blocking: 609317
Project Member

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

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

commit 6a769424f689718b69b080117afed2907b7c1f9a
Author: sadrul <sadrul@chromium.org>
Date: Thu Dec 08 04:54:32 2016

gpu: Move native memory buffer configuration into //gpu

This moves the code for getting the supported native memory buffer
configurations out of //content into //gpu. This allows this code
to be used by mus too.

BUG= 643746 
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/2551743002
Cr-Commit-Position: refs/heads/master@{#437182}

[modify] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/content/browser/BUILD.gn
[modify] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/content/browser/gpu/browser_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/content/browser/gpu/browser_gpu_memory_buffer_manager.h
[modify] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/content/public/common/content_switches.cc
[modify] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/content/public/common/content_switches.h
[modify] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/content/renderer/render_thread_impl_browsertest.cc
[modify] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/content/test/BUILD.gn
[add] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/gpu/ipc/host/BUILD.gn
[add] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/gpu/ipc/host/gpu_memory_buffer_support.cc
[add] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/gpu/ipc/host/gpu_memory_buffer_support.h
[add] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/gpu/ipc/host/gpu_switches.cc
[add] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/gpu/ipc/host/gpu_switches.h
[modify] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/services/ui/common/BUILD.gn
[modify] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/services/ui/common/DEPS
[modify] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/services/ui/common/mus_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/6a769424f689718b69b080117afed2907b7c1f9a/services/ui/common/mus_gpu_memory_buffer_manager.h

Project Member

Comment 30 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 31 by bugdroid1@chromium.org, Dec 10 2016

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

commit 4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2
Author: sadrul <sadrul@chromium.org>
Date: Sat Dec 10 16:51:08 2016

gpu: Move ShaderDiskCache into //gpu/ipc/host component.

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

[modify] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/content/browser/BUILD.gn
[modify] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/content/browser/browser_main_loop.cc
[modify] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/content/browser/gpu/browser_gpu_channel_host_factory.cc
[modify] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/content/browser/storage_partition_impl_unittest.cc
[modify] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/content/test/BUILD.gn
[modify] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/gpu/BUILD.gn
[modify] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/gpu/ipc/host/BUILD.gn
[add] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/gpu/ipc/host/DEPS
[rename] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/gpu/ipc/host/shader_disk_cache.cc
[rename] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/gpu/ipc/host/shader_disk_cache.h
[rename] https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2/gpu/ipc/host/shader_disk_cache_unittest.cc

Project Member

Comment 32 by bugdroid1@chromium.org, Dec 12 2016

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

commit a3533cd71ad51ad93a34bfed5bf1762ef936f411
Author: gab <gab@chromium.org>
Date: Mon Dec 12 02:45:56 2016

Revert of gpu: Move ShaderDiskCache into //gpu/ipc/host component. (patchset #5 id:80001 of https://codereview.chromium.org/2555693005/ )

Reason for revert:
Makes StoragePartitionShaderClearTest.ClearShaderCache fail on Linux Tests bot: https://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%281%29

Original issue's description:
> gpu: Move ShaderDiskCache into //gpu/ipc/host component.
>
> BUG= 643746 ,  604369 
> 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/2555693005

TBR=piman@chromium.org,rch@chromium.org,rsleevi@chromium.org,ben@chromium.org,sadrul@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 643746 ,  604369 

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

[modify] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/content/browser/BUILD.gn
[modify] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/content/browser/browser_main_loop.cc
[modify] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/content/browser/gpu/browser_gpu_channel_host_factory.cc
[modify] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/content/browser/gpu/gpu_process_host.h
[rename] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/content/browser/gpu/shader_disk_cache.cc
[rename] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/content/browser/gpu/shader_disk_cache.h
[rename] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/content/browser/gpu/shader_disk_cache_unittest.cc
[modify] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/content/browser/storage_partition_impl_unittest.cc
[modify] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/content/test/BUILD.gn
[modify] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/gpu/BUILD.gn
[modify] https://crrev.com/a3533cd71ad51ad93a34bfed5bf1762ef936f411/gpu/ipc/host/BUILD.gn
[delete] https://crrev.com/26b2f7b619d9a83b2151b47ad175ed9e1ecf3ccf/gpu/ipc/host/DEPS

Project Member

Comment 33 by bugdroid1@chromium.org, Dec 13 2016

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

commit 9095a6d305b5ce5d2e7a781c3e3ebd628410913e
Author: sadrul <sadrul@chromium.org>
Date: Tue Dec 13 14:35:47 2016

gpu: Move ShaderDiskCache into //gpu/ipc/host component.

BUG= 643746 ,  604369 
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

Committed: https://crrev.com/4a4522e8d9a3ae704b7a17ebb412d2a94aa820c2
Review-Url: https://codereview.chromium.org/2555693005
Cr-Original-Commit-Position: refs/heads/master@{#437771}
Cr-Commit-Position: refs/heads/master@{#438165}

[modify] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/content/browser/BUILD.gn
[modify] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/content/browser/gpu/shader_cache_factory.cc
[modify] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/content/browser/gpu/shader_cache_factory.h
[modify] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/content/browser/storage_partition_impl_unittest.cc
[modify] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/content/test/BUILD.gn
[modify] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/gpu/BUILD.gn
[modify] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/gpu/ipc/host/BUILD.gn
[add] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/gpu/ipc/host/DEPS
[rename] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/gpu/ipc/host/shader_disk_cache.cc
[rename] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/gpu/ipc/host/shader_disk_cache.h
[rename] https://crrev.com/9095a6d305b5ce5d2e7a781c3e3ebd628410913e/gpu/ipc/host/shader_disk_cache_unittest.cc

Project Member

Comment 34 by bugdroid1@chromium.org, Dec 14 2016

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

commit 00a4065140b523047346d4b2a593cb6fad1a4409
Author: sadrul <sadrul@chromium.org>
Date: Wed Dec 14 04:59:01 2016

exo: Directly create GpuMemoryBufferImpl when a handle is available.

Instead of going through the GpuMemoryBufferManager, directly allocate
the right kind of GpuMemoryBuffer. One of the changes with the existing
code is that the buffer is currently always created on the IO thread.
With this change, that is no longer enforced. This thus avoids thread
hopping during buffer allocation, and some complex code in
BrowserGpuMemoryBufferManager. This is also the only use of
GpuMemoryBufferManager::CreateGpuMemoryBufferFromHandle(). So this CL
removes that (and the corresponding various implementations).

BUG= 643746 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
TBR=jam@ for top-level owner for updating for API change.

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

[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/blimp/client/support/compositor/blimp_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/blimp/client/support/compositor/blimp_gpu_memory_buffer_manager.h
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/cc/test/test_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/cc/test/test_gpu_memory_buffer_manager.h
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/components/exo/display.cc
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/components/exo/shared_memory.cc
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/content/browser/gpu/browser_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/content/browser/gpu/browser_gpu_memory_buffer_manager.h
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/content/child/child_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/content/child/child_gpu_memory_buffer_manager.h
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/gpu/command_buffer/client/gpu_memory_buffer_manager.h
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/gpu/ipc/client/gpu_memory_buffer_impl.cc
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/gpu/ipc/client/gpu_memory_buffer_impl.h
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/services/ui/common/server_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/services/ui/common/server_gpu_memory_buffer_manager.h
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/services/ui/public/cpp/gpu/client_gpu_memory_buffer_manager.cc
[modify] https://crrev.com/00a4065140b523047346d4b2a593cb6fad1a4409/services/ui/public/cpp/gpu/client_gpu_memory_buffer_manager.h

Project Member

Comment 35 by bugdroid1@chromium.org, Dec 16 2016

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

commit 8b89431c67333853e2741e48267ff8a00125c89f
Author: sadrul <sadrul@chromium.org>
Date: Fri Dec 16 05:38:42 2016

gfx: Fix transporting shared-memory gpu memory buffer over mojo.

BUG= 643746 

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

[modify] https://crrev.com/8b89431c67333853e2741e48267ff8a00125c89f/ui/gfx/mojo/buffer_types_traits.cc
[modify] https://crrev.com/8b89431c67333853e2741e48267ff8a00125c89f/ui/gfx/mojo/struct_traits_unittest.cc

Project Member

Comment 36 by bugdroid1@chromium.org, Dec 16 2016

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

commit d4fe814b53e5be997b432644fb6cce2adff19898
Author: sadrul <sadrul@chromium.org>
Date: Fri Dec 16 06:20:48 2016

gpu: Add missing entries for GPUInfo mojom.

VideoDecodeAcceleratorCapabilities was missing the list of supported
profiles.

BUG= 643746 
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/2579873002
Cr-Commit-Position: refs/heads/master@{#439047}

[modify] https://crrev.com/d4fe814b53e5be997b432644fb6cce2adff19898/gpu/ipc/common/gpu_info.mojom
[modify] https://crrev.com/d4fe814b53e5be997b432644fb6cce2adff19898/gpu/ipc/common/gpu_info_struct_traits.cc
[modify] https://crrev.com/d4fe814b53e5be997b432644fb6cce2adff19898/gpu/ipc/common/gpu_info_struct_traits.h
[modify] https://crrev.com/d4fe814b53e5be997b432644fb6cce2adff19898/gpu/ipc/common/struct_traits_unittest.cc

Project Member

Comment 37 by bugdroid1@chromium.org, Dec 16 2016

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

commit f8a2ae8b13bbef9a8f348759629d9a01fd121169
Author: sadrul <sadrul@chromium.org>
Date: Fri Dec 16 19:14:34 2016

mus: Add missing dependencies for internal gpu interfaces.

GpuMain depends on display_compositor in cc, and GpuService depends
on gfx and geometry mojoms.

BUG= 643746 

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

[modify] https://crrev.com/f8a2ae8b13bbef9a8f348759629d9a01fd121169/services/ui/gpu/interfaces/BUILD.gn

Project Member

Comment 38 by bugdroid1@chromium.org, Dec 17 2016

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

commit 53546591865acbacdc0a3e229933f591b3f08f2d
Author: sadrul <sadrul@chromium.org>
Date: Sat Dec 17 01:44:21 2016

content: Use mus client-lib's gpu-service from renderers.

Switch over to using the gpu service from renderer processes on all
platforms. The service is used to create the gpu-channel, and allocate
gpu memory buffers.

Notable changes.
. Introduce content::GpuClient in content-browser as the implementation
  of the mojom::Gpu interface. The GpuClient currently implements the
  interface with the existing code. In future CLs, this will be updated
  to look more like ui::ws::GpuClient.
. RenderProcessHostImpl creates and owns the GpuClient for each renderer
  process. The GpuClient lives and operates on the IO thread.
. ui::Gpu is created and owned by the RenderThreadImpl (as it is right
  now in --mash mode).
. ui::Gpu is updated to work with a service_manager::InterfaceProvider
  (which is available in a regular chrome) if a Connector is unavailable.

BUG= 643746 

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

[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/browser/BUILD.gn
[add] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/browser/gpu/gpu_client.cc
[add] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/browser/gpu/gpu_client.h
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/browser/renderer_host/render_message_filter.cc
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/browser/renderer_host/render_message_filter.h
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/browser/renderer_host/render_process_host_impl.h
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/child/BUILD.gn
[delete] https://crrev.com/53739b48253919293593f2518d508b260e586835/content/child/child_gpu_memory_buffer_manager.cc
[delete] https://crrev.com/53739b48253919293593f2518d508b260e586835/content/child/child_gpu_memory_buffer_manager.h
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/common/child_process_messages.h
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/renderer/BUILD.gn
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/renderer/media/renderer_gpu_video_accelerator_factories.cc
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/renderer/render_thread_impl.h
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/renderer/render_thread_impl_browsertest.cc
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/renderer/render_thread_impl_discardable_memory_browsertest.cc
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/services/ui/public/cpp/gpu/gpu.cc
[modify] https://crrev.com/53546591865acbacdc0a3e229933f591b3f08f2d/services/ui/public/cpp/gpu/gpu.h

Project Member

Comment 39 by bugdroid1@chromium.org, Dec 20 2016

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

commit 85cc5d8da31c92572589c5522fd90643be6580d6
Author: sadrul <sadrul@chromium.org>
Date: Tue Dec 20 03:37:41 2016

gpu: Move ContextProviderCommandBuffer into mus gpu client-lib.

By moving ContextProviderCommandBuffer into mus gpu client-lib, both
content and other mus clients can use this.

BUG= 643746 
TBR=jam@ for content/renderer and content/test (since simple rename)

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

[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/BUILD.gn
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/browser_compositor_output_surface.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/gpu_browser_compositor_output_surface.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/gpu_browser_compositor_output_surface.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/gpu_output_surface_mac.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/gpu_output_surface_mac.mm
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/gpu_process_transport_factory.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/mus_browser_compositor_output_surface.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/mus_browser_compositor_output_surface.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/offscreen_browser_compositor_output_surface.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/offscreen_browser_compositor_output_surface.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/compositor/reflector_texture.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/gpu/gpu_ipc_browsertests.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/renderer_host/compositor_impl_android.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/renderer_host/context_provider_factory_impl_android.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/renderer_host/context_provider_factory_impl_android.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/common/BUILD.gn
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/child_frame_compositing_helper.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/gpu/renderer_compositor_frame_sink.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/media/android/stream_texture_factory.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/media/android/stream_texture_factory.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/media/renderer_gpu_video_accelerator_factories.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/media/renderer_gpu_video_accelerator_factories.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/media/video_track_recorder.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/media/webmediaplayer_ms.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/media/webmediaplayer_ms_compositor.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/pepper/video_decoder_shim.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/pepper/video_decoder_shim.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/render_thread_impl.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/webgraphicscontext3d_provider_impl.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/renderer/webgraphicscontext3d_provider_impl.h
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/test/BUILD.gn
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/test/DEPS
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/content/test/layouttest_support.cc
[modify] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/services/ui/public/cpp/gpu/BUILD.gn
[rename] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/services/ui/public/cpp/gpu/command_buffer_metrics.cc
[rename] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/services/ui/public/cpp/gpu/command_buffer_metrics.h
[rename] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/services/ui/public/cpp/gpu/context_provider_command_buffer.cc
[rename] https://crrev.com/85cc5d8da31c92572589c5522fd90643be6580d6/services/ui/public/cpp/gpu/context_provider_command_buffer.h

Project Member

Comment 40 by bugdroid1@chromium.org, Dec 20 2016

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

commit 9f14d907cbfaa28b64223028d0ad27e3447e602d
Author: sadrul <sadrul@chromium.org>
Date: Tue Dec 20 05:47:34 2016

mus: Use ui::ContextProviderCommandBuffer.

Remove ui::ContextProvider and ui::GLES2Context, since they are incomplete.
Instead use ui::ContextProviderCommandBuffer, which is used by chrome browser
and renderers.

BUG= 643746 
TBR=jam@ for content/renderer for code update for API change

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

[modify] https://crrev.com/9f14d907cbfaa28b64223028d0ad27e3447e602d/content/renderer/mus/render_widget_mus_connection.cc
[modify] https://crrev.com/9f14d907cbfaa28b64223028d0ad27e3447e602d/content/renderer/mus/render_widget_mus_connection.h
[modify] https://crrev.com/9f14d907cbfaa28b64223028d0ad27e3447e602d/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/9f14d907cbfaa28b64223028d0ad27e3447e602d/services/ui/public/cpp/BUILD.gn
[delete] https://crrev.com/f951dced52708a326f66590497c5d1b975570d6e/services/ui/public/cpp/context_provider.cc
[delete] https://crrev.com/f951dced52708a326f66590497c5d1b975570d6e/services/ui/public/cpp/context_provider.h
[delete] https://crrev.com/f951dced52708a326f66590497c5d1b975570d6e/services/ui/public/cpp/gles2_context.cc
[delete] https://crrev.com/f951dced52708a326f66590497c5d1b975570d6e/services/ui/public/cpp/gles2_context.h
[modify] https://crrev.com/9f14d907cbfaa28b64223028d0ad27e3447e602d/services/ui/public/cpp/gpu/command_buffer_metrics.cc
[modify] https://crrev.com/9f14d907cbfaa28b64223028d0ad27e3447e602d/services/ui/public/cpp/gpu/command_buffer_metrics.h
[modify] https://crrev.com/9f14d907cbfaa28b64223028d0ad27e3447e602d/services/ui/public/cpp/gpu/gpu.cc
[modify] https://crrev.com/9f14d907cbfaa28b64223028d0ad27e3447e602d/services/ui/public/cpp/gpu/gpu.h
[modify] https://crrev.com/9f14d907cbfaa28b64223028d0ad27e3447e602d/ui/aura/mus/DEPS
[modify] https://crrev.com/9f14d907cbfaa28b64223028d0ad27e3447e602d/ui/aura/mus/mus_context_factory.cc
[modify] https://crrev.com/9f14d907cbfaa28b64223028d0ad27e3447e602d/ui/aura/mus/mus_context_factory.h
[modify] https://crrev.com/9f14d907cbfaa28b64223028d0ad27e3447e602d/ui/views/mus/surface_context_factory.cc

Project Member

Comment 42 by bugdroid1@chromium.org, Jan 4 2017

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

commit db04bc3039a04e5a26c13cfe63818b3f170f01cf
Author: sadrul <sadrul@chromium.org>
Date: Wed Jan 04 04:50:30 2017

gpu: Maintain the deferred log messages separately from the IPC messages.

Instead of keeping a queue of IPC messages in GpuChildThread for the
deferred log messages that are sent to the browser, maintain a queue of
structs describing the log messages. This makes it easier to follow the
code, and easier to replace the chrome IPC with mojo IPC in subsequent
patches.

BUG= 643746 

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

[modify] https://crrev.com/db04bc3039a04e5a26c13cfe63818b3f170f01cf/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/db04bc3039a04e5a26c13cfe63818b3f170f01cf/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/db04bc3039a04e5a26c13cfe63818b3f170f01cf/content/gpu/gpu_main.cc

Project Member

Comment 43 by bugdroid1@chromium.org, Jan 6 2017

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

commit 9bae0d9b67c3e52182fb0cfd2b516efd3e521f43
Author: sadrul <sadrul@chromium.org>
Date: Fri Jan 06 21:35:31 2017

mus: Make sure window parenting happens in the window server.

The native window parenting should happen in the window server,
since a sandboxed gpu process won't be able to do it.

BUG= 643746 

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

[modify] https://crrev.com/9bae0d9b67c3e52182fb0cfd2b516efd3e521f43/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/9bae0d9b67c3e52182fb0cfd2b516efd3e521f43/services/ui/gpu/interfaces/gpu_host.mojom
[modify] https://crrev.com/9bae0d9b67c3e52182fb0cfd2b516efd3e521f43/services/ui/ws/display_manager.cc
[modify] https://crrev.com/9bae0d9b67c3e52182fb0cfd2b516efd3e521f43/services/ui/ws/gpu_host.cc
[modify] https://crrev.com/9bae0d9b67c3e52182fb0cfd2b516efd3e521f43/services/ui/ws/gpu_host.h
[modify] https://crrev.com/9bae0d9b67c3e52182fb0cfd2b516efd3e521f43/services/ui/ws/platform_display.h
[modify] https://crrev.com/9bae0d9b67c3e52182fb0cfd2b516efd3e521f43/services/ui/ws/platform_display_default.cc
[modify] https://crrev.com/9bae0d9b67c3e52182fb0cfd2b516efd3e521f43/services/ui/ws/platform_display_default.h
[modify] https://crrev.com/9bae0d9b67c3e52182fb0cfd2b516efd3e521f43/services/ui/ws/test_utils.cc
[modify] https://crrev.com/9bae0d9b67c3e52182fb0cfd2b516efd3e521f43/services/ui/ws/window_server.cc
[modify] https://crrev.com/9bae0d9b67c3e52182fb0cfd2b516efd3e521f43/services/ui/ws/window_server.h

Project Member

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

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

commit 73f39a6659c2a0f5f576b83cf1ccdb3ce704e4b7
Author: sadrul <sadrul@chromium.org>
Date: Wed Jan 11 04:07:24 2017

content: Change how a bad message from a child is logged.

Instead of always logging the message ID, log a custom error string.
This is necessary for when the messages are converted to mojo messages,
where the messages do not have a corresponding ID.

BUG= 643746 

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

[modify] https://crrev.com/73f39a6659c2a0f5f576b83cf1ccdb3ce704e4b7/content/browser/browser_child_process_host_impl.cc
[modify] https://crrev.com/73f39a6659c2a0f5f576b83cf1ccdb3ce704e4b7/content/browser/browser_child_process_host_impl.h
[modify] https://crrev.com/73f39a6659c2a0f5f576b83cf1ccdb3ce704e4b7/content/browser/gpu/gpu_process_host.cc

Project Member

Comment 45 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 46 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 47 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 48 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 49 by bugdroid1@chromium.org, Feb 4 2017

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

commit aa5306369622f8134fea907575188b028d90a5da
Author: sadrul <sadrul@chromium.org>
Date: Sat Feb 04 04:07:29 2017

gpu: Some code cleanup after r445649.

In crrev.com/445649, the chrome IPC messages were replaced by mojo
interface implementation. However, I kept the old IPC message handlers,
and had the mojo implementations call into them. Replace the old IPC
message handlers now, and move the implementations directly into the
mojo handlers.

BUG= 643746 

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

[modify] https://crrev.com/aa5306369622f8134fea907575188b028d90a5da/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/aa5306369622f8134fea907575188b028d90a5da/content/browser/gpu/gpu_process_host.h

Project Member

Comment 51 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

Project Member

Comment 52 by bugdroid1@chromium.org, Mar 3 2017

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

commit 9cef0dfbd1deadc0f89e6ec7efb13309e7cea565
Author: sadrul <sadrul@chromium.org>
Date: Fri Mar 03 18:18:07 2017

gpu: Replace more chrome ipc with mojom api.

List of ipc messages replaced:
. GpuMsg_CloseChannel
. GpuMsg_LoadedShader
. GpuMsg_DestroyingVideoSurface and GpuHostMsg_DestroyingVideoSurfaceAck
. GpuMsg_WakeUpGpu

BUG= 643746 ,  643746 

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

[modify] https://crrev.com/9cef0dfbd1deadc0f89e6ec7efb13309e7cea565/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/9cef0dfbd1deadc0f89e6ec7efb13309e7cea565/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/9cef0dfbd1deadc0f89e6ec7efb13309e7cea565/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/9cef0dfbd1deadc0f89e6ec7efb13309e7cea565/content/common/gpu_host_messages.h
[modify] https://crrev.com/9cef0dfbd1deadc0f89e6ec7efb13309e7cea565/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/9cef0dfbd1deadc0f89e6ec7efb13309e7cea565/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/9cef0dfbd1deadc0f89e6ec7efb13309e7cea565/services/ui/gpu/DEPS
[modify] https://crrev.com/9cef0dfbd1deadc0f89e6ec7efb13309e7cea565/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/9cef0dfbd1deadc0f89e6ec7efb13309e7cea565/services/ui/gpu/gpu_service.h
[modify] https://crrev.com/9cef0dfbd1deadc0f89e6ec7efb13309e7cea565/services/ui/gpu/interfaces/gpu_service.mojom

Project Member

Comment 53 by bugdroid1@chromium.org, Mar 3 2017

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

commit b428f6b1ca12af16bc8d30470ecac787f425f9f7
Author: sadrul <sadrul@chromium.org>
Date: Fri Mar 03 19:28:32 2017

gpu: Replace more chrome ipc with mojom API.

List of chrome ipc messages replaced in this CL:
. GpuMsg_Clean
. GpuMsg_Crash
. GpuMsg_Hang
. GpuMsg_JavaCrash

GpuProcessHostUIShim no longer needs to be an IPC::Sender anymore. So
remove the associated code too. GpuProcessHostUIShim::GetOneInstance is
also no longer used anymore, so this is also removed.

BUG= 643746 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/b428f6b1ca12af16bc8d30470ecac787f425f9f7/content/browser/frame_host/debug_urls.cc
[modify] https://crrev.com/b428f6b1ca12af16bc8d30470ecac787f425f9f7/content/browser/gpu/gpu_ipc_browsertests.cc
[modify] https://crrev.com/b428f6b1ca12af16bc8d30470ecac787f425f9f7/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/b428f6b1ca12af16bc8d30470ecac787f425f9f7/content/browser/gpu/gpu_process_host_ui_shim.cc
[modify] https://crrev.com/b428f6b1ca12af16bc8d30470ecac787f425f9f7/content/browser/gpu/gpu_process_host_ui_shim.h
[modify] https://crrev.com/b428f6b1ca12af16bc8d30470ecac787f425f9f7/content/common/gpu_host_messages.h
[modify] https://crrev.com/b428f6b1ca12af16bc8d30470ecac787f425f9f7/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/b428f6b1ca12af16bc8d30470ecac787f425f9f7/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/b428f6b1ca12af16bc8d30470ecac787f425f9f7/content/test/BUILD.gn
[modify] https://crrev.com/b428f6b1ca12af16bc8d30470ecac787f425f9f7/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/b428f6b1ca12af16bc8d30470ecac787f425f9f7/services/ui/gpu/gpu_service.h
[modify] https://crrev.com/b428f6b1ca12af16bc8d30470ecac787f425f9f7/services/ui/gpu/interfaces/gpu_service.mojom

Project Member

Comment 54 by bugdroid1@chromium.org, Mar 11 2017

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

commit e6f6e1048099d2ce82e0b5d70d69206f5f3077fe
Author: sadrul <sadrul@chromium.org>
Date: Sat Mar 11 01:09:56 2017

gpu: Replace GpuMsg_Finalize ipc with equivalent mojom api

Remove GpuMsg_Finalize, and associated code (e.g.
GpuProcessHost*::StopGpuProcess()). Introduce GpuService::Stop() mojom
api in its place, and content::StopGpuProcess() so that content embedders
(e.g. chromecast) can stop the gpu process when desired.

BUG=639941,  643746 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/browser/frame_host/debug_urls.cc
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/browser/gpu/gpu_ipc_browsertests.cc
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/browser/gpu/gpu_process_host_ui_shim.cc
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/browser/gpu/gpu_process_host_ui_shim.h
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/common/gpu_host_messages.h
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/public/browser/gpu_utils.cc
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/content/public/browser/gpu_utils.h
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/services/ui/gpu/gpu_service.h
[modify] https://crrev.com/e6f6e1048099d2ce82e0b5d70d69206f5f3077fe/services/ui/gpu/interfaces/gpu_service.mojom

Project Member

Comment 55 by bugdroid1@chromium.org, Mar 21 2017

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

commit 1432276fb82ae8e9b732faa03ab65f35d686017f
Author: sadrul <sadrul@chromium.org>
Date: Tue Mar 21 02:03:41 2017

gpu: Add a util method to set crash-keys from a GPUInfo.

Use the newly introduced util method to set crash-keys from a GPUInfo
in both chrome and android_webview. This will also be used in mus.

BUG= 643746 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;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/2751103008
Cr-Commit-Position: refs/heads/master@{#458276}

[modify] https://crrev.com/1432276fb82ae8e9b732faa03ab65f35d686017f/android_webview/common/aw_content_client.cc
[modify] https://crrev.com/1432276fb82ae8e9b732faa03ab65f35d686017f/chrome/BUILD.gn
[modify] https://crrev.com/1432276fb82ae8e9b732faa03ab65f35d686017f/chrome/common/chrome_content_client.cc
[modify] https://crrev.com/1432276fb82ae8e9b732faa03ab65f35d686017f/chrome/common/crash_keys.cc
[modify] https://crrev.com/1432276fb82ae8e9b732faa03ab65f35d686017f/chrome/common/crash_keys.h
[modify] https://crrev.com/1432276fb82ae8e9b732faa03ab65f35d686017f/chrome/test/BUILD.gn
[modify] https://crrev.com/1432276fb82ae8e9b732faa03ab65f35d686017f/components/nacl/broker/BUILD.gn
[modify] https://crrev.com/1432276fb82ae8e9b732faa03ab65f35d686017f/gpu/config/gpu_util.cc
[modify] https://crrev.com/1432276fb82ae8e9b732faa03ab65f35d686017f/gpu/config/gpu_util.h

Project Member

Comment 56 by bugdroid1@chromium.org, Mar 22 2017

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

commit 66d333e3d935e43745ad8ae27b5b76a3a34f4917
Author: sadrul <sadrul@chromium.org>
Date: Wed Mar 22 11:54:47 2017

mus-gpu: Talk to the GpuHost from the IO thread.

Bind the GpuHost connection on the IO thread, so that messages
from the gpu process can still be sent to the host process (i.e.
chrome browser) while the main thread is blocked.

BUG= 643746 

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

[modify] https://crrev.com/66d333e3d935e43745ad8ae27b5b76a3a34f4917/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/66d333e3d935e43745ad8ae27b5b76a3a34f4917/services/ui/gpu/gpu_service.h

Project Member

Comment 57 by bugdroid1@chromium.org, Mar 22 2017

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

commit 6aafa7de713ba655b50e35b9b0d1a2d9f5078333
Author: sadrul <sadrul@chromium.org>
Date: Wed Mar 22 22:56:35 2017

gpu: Use mojom API for recording log messages to the host.

This introduces mojom.GpuHost.RecordLogMessage() to replace corresponding
chrome ipc GpuHostMsg_OnLogMessage. Some notable changes:
. The log-handler is set from GpuService instead of from GpuChildThread.
  This is easier since GpuService owns the connect to mojom.GpuHost.
. The message in the host (i.e. the browser) is handled in the IO thread
  rather than the UI thread. The response is to access the thread-safe
  GpuDataManager singleton instance. So there should be no behavioural
  change.

BUG= 643746 

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

[modify] https://crrev.com/6aafa7de713ba655b50e35b9b0d1a2d9f5078333/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/6aafa7de713ba655b50e35b9b0d1a2d9f5078333/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/6aafa7de713ba655b50e35b9b0d1a2d9f5078333/content/browser/gpu/gpu_process_host_ui_shim.cc
[modify] https://crrev.com/6aafa7de713ba655b50e35b9b0d1a2d9f5078333/content/browser/gpu/gpu_process_host_ui_shim.h
[modify] https://crrev.com/6aafa7de713ba655b50e35b9b0d1a2d9f5078333/content/common/gpu_host_messages.h
[modify] https://crrev.com/6aafa7de713ba655b50e35b9b0d1a2d9f5078333/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/6aafa7de713ba655b50e35b9b0d1a2d9f5078333/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/6aafa7de713ba655b50e35b9b0d1a2d9f5078333/services/ui/gpu/gpu_service.h
[modify] https://crrev.com/6aafa7de713ba655b50e35b9b0d1a2d9f5078333/services/ui/gpu/interfaces/gpu_host.mojom
[modify] https://crrev.com/6aafa7de713ba655b50e35b9b0d1a2d9f5078333/services/ui/ws/gpu_host.cc
[modify] https://crrev.com/6aafa7de713ba655b50e35b9b0d1a2d9f5078333/services/ui/ws/gpu_host.h

Project Member

Comment 58 by bugdroid1@chromium.org, Mar 23 2017

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

commit aa9787bbd7919d6114c6bb40fe8e30cdae424ba1
Author: wfh <wfh@chromium.org>
Date: Thu Mar 23 01:23:13 2017

Revert of gpu: Add a util method to set crash-keys from a GPUInfo. (patchset #2 id:20001 of https://codereview.chromium.org/2751103008/ )

Reason for revert:
causes size regression see  crbug.com/703622 

Original issue's description:
> gpu: Add a util method to set crash-keys from a GPUInfo.
>
> Use the newly introduced util method to set crash-keys from a GPUInfo
> in both chrome and android_webview. This will also be used in mus.
>
> BUG= 643746 
> CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;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/2751103008
> Cr-Commit-Position: refs/heads/master@{#458276}
> Committed: https://chromium.googlesource.com/chromium/src/+/1432276fb82ae8e9b732faa03ab65f35d686017f

TBR=boliu@chromium.org,bradnelson@chromium.org,rsesek@chromium.org,piman@chromium.org,jam@chromium.org,sadrul@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 643746 , 703622 

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

[modify] https://crrev.com/aa9787bbd7919d6114c6bb40fe8e30cdae424ba1/android_webview/common/aw_content_client.cc
[modify] https://crrev.com/aa9787bbd7919d6114c6bb40fe8e30cdae424ba1/chrome/BUILD.gn
[modify] https://crrev.com/aa9787bbd7919d6114c6bb40fe8e30cdae424ba1/chrome/common/chrome_content_client.cc
[modify] https://crrev.com/aa9787bbd7919d6114c6bb40fe8e30cdae424ba1/chrome/common/crash_keys.cc
[modify] https://crrev.com/aa9787bbd7919d6114c6bb40fe8e30cdae424ba1/chrome/common/crash_keys.h
[modify] https://crrev.com/aa9787bbd7919d6114c6bb40fe8e30cdae424ba1/chrome/test/BUILD.gn
[modify] https://crrev.com/aa9787bbd7919d6114c6bb40fe8e30cdae424ba1/components/nacl/broker/BUILD.gn
[modify] https://crrev.com/aa9787bbd7919d6114c6bb40fe8e30cdae424ba1/gpu/config/gpu_util.cc
[modify] https://crrev.com/aa9787bbd7919d6114c6bb40fe8e30cdae424ba1/gpu/config/gpu_util.h

Project Member

Comment 59 by bugdroid1@chromium.org, Mar 23 2017

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

commit c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897
Author: sadrul <sadrul@chromium.org>
Date: Thu Mar 23 20:30:05 2017

gpu: Add a util method to set crash-keys from a GPUInfo.

Use the newly introduced util method to set crash-keys from a GPUInfo
in both chrome and android_webview. This will also be used in mus.

BUG= 643746 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;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

Earlier landed in r458276, reverted in r458968 because of size regression.

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

[modify] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/android_webview/common/aw_content_client.cc
[modify] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/chrome/BUILD.gn
[modify] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/chrome/common/BUILD.gn
[modify] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/chrome/common/chrome_content_client.cc
[modify] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/chrome/common/crash_keys.cc
[modify] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/chrome/common/crash_keys.h
[modify] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/chrome/test/BUILD.gn
[modify] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/components/nacl/broker/BUILD.gn
[modify] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/gpu/config/BUILD.gn
[add] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/gpu/config/gpu_crash_keys.cc
[add] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/gpu/config/gpu_crash_keys.h
[modify] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/gpu/config/gpu_util.cc
[modify] https://crrev.com/c05f3475ecaae3f033bb4ee8cfe139b8c4d0b897/gpu/config/gpu_util.h

Project Member

Comment 60 by bugdroid1@chromium.org, Mar 25 2017

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

commit 9e029acf8a371e301aefcb51b4863137adccde68
Author: sadrul <sadrul@chromium.org>
Date: Sat Mar 25 02:51:27 2017

gpu: Replace GpuMsg_CollectGraphicsInfo with mojom API.

This introduces mojom.GpuService.RequestCompleteGpuInfo() API to replace
the GpuMsg_CollectGraphicsInfo chrome ipc message.

BUG= 643746 

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

[modify] https://crrev.com/9e029acf8a371e301aefcb51b4863137adccde68/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/9e029acf8a371e301aefcb51b4863137adccde68/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/9e029acf8a371e301aefcb51b4863137adccde68/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/9e029acf8a371e301aefcb51b4863137adccde68/content/browser/gpu/gpu_process_host_ui_shim.cc
[modify] https://crrev.com/9e029acf8a371e301aefcb51b4863137adccde68/content/browser/gpu/gpu_process_host_ui_shim.h
[modify] https://crrev.com/9e029acf8a371e301aefcb51b4863137adccde68/content/common/gpu_host_messages.h
[modify] https://crrev.com/9e029acf8a371e301aefcb51b4863137adccde68/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/9e029acf8a371e301aefcb51b4863137adccde68/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/9e029acf8a371e301aefcb51b4863137adccde68/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/9e029acf8a371e301aefcb51b4863137adccde68/services/ui/gpu/gpu_service.h
[modify] https://crrev.com/9e029acf8a371e301aefcb51b4863137adccde68/services/ui/gpu/interfaces/gpu_service.mojom

Project Member

Comment 61 by bugdroid1@chromium.org, Mar 27 2017

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

commit bba05f44fe583ffa69c22d36f91aaebe0ceea282
Author: sadrul <sadrul@chromium.org>
Date: Mon Mar 27 01:09:56 2017

gpu: Disconnect from host if gpu initialization failed.

If gpu intialization failed, then disconnect from the host early, so that
the messages from the host are ignored.

BUG= 643746 
TBR=piman@. TBR'ing to unflake telemetry_unittests on win bots.

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

[modify] https://crrev.com/bba05f44fe583ffa69c22d36f91aaebe0ceea282/content/gpu/gpu_child_thread.cc

Project Member

Comment 62 by bugdroid1@chromium.org, Mar 27 2017

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

commit a235d7cf5d45775a50e0b811a7dd3a411494cd64
Author: sadrul <sadrul@chromium.org>
Date: Mon Mar 27 22:31:58 2017

gpu: Introduce separate mojo api for failed initialization.

Introduce a separate DidFailInitialization() api to notify the host when
gpu initialization fails. Update the DidInitialize() api to take in the
GpuFeatureInfo as well as the GPUInfo.

BUG= 643746 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;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/2781553002
Cr-Commit-Position: refs/heads/master@{#459909}

[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/gpu/ipc/common/BUILD.gn
[add] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/gpu/ipc/common/gpu_feature_info.mojom
[add] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/gpu/ipc/common/gpu_feature_info.typemap
[add] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/gpu/ipc/common/gpu_feature_info_struct_traits.h
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/gpu/ipc/common/struct_traits_unittest.cc
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/gpu/ipc/common/typemaps.gni
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/services/ui/gpu/gpu_main.cc
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/services/ui/gpu/gpu_service.h
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/services/ui/gpu/interfaces/gpu_host.mojom
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/services/ui/ws/gpu_host.cc
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/services/ui/ws/gpu_host.h

Project Member

Comment 63 by bugdroid1@chromium.org, Mar 27 2017

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

commit a235d7cf5d45775a50e0b811a7dd3a411494cd64
Author: sadrul <sadrul@chromium.org>
Date: Mon Mar 27 22:31:58 2017

gpu: Introduce separate mojo api for failed initialization.

Introduce a separate DidFailInitialization() api to notify the host when
gpu initialization fails. Update the DidInitialize() api to take in the
GpuFeatureInfo as well as the GPUInfo.

BUG= 643746 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;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/2781553002
Cr-Commit-Position: refs/heads/master@{#459909}

[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/gpu/ipc/common/BUILD.gn
[add] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/gpu/ipc/common/gpu_feature_info.mojom
[add] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/gpu/ipc/common/gpu_feature_info.typemap
[add] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/gpu/ipc/common/gpu_feature_info_struct_traits.h
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/gpu/ipc/common/struct_traits_unittest.cc
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/gpu/ipc/common/typemaps.gni
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/services/ui/gpu/gpu_main.cc
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/services/ui/gpu/gpu_service.h
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/services/ui/gpu/interfaces/gpu_host.mojom
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/services/ui/ws/gpu_host.cc
[modify] https://crrev.com/a235d7cf5d45775a50e0b811a7dd3a411494cd64/services/ui/ws/gpu_host.h

Project Member

Comment 64 by bugdroid1@chromium.org, Mar 28 2017

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

commit e9e10eb142375a55ba6f58d4a60ebad99b07e48d
Author: sadrul <sadrul@chromium.org>
Date: Tue Mar 28 01:06:03 2017

gpu: Replace GpuHostMsg_Initialized with mojom api.

Remove GpuHostMsg_Initialized, and instead hook up the corresponding
DidInitialize() and DidFailInitialize() mojom api.

BUG= 643746 

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

[modify] https://crrev.com/e9e10eb142375a55ba6f58d4a60ebad99b07e48d/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/e9e10eb142375a55ba6f58d4a60ebad99b07e48d/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/e9e10eb142375a55ba6f58d4a60ebad99b07e48d/content/common/gpu_host_messages.h
[modify] https://crrev.com/e9e10eb142375a55ba6f58d4a60ebad99b07e48d/content/gpu/gpu_child_thread.cc

Project Member

Comment 65 by bugdroid1@chromium.org, Mar 28 2017

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

commit 0526dc5e7f8cc5b0577b5519893d51a6e87100a1
Author: sadrul <sadrul@chromium.org>
Date: Tue Mar 28 20:04:29 2017

gpu: Bind the mojom::GpuService request on the IO thread.

Bind the mojom::GpuService request on the IO thread, so that requests
for memory allocation from the host does not block on the main thread.
Most of the other API implementations of mojom::GpuService interface
needs to happen in the main thread though. So thread hop back onto the
main thread in those cases.

BUG= 643746 

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

[modify] https://crrev.com/0526dc5e7f8cc5b0577b5519893d51a6e87100a1/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/0526dc5e7f8cc5b0577b5519893d51a6e87100a1/services/ui/gpu/gpu_service.h

Project Member

Comment 67 by bugdroid1@chromium.org, Mar 29 2017

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

commit d93a2b102eb48ba6dbaa0ac11dff9edc4d1eec9b
Author: sadrul <sadrul@chromium.org>
Date: Wed Mar 29 04:11:52 2017

gpu: Replace GpuMsg_GpuSwitched with mojom api.

Introduce mojom.GpuService.GpuSwitched(), to replace GpuMsg_GpuSwitched.
This removes the last IPC message handled by GpuChildThread, and this
also removes the last use of GpuProcessHost::SendOnIO(). So remove these
dead code at the same time.

BUG= 643746 

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

[modify] https://crrev.com/d93a2b102eb48ba6dbaa0ac11dff9edc4d1eec9b/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/d93a2b102eb48ba6dbaa0ac11dff9edc4d1eec9b/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/d93a2b102eb48ba6dbaa0ac11dff9edc4d1eec9b/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/d93a2b102eb48ba6dbaa0ac11dff9edc4d1eec9b/content/common/gpu_host_messages.h
[modify] https://crrev.com/d93a2b102eb48ba6dbaa0ac11dff9edc4d1eec9b/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/d93a2b102eb48ba6dbaa0ac11dff9edc4d1eec9b/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/d93a2b102eb48ba6dbaa0ac11dff9edc4d1eec9b/services/ui/gpu/gpu_service.cc
[modify] https://crrev.com/d93a2b102eb48ba6dbaa0ac11dff9edc4d1eec9b/services/ui/gpu/gpu_service.h
[modify] https://crrev.com/d93a2b102eb48ba6dbaa0ac11dff9edc4d1eec9b/services/ui/gpu/interfaces/gpu_service.mojom

Labels: mustash-2

Comment 69 by hywu@chromium.org, Apr 6 2017

Labels: Merge-Request-58
Project Member

Comment 70 by sheriffbot@chromium.org, Apr 6 2017

Labels: -Merge-Request-58 Merge-Review-58 Hotlist-Merge-Review
This bug requires manual review: Reverts referenced in bugdroid comments after merge request.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Please add applicable OSs.  Thanks!
Labels: -Hotlist-Merge-Review -Merge-Review-58
Status: Fixed (was: Started)
I am going to mark this as fixed.

Sign in to add a comment