Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(207)

Issue 1489573003: Added an extra sync token field for extra command buffer identification. (Closed)

Created:
5 years ago by David Yen
Modified:
5 years ago
Reviewers:
piman, sky, dcheng, DaleCurtis
CC:
Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, chromium-reviews, danakj+watch_chromium.org, darin (slow to review), darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, jbauman+watch_chromium.org, kalyank, piman+watch_chromium.org, qsr+mojo_chromium.org, rjkroege, sievers+watch_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Added an extra sync token field for extra command buffer identification. This CL adds an extra field within sync tokens without changing the size of the sync token. Currently this extra field is only used for the GPU channel implementation, storing the stream of the identified command buffer. BUG=514815 Committed: https://crrev.com/f21e7e6e2b260d56fa54373dd662c81c9d955331 Cr-Commit-Position: refs/heads/master@{#363231}

Patch Set 1 #

Total comments: 6

Patch Set 2 : Fixed bad condition linking, FlushPendingStream handles bad stream ids #

Patch Set 3 : Fix mojom file #

Total comments: 2

Patch Set 4 : modified extra data field to be a int32_t #

Patch Set 5 : No longer IPC extra data field, added comment about this behavior. #

Patch Set 6 : Removed extra include in sync_token.h, added back in extra data field in operator== #

Total comments: 2

Patch Set 7 : Removed extra_data_field from mojo IPC #

Total comments: 2

Patch Set 8 : Return False on invalid stream id #

Unified diffs Side-by-side diffs Delta from patch set Stats (+114 lines, -21 lines) Patch
M components/mus/gles2/command_buffer_local.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M components/mus/gles2/command_buffer_local.cc View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M content/common/gpu/client/command_buffer_proxy_impl.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M content/common/gpu/client/command_buffer_proxy_impl.cc View 1 2 3 4 5 6 7 3 chunks +19 lines, -3 lines 0 comments Download
M content/common/gpu/client/gpu_channel_host.h View 1 chunk +2 lines, -0 lines 0 comments Download
M content/common/gpu/client/gpu_channel_host.cc View 1 1 chunk +11 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_command_buffer_stub.cc View 1 2 3 4 5 6 3 chunks +3 lines, -3 lines 0 comments Download
M gpu/command_buffer/client/client_test_helper.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 1 2 3 4 5 6 2 chunks +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_unittest.cc View 4 chunks +8 lines, -2 lines 0 comments Download
M gpu/command_buffer/client/gpu_control.h View 1 2 3 4 5 6 1 chunk +5 lines, -1 line 0 comments Download
M gpu/command_buffer/common/constants.h View 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/common/sync_token.h View 1 2 3 4 5 6 chunks +15 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.cc View 1 2 3 4 5 6 6 chunks +12 lines, -5 lines 0 comments Download
M gpu/command_buffer/service/mailbox_manager_unittest.cc View 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/tests/gl_manager.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/tests/gl_manager.cc View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/gles2_conform_support/egl/display.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M gpu/gles2_conform_support/egl/display.cc View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/ipc/gpu_command_buffer_traits.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M media/base/video_frame_unittest.cc View 1 2 chunks +4 lines, -3 lines 0 comments Download
M mojo/converters/surfaces/surfaces_type_converters.cc View 1 2 3 4 5 6 1 chunk +2 lines, -2 lines 0 comments Download
M mojo/gles2/command_buffer_client_impl.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M mojo/gles2/command_buffer_client_impl.cc View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M ppapi/proxy/ppapi_command_buffer_proxy.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M ppapi/proxy/ppapi_command_buffer_proxy.cc View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 29 (8 generated)
David Yen
+piman@ for general review +dcheng@ command buffer param trait changes. +sky@ for mojo changes, this ...
5 years ago (2015-11-30 20:26:28 UTC) #3
DaleCurtis
media/base lgtm
5 years ago (2015-11-30 20:51:05 UTC) #4
piman
https://codereview.chromium.org/1489573003/diff/1/content/common/gpu/client/command_buffer_proxy_impl.cc File content/common/gpu/client/command_buffer_proxy_impl.cc (right): https://codereview.chromium.org/1489573003/diff/1/content/common/gpu/client/command_buffer_proxy_impl.cc#newcode585 content/common/gpu/client/command_buffer_proxy_impl.cc:585: if (sync_token->namespace_id() != gpu::CommandBufferNamespace::GPU_IO && || instead of && ...
5 years ago (2015-11-30 20:59:24 UTC) #5
David Yen
https://codereview.chromium.org/1489573003/diff/1/content/common/gpu/client/command_buffer_proxy_impl.cc File content/common/gpu/client/command_buffer_proxy_impl.cc (right): https://codereview.chromium.org/1489573003/diff/1/content/common/gpu/client/command_buffer_proxy_impl.cc#newcode585 content/common/gpu/client/command_buffer_proxy_impl.cc:585: if (sync_token->namespace_id() != gpu::CommandBufferNamespace::GPU_IO && On 2015/11/30 20:59:23, piman ...
5 years ago (2015-11-30 22:45:07 UTC) #6
dcheng
https://codereview.chromium.org/1489573003/diff/40001/content/common/gpu/client/command_buffer_proxy_impl.cc File content/common/gpu/client/command_buffer_proxy_impl.cc (right): https://codereview.chromium.org/1489573003/diff/40001/content/common/gpu/client/command_buffer_proxy_impl.cc#newcode523 content/common/gpu/client/command_buffer_proxy_impl.cc:523: return static_cast<uint32_t>(stream_id_); Wouldn't it be easier just to make ...
5 years ago (2015-12-01 01:29:14 UTC) #7
David Yen
https://codereview.chromium.org/1489573003/diff/40001/content/common/gpu/client/command_buffer_proxy_impl.cc File content/common/gpu/client/command_buffer_proxy_impl.cc (right): https://codereview.chromium.org/1489573003/diff/40001/content/common/gpu/client/command_buffer_proxy_impl.cc#newcode523 content/common/gpu/client/command_buffer_proxy_impl.cc:523: return static_cast<uint32_t>(stream_id_); On 2015/12/01 01:29:14, dcheng wrote: > Wouldn't ...
5 years ago (2015-12-01 21:29:45 UTC) #8
dcheng
lgtm
5 years ago (2015-12-01 22:39:17 UTC) #9
sky
LGTM
5 years ago (2015-12-01 22:42:44 UTC) #10
piman
On 2015/11/30 22:45:07, David Yen wrote: > https://codereview.chromium.org/1489573003/diff/1/content/common/gpu/client/command_buffer_proxy_impl.cc > File content/common/gpu/client/command_buffer_proxy_impl.cc (right): > > https://codereview.chromium.org/1489573003/diff/1/content/common/gpu/client/command_buffer_proxy_impl.cc#newcode585 ...
5 years ago (2015-12-02 02:25:19 UTC) #11
David Yen
On 2015/12/02 02:25:19, piman (slow to review) wrote: > On 2015/11/30 22:45:07, David Yen wrote: ...
5 years ago (2015-12-02 18:48:46 UTC) #12
David Yen
On 2015/12/02 18:48:46, David Yen wrote: > On 2015/12/02 02:25:19, piman (slow to review) wrote: ...
5 years ago (2015-12-03 23:19:43 UTC) #13
piman
https://codereview.chromium.org/1489573003/diff/100001/components/mus/public/interfaces/compositor_frame.mojom File components/mus/public/interfaces/compositor_frame.mojom (right): https://codereview.chromium.org/1489573003/diff/100001/components/mus/public/interfaces/compositor_frame.mojom#newcode36 components/mus/public/interfaces/compositor_frame.mojom:36: int32 extra_data_field; Please remove this one too, for consistency ...
5 years ago (2015-12-03 23:42:44 UTC) #14
David Yen
https://codereview.chromium.org/1489573003/diff/100001/components/mus/public/interfaces/compositor_frame.mojom File components/mus/public/interfaces/compositor_frame.mojom (right): https://codereview.chromium.org/1489573003/diff/100001/components/mus/public/interfaces/compositor_frame.mojom#newcode36 components/mus/public/interfaces/compositor_frame.mojom:36: int32 extra_data_field; On 2015/12/03 23:42:44, piman (slow to review) ...
5 years ago (2015-12-03 23:53:27 UTC) #15
piman
LGTM after one last thing https://codereview.chromium.org/1489573003/diff/120001/content/common/gpu/client/command_buffer_proxy_impl.cc File content/common/gpu/client/command_buffer_proxy_impl.cc (right): https://codereview.chromium.org/1489573003/diff/120001/content/common/gpu/client/command_buffer_proxy_impl.cc#newcode590 content/common/gpu/client/command_buffer_proxy_impl.cc:590: const int32_t release_stream_id = ...
5 years ago (2015-12-04 00:02:02 UTC) #16
David Yen
https://codereview.chromium.org/1489573003/diff/120001/content/common/gpu/client/command_buffer_proxy_impl.cc File content/common/gpu/client/command_buffer_proxy_impl.cc (right): https://codereview.chromium.org/1489573003/diff/120001/content/common/gpu/client/command_buffer_proxy_impl.cc#newcode590 content/common/gpu/client/command_buffer_proxy_impl.cc:590: const int32_t release_stream_id = sync_token->extra_data_field(); On 2015/12/04 00:02:01, piman ...
5 years ago (2015-12-04 00:12:28 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1489573003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1489573003/140001
5 years ago (2015-12-04 00:14:25 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) android_chromium_gn_compile_rel on ...
5 years ago (2015-12-04 02:22:40 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1489573003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1489573003/140001
5 years ago (2015-12-04 16:41:37 UTC) #24
commit-bot: I haz the power
Committed patchset #8 (id:140001)
5 years ago (2015-12-04 16:47:32 UTC) #26
commit-bot: I haz the power
Patchset 8 (id:??) landed as https://crrev.com/f21e7e6e2b260d56fa54373dd662c81c9d955331 Cr-Commit-Position: refs/heads/master@{#363231}
5 years ago (2015-12-04 16:48:32 UTC) #28
ajuma
5 years ago (2015-12-04 20:50:44 UTC) #29
Message was sent while issue was closed.
A revert of this CL (patchset #8 id:140001) has been created in
https://codereview.chromium.org/1495893005/ by ajuma@chromium.org.

The reason for reverting is: This is causing a large number of layout tests in
virtual/threaded/animations to crash.

They're hitting the following assertion:
FATAL:scheduler.cc(203)] Check failed: state_machine_.pending_swaps() > 0 (0 vs.
0){"compositor_timing_history":

e.g. see
https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.7%20%28d...

Confirmed with a local bisect..

Powered by Google App Engine
This is Rietveld 408576698