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

Issue 778753 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 30
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows
Pri: 1
Type: Bug

Blocked on:
issue 895849

Blocking:
issue 730193



Sign in to add a comment

viz: Investigate InProcessCommandBuffer scheduling/performance

Project Member Reported by kylec...@chromium.org, Oct 26 2017

Issue description

We need to verify that the InProcessCommandBuffer used for DisplayOutputSurface is performant and correct. It doesn't use the gpu::Scheduler currently. 
 
Blocking: -770833 732572 672303

Comment 2 by fsamuel@google.com, Oct 26 2017

Cc: briander...@chromium.org piman@chromium.org vmi...@chromium.org sunn...@chromium.org
From victor:

Currently in Viz we're not giving high priority to the DisplayCompositor's context like we do for non-Viz mode
A related optimization is adding the "sync token dependencies to flush metadata" feature, as in https://codereview.chromium.org/2727573003.

Currently this is a no-op for InpRocessCommandBuffer. 
 https://cs.chromium.org/chromium/src/gpu/ipc/in_process_command_buffer.cc?q=InProcessCommandBuffer::WaitSyncTokenHint&sq=package:chromium&l=1038

Owner: backer@chromium.org
+backer@

Comment 6 by piman@chromium.org, Nov 3 2017

!!
:D
Status: Assigned (was: Available)

Comment 9 by laforge@google.com, Nov 8 2017

Components: -Internals>Viz Internals>Services>Viz
Migrating from Internals>Viz to Internals>Services>Viz.
I tested a WIP CL (http://crrev.com/c/782666) on a GPU heavy telemetry workload (smoothness.gpu_rasterization.tough_scrolling_cases) on a device similar to Intel CrOS GPU. There was virtually no difference (slight regression, but that could be noise).

Landing this WIP CL would require additional work because it does not cover Android WebView, which also uses InProcCmdBuffer. AWV is unable to schedule it's GPU work via gpu::Scheduler, so we'd have to fork code paths which would add code complexity and a small amount of risk. I will defer this work until we get benchmarks that prove it's utility.
#10

I had a quick look at your CL and found a couple of issues:
1. The command buffer doesn't check Scheduler::ShouldYield. For IPC command buffer we do this in GpuCommandBufferStub::OnCommandBatchProcessed. If the command buffer is paused, GpuChannel::HandleMessage calls ContinueTask to retry the current task.
2. I don't think this matters a lot but to match IPC command buffer behavior we want to queue up the pending waits for flush only and not for every task.

Re: webview, we could extend the InProcessCommandBuffer::Service interface to be similar to the scheduler's interface and split out the task queue logic to a webview specific implementation.

The main methods we need to forward are:
1. ScheduleTask
2. ContinueTask
3. ShouldYield
Status: WontFix (was: Assigned)
Thanks Sunny. I reran tests with your suggested changes on a couple of hardware configurations (haswell i5 and celeron). There was no difference with 5 runs of smoothness.gpu_rasterization.tough_scrolling_cases 

I'm closing this bug as WontFix. Feel free to reopen if anyone disagrees.
Status: Assigned (was: WontFix)
I think the reason this isn’t producing improved performance is because we place the appropriate metrics (UI metrics) to measure the impact. I’d like to keep this bug open until sadrul@ and his team produce some UI telemetry metrics. 
Blocking: -732572 -672303 730193
Cc: jbau...@chromium.org sadrul@chromium.org
 Issue 734250  has been merged into this issue.
Labels: -Pri-3 OS-Android OS-Windows Pri-1
Owner: sunn...@chromium.org
I'm on a leave due to my wife's poor health. I'm passing over to sunnyps@. I'll add a few notes here in subsequent comments. I'll post a rebased WIP CL at https://chromium-review.googlesource.com/c/chromium/src/+/782666
Apologies for the wall of text. I just wanted to pass on what I've learned to Sunny. Feel free to ignore my design suggestions. I had broadened the scope a bit to make InProcCmdBuffer more readable.

InProcCmdBuffer has 3 major uses: Android WebView, various tests (gpu_unittests, cc_unittests, gl_tests), and now OOP-D. The hack I coded only works for OOP-D, it breaks the other 2 cases.

Current state: For Android WebView, tasks are queued within DeferredGpuCommandService and are executed there when HWUI calls into it. For others, InProcCmdBuffer tasks are queued within InProcCmdBuffer::tasks_queue_ and periodically executed via post tasks to GpuMain thread (via GpuInProcessThreadService). Which mode InProcCmdBuffer uses depends on BlockThreadOnWaitSyncToken.

I think that the desired end-state would be for tests and OOP-D to use gpu::Scheduler, rather than maintain 3rd special case just for tests.

It would be a nice code clean up to move some of the special logic for AWV and OOP-D out of InProcCmdBuffer. Especially seeing as the gpu::Scheduler integration increases the differences between the code paths. I had intended on refactoring CommandBufferTaskExecutor to this end.

AFAICT, CBTE currently does two things: 
(1) It holds some external dependencies shared among many InProcCmdBuffers (OOP-D has one per top-level window). These should be ref-counted to simplify lifetime. 
(2) It also has hooks into task processing. These don't need to be shared or ref-counted.

My plan was to split CBTE among these two things, where (1) would remain ref-counted and (2) would not. (2) may hold a ref to (1). I was going to push the gpu::Scheduler logic into (2).
 
This would make (2) a more specific interface. It would include methods like this:

   void QueueTask(bool out_of_order,
                  bool wait_for_pending_syncs,
                  base::OnceClosure task);
   void ReleaseFenceSync(uint64_t release);
   bool ShouldYield();
   void WaitSyncTokenHint(const SyncToken& sync_token);
   bool OnWaitSyncToken(const SyncToken& sync_token);
   void OnWaitSyncTokenCompleted(const SyncToken& sync_token);
   void OnDescheduleUntilFinished();
   void OnRescheduleAfterFinished();

Re the last two methods, I did some digging at it is just to support WebGL on OSX (https://cs.chromium.org/chromium/src/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_deschedule.txt). It allows a client side method that looks a lot like a glFinish to the client, but allows the backend to process commands from other streams instead of blocking on a real glFinish. I believe that the test for this is very poor, so some care is probably needed in the implementation.

I was hoping to remove QueueRepeatableTask. This is a bit of hack for when FlushOnGpuThread gets descheduled. In that case, ProcessTasksOnGpuThread will not remove FlushOnGpuThread from tasks_queue_ and it will re-execute that callback again later (https://cs.chromium.org/chromium/src/gpu/ipc/in_process_command_buffer.cc?rcl=3d4a43a77622b48ac32a73aa0d73ae52d1e74792&l=659). But I'm not 100% sure that this is easy to do.

A lower road solution to refactoring would be to keep the code closer to the hack that I had coded (https://chromium-review.googlesource.com/c/chromium/src/+/782666), but pass a gpu::Scheduler up for tests through GpuInProcessThreadHolder, which is test only code.
Thanks for these suggestions. The minimal task scheduling interface you've identified is exactly what I had in mind.

At first, I'm probably going to put the above interface in CBTE. We can split it up later as needed. Idle task (ScheduleDelayedWork) scheduling will require some work. I've been meaning to move idle tasks to the scheduler, since the IPC command buffers look at scheduler state indirectly (via the order numbers) to run idle work any way. Maybe I'll do that first so that GpuInProcessThreadService doesn't have to deal with it.

re: DescheduleUntilFinished, since that's only needed for WebGL we can choose to not implement it for InProcessCommandBuffer. piman@ WDYT? We can make FeatureInfo only initialize the extension for WebGL if it's not already.
Yes, we can punt on DescheduleUntilFinished for now.
Some observations:

1) Porting idle work scheduling to scheduler isn't blocking this. We can continue using PostDelayedTask on the task runner for those.

2) DescheduleUntilFinished is already broken because we never schedule polling work when the decoder HasPollingWork which is where the DescheduleUntilFinished fences are checked. (We only schedule pending queries and other idle work.)

3) We cannot share a single sequence for all clients (InProcCmdBuf) of the CBTE because the sequence can be descheduled by any one of them so one window waiting on a renderer sync token could block other windows.

4) I'd probably split CBTE into two interfaces:

InProcessCommandBufferService:
  InProcessCBTE CreateTaskExecutor();
  <everything currently in CBTE except ScheduleTask stuff>

InProcessCommandBufferTaskExecutor:
  void SetEnabled();  // only affects immediate (non-delayed) tasks, ignored by webview
  void ScheduleTask(base::OnceClosure);
  void ContinueTask(base::OnceClosure);  // ignored by webview
  void ScheduleDelayedWork(base::OnceClosure);
  void WaitSyncTokenHint(const SyncToken&);

InProcCmdBuf will use InProcCmdBufService to create a task executor and hold on to it. For viz, the task executor will have its own sequence id from the scheduler, and just forward tasks to the scheduler.

For webview, the task executor will own its own sync point order data, but the tasks will be enqueued in a global queue owned by the service. The service will need to handle order number processing when running tasks (two calls basically). The other sync token stuff will be NOTREACHED in this case as BlockThreadForWaitSyncToken is true.

Tests can have a different implementation of the task executor if desired. It might be simpler to just make tests use the scheduler.
😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/14aff167a40000

All of the runs failed. The most common error (10/20 runs) was:
BuildError: Build failed: BUILD_FAILURE
😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/14e6a657a40000

All of the runs failed. The most common error (10/20 runs) was:
BuildError: Build failed: BUILD_FAILURE
😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/1282e8ffa40000

All of the runs failed. The most common error (10/20 runs) was:
RunTestError: There are no bots available to run the test.
😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/1779f047a40000

All of the runs failed. The most common error (19/20 runs) was:
TimeoutException: Timed out while waiting 60s for IsJavaScriptExpressionTrue.
😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/1692bd8fa40000

The swarming task expired. The bots are likely overloaded, dead, or misconfigured.
Project Member

Comment 31 by bugdroid1@chromium.org, Aug 30

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

commit 1405fd6a6c18ce8896ab031005b570d96cfda9fb
Author: Sunny Sachanandani <sunnyps@chromium.org>
Date: Thu Aug 30 20:11:57 2018

Use GPU scheduler for in process command buffer

Add CommandBufferTaskExecutor::Sequence to encapsulate execution of
command buffer tasks. Sequences are backed by Scheduler sequences for
GpuInProcessThreadService which is used for viz OOP-D, and tests.
DeferredGpuCommandService, which is used for Android Webview, implements
sequences which post tasks to a global task queue.

Add missing sequence checks to InProcessCommandBuffer and clean up
related code.

Change TestInProcessContextProvider to initialize context in
BindToCurrentThread() to satisfy thread checks, and fix tests to call
that.

Bug:  778753 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Iab37f051e80fa725cf746a90f5df6dcdd994c300
Reviewed-on: https://chromium-review.googlesource.com/1157874
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587727}
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/android_webview/browser/deferred_gpu_command_service.h
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/cc/paint/oop_pixeltest.cc
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/cc/test/layer_tree_pixel_test.cc
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/cc/test/pixel_test.cc
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/cc/test/test_in_process_context_provider.cc
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/cc/test/test_in_process_context_provider.h
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/cc/tiles/gpu_image_decode_cache_perftest.cc
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/cc/trees/layer_tree_host_pixeltest_scrollbars.cc
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/components/viz/service/main/viz_main_impl.cc
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/gpu/command_buffer/service/sync_point_manager.cc
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/gpu/ipc/command_buffer_task_executor.cc
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/gpu/ipc/command_buffer_task_executor.h
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/gpu/ipc/gpu_in_process_thread_service.cc
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/gpu/ipc/gpu_in_process_thread_service.h
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/1405fd6a6c18ce8896ab031005b570d96cfda9fb/gpu/ipc/service/command_buffer_stub.cc

Status: Fixed (was: Assigned)
Project Member

Comment 33 by bugdroid1@chromium.org, Sep 18

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

commit 0bb0709fcfe898207a6592cb2d24d8c3607d83ce
Author: Antoine Labour <piman@chromium.org>
Date: Tue Sep 18 00:14:05 2018

Fix InProcessCommandBuffer::SharedImageInterface

Moving to the GPU scheduler
(https://chromium-review.googlesource.com/1157874) introduced a typo
(leftover use of gpu_thread_weak_ptr_ which is never set). This CL fixes
it and cleans up WeakPtr fields that aren't used to avoid similar
mistakes.

Bug:  778753 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I1b2b6be9a0a3855456b570d253044eb8aff3380c
Reviewed-on: https://chromium-review.googlesource.com/1229177
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591891}
[modify] https://crrev.com/0bb0709fcfe898207a6592cb2d24d8c3607d83ce/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/0bb0709fcfe898207a6592cb2d24d8c3607d83ce/gpu/ipc/in_process_command_buffer.h

Project Member

Comment 34 by bugdroid1@chromium.org, Oct 16

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

commit c19106d109d4d36871c11bfb5a683d222583dd15
Author: Sunny Sachanandani <sunnyps@chromium.org>
Date: Tue Oct 16 04:39:53 2018

Remove WaitSyncTokenCHROMIUM command

After migrating InProcessCommandBuffer to use GPU scheduler, most tasks
are scheduled after their sync token dependencies are satisifed (see
crrev.com/c/1157874).

The one exception was the WaitSyncToken IPC used by ReturnFrontBuffer
for pepper, which specifies a sync token, and waits while handling the
message.

Change ReturnFrontBuffer to contain the sync token, and use it to
specify the dependency to the scheduler.

Remove WaitSyncTokenCHROMIUM command, since sync token dependencies are
specified as task metadata in all cases.

Make other cleanups such as removing unnecessary sync token tests, and
make sure the sync token code paths are not used where unsupported by
using NOTREACHED.

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ieee4f6e2427a59a4e0c4b3c983cb489741241272
Bug:  778753 
Reviewed-on: https://chromium-review.googlesource.com/c/1168155
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599849}
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/android_webview/browser/deferred_gpu_command_service.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/BUILD.gn
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/build_gles2_cmd_buffer.py
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/build_raster_cmd_buffer.py
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/client/client_test_helper.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/client/gles2_implementation_unittest.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/client/gpu_control.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/client/raster_cmd_helper_autogen.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/client/raster_implementation.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/client/raster_implementation_unittest.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/common/gles2_cmd_format_autogen.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/common/raster_cmd_format_autogen.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/common/raster_cmd_format_test_autogen.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/common/raster_cmd_ids_autogen.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/command_buffer_direct.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/command_buffer_direct.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/decoder_client.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/memory_program_cache_unittest.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/passthrough_program_cache_unittest.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/program_manager_unittest.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/raster_decoder.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/raster_decoder_unittest.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/raster_decoder_unittest_base.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/service/raster_decoder_unittest_base.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/tests/decoder_perftest.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/tests/fuzzer_main.cc
[delete] https://crrev.com/57f2f7c7f2d9224eb6d00c32f0e8b9ff16be5579/gpu/command_buffer/tests/gl_fence_sync_unittest.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/tests/gl_manager.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/command_buffer/tests/gl_manager.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/gles2_conform_support/egl/context.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/gles2_conform_support/egl/context.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/client/command_buffer_proxy_impl.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/client/command_buffer_proxy_impl.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/client/gpu_channel_host.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/command_buffer_task_executor.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/common/gpu_messages.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/gpu_in_process_thread_service.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/gpu_in_process_thread_service.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/service/command_buffer_stub.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/service/command_buffer_stub.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/service/gles2_command_buffer_stub.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/service/gles2_command_buffer_stub.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/service/gpu_channel.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/service/raster_command_buffer_stub.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/service/raster_command_buffer_stub.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/service/webgpu_command_buffer_stub.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/gpu/ipc/service/webgpu_command_buffer_stub.h
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/ppapi/proxy/ppapi_command_buffer_proxy.cc
[modify] https://crrev.com/c19106d109d4d36871c11bfb5a683d222583dd15/ppapi/proxy/ppapi_command_buffer_proxy.h

Blockedon: 895849
Project Member

Comment 36 by bugdroid1@chromium.org, Oct 16

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

commit 063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a
Author: Sunny Sachanandani <sunnyps@chromium.org>
Date: Tue Oct 16 20:23:07 2018

Revert "Remove WaitSyncTokenCHROMIUM command"

This reverts commit c19106d109d4d36871c11bfb5a683d222583dd15.

Reason for revert: Causing multiple mac gpu fyi failures crbug.com/895984

Original change's description:
> Remove WaitSyncTokenCHROMIUM command
> 
> After migrating InProcessCommandBuffer to use GPU scheduler, most tasks
> are scheduled after their sync token dependencies are satisifed (see
> crrev.com/c/1157874).
> 
> The one exception was the WaitSyncToken IPC used by ReturnFrontBuffer
> for pepper, which specifies a sync token, and waits while handling the
> message.
> 
> Change ReturnFrontBuffer to contain the sync token, and use it to
> specify the dependency to the scheduler.
> 
> Remove WaitSyncTokenCHROMIUM command, since sync token dependencies are
> specified as task metadata in all cases.
> 
> Make other cleanups such as removing unnecessary sync token tests, and
> make sure the sync token code paths are not used where unsupported by
> using NOTREACHED.
> 
> Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
> Change-Id: Ieee4f6e2427a59a4e0c4b3c983cb489741241272
> Bug:  778753 
> Reviewed-on: https://chromium-review.googlesource.com/c/1168155
> Reviewed-by: Bo <boliu@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#599849}

TBR=dcheng@chromium.org,boliu@chromium.org,sunnyps@chromium.org,piman@chromium.org

Change-Id: I87347c05dded27955410b08e40f37388a484d5f9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  778753 , 895984
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/c/1284394
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600102}
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/android_webview/browser/deferred_gpu_command_service.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/BUILD.gn
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/build_gles2_cmd_buffer.py
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/build_raster_cmd_buffer.py
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/client/client_test_helper.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/client/gles2_implementation_unittest.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/client/gpu_control.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/client/raster_cmd_helper_autogen.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/client/raster_implementation.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/client/raster_implementation_unittest.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/common/gles2_cmd_format_autogen.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/common/raster_cmd_format_autogen.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/common/raster_cmd_format_test_autogen.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/common/raster_cmd_ids_autogen.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/command_buffer_direct.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/command_buffer_direct.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/decoder_client.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/memory_program_cache_unittest.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/passthrough_program_cache_unittest.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/program_manager_unittest.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/raster_decoder.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/raster_decoder_unittest.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/raster_decoder_unittest_base.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/service/raster_decoder_unittest_base.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/tests/decoder_perftest.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/tests/fuzzer_main.cc
[add] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/tests/gl_fence_sync_unittest.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/tests/gl_manager.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/command_buffer/tests/gl_manager.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/gles2_conform_support/egl/context.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/gles2_conform_support/egl/context.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/client/command_buffer_proxy_impl.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/client/command_buffer_proxy_impl.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/client/gpu_channel_host.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/command_buffer_task_executor.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/common/gpu_messages.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/gpu_in_process_thread_service.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/gpu_in_process_thread_service.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/service/command_buffer_stub.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/service/command_buffer_stub.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/service/gles2_command_buffer_stub.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/service/gles2_command_buffer_stub.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/service/gpu_channel.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/service/raster_command_buffer_stub.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/service/raster_command_buffer_stub.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/service/webgpu_command_buffer_stub.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/gpu/ipc/service/webgpu_command_buffer_stub.h
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/ppapi/proxy/ppapi_command_buffer_proxy.cc
[modify] https://crrev.com/063f6d2a2897dcfb9afc3ee80cbb78ef87e9fe2a/ppapi/proxy/ppapi_command_buffer_proxy.h

Project Member

Comment 37 by bugdroid1@chromium.org, Dec 11

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

commit 267428faed554af30b9f1193ce5447f0750621da
Author: Sunny Sachanandani <sunnyps@chromium.org>
Date: Tue Dec 11 02:21:05 2018

Reland "Remove WaitSyncTokenCHROMIUM command"

This reverts commit c19106d109d4d36871c11bfb5a683d222583dd15.

Original change's description:
> Remove WaitSyncTokenCHROMIUM command
>
> After migrating InProcessCommandBuffer to use GPU scheduler, most tasks
> are scheduled after their sync token dependencies are satisifed (see
> crrev.com/c/1157874).
>
> The one exception was the WaitSyncToken IPC used by ReturnFrontBuffer
> for pepper, which specifies a sync token, and waits while handling the
> message.
>
> Change ReturnFrontBuffer to contain the sync token, and use it to
> specify the dependency to the scheduler.
>
> Remove WaitSyncTokenCHROMIUM command, since sync token dependencies are
> specified as task metadata in all cases.
>
> Make other cleanups such as removing unnecessary sync token tests, and
> make sure the sync token code paths are not used where unsupported by
> using NOTREACHED.
>
> Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
> Change-Id: Ieee4f6e2427a59a4e0c4b3c983cb489741241272
> Bug:  778753 
> Reviewed-on: https://chromium-review.googlesource.com/c/1168155
> Reviewed-by: Bo <boliu@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#599849}

Bug:  778753 , 895984

TBR=dcheng@chromium.org,boliu@chromium.org,piman@chromium.org

Change-Id: I07943fdcbb131566718d51e78f134975ec53b62e
Reviewed-on: https://chromium-review.googlesource.com/c/1361870
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615387}
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/android_webview/browser/deferred_gpu_command_service.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/BUILD.gn
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/build_gles2_cmd_buffer.py
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/build_raster_cmd_buffer.py
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/client/client_test_helper.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/client/gles2_implementation_unittest.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/client/gpu_control.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/client/raster_cmd_helper_autogen.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/client/raster_implementation.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/client/raster_implementation_unittest.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/common/gles2_cmd_format_autogen.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/common/raster_cmd_format_autogen.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/common/raster_cmd_format_test_autogen.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/common/raster_cmd_ids_autogen.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/command_buffer_direct.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/command_buffer_direct.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/decoder_client.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/memory_program_cache_unittest.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/passthrough_program_cache_unittest.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/program_manager_unittest.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/raster_cmd_validation_implementation_autogen.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/raster_decoder.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/raster_decoder_unittest.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/raster_decoder_unittest_base.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/service/raster_decoder_unittest_base.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/tests/decoder_perftest.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/tests/fuzzer_main.cc
[delete] https://crrev.com/be6bec8d74c853d83e9afea2d192d9d1fa463264/gpu/command_buffer/tests/gl_fence_sync_unittest.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/tests/gl_manager.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/command_buffer/tests/gl_manager.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/gles2_conform_support/egl/context.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/gles2_conform_support/egl/context.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/client/command_buffer_proxy_impl.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/client/command_buffer_proxy_impl.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/client/gpu_channel_host.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/command_buffer_task_executor.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/common/gpu_messages.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/gpu_in_process_thread_service.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/gpu_in_process_thread_service.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/service/command_buffer_stub.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/service/command_buffer_stub.h
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/service/gles2_command_buffer_stub.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/gpu/ipc/service/gpu_channel.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/ppapi/proxy/ppapi_command_buffer_proxy.cc
[modify] https://crrev.com/267428faed554af30b9f1193ce5447f0750621da/ppapi/proxy/ppapi_command_buffer_proxy.h

Sign in to add a comment